Skip to content

feat(ui): implement ncurses interface and refactor ollama client - #13

Merged
rfprod merged 1 commit into
mainfrom
ncurses-ui
Oct 10, 2026
Merged

rfprod merged 1 commit into
mainfrom
ncurses-ui

Conversation

@rfprod

@rfprod rfprod commented Oct 10, 2026

Copy link
Copy Markdown
Owner
  • implement UserInterface for ncurses-based interaction and threaded rendering;
  • add Layout struct and signal handlers for window resize and interrupts;
  • support dual-mode interactive and non-interactive output and prompt handling;
  • integrate UserInterface into OllamaClient via dependency injection;
  • route logs and errors through UserInterface based on session state;
  • use std::format for strings;
  • extract CURL progress setup to a dedicated method;
  • transition ProgressSpinner to std::unique_ptr;
  • update ProgressSpinner for UI integration and completion state tracking;
  • add TextUtils class with word-boundary line wrapping;
  • add comprehensive Doxygen documentation and standardize #pragma once guards;

@rfprod rfprod self-assigned this Oct 10, 2026
@rfprod rfprod added Documentation Improvements or additions to documentation. Enhancement Existing functionality improvement related changes. CI/CD Continuous integration and continuous delivery related changes. Feature New feature implementation related changes. Program Main program logic related changes. labels Oct 10, 2026
@rfprod
rfprod enabled auto-merge (squash) October 10, 2026 19:37
- [x] implement `UserInterface` for `ncurses`-based interaction and threaded rendering;
- [x] add `Layout` struct and signal handlers for window resize and interrupts;
- [x] support dual-mode interactive and non-interactive output and prompt handling;
- [x] integrate `UserInterface` into `OllamaClient` via dependency injection;
- [x] route logs and errors through `UserInterface` based on session state;
- [x] use `std::format` for strings;
- [x] extract `CURL` progress setup to a dedicated method;
- [x] transition `ProgressSpinner` to `std::unique_ptr`;
- [x] update `ProgressSpinner` for UI integration and completion state tracking;
- [x] add `TextUtils` class with word-boundary line wrapping;
- [x] add comprehensive `Doxygen` documentation and standardize `#pragma once` guards;
@rfprod
rfprod disabled auto-merge October 10, 2026 20:01
@rfprod
rfprod merged commit b02b7da into main Oct 10, 2026
3 checks passed
@rfprod
rfprod deleted the ncurses-ui branch October 10, 2026 20:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI/CD Continuous integration and continuous delivery related changes. Documentation Improvements or additions to documentation. Enhancement Existing functionality improvement related changes. Feature New feature implementation related changes. Program Main program logic related changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant