Fix stale conversation sync labels on mobile

This commit is contained in:
kris
2026-04-07 13:35:52 +08:00
parent a43bb92f3c
commit 6153e94000
7 changed files with 76 additions and 4 deletions

View File

@@ -818,6 +818,43 @@ test("conversation items prefer latest observed codex activity over stale last m
assert.equal(thread?.latestReplyLabel, formatTimestampLabel("2026-04-04T11:48:00+08:00"));
});
test("conversation items mark stale context-backed timestamps as waiting for sync", async () => {
await setup();
const state = await readState();
state.projects = state.projects.filter((project) => project.id === "master-agent");
state.projects.push({
...buildImportedThreadProject(
"mac-studio",
"stale-context-project",
"Boss",
"boss",
"上下文老化线程",
"thread-stale",
"2026-03-25T10:58:00+08:00",
),
preview: "老上下文还在挂着",
unreadCount: 1,
});
state.threadContextSnapshots.push(
buildThreadContextSnapshot(
"stale-context-project",
"thread-stale",
"上下文老化线程",
"watch",
false,
58,
"2026-03-25T10:58:00+08:00",
"mac-studio",
),
);
const item = getConversationHomeItems(state).find((entry) => entry.projectId === "stale-context-project");
assert.ok(item, "expected stale context conversation");
assert.equal(item?.contextBudgetIndicator.visible, true);
assert.equal(item?.latestReplyLabel, "待同步");
});
test("default seeded conversations no longer expose Boss 移动控制台", async () => {
await setup();
const state = await readState();