Skip to content

Code Island iOS App会话完成提醒问题 #330

Closed

Description

@caishengwei

仅针对缩小状态下的灵动岛,左侧数字表示当前总会话数,右侧的蓝色圆点+会话没有任何意义

现在就是一个问题,当前Mac上3个会话中,有一个结束了, 手机上的小灵动岛状态实际上没有任何变化。包括左侧的数字3和右侧的会话圆点

Image

Activity

  1. wxtsky commented on Sep 1, 2026

    @wxtsky
    Owner

    你说得对,而且比你想的还糟一点——我看了代码,缩小状态下两边都是死的。已改(f34fefe)。

    原来的问题

    多会话时:

    • 左边:吉祥物 + 会话总数。总数只有在 Mac 侧真正把会话回收掉之后才会减,而一个会话跑完之后还会以 idle 状态挂一会儿。所以"结束了一个"当下,这个 3 不会变。
    • 右边:一个圆点 + 字面量 "会话"。这个字是写死的常量,永远不变。圆点用的是当前主推会话的状态,不是整体的。

    两边合起来,三个会话结束一个,灵动岛长得一模一样。你说"没有任何意义"是准确的。

    改成什么了

    右边现在是 活跃数/总数,比如 3/3 → 2/3。挑这个数是因为它在会话变 idle 的那一刻就变了,不用等回收——正好补上左边那个数的延迟。

    圆点也不再看主推会话,改成整组里最需要你处理的那个状态,优先级是:待批准 > 待回答 > 处理中 > 运行中 > 空闲。顺带修掉了同一个 bug 更严重的另一半:如果待批准的那个会话不是当前主推的那个,缩小状态下以前完全看不出来。

    配了行为测试覆盖你这个三会话场景、优先级顺序、以及新版 Mac 传来未知状态时的降级(scripts/companion-session-summary-test.swift,本地跑过全绿)。

    两件需要说清楚的事

    1. 这个改动跟着下一次 companion 的 App Store 提交才到你手机上,不是随 Mac 端版本更新。Mac 端和手机端是两条发布线。

    2. 如果你观察到的是连数字都完全不动、过很久也不动(而不是"变化不明显"),那可能还叠加了一个推送问题,跟显示逻辑无关。麻烦确认一下:Mac 端设置 → Buddy → iPhone Buddy 里蓝牙权限给了吗?App 退到后台之后,实时活动的刷新是走蓝牙的(前台走本地网络),只给了本地网络的话,前台看着一切正常,一切后台就冻住。这种情况下把 App 切到前台状态会立刻跟上——如果是这样,那就是权限问题,说一声我再看。

    另外你提的左边那个数——我保留成总数了,因为右边现在承担了"有多少在动"的信息,两边都放活跃数就重复了。如果你觉得反过来更顺手(左边活跃、右边总数),说一声。

  2. wxtsky commented on Sep 23, 2026

    @wxtsky
    Owner

    这个问题的显示逻辑已经在 f34fefe 修掉(已合入 main):缩小状态下右侧改为 活跃数/总数(会话变 idle 的那一刻就会从 3/3 变成 2/3),圆点改为整组里最需要处理的状态(待批准 > 待回答 > 处理中 > 运行中 > 空闲)。

    提醒一下:这是 iPhone 端的改动,跟着下一次 Code Island Buddy 的 App Store 版本更新才会到手机上,不随 Mac 端更新。先按已修复关闭;新版 Buddy 上架后如果还是不动,尤其是 App 退到后台后完全冻住,那多半是 Mac 端 设置 → Buddy → iPhone Buddy 的蓝牙权限没给,欢迎直接重新打开。

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions