仅针对缩小状态下的灵动岛,左侧数字表示当前总会话数,右侧的蓝色圆点+会话没有任何意义 现在就是一个问题,当前Mac上3个会话中,有一个结束了, 手机上的小灵动岛状态实际上没有任何变化。包括左侧的数字3和右侧的会话圆点 <img width="238" height="104" alt="Image" src="https://github.com/user-attachments/assets/897ecc89-d967-47bc-b40e-978ccad20991" />
Activity
chore(scout): Sep 1 upstream scout — upstream quiet (17 days since v1…
wxtsky commentedon Sep 1, 2026
你说得对,而且比你想的还糟一点——我看了代码,缩小状态下两边都是死的。已改(f34fefe)。
原来的问题
多会话时:
两边合起来,三个会话结束一个,灵动岛长得一模一样。你说"没有任何意义"是准确的。
改成什么了
右边现在是
活跃数/总数,比如3/3→2/3。挑这个数是因为它在会话变 idle 的那一刻就变了,不用等回收——正好补上左边那个数的延迟。圆点也不再看主推会话,改成整组里最需要你处理的那个状态,优先级是:待批准 > 待回答 > 处理中 > 运行中 > 空闲。顺带修掉了同一个 bug 更严重的另一半:如果待批准的那个会话不是当前主推的那个,缩小状态下以前完全看不出来。
配了行为测试覆盖你这个三会话场景、优先级顺序、以及新版 Mac 传来未知状态时的降级(
scripts/companion-session-summary-test.swift,本地跑过全绿)。两件需要说清楚的事
这个改动跟着下一次 companion 的 App Store 提交才到你手机上,不是随 Mac 端版本更新。Mac 端和手机端是两条发布线。
如果你观察到的是连数字都完全不动、过很久也不动(而不是"变化不明显"),那可能还叠加了一个推送问题,跟显示逻辑无关。麻烦确认一下:Mac 端设置 → Buddy → iPhone Buddy 里蓝牙权限给了吗?App 退到后台之后,实时活动的刷新是走蓝牙的(前台走本地网络),只给了本地网络的话,前台看着一切正常,一切后台就冻住。这种情况下把 App 切到前台状态会立刻跟上——如果是这样,那就是权限问题,说一声我再看。
另外你提的左边那个数——我保留成总数了,因为右边现在承担了"有多少在动"的信息,两边都放活跃数就重复了。如果你觉得反过来更顺手(左边活跃、右边总数),说一声。
fix(companion): make the compact Dynamic Island react when a session …
wxtsky commentedon Sep 23, 2026
这个问题的显示逻辑已经在 f34fefe 修掉(已合入 main):缩小状态下右侧改为
活跃数/总数(会话变 idle 的那一刻就会从3/3变成2/3),圆点改为整组里最需要处理的状态(待批准 > 待回答 > 处理中 > 运行中 > 空闲)。提醒一下:这是 iPhone 端的改动,跟着下一次 Code Island Buddy 的 App Store 版本更新才会到手机上,不随 Mac 端更新。先按已修复关闭;新版 Buddy 上架后如果还是不动,尤其是 App 退到后台后完全冻住,那多半是 Mac 端 设置 → Buddy → iPhone Buddy 的蓝牙权限没给,欢迎直接重新打开。