Skip to content

AIDA-1977: Preserve replies after failed sends - #7671

Draft
ngthuydiem wants to merge 1 commit into
mainfrom
diem/aida-1977/reliable-replies
Draft

ngthuydiem wants to merge 1 commit into
mainfrom
diem/aida-1977/reliable-replies

Conversation

@ngthuydiem

@ngthuydiem ngthuydiem commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Summary

When a Desktop send fails, its rollback restores an earlier conversation snapshot. Messages received while that send was pending disappear, and overlapping sends can erase or resurrect each other.

Remove only the failed send's optimistic row from the current timeline and channel window. Preserve incoming messages, separate thread caches, history pages, and other pending sends.

Related issue

Partial fix for AIDA-1977. This addresses messages that arrive and then disappear after a failed send. It does not change how agents publish final answers.

Closest related work: #7249, which proposes harness publication of Activity-only answers and touches a different path.

Testing

Built Desktop with its isolated mock bridge, held an outgoing send, delivered an incoming result, then released a terminal relay rejection. The result disappears on the base build. The fixed build preserves it through rejection and navigation in both repetitions.

Command: pnpm build:e2e && pnpm exec playwright test --project=smoke failed-send-preserves-replies.spec.ts --repeat-each=2.

Validated in Chromium on macOS with synthetic accounts and a mock relay. Native Windows and a real agent/relay reconnect were not exercised.

Before: incoming result disappears

Original build after rejection

After: incoming result remains

Fixed build after rejection

Known validation gaps

The full local just ci run is not green: it stopped at ACP unit tests outside this Desktop change. The inherited owner-only configuration explains one failure; timing and steering failures remain unresolved. Native runtime acceptance remains pending.

Generated with Codex

Signed-off-by: Diem Nguyen <diem@squareup.com>
@github-actions

Copy link
Copy Markdown

🔐 Codex Security Review

Status: review required for the current range.

The current range is 41c5ace93740261ee5a5d962c2a17e8d846c2c1b...7ae1f8d60fe50414e78ed73b41a03e2bcb7502e6.
A new review must complete for this exact range. When manual authorization
is required, a Block organization member must comment exactly
@buzz-security-review 7ae1f8d60fe50414e78ed73b41a03e2bcb7502e6 to authorize a new review.
Any previous review applies only to its recorded range.

ngthuydiem added a commit that referenced this pull request Sep 15, 2026
Signed-off-by: Diem Nguyen <diem@squareup.com>

This branch has not been deployed

No deployments
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