feat: add conversation selection mode and swipe tabs

This commit is contained in:
kris
2026-04-04 00:32:57 +08:00
parent c30b0a66ae
commit 5157a0ac07
9 changed files with 468 additions and 25 deletions

View File

@@ -168,4 +168,34 @@ test("conversation items expose context status while keeping idle activity silen
assert.equal(threadConversation.contextBudgetIndicator.level, "urgent");
assert.equal(threadConversation.activityIconCount, 0);
assert.equal(masterAgent.activityIconCount, 0);
assert.equal(masterAgent.contextBudgetIndicator.visible, true);
assert.equal(masterAgent.contextBudgetIndicator.percent, 100);
assert.equal(masterAgent.contextBudgetIndicator.level, "safe");
});
test("conversation items keep a safe context ring even when no thread snapshot exists", async () => {
await setup();
const state = await readState();
state.projects = state.projects.filter((project) => project.id === "master-agent");
state.projects.push(
buildImportedThreadProject(
"mac-studio",
"single-thread-no-context",
"Talking",
"talking",
"调试回归",
"thread-no-context",
"2026-03-30T11:20:00+08:00",
),
);
state.threadContextSnapshots = [];
const items = getConversationHomeItems(state);
const directThread = items.find((item) => item.projectId === "single-thread-no-context");
assert.ok(directThread);
assert.equal(directThread?.contextBudgetIndicator.visible, true);
assert.equal(directThread?.contextBudgetIndicator.percent, 100);
assert.equal(directThread?.contextBudgetIndicator.level, "safe");
});