Skip to content

Make folder pin feedback immediate - #49

Merged
alexphillips-dev merged 1 commit into
devfrom
agent/immediate-folder-pin-feedback
Jul 28, 2026
Merged

Make folder pin feedback immediate#49
alexphillips-dev merged 1 commit into
devfrom
agent/immediate-folder-pin-feedback

Conversation

@alexphillips-dev

Copy link
Copy Markdown
Owner

What changed

  • Apply Docker and VM folder Pin/Unpin state to the visible UI before network persistence begins.
  • Track the latest reversible intent so an older save cannot repaint over a newer click.
  • Preserve server-authoritative merge, post-save verification, stale-render protection, and failure rollback.
  • Add unit and cross-browser regression coverage for an immediate Unpin while Pin is still saving.
  • Package dev version 2026.07.28.09 with curated release notes and refreshed SBOM/runtime integrity metadata.

Root cause

Docker fetched current preferences before updating the row. The support evidence showed that preference request taking roughly 875 ms, making the network round trip directly visible. Queued reverse actions also could not apply visually until the previous persistence action finished.

Validation

  • Full lint/tests: 907 passed, 0 failed, 1 intentional skip; coverage and static guards passed.
  • Browser fixture matrix: 96 passed across Chromium, Firefox, and WebKit.
  • Runtime performance budgets passed.
  • Release guard, release-note consistency, install smoke, archive checksum, and archive-to-source comparisons passed.

@alexphillips-dev
alexphillips-dev marked this pull request as ready for review July 28, 2026 21:58

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8005e722b7

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +3366 to +3367
const previousPinned = normalizeDockerPinnedFolderIdList(folderTypePrefs?.pinnedFolderIds);
const optimisticPinned = requestedPinned === true ? (previousPinned.includes(id) ? previousPinned : [...previousPinned, id]) : previousPinned.filter((entry) => entry !== id);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Roll back to the last confirmed pin state

When multiple Pin/Unpin intents are submitted while a save is in flight, folderTypePrefs already contains the preceding optimistic intent, so previousPinned may represent a state that was never persisted. For example, if Pin is followed by Unpin and both requests fail during a network outage, the latest failure restores the transient pinned state even though the server and the user's latest selection are unpinned. Keep a server-confirmed snapshot for rollback rather than capturing the current optimistic preferences; the VM implementation has the same pattern.

Useful? React with 👍 / 👎.

@alexphillips-dev
alexphillips-dev merged commit d6777f7 into dev Jul 28, 2026
12 checks passed
@alexphillips-dev
alexphillips-dev deleted the agent/immediate-folder-pin-feedback branch July 28, 2026 22:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant