Skip to content

Fix stale deletion projections and dismiss notices - #201

Merged
hamzamerzic merged 1 commit into
mobius-os:mainfrom
hamzamerzic:fix/delete-reconciliation-toast
Jul 24, 2026
Merged

Fix stale deletion projections and dismiss notices#201
hamzamerzic merged 1 commit into
mobius-os:mainfrom
hamzamerzic:fix/delete-reconciliation-toast

Conversation

@hamzamerzic

Copy link
Copy Markdown
Collaborator

Summary

  • Treat confirmed chat and app deletions as authoritative so cached drawer reads cannot bring removed rows back.
  • Broadcast exact deletion and recovery events, reconcile both durable lists after reconnecting, and prove revived or reused app identities with a direct resource read.
  • Keep post-commit deletion and recovery responses truthful even if ancillary cleanup fails.
  • Give every notice the same stable lifecycle, an explicit dismiss control, and a below-chrome placement clear of the composer.

Why

The offline-capable drawer uses network-first reads, so a successful fallback could return the pre-deletion list even after the server committed the deletion. That briefly restored a dead row; opening it then reached a missing chat and degraded to the new-chat surface. The reverse edge also mattered: reinstall can revive a tombstoned app and hard purge can free an integer id for reuse, so a session tombstone must clear only after the specific app resource is proven live.

The notice primitive also sat over the primary input, one producer bypassed the shared lifecycle, and unrelated shell renders could reset the timeout. Post-commit cleanup failures could additionally report a failed request after the durable state had already changed, recreating ambiguity at the mutation boundary.

Testing

  • npm run test:lib (1,832 passing)
  • npm run test:hooks (47 passing)
  • npm run build
  • Backend chat and app route suites (168 passing)
  • Rendered desktop and narrow-viewport checks for placement, action layout, and explicit dismissal

Co-authored-by: Möbius Agent <mobius-agent@users.noreply.github.com>
@hamzamerzic hamzamerzic added area: ui User interface and interaction design bug Something isn't working labels Jul 24, 2026
@hamzamerzic
hamzamerzic merged commit 0d3abe5 into mobius-os:main Jul 24, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ui User interface and interaction design bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant