Skip to content

feat(tui): UX improvements and v0.9.1 release - #165

Merged
bug-ops merged 11 commits into
mainfrom
feat/m17/tui-ux
Feb 12, 2026
Merged

feat(tui): UX improvements and v0.9.1 release#165
bug-ops merged 11 commits into
mainfrom
feat/m17/tui-ux

Conversation

@bug-ops

@bug-ops bug-ops commented Feb 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • Mouse scroll support for chat widget (scroll up/down via mouse wheel)
  • Colored splash screen with block-letter "ZEPH" banner on startup
  • Conversation history loading from SQLite on TUI launch
  • Model thinking block rendering (<think> tags) in darker style for Ollama DeepSeek/Qwen
  • Full markdown rendering via pulldown-cmark: bold, italic, strikethrough, headings, code blocks, inline code, lists, blockquotes, horizontal rules
  • Scrollbar track with proportional thumb indicator
  • Fix: chat messages no longer overflow below viewport when lines wrap
  • Fix: scroll no longer sticks at top after over-scrolling

Test plan

  • 71 zeph-tui tests pass (cargo nextest run -p zeph-tui)
  • Manual: verify markdown rendering in chat (bold, code blocks, lists)
  • Manual: verify mouse wheel scrolling and scrollbar thumb movement
  • Manual: verify splash screen displays on startup and fades on first message
  • Manual: verify thinking blocks render in darker color with Ollama models
  • Manual: verify conversation history loads on restart

Parse <think>...</think> tags in assistant messages and display
thinking content with DarkGray style to visually distinguish
intermediate reasoning from the final result.
Pre-wrap lines manually instead of relying on Paragraph::Wrap to
ensure lines.len() matches visual line count. Clamp scroll_offset
to max_scroll on every draw frame to prevent sticky scroll at top.
Add scrollbar track with thumb indicator.
Replace hand-rolled inline parser with pulldown-cmark AST walker.
Supports bold, italic, strikethrough, inline code, fenced code blocks
with language tags, headings, bullet/numbered lists, blockquotes, and
horizontal rules. Thinking blocks (<think>) processed separately
before markdown pass to preserve style segmentation.
@github-actions github-actions Bot added enhancement New feature or request size/XL Extra large PR (500+ lines) documentation Improvements or additions to documentation rust Rust code changes core zeph-core crate dependencies Dependency updates and removed size/XL Extra large PR (500+ lines) labels Feb 12, 2026
@github-actions github-actions Bot added the size/XL Extra large PR (500+ lines) label Feb 12, 2026
@github-actions github-actions Bot added the tests Test-related changes label Feb 12, 2026
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 60.47904% with 198 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
crates/zeph-tui/src/widgets/chat.rs 66.57% 120 Missing ⚠️
crates/zeph-tui/src/widgets/splash.rs 0.00% 34 Missing ⚠️
crates/zeph-tui/src/app.rs 70.66% 22 Missing ⚠️
src/main.rs 11.76% 15 Missing ⚠️
crates/zeph-tui/src/event.rs 60.00% 4 Missing ⚠️
crates/zeph-core/src/agent.rs 0.00% 3 Missing ⚠️

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #165      +/-   ##
==========================================
- Coverage   86.40%   85.85%   -0.56%     
==========================================
  Files          68       69       +1     
  Lines       17957    18426     +469     
==========================================
+ Hits        15516    15819     +303     
- Misses       2441     2607     +166     
Files with missing lines Coverage Δ
crates/zeph-tui/src/theme.rs 100.00% <100.00%> (ø)
crates/zeph-core/src/agent.rs 85.78% <0.00%> (-0.15%) ⬇️
crates/zeph-tui/src/event.rs 67.30% <60.00%> (-1.74%) ⬇️
src/main.rs 73.75% <11.76%> (-0.92%) ⬇️
crates/zeph-tui/src/app.rs 86.09% <70.66%> (-1.91%) ⬇️
crates/zeph-tui/src/widgets/splash.rs 0.00% <0.00%> (ø)
crates/zeph-tui/src/widgets/chat.rs 61.79% <66.57%> (+61.79%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@bug-ops
bug-ops enabled auto-merge (squash) February 12, 2026 02:35
@bug-ops
bug-ops merged commit d85fcee into main Feb 12, 2026
19 checks passed
@bug-ops
bug-ops deleted the feat/m17/tui-ux branch February 12, 2026 02:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core zeph-core crate dependencies Dependency updates documentation Improvements or additions to documentation enhancement New feature or request rust Rust code changes size/XL Extra large PR (500+ lines) tests Test-related changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants