Problem
viewMode (按时间 / 按项目) is useState<SessionViewMode>('conversation') in apps/desktop/src/renderer/app-shell.tsx. It resets to 按时间 on every restart.
This predates #3033, but that change promotes the control to permanent sticky chrome at the top of the rail — a full-width SegmentedControl that is always visible — so a preference silently reverting is now visible every launch rather than hidden in a dropdown.
The rail's collapsed state already persists through session-list-layout.ts (maka-chat-list-collapsed-v1); grouping should use the same seam.
Context
Found by a subagent during the adversarial review of #3033.
Problem
viewMode(按时间 / 按项目) isuseState<SessionViewMode>('conversation')inapps/desktop/src/renderer/app-shell.tsx. It resets to 按时间 on every restart.This predates #3033, but that change promotes the control to permanent sticky chrome at the top of the rail — a full-width
SegmentedControlthat is always visible — so a preference silently reverting is now visible every launch rather than hidden in a dropdown.The rail's collapsed state already persists through
session-list-layout.ts(maka-chat-list-collapsed-v1); grouping should use the same seam.Context
Found by a subagent during the adversarial review of #3033.