Skip to content

[HOLD Web-E #55633] Reconcile persisted Concierge drafts by action ID - #100420

Open
inimaga wants to merge 1 commit into
mainfrom
codex/674683-draft-reconciliation
Open

[HOLD Web-E #55633] Reconcile persisted Concierge drafts by action ID#100420
inimaga wants to merge 1 commit into
mainfrom
codex/674683-draft-reconciliation

Conversation

@inimaga

@inimaga inimaga commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Held on:

Deployment order: Auth #23974, Auth #24257, Web-Expensify #55633, then this PR. Keep this PR on hold until the server-side direct-delivery path is deployed.

Explanation of Change

This PR makes Concierge draft completion durable when the terminal Pusher event is missed. If the final report action arrives through normal Onyx report-action updates, the client now reconciles the pending draft by its reserved report-action ID even when the final HTML is byte-identical to the last streamed draft.

Reconciliation searches the complete cached action set instead of only the currently visible pagination chain, so deep-linked and unread-anchored views do not strand a completed draft. A same-ID action with pendingAction: ADD is still an optimistic placeholder and is intentionally ignored until the server confirms it.

Visible-list rendering and ordering are unchanged.

Fixed Issues

Related to https://github.com/Expensify/Expensify/issues/674683

Tests

  • npm test -- --runInBand --watchman=false tests/ui/ReportActionsListTest.tsx tests/unit/pages/inbox/ConciergeDraftContext.test.tsx — 41 passed.
  • npm run lint-changed — passed under Node 26.5.0.
  • npm run spell-changed — passed.
  • npm run typecheck — passed.
  • npm run react-compiler-compliance-check check-changed — passed with Babel and OXC.
  • git diff --check origin/main...HEAD — passed.

QA

  1. After the held server PRs deploy, ask Concierge to analyze expenses in a supported chat.
  2. Verify the streamed draft becomes one normal final comment.
  3. Simulate or interrupt the terminal draft event while allowing the final report action to arrive.
  4. Verify the draft still completes once, including from a deep-linked or unread-anchored view.

@inimaga
inimaga requested review from a team as code owners September 4, 2026 18:20
@melvin-bot
melvin-bot Bot requested review from rlinoz and trjExpensify and removed request for a team September 4, 2026 18:20
@melvin-bot

melvin-bot Bot commented Sep 4, 2026

Copy link
Copy Markdown

@rlinoz Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

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