Browse Source
真机实测暴露的回归。设备上取到的证据: assistant_reminders: 2 条("南山会议" 16:00、"晚餐时间" 17:00),synced=false assistant_directives: 2 条 SET_clock,status=done memory_items_cache: 0 条 也就是说助手完全正常:听懂了、下发了指令、指令也落地了。但用户在拾忆页 什么都看不到。 ## 原因 _rebuildEvents 换成只读 MemoryService.items 之后,AssistantDirectiveService 的 reminders **全仓再没有任何消费者**(grep 可证)。后端还没部署 memory 模块, memory_add 必然失败,于是本地那两条既进不了 MemoryService、也没有展示出口。 我上一轮的提交说明写着「迁移期双写……即使上传失败,用户至少还能在本机看到 自己刚定的闹钟」——**那句话是错的**,双写的「本地」那一半当时已经没有出口了。 ## 改动 - CalendarController._rebuildEvents 补上 _localReminderEvents():把 **还没同步**的助手闹钟也投影进日历。已同步的跳过,否则 MemoryService 与 本地两边都投影会出现两条。 - 重新订阅 AssistantDirectiveService.reminders(_reminderWorker): 不订阅的话助手刚定完闹钟页面不会刷新,要退出重进才看得到。 - 「提醒 → 记忆项」的换算收敛成 AssistantReminderToMemory 扩展, 上传路径与日历投影共用同一份,删掉 service 里那份重复实现。 - 本地未同步项的 memoryId 是 0:点开编辑或勾完成时给明确提示 (memLocalOnlyHint,41 语言已补),不再静默无反应——它没有服务端 id, 改了也没处提交。 ## 另一个症状:EMAI 回复没声音(未修,不在本次改动范围) 同一份日志里: [ERROR][PcmStreamPlayer] 播放错误: PlatformException(-11850, Operation Stopped) [ERROR][PcmStreamPlayer] 启动播放失败: (-11850) Operation Stopped 反复几十次。EMAI 的回复音频走 BailianMultimodalService.audioOut → PcmStreamPlayer.feed,**整条链路不经过 TtsService**,也不在本次改动的文件里 (改动清单见 git diff --name-only)。-11850 是 AVFoundation 层的错误, 指向音频会话状态,需要单独排查。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>main
45 changed files with 147 additions and 42 deletions
Loading…
Reference in new issue