Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions components/AppShell.auto-name.test.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import assert from "node:assert/strict";
import fs from "node:fs";
import test from "node:test";

const source = fs.readFileSync(new URL("./AppShell.tsx", import.meta.url), "utf8");

test("压缩后的会话仍可根据持久化消息数生成标题", () => {
assert.match(
source,
/\(sessionStats\?\.userMessages \?\? 0\) > 0 \|\| selectedSession\.messageCount > 0/,
);
});
3 changes: 2 additions & 1 deletion components/AppShell.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1023,9 +1023,10 @@ export function AppShell() {
{!isMobile && <span>{translate("history.label")}</span>}
</button>
{(() => {
// 上下文压缩后当前消息可能不再包含 user 消息,需同时参考会话文件的消息总数。
const hasMessages = Boolean(
selectedSession
&& (sessionStats?.userMessages ?? selectedSession.messageCount) > 0,
&& ((sessionStats?.userMessages ?? 0) > 0 || selectedSession.messageCount > 0),
);
const disabled = !selectedSession || !hasMessages || autoNameStatus.kind === "naming";
const isSuccess = autoNameStatus.kind === "success";
Expand Down