merge origin/staging into narrower delivery (只碰文档;显示漏段 BUG-1375 顺延为 BUG-1392, issue #77)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
This commit is contained in:
Jesse_Chen
2026-10-19 09:15:55 +08:00
co-authored by Claude Opus 5.5
169 changed files with 89684 additions and 782 deletions
@@ -44,7 +44,7 @@ const DELETE_USAGE_UNAVAILABLE = "暂时查不到这个人的对话数量,稍
/** `?person=new` marks the add form; a reload or Forward onto it shows the list. */
const NEW_PERSON_PARAM = "new";
const LIMIT_COPY = "最多保存 5 个人的星盘";
const LIMIT_COPY = `最多保存 ${MAX_SAVED_SUBJECTS} 个人的星盘`;
/** D1: below this width the page is list → detail; at and above it, two columns. */
const PEOPLE_TWO_COLUMN_QUERY = "(min-width: 1024px)";
+2 -1
View File
@@ -11,6 +11,7 @@ import {
} from "@/lib/chat-profile-picker-model";
import { OrbitWaiting } from "@/components/orbit-waiting";
import type { ChartLibraryRecord } from "@/lib/home-types";
import { MAX_SAVED_SUBJECTS } from "@/lib/subject-birth";
export type SubjectSwitcherProps = {
readonly library: readonly ChartLibraryRecord[];
@@ -39,7 +40,7 @@ export function SubjectSwitcher({
const [pendingId, setPendingId] = useState<string | null>(null);
const triggerRef = useRef<HTMLButtonElement | null>(null);
const listId = useId();
const rows = chatProfilePickerRows({ status, library, selectedId }).slice(0, 5);
const rows = chatProfilePickerRows({ status, library, selectedId }).slice(0, MAX_SAVED_SUBJECTS);
function closePicker() {
setOpen(false);