Skip to content

v0.3.0 — UX/UI completion

Latest

Choose a tag to compare

@gianlucamazza gianlucamazza released this 22 May 23:53

What's new

Bug fixes

  • Newline rendering: AppendOutput inserts LineBreak inlines instead of collapsing \n to space in RichTextBlock.
  • Prompt cleared after Run: TextBox emptied as soon as Run is pressed.
  • NewChat clears prompt: NewChat() also resets the TextBox.
  • Double FocusEngagement removed: removed from ScrollViewer; one A-press now opens the keyboard on Xbox.
  • Focus returns after generation: cursor moves back to TextBox when inference completes.
  • Smart autoscroll: suppressed while user scrolled up; resumes when back at bottom.
  • Status "Loading model…" at startup: Run disabled until model is confirmed loaded.
  • Context trim aligned to n_ctx: threshold lowered 3500 → 1800; trim surfaces a status message.
  • Partial save on cancel: assistant message saved with partial=true when user presses Cancel.

Features

  • Settings — sampling params: temperature, top_p, top_k, repetition_penalty, n_predict in Settings dialog, persisted in settings.json.
  • Settings — model selection: ComboBox to switch SmolLM2-360M (bundled) / SmolLM2-1.7B (USB) / SmolLM2-360M (HF).
  • History — per-item delete: ✕ button with confirmation dialog.
  • History — Clear all: Secondary button with confirmation.
  • History — current indicator: ● prefix on active conversation.
  • History — relative timestamps: "today", "yesterday", or date.
  • History — empty state: dialog with placeholder instead of silent no-op.

Tests

  • tests/test_chat_history.cpp: TitleFrom smoke tests on Linux CI; Save/Load/Delete/Clear suite on UWP.

Bench baseline unchanged: SmolLM2-360M 64.5 tok/s, n=990, peak=705 MB (Zen 2 Xbox Series S).