mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-18 13:23:33 +08:00
Desktop already receives tool_use start and input deltas before the final tool_use_complete event, but the chat transcript only rendered a visible tool card after the complete event. This makes long Write payloads look frozen while the model is still generating the tool input. The store now upserts a pending tool_use message on stream start, updates a lightweight input preview from deltas, and resolves that same message when the complete event arrives. Constraint: Long Write calls spend most perceived time streaming JSON tool input, not executing the filesystem write Rejected: Show only the global active tool label | it does not anchor progress in the transcript where the user is looking Confidence: high Scope-risk: moderate Directive: Keep pending tool_use messages keyed by toolUseId so the complete event updates in place instead of duplicating cards Tested: bun run check:desktop Not-tested: Live provider smoke with a real 10k-word Write stream