Pi: /new (会话启动重绑定) 通过 Unknown→Idle 完成过渡触发了虚假的 'finished' toast + Done 音效
** 环境**
- Herdr 0.9.0(Homebrew,macOS 26.6.2),服务器+客户端均0.9.0
- Pi集成:当前,`HERDR-INTEGARINT-VERSION=8'
[ui.toast]交付="系统"、默认情况下的[ui.sound]'(`启用=真实')
** 发生了什么**
开始一个新的Pi会话——将 " //新 " 输入现有的Pi面板——立即产生假的 " pi finished " 土司和 " Done " 音响,尽管没有完成任何工作。 对会议进行重新组合的其他会话启动路径( " /恢复 " 、 " /叉 " )也是如此。 用户可见的效果:"每当我开始一个新的会话,我立刻得到一个通知",在合法的每回合完成的通知之外.
土司受到正常活地-塔布压制,但每当花板计为背景时(背景分页,另一个客户的活地取景,或赫德窗口无重点——按无重点窗口允许),过渡仍然会起火,所以实际上大部分时间都会出现虚假通知.
** 转载**
- 在Herdr sane(融合v8)中运行 pi. 确认窗格报告闲置。
- 将焦点从标签上移出(或将赫德窗口移出)。
- Pi平面的 " /新 " 型。
- 在 " 延迟-秒 " 内,一个 " 完成 " 土司 " + " 完成 " 音响起火 " ,在新一届会议上没有转会。
** 分析**(主机,`herdrdev/herdr')
- pi扩展的"session start"处理器首先报告新的会话,然后force-publishes当前状态:
- 第229至241行周围的 " src/ institution/assets/pi/herdr-agent-state.ts " :
等待报告会议(活动?.理由)'(以会议-开始-来源:'的pase.report agent session'形式到达服务器),紧接其后的是plish State(real)'——一份强制的国家报告,`idle',在新的瞬间。
服务器接受 pi 的重接: 'session report allows session 取而代之' 匹配
("herdr:pi","pi","some ("new" Q" resume" Q"fork")" ("src/terminal/state.rs"~1315–1333). 在被取代的-hook-session'分支中,它清除了锅子的钩子权威(self.hook-authority = no;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;);;;;;;;;;;;;;;;;;);;;;;;;;;;;;;;;;;;;;;;;;;;;`延期是第1步强制提出的
单独'报告,然后在Idle'重新确立钩子权威,产生有效的未知'-Idle'变化。 `是 完成 过渡 部分'在代理标签不变时故意将它视为完成:
- 'src/app/actions.rs'~44–55: '前作==- 翻译: 然后通过“通知 toast for state change with agent labels”(`src/app/actions.rs'~132–152)发出完成的土司/音效。
因此,"会话刚(再)启动,代理人坐在即时"状态与"刚完成的转弯"是分不开的,一旦被重接后,将钩子状态重置为"未知".
** 预期**
会议开始(新'、恢复'、`叉')
. . . . . . .
内容来源: herdrdev/herdr