Thread view: read a post in its whole conversation #117

Merged
littlefox merged 1 commit from issue-99-thread into main 2026-10-18 17:59:30 +00:00
Owner

Closes #99

  • The shown post is drawn in its whole comment tree; reading order is unchanged (space/button/swipe step through the thread's unread posts in place).
  • Kom::thread: up to the root, down breadth-first with text stats only, capped at 100 with the path to the post always included; "Visa fler" for the rest.
  • Post shows at once, thread fills in around it, card bodies load one by one with a side-effect-free Kom::preview.
  • Cards: unread whole + "Ny", read as three lines; folding per branch; day separators; indentation capped at 6 (3 on phones), deeper cards say whom they answer; repeated "Re:" subjects hidden.
  • New replies drop their parents' cached stats (async and own sends).
  • Seed: Tove Trådsson, used only by thread.spec.ts (added last, no numbers move).

Verified: devserver test thread_tree (order, depths, unread, cap keeps the path), unit test for day labels, new thread.spec.ts on desktop/Android/iPhone (stepping, folding, clicking a card, deep chain indentation and no sideways overflow), full e2e 178/178, visual references updated (reading screen) and checked by eye, clippy native/wasm/desktop clean.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8

Closes #99 - The shown post is drawn in its whole comment tree; reading order is unchanged (space/button/swipe step through the thread's unread posts in place). - `Kom::thread`: up to the root, down breadth-first with text stats only, capped at 100 with the path to the post always included; "Visa fler" for the rest. - Post shows at once, thread fills in around it, card bodies load one by one with a side-effect-free `Kom::preview`. - Cards: unread whole + "Ny", read as three lines; folding per branch; day separators; indentation capped at 6 (3 on phones), deeper cards say whom they answer; repeated "Re:" subjects hidden. - New replies drop their parents' cached stats (async and own sends). - Seed: Tove Trådsson, used only by thread.spec.ts (added last, no numbers move). Verified: devserver test `thread_tree` (order, depths, unread, cap keeps the path), unit test for day labels, new `thread.spec.ts` on desktop/Android/iPhone (stepping, folding, clicking a card, deep chain indentation and no sideways overflow), full e2e 178/178, visual references updated (reading screen) and checked by eye, clippy native/wasm/desktop clean. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8
Thread view: read a post in its whole conversation
All checks were successful
ci / check (push) Successful in 10m5s
ci / desktop (push) Successful in 14m38s
ci / e2e (push) Successful in 20m5s
f2424900d5
The reader showed one numbered text at a time; replies were links to
follow. Now the shown post is drawn in its comment tree (D-037: this is
the reader, not a mode). Reading order is the engine's, unchanged, so
space still steps through the unread posts, now in place.

Kom::thread walks up to the root and down breadth-first, text stats only,
capped at 100 (the path to the post always included); the post shows at
once and the thread fills in around it (#96). Cards: unread ones whole
and highlighted, read ones as a few lines, folding branches, day
separators, indentation capped (lower on phones) with 'svar till' on
deep cards. A new reply now drops its parents' cached stats, so it
shows up in their reply lists.

The seed gets Tove, who only the thread spec uses.

Refs #99

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8
littlefox referenced this pull request from a commit 2026-10-19 05:23:03 +00:00
Sign in to join this conversation.
No description provided.