diff --git a/01_content/src/client/index.tsx b/01_content/src/client/index.tsx index 37eaae7..963fe6a 100644 --- a/01_content/src/client/index.tsx +++ b/01_content/src/client/index.tsx @@ -84,10 +84,15 @@ function loadView(): ViewState { if (!raw) return { ...DEFAULT_VIEW } const p = JSON.parse(raw) // 显式挑字段:旧版遗留的 groupBy 等未知字段直接忽略。 + // 一次性迁移:v2 起默认「手动」排序(最近排序点击即置顶、体验差),旧存「最近」回落为「手动」; + // 之后用户手动选择「最近」会写入 sortMigratedV2 标记并被尊重。 + const orderBy = p.sortMigratedV2 === true + ? (p.orderBy === 'recent' ? 'recent' : 'manual') + : 'manual' return { query: typeof p.query === 'string' ? p.query : '', searchOpen: p.searchOpen === true, - orderBy: p.orderBy === 'recent' ? 'recent' : 'manual', + orderBy, dock: p.dock === 'float' ? 'float' : 'footer', floatTop: typeof p.floatTop === 'number' ? p.floatTop : null, } @@ -180,7 +185,7 @@ function WorktableSection(props: any) { const persistView = (patch: Partial) => { setView((prev) => { const next = { ...prev, ...patch } - try { localStorage.setItem(PERSIST_KEY, JSON.stringify(next)) } catch {} + try { localStorage.setItem(PERSIST_KEY, JSON.stringify({ ...next, sortMigratedV2: true })) } catch {} return next }) } diff --git a/02_process/PRD.md b/02_process/PRD.md index e0e5f94..d7a7c88 100644 --- a/02_process/PRD.md +++ b/02_process/PRD.md @@ -85,7 +85,7 @@ agent 级项目**(如旅行图鉴 TravelAtlas),让用户可以像管理应 | 按钮 | 图标(primitives) | 行为 | | --- | --- | --- | | 搜索 | 🔍 | 点击展开输入行(Esc / 点 ✕ 收起);输入即过滤项目卡片与快捷方式(query 经座位 owner props 传给每个卡片,卡片自行判断是否隐藏) | -| 视图选项 | ☰ | 排序方式(手动/最近),选择即持久化到 `dsh.worktable.view.v1`;另含「管理项目…」入口(§5.5)。分组方式已按用户定案取消 | +| 视图选项 | ☰ | 排序方式(手动/最近),选择即持久化到 `dsh.worktable.view.v1`;**默认「手动」**(v2 起;最近为可选——点击即置顶的体验取舍);另含「管理项目…」入口(§5.5)。分组方式已按用户定案取消 | | 添加 | + | 展开「添加项目」面板:接入指引(注册即入驻说明 + 插件市场外链)+ 本地快捷方式表单(§5.6) | > 官方工作区头部三按钮 = 搜索 / 视图选项(ViewOptionsMenu) / 添加工作区(+),已逆向确认。 diff --git a/02_process/worklogs/2026-08-16_worktable-v2.md b/02_process/worklogs/2026-08-16_worktable-v2.md index 08b649b..a7be154 100644 --- a/02_process/worklogs/2026-08-16_worktable-v2.md +++ b/02_process/worklogs/2026-08-16_worktable-v2.md @@ -260,3 +260,12 @@ ③ planreview 无需改埋点逻辑(引擎内统一过滤)。 - 验证:两插件构建 + node --check 通过;服务端实时下发(含 activeSplitId/ LEGACY_BUMP_COOLDOWN 标记);待用户刷新实测。 + +## 补记(排序默认改为「手动」) + +- 用户反馈:最近排序下点击仍有反复置顶,体验差 → 定案:默认「手动」排序, + 喜欢「最近」的用户自行切换。 +- 实现:loadView 一次性迁移(sortMigratedV2 标记)——旧存「最近」自动回落「手动」; + 用户此后手动选择「最近」会写入标记并被尊重;persistView 统一写入标记。 + fresh 状态默认本就 manual(DEFAULTS.orderBy='manual')。 +- 验证:构建 + node --check 通过;服务端实时下发(含 sortMigratedV2);待用户刷新确认。