Skip to content

Friend's Bot chat on the receiving home: 'Tool removed' line, turns/steps/tok/s footer, composer placeholder flips to coding copy #419

Closed

Description

@Birfy

Summary

In B's chat with a friend's Bot (A's Chief), the chat shows things that mean nothing to a person talking to a friend's Bot: an internal Tool removed: … line, a local run-stats footer (9 turns 9 steps · 0 tok/s · 0%, and 1 turns), and after the first send the composer placeholder switches from Message SelfA1238's Chief to the coding-agent copy Message or run a task, / commands, @ files or sessions.

Environment

Common setup (B talks to A's Chief)

On B, open the sidebar row for A's Chief (Chief + grey SelfA1238 + globe) and send, one at a time, waiting for each answer:

  1. Hi Chief, this is B. What is 2+2? Reply in one short line. → A's Chief drafts 4.; on A click Reject.
  2. Second test: what is 3+3? One line. → draft 6.; on A click Approve.
  3. Third test: what is 4+4? One line. → draft 8.; on A click Always approve.
  4. Fourth test: 5+5? One line. and Fifth test: 6+6? One line. → 10. and 12. go out without a card.

Repro

  1. On B, open the Chief SelfA1238 row (A's Chief). Read the composer placeholder and the footer under the composer.
  2. Run the common setup (send the five lines). After the first send, read the placeholder again, the line above the first reply, and the footer after each reply.

Actual (B)

  • Leaked tool-mask line. Once, between B's second line and the first reply, a centred grey system line: Tool removed: create_child_bot · Tool removed: list_children. Screenshot 11-B-view-of-replies.png: B's chat titled SelfA1238's Chief; B's five black bubbles on the right, replies 6., 8., 10., 12. on the left, and the Tool removed: … line right above 6.. Polish: Tool added/removed lines every turn, Chief self-intro wording differs, friend's Bot offered as a Main Bot, gear hover inconsistent #276 fixed the per-turn flip; this is the remaining first-time line, shown in a friend chat where those tools are not even this home's.
  • Run-stats footer. Under the composer: 1 turns 1 steps · 0% after the first reply, later 9 turns 9 steps · 0 tok/s · 0% (shot 11). The friend's Bot runs on A, so tokens/speed/cache here are always 0 and the counts are not something a person needs in a friend chat. 1 turns / 1 steps is also wrong English.
  • Placeholder changes. Before the first send: Message SelfA1238's Chief. After the first send it became Message or run a task, / commands, @ files or sessions (coding/dev copy; / commands and @ files or sessions are not offered for a friend's Bot). It came back to Message SelfA1238's Chief later in the run (shot 11), so it flips.
  • Minor, consistency: the replies are small grey left bubbles with no avatar or name. This matches own 1:1 chats (A's own Chief replies look the same, shot 04), so it is only a problem together with Friend's Bot rows: two name formats ('Helper · SelfB0023's Bot' vs 'SelfA0023's Chief'), two-line wrap, no preview, inset highlight, faint marker, same avatar as own Chief #384 naming; listed for completeness, maintainer call.

Why (code read on a7f51e8; hunches)

  • Tool line: ContextCell (core/src/client/cells.js L573–583) shows every tool-removal/tool-addition block except HIDDEN_REMOVED_TOOLS (ask_user_question). The first hidePluginTools mask (core/src/host/hooks.js L652–669) on the remote chat's agent writes one Tool removed for the tree tools (plugins/tree/src/tools.js, visibleTo: inTree).
  • Footer: the DSH session stats line is drawn for every session, including flybot-remote/<handle> sessions (remote-chat, core/src/host/remote-chat.js), whose turns are local relay turns.
  • Placeholder: FlyBot sets --bt-placeholder from Message {name} (patches/ds-bot/0012-room-membership.patch ~L440, core/client.js L6968). After a turn the DSH composer's own default placeholder seems to win until the next re-render.

Expected (simplicity, consistency, English only)

Suggested scope / files

  • core/src/client/cells.js (ContextCell, HIDDEN_REMOVED_TOOLS or a check for plugin-gated tool names), core/src/host/hooks.js (hidePluginTools on first resolve).
  • The stats footer render for remote sessions (FlyBot core client / DSH patch where the footer is drawn).
  • patches/ds-bot/0012-room-membership.patch / core/client.js composer label.
  • Tests for: no tool-mask cell in a remote chat; stats footer hidden for flybot-remote/*; placeholder unchanged after a turn.

Acceptance criteria

  • A fresh friend chat on B never shows Tool removed: / Tool added: lines.
  • No turns/steps/tok/s footer in a friend's Bot chat; 1 turn / 1 step grammar in own chats.
  • Placeholder stays Message <friend Bot> before and after sends.

Related: #276 (closed; per-turn flip fixed, first line remains), #140, #384.

Activity

  1. added
    bugSomething isn't working
    area:socialFriends, invites, grants, Bot Social
    area:uiWeb/desktop UI and copy
    self-testFiled by the product self-test routine (issues only)
    on Oct 19, 2026
  2. Birfy commented on Oct 19, 2026

    @Birfy
    CollaboratorAuthor

    Triage on main a7f51e8, 2026-10-19 ~14:15 Asia/Shanghai: design conflicts resolved, spec clear; ready to develop. Checked: #276 (per-turn flip already fixed), #384 (placeholder name follows the decided Chief (SelfA1238) format), English UI and simplicity rules. Owner-delegated decision on the minor item: the small grey left bubbles with no avatar stay as they are (they match own 1:1 chats); not part of this issue.

  3. added
    agent-readyMaintainer-approved spec: an agent may take it. Only maintainers set this; never in a template
    agent-workingAn agent has claimed this issue (the claim comment names the branch)
    on Oct 19, 2026
  4. self-assigned this
    on Oct 19, 2026
  5. Birfy commented on Oct 19, 2026

    @Birfy
    CollaboratorAuthor

    Claimed by the maintenance routine (2026-10-19 ~14:40 Asia/Shanghai): working on branch Birfy:fix/419-friend-chat-clutter.

  6. Birfy commented on Oct 19, 2026

    @Birfy
    CollaboratorAuthor

    Status after #424 (merged, main 73aae3b; checked on main 0852b3f, 2026-10-19 16:59 Asia/Shanghai):

    Done

    Still left

    Owner-delegated decision: fix the plural in FlyBot only if it can be done without patching DSH, e.g. a FlyBot locale override or shadowing the node, like TurnErrorCell shadows DSH's turn-error. If no clean way exists, drop the plural item and close this issue. No upstream DSH request for now (same call as #422). The next friend-DM self-test should check the three done items on a fresh friend chat.

    Unassigned and agent-working removed so a later run can take the plural item. Keeping agent-ready.

  7. removed
    agent-workingAn agent has claimed this issue (the claim comment names the branch)
    on Oct 19, 2026
  8. removed their assignment
    on Oct 19, 2026
  9. added
    agent-workingAn agent has claimed this issue (the claim comment names the branch)
    on Oct 19, 2026
  10. self-assigned this
    on Oct 19, 2026
  11. Birfy commented on Oct 19, 2026

    @Birfy
    CollaboratorAuthor

    Claimed by Birfy's maintenance Bot at 2026-10-19 17:59 Asia/Shanghai. Working on branch fix/419 (Birfy/FlyBot) off main 245be0b.

  12. Birfy commented on Oct 19, 2026

    @Birfy
    CollaboratorAuthor

    Decision (2026-10-19 18:06 Asia/Shanghai, owner-delegated): the plural item can be done cleanly without patching DSH, so it is fixed in #438 rather than dropped. FlyBot shadows DSH's conversation.composer.dock entry stats one priority lower and renders the shell's own footer component with its own inject and chat locale, only swapping in a t that turns the exact English {turns} turns {steps} steps into 1 turn / 1 step. Kept DSH's format (no new separator), Chinese passes through, and a test flags it if DSH changes the template or dock id. The other three items were done by #424; the live two-home check stays for the next friend-DM self-test.

  13. removed
    agent-workingAn agent has claimed this issue (the claim comment names the branch)
    on Oct 19, 2026
  14. removed
    agent-readyMaintainer-approved spec: an agent may take it. Only maintainers set this; never in a template
    on Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:socialFriends, invites, grants, Bot Socialarea:uiWeb/desktop UI and copybugSomething isn't workingself-testFiled by the product self-test routine (issues only)

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions