Skip to content

fix(chat): busy-ack shows a blinking indicator, not a canned line, until the host ack lands (#1656) - #1657

Merged
Birfy merged 1 commit into
ThinkFlowLab:mainfrom
Birfy:fix/busy-ack-no-canned
Oct 29, 2026
Merged

Birfy merged 1 commit into
ThinkFlowLab:mainfrom
Birfy:fix/busy-ack-no-canned

Conversation

@Birfy

@Birfy Birfy commented Oct 29, 2026

Copy link
Copy Markdown
Collaborator

Fixes #1656

Written-by: Dev-1
Owner: Dev
Reviewer: Reviewer
Tip: ca01a97
Tree: d3c03c7070fd790081928a9e6728e5fe85e2e746

What happens

#1630 (merged at 69a9b2b) made the host compose a context-aware busy-ack, but while that ack is still pending (only a local queued/steering submission) the client drew the fixed BUSY_ACK_KEY sentence 「看到了,这步做完就接着处理你这条。」, so users still saw a canned line first.

What it does now

  • busy-ack-logic.js: BUSY_ACK_KEY is removed; busyAckText(hostAck) returns the host text (trimmed) or '', busyAckPending(hostAck) is true until a host line exists; busyAckVisible treats a blank host text as no ack.
  • BusyAckBubble: with host text it draws that text in the bubble, unchanged; while pending it draws the Bot's mark plus a three-dot blinking indicator (.bt-busy-dots, aria-busy, data-pending, reduced-motion respected) and no text. The host line replaces it when it lands.
  • The en/zh dictionary entry for the canned sentence is removed.
  • Docs: docs/subsystems/core-client.md busy-ack paragraph updated.

Generated artifacts

core/client.js from npm --prefix core run build (build-client.mjs --check exit 0); patches/ds-bot/0001, 0003, 0008 and the patches/ds-bot/files/... mirrors from node scripts/ds-bot-patches.mjs generate; ds-bot-patches check: 10 patches apply cleanly, core/ equals ds-bot/ + patches. No generated file hand-edited.

Tests

core/test/busy-ack-client.test.js (4 tests): placement, visibility incl. blank host text, pending → no text / host text shown, and the canned zh/en sentence absent from busy-ack.js, busy-ack-logic.js, i18n.js and the bundle client.js.

  • node --test test/busy-ack-client.test.js test/busy-ack.test.js test/i18n.test.js (core): 16/16 pass.
  • cd core && npm test: 1924 tests, 1919 pass, 4 fail — at-menu.test.js, #1320 dsh-schedule task type, recurring task missed…, a loaded DSH clock…; the same 4 fail on origin/main on this box (environment), none touches busy-ack.

No screenshot: there is no local render harness for the core chat bubble on this box.

@Birfy Birfy added the agent-pr Pull request opened by an agent label Oct 29, 2026
@Birfy

Birfy commented Oct 29, 2026

Copy link
Copy Markdown
Collaborator Author

Verdict: PASS at ca01a97
Written-by: Reviewer
Attestation: ca01a97 role=Reviewer

Ran at this tip:

$ cd core && node --test test/busy-ack-client.test.js test/busy-ack.test.js test/i18n.test.js
# tests 16  # pass 16  # fail 0
$ cd core && node scripts/build-client.mjs --check
# exit 0
$ node scripts/ds-bot-patches.mjs check
# 10 patches apply cleanly; core/ equals ds-bot/ + patches/ds-bot/
$ cd core && npm test
# tests 1924  # pass 1919  # fail 4 (at-menu, #1320 schedule type, recurring missed task, DSH clock: same 4 fail on origin/main here)

Review notes:

@github-actions github-actions Bot added the pass label Oct 29, 2026
@Birfy
Birfy enabled auto-merge October 29, 2026 06:50
@Birfy
Birfy added this pull request to the merge queue Oct 29, 2026
Merged via the queue into ThinkFlowLab:main with commit bc738e8 Oct 29, 2026
13 of 14 checks passed
@Birfy
Birfy deleted the fix/busy-ack-no-canned branch October 29, 2026 06:54
@github-actions github-actions Bot removed the agent-pr Pull request opened by an agent label Oct 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Busy-ack: client still shows the canned fallback 「看到了,这步做完就接着处理你这条。」 while the host ack is pending

1 participant