fix(tui): stream layout density and alignment #37

Merged
lerko merged 3 commits from fix/stream-layout-density into main 2026-05-20 22:57:59 +00:00
Owner

Summary

  • Remove ID from stream/card/absorb row renderers (detail pane already shows it)
  • Strip newlines from body text so multiline entries render as single rows
  • Cap tags to 2 in stream view, matching cards view
  • Fix cursor glyph › misaligning selected rows (reserve column on unselected)
  • Compute truncation budget from actual overhead instead of magic numbers — tags no longer wrap past pane edge in split view
  • Esc in split view with list focused now closes detail pane instead of jumping to capture

Test plan

  • Stream entries render single-line with aligned left margins
  • Long entries with tags truncate cleanly in split view
  • Esc from split list view closes detail pane
  • Esc from detail focus returns to list focus, second esc closes pane
  • Cards and absorb views also render cleanly
## Summary - Remove ID from stream/card/absorb row renderers (detail pane already shows it) - Strip newlines from body text so multiline entries render as single rows - Cap tags to 2 in stream view, matching cards view - Fix cursor glyph › misaligning selected rows (reserve column on unselected) - Compute truncation budget from actual overhead instead of magic numbers — tags no longer wrap past pane edge in split view - Esc in split view with list focused now closes detail pane instead of jumping to capture ## Test plan - [x] Stream entries render single-line with aligned left margins - [x] Long entries with tags truncate cleanly in split view - [x] Esc from split list view closes detail pane - [x] Esc from detail focus returns to list focus, second esc closes pane - [x] Cards and absorb views also render cleanly
lerko added 3 commits 2026-05-20 22:57:42 +00:00
ID cluttered rows and caused wrapping on long entries. Body newlines
leaked into stream rendering extra unindented lines. Cursor glyph
shifted selected rows 1 col right of unselected.

Remove ID from all row renderers (detail pane already shows it),
collapse multiline body to first line, cap tags to 2 in stream,
and reserve cursor column on unselected rows for consistent alignment.
Tags wrapped past pane edge when detail split narrowed the list.
Truncation used fixed constants that didn't account for real tag width.
Now measures everything-except-body and gives body exactly what remains.
Previously esc in split view with list focus fell through to capture
focus. Now closes the detail pane and stays in stream browse mode.
lerko merged commit 82bc6e7ba1 into main 2026-05-20 22:57:59 +00:00
lerko deleted branch fix/stream-layout-density 2026-05-20 22:57:59 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: lerko/nib-v1#37