fix(messages): the delivery indicator updates when a send completes (#306) #374

Open
jared wants to merge 1 commits from fix/delivery-status-live into lotus
Owner

Fixes #306.

DeliveryStatus showed whatever mEvent.status was at the last timeline re-render. A local echo's status changes (SENDING → SENT → confirmed, NOT_SENT → retried) only emit event-level events, which nothing in the timeline listens to. So the last message in a quiet room kept "Sending...", or a stale "Failed to send. Click to retry" after an outbox retry, indefinitely.

Change: the indicator re-renders on MatrixEventEvent.Status and LocalEventIdReplaced.

Checks: tsc clean · unit tests 1341 pass · ESLint clean. Not browser-verified yet. The issue's repro (a delayed /send, then the last row's indicator) is the test to run before relying on this.

🤖 Generated with Claude Code

https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5

Fixes #306. `DeliveryStatus` showed whatever `mEvent.status` was at the last timeline re-render. A local echo's status changes (`SENDING → SENT → confirmed`, `NOT_SENT → retried`) only emit event-level events, which nothing in the timeline listens to. So the **last message in a quiet room kept "Sending..."**, or a stale "Failed to send. Click to retry" after an outbox retry, indefinitely. **Change:** the indicator re-renders on `MatrixEventEvent.Status` and `LocalEventIdReplaced`. **Checks:** `tsc` clean · unit tests 1341 pass · ESLint clean. **Not browser-verified yet.** The issue's repro (a delayed `/send`, then the last row's indicator) is the test to run before relying on this. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
jared added 1 commit 2026-10-16 22:25:46 -04:00
fix(messages): the delivery indicator updates when a send completes (#306)
CI / Build & Quality Checks (pull_request) Successful in 3m47s
CI / Trigger Desktop Build (pull_request) Skipped
CI / Docker image build & smoke test (pull_request) Skipped
CI / Secret scan (gitleaks) (pull_request) Successful in 13s
CI / Playwright smoke (e2e) (pull_request) Successful in 14m53s
36e697613b
DeliveryStatus showed whatever mEvent.status was at the last timeline
re-render, and a local echo's status changes (SENDING → SENT → confirmed,
NOT_SENT → retried) only emit event-level events, so the last message in
a quiet room kept "Sending..." (or a stale "Failed to send. Click to
retry" after an outbox retry) indefinitely. It now re-renders on
MatrixEventEvent.Status / LocalEventIdReplaced.

Not browser-verified in this change (checks: tsc, unit tests, eslint).

Fixes #306

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
All checks were successful
CI / Build & Quality Checks (pull_request) Successful in 3m47s
CI / Trigger Desktop Build (pull_request) Skipped
CI / Docker image build & smoke test (pull_request) Skipped
CI / Secret scan (gitleaks) (pull_request) Successful in 13s
CI / Playwright smoke (e2e) (pull_request) Successful in 14m53s
You are not authorized to merge this pull request.
This pull request can be merged automatically.
This branch is out-of-date with the base branch
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin fix/delivery-status-live:fix/delivery-status-live
git checkout fix/delivery-status-live
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: LotusGuild/cinny#374