Chat 2.0.32: name each wait while an attachment sends; never republish on retry - #139
Merged
Merged
Conversation
…h on retry Owner report: a 1.9 MB attach sat on "Sending" with nothing visible. Measured on beta.11: Home hashes the bytes for ~20 s before its approval prompt can appear, publishes ~1 min after approval, then the message waits on a second prompt and its own proof-of-work — ~3 min end to end, all shown as "Sending". - Send phases: 'preparing' → 'approval' (set around every publish call); the composer button reads "Preparing" / "Waiting for approval" and a role=status line under the composer explains the wait (five new strings ×23 locales). - Never republish: a `dispatched` flag; on every non-dispatched exit (throw, refused dispatch, duplicate in flight) the published link is folded into the draft and the staged file dropped, so Send again re-sends the link without a second publish. The two refused-dispatch returns that used to drop a successful publish now keep it and say so. - ChatComposer.test.tsx covers the phase label/notice rendering. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AGDWY3yhSNv2NKTVUBJQBf
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Owner report: attaching a 1.9 MB image then sending sat on "Sending" with nothing happening.
Measured on beta.11 + Chat 2.0.31 (seed account, private display): the send is not stuck — Home hashes the bytes ~20 s before its "Allow publish a public qdn resource?" prompt can appear, publishes ~1 min after approval, then the message hits a second prompt ("Allow send message?") and its own proof-of-work. The CHAT tx landed 49 s after the ARBITRARY tx; ≈3 min end to end, byte-identical PNG on QDN — all of it shown as a disabled "Sending" button.
1. Name each wait.
sendPhase(preparing→approval) set around every publish call; the Send button reads Preparing / Waiting for approval and arole=statusline under the composer says what it's waiting on ("Waiting for you to approve the publish in Qortium Home. Large files take a moment before the prompt appears."). Five strings × 23 locales.2. Never republish on retry. A
dispatchedflag; on every non-dispatched exit (throw, refused dispatch because account/chat changed, duplicate in flight) the published link is folded into the draft and the staged file dropped, so Send again re-sends the link without publishing the file twice. Previously the two refused-dispatchreturns silently discarded a successful publish (my repro produced exactly that duplicate).Tests: new
ChatComposer.test.tsx(phase label + notice); 924/924; build clean. README; version 2.0.32.Companion: Home-side "show the publish prompt immediately with a hashing state" (follows).
🤖 Generated with Claude Code
https://claude.ai/code/session_01AGDWY3yhSNv2NKTVUBJQBf