Skip to content

UI Tracer: Channel composer island 与 PersonaBot activity region #129

Closed

Description

@DoodleBears

Parent

Observable tracer bullet

把现有 Channel message composer 重构成 DSH-native 的 floating island,同时保持真实消息发送链路不变:

  1. Human 在 PersonaBot DM 打开 Channel,看到独立于消息流的浮动圆角 composer island。
  2. 使用现有输入、附件、发送、disabled/error 和 keyboard submit 行为发送一条真实消息,不建立第二套 draft 或 messaging authority。
  3. composer 顶部/左侧提供稳定的 PersonaBot activity region;Bot activity: shared snapshot and live DM presence #120 接入后,DM 使用与 pinned grid/sidebar 完全相同的共享 Avatar/Activity Frame 和 snapshot revision。
  4. Group Channel 使用相同 island shell;Group activity: live facepile, safe summaries and details #124 接入后显示最多三个 active/member avatars、+N 和安全的当前活动摘要。
  5. narrow/wide、light/dark 与三态 motion preference 都可操作且不遮挡最后一条消息。

完成可发送真实消息的 production-shaped shell 后停止,Activity 内容由对应 tracer tickets 接入,不能用 fixture 成为第二 authority。

Layout and interaction contract

  • 参考 Beautiful UI Prompt Bar 的 floating/pill composition,但使用 DSH --dsw-* tokens、ui-primitives 与 native inset contract重新实现。
  • island 与消息滚动区分离;处理 safe-area、viewport resize、输入框自动增高和最后消息可见性。
  • activity region 是共享 component/slot 的消费位置,不拥有 Activity 状态。
  • DM 默认显示一个聚合 PersonaBot;Group Channel 允许 facepile 与一行摘要。
  • hover/focus 显示简短 activity 文案;点击或键盘操作可展开/折叠安全详情,不能把 hover 作为唯一入口。
  • reduced/full motion 只消费 UI Foundation: BotHarness motion preference(System / Reduce / Full) #128 的 effective policy。
  • 不直接读取 Session log、UI sending flag、cwd 或当前页面选择来推断 PersonaBot 状态。

Reference-component boundary

Acceptance criteria

  • 现有 DM 与 Group Channel 的真实消息发送、附件、disabled/error、IME 和 keyboard submit 不回归。
  • island 在消息流上方稳定浮动,消息底部 padding/scroll anchoring 正确,不遮挡最后一条消息。
  • narrow/wide sidebar、窗口 resize、long draft 与 multiline composer 不溢出。
  • activity region 有稳定 DOM/component contract,Bot activity: shared snapshot and live DM presence #120/Group activity: live facepile, safe summaries and details #124 可接入而不重写 composer。
  • DM/Group 都不创建独立 activity state;snapshot revision 与 sidebar consumer 一致。
  • hover、focus、click/keyboard 的摘要和 collapsible 行为可访问。
  • Follow system / Reduce motion / Full motion 由 UI Foundation: BotHarness motion preference(System / Reduce / Full) #128 统一控制;Reduce 下无 sweep/shimmer/循环空间动画。
  • light/dark 与 web-dev Human 验收通过,并记录实际 shell 测量。
  • 新外部依赖若存在,bundle contract test、license/notices 与降级测试同步更新。

Blocked by

Blocks

Non-goals

Activity

  1. added this to the v1.0 milestone on Sep 21, 2026
  2. DoodleBears commented on Sep 21, 2026

    @DoodleBears
    ContributorAuthor

    Completed by #136. The responsive composer island and the external PersonaBot activity region are now merged; real activity data remains the responsibility of #120 after #80.

  3. added
    V1.0Milestone v1.0; mirrors the GitHub milestone
    on Sep 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    V1.0Milestone v1.0; mirrors the GitHub milestoneenhancementNew feature or requestready-for-agentFully specified, ready for an AFK agent

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions