Skip to content

[Inbox scope] Keep metadata and disclosure honest across route transitions #2022

Description

@Chris0Jeky

Context

Post-merge review of #2017 / #2018 confirmed two Inbox scope-transition races in the shipped visible-scope slice:

  1. A late failure from obsolete board A metadata can clear successfully loaded board B metadata, leaving raw IDs.
  2. Show all captures clears the scope disclosure before the unfiltered request commits, while the store deliberately retains the old board-only rows. Those rows can therefore appear to be the full Inbox; a failed unfiltered request can leave the misleading partial list visible.

Review threads:

Acceptance criteria

  • Only the metadata request for the currently active board may update or clear scoped board/column names.
  • Scoped names render only when their IDs match the current route, so an A-to-B route change cannot label B rows with A metadata while B loads.
  • When clearing board scope, old board-scoped rows remain explicitly disclosed as scoped or are hidden/marked loading until the unfiltered list commits.
  • A failed unfiltered request cannot present retained board-only rows as the complete Inbox.
  • Add deterministic deferred-promise tests for the obsolete metadata failure and scoped-to-global list transition/failure orderings.
  • Preserve the current route query/hash behavior and latest-request-wins capture-store contract.

Scope

Frontend-only Inbox orchestration and disclosure behavior. No capture API, persistence, or backend filtering change.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Priority IIIValuable but unscheduled: residuals, tech-debt, performance, depth work.bugSomething isn't workingfrontendPrimary implementation impact in Vue/TypeScript UI and client runtime.uxDiscoverability, accessibility, interaction model, and user workflow quality.

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions