Skip to content

fix(conversation): fix messages disappearing and cross-conversation event bleed#918

Draft
HeyItsChloe wants to merge 1 commit into
mainfrom
APP-1810/unpredictable-conversation-messages
Draft

fix(conversation): fix messages disappearing and cross-conversation event bleed#918
HeyItsChloe wants to merge 1 commit into
mainfrom
APP-1810/unpredictable-conversation-messages

Conversation

@HeyItsChloe
Copy link
Copy Markdown
Member

@HeyItsChloe HeyItsChloe commented May 28, 2026

  • Skip clearEvents on same-conversation remount (Settings → back)
  • Guard REST seed against stale React Query cache to prevent event mixing
  • Re-fire REST seed after active conv is stamped to fix empty chat state
  • Reject stale WebSocket messages from previous conversation's socket
  • Flush in-progress draft on unmount before debounce fires
  • Wire up clearPendingMessages on conversation switch (was never called)
  • A human has tested these changes.

Why

Summary

Issue Number

How to Test

Video/Screenshots

Type

  • Bug fix
  • Feature
  • Refactor
  • Breaking change
  • Docs / chore

Notes


🐳 Docker images for this PR

GHCR package: https://github.com/OpenHands/agent-canvas/pkgs/container/agent-canvas

Component Value
Image ghcr.io/openhands/agent-canvas
Architectures amd64, arm64
Agent Server ghcr.io/openhands/agent-server:1.24.0-python
Automation openhands-automation==1.0.0a5
Commit 6e8067e3a94d1e1dbe181505189a6a6f536021b0

Pull (multi-arch manifest)

# Multi-arch manifest — Docker automatically pulls the correct architecture
docker pull ghcr.io/openhands/agent-canvas:sha-6e8067e

Run

docker run -it --rm \
  -p 8000:8000 \
  ghcr.io/openhands/agent-canvas:sha-6e8067e

All tags pushed for this build

ghcr.io/openhands/agent-canvas:sha-6e8067e-amd64
ghcr.io/openhands/agent-canvas:APP-1810-unpredictable-conversation-messages-amd64
ghcr.io/openhands/agent-canvas:pr-918-amd64
ghcr.io/openhands/agent-canvas:sha-6e8067e-arm64
ghcr.io/openhands/agent-canvas:APP-1810-unpredictable-conversation-messages-arm64
ghcr.io/openhands/agent-canvas:pr-918-arm64
ghcr.io/openhands/agent-canvas:sha-6e8067e
ghcr.io/openhands/agent-canvas:APP-1810-unpredictable-conversation-messages
ghcr.io/openhands/agent-canvas:pr-918

About Multi-Architecture Support

  • Each tag (e.g., sha-6e8067e) is a multi-arch manifest supporting both amd64 and arm64
  • Docker automatically pulls the correct architecture for your platform
  • Individual architecture tags (e.g., sha-6e8067e-amd64) are also available if needed

…vent bleed

- Skip clearEvents on same-conversation remount (Settings → back)
- Guard REST seed against stale React Query cache to prevent event mixing
- Re-fire REST seed after active conv is stamped to fix empty chat state
- Reject stale WebSocket messages from previous conversation's socket
- Flush in-progress draft on unmount before debounce fires
- Wire up clearPendingMessages on conversation switch (was never called)
@vercel
Copy link
Copy Markdown

vercel Bot commented May 28, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agent-canvas Ready Ready Preview, Comment May 28, 2026 10:27pm

Request Review

@github-actions
Copy link
Copy Markdown
Contributor

📸 Snapshot Test Report

Warning

Snapshot comparison step crashed (timeout, OOM, or runner error) — diff results below may be incomplete or absent.
Check the CI logs for the full error output (look for the "Run snapshot comparison" step).

Warning

One or more snapshot tests crashed during generation — some snapshots below may be incomplete.
Check the CI logs for the full error output (look for the "Generate current PR snapshots" step).

❌ 7 snapshots differ from the main branch baselines. Add the update-snapshots label to acknowledge intentional changes.

Category Count
🔴 Changed 7
🆕 New 0
✅ Unchanged 66
Total 73

How to resolve:

  • Unintentional diffs — the baselines on main may have moved since this branch was created. Merge the latest main into this branch and re-run CI.
  • Intentional changes — add the update-snapshots label. CI will pass and the new screenshots become the baseline when this PR merges.
🔴 Changed snapshots (7)

backends-extended

backend-after-switch

Expected (main) Actual (PR) Diff
expected actual diff

mcp-page — 5 snapshots

mcp-custom-server-1-editor-open

Expected (main) Actual (PR) Diff
expected actual diff

mcp-custom-server-editor

Expected (main) Actual (PR) Diff
expected actual diff

mcp-empty-installed

Expected (main) Actual (PR) Diff
expected actual diff

mcp-search-filtered

Expected (main) Actual (PR) Diff
expected actual diff

mcp-slack-install-1-marketplace

Expected (main) Actual (PR) Diff
expected actual diff

settings-page

settings-page

Expected (main) Actual (PR) Diff
expected actual diff
✅ Unchanged snapshots (66)

archived-conversation

  • conversation-panel-with-archived-badges
  • conversation-view-archived
  • conversation-view-sandbox-error

automations

  • automations-delete-modal
  • automations-list-active-inactive
  • automations-no-automations
  • automations-search-no-results

backends-extended

  • backend-add-blank-disabled
  • backend-add-cloud-advanced-open
  • backend-add-cloud-no-key-disabled
  • backend-add-cloud-with-key-enabled
  • backend-add-form-partially-filled
  • backend-add-invalid-url-disabled
  • backend-add-local-ready
  • backend-add-name-only-disabled
  • backend-add-two-column-layout
  • backend-add-whitespace-host-disabled
  • backend-cancel-nothing-saved
  • backend-dropdown-two-backends
  • backend-edit-prefilled
  • backend-manage-after-removal
  • backend-manage-two-listed
  • backend-remove-cancelled
  • backend-remove-confirmation
  • backend-switch-overlay

backends

  • backend-add-modal
  • backend-manage-modal
  • backend-selector-open

changes-tab

  • changes-deleted-file
  • changes-diff-viewer
  • changes-empty

collapsible-thinking

  • reasoning-content-collapsed
  • reasoning-content-expanded
  • think-action-collapsed
  • think-action-expanded

mcp-page

  • mcp-custom-server-2-url-filled
  • mcp-custom-server-3-all-filled
  • mcp-custom-server-4-installed
  • mcp-slack-install-2-modal
  • mcp-slack-install-3-filled
  • mcp-slack-install-4-installed

onboarding

  • onboarding-step-0-choose-agent
  • onboarding-step-1-check-backend
  • onboarding-step-2-setup-llm
  • onboarding-step-3-say-hello

projects-workspace-browser

  • projects-workspace-browser

settings-page

  • add-backend-modal
  • analytics-consent-modal
  • home-screen
  • settings-app-page

settings-secrets

  • secrets-add-form-filled
  • secrets-add-form
  • secrets-after-save
  • secrets-delete-confirm
  • secrets-list

settings-verification

  • condenser-settings
  • verification-settings-off
  • verification-settings-on

sidebar

  • sidebar-collapsed
  • sidebar-conversation-panel
  • sidebar-filter-menu

skills-page

  • skills-empty
  • skills-loaded
  • skills-no-match
  • skills-search-filtered
  • skills-type-filter

Generated by the Snapshot Tests workflow. This comment was created by an AI agent (OpenHands) on behalf of the repo maintainers.

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