Skip to content

[Frontend][Inbox] batchTriage refreshes the list unscoped and replaces a board-scoped Legacy inbox's rows (from PR #2567 review) #2570

Description

@Chris0Jeky

Found while reviewing PR #2567 (#2301/#2303/#2304/#2305) and confirmed by the fresh-context reviewer; pre-existing, not introduced or touched by that PR.

Defect. captureStore.batchTriage (frontend/taskdeck-web/src/store/captureStore.ts, the await fetchItems() after the batch POST, ~line 838 at PR #2567's head) refreshes the list unscoped, while the caller's inbox may be board-scoped (useInboxOrchestrator.ts ~363-366 always passes boardId when one is active). A Legacy batch action on a board-scoped inbox therefore replaces the visible rows with the unscoped list.

Window. For action === 'triage' the bounded poll starts immediately with the correctly scoped query and its first tick (3 s) applies the scoped snapshot, so the wrong rows show for at most one tick. For ignore / cancel no poll starts, so the unscoped rows persist until the next scoped load.

Acceptance.

  • the post-batch refresh uses the caller's current list scope (board and archived-history) or the orchestrator supplies it;
  • a spec proves a board-scoped Legacy inbox keeps board-scoped rows after ignore / cancel and after triage;
  • no change to the authoritative POST result, bounded polling, or Paper (which does not expose batchAction).

Refs #2305, PR #2567.

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 VMeta-tracking, archival consistency, historical context.bugSomething isn't workingfrontendPrimary implementation impact in Vue/TypeScript UI and client runtime.uxDiscoverability, accessibility, interaction model, and user workflow quality.

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions