refactor(ui/sidebar): move Diary from ActivityBar into Chat sidebar#175
Merged
luokerenx4 merged 2 commits intomasterfrom May 10, 2026
Merged
refactor(ui/sidebar): move Diary from ActivityBar into Chat sidebar#175luokerenx4 merged 2 commits intomasterfrom
luokerenx4 merged 2 commits intomasterfrom
Conversation
Diary is Alice's first-person output stream — read-only observation, not
a peer of Portfolio/Market/News which are user-facing data surfaces. It
clusters conceptually with Chat ("interactions with Alice", whether
two-way or just observation), so it lives there now.
- ActivityBar drops the Diary leaf (8 nav items remaining)
- ChatChannelListContainer adds a Diary row below Notifications using
the same lucide Notebook icon. Channels list gets a "Channels" section
label so the upper "Alice surfaces" rows read as deliberate, not as
miscellaneous header noise.
- ActivitySection enum + Page enum drop 'diary'
- sections.tsx no longer maps a Diary sidebar
- DiarySidebar.tsx deleted (placeholder; never grew past one row)
The diary tab kind itself stays — `/diary` URL, openOrFocus, and existing
DiaryPage are unchanged.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diary read as inverted: opening landed on the oldest cycle, with newer ones below the fold. That's chat ergonomics (bottom = newest, scroll up for history) — wrong shape for an observation surface where the expected mental model is feed/timeline (top = newest, scroll down for older). - `groupItemsByCycle` reverses the result: cycles render newest-first, with day dividers running Today → Yesterday → … . Items inside a single cycle stay ascending so the prompt-then-thought-then-tool-call read inside one heartbeat tick is still chronological. - Drop auto-scroll-to-bottom and the `messagesEndRef` anchor — first paint already lands on the newest entry. - Re-purpose the floating scroll button: was "scroll to bottom (latest)" pinned at bottom; now "Newest ↑" pinned at top, surfaces only after the user has scrolled into history. Same UX as Twitter / HN's "new posts ↑". Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reframes the Chat activity from "literal chat" to "interactions with
Alice" — including read-only observation. Diary fits there: it's
Alice's first-person output stream, not a peer of Portfolio/Market/News
which are user-facing data surfaces. Diary's render order also
corrected to match its observation-surface shape (feed, newest-first).
Per-session contributions
2026-05-10 — Diary read order fix
newest, scroll up for history). For an observation surface that's
inverted — feed/timeline shape is newest-first, scroll down for
older. Reversed the groups, dropped auto-scroll-to-bottom, repurposed
the floating scroll button to "Newest ↑" pinned at top.
→ tool-call read inside one heartbeat tick stays chronological.
f2860402026-05-10 — Diary moves under Chat
the same lucide
Notebookicon. Top half = "Alice surfaces"(Notifications + Diary), separator + "Channels" section label, then
the channel list. Reads as deliberate two-purpose sidebar instead of
a flat list with one decorative row at top.
ActivitySectionandPageenums drop'diary'sections.tsxno longer maps a Diary sidebarDiarySidebar.tsxdeleted (was placeholder; never grew past one row)diarytab kind itself stays —/diaryURL,openOrFocus({ kind: 'diary' }),and the existing DiaryPage are unchanged
ccac56cFull commit log
Test plan
npx tsc --noEmitcleanpnpm test— 1592 / 1592 passingvite buildclean/diaryURL still resolves to the Diary tab🤖 Generated with Claude Code