feat(maintenance): improve tag placement dialogs #330

Merged
kfickel merged 3 commits from 327_improve-tag-maintenance-editor into main 2026-10-25 11:24:08 +01:00
Collaborator

Long descriptions in the tag-maintenance TUI ran past the popup, and adding a tag required navigating dimensions with the arrow keys. The Add to dimension dialog now filters dimensions as you type and offers an editable, wrapped description with configured tag completion.

  • Add a shared Unicode-safe text input with character and word movement, insertion, deletion, and soft wrapping that keeps the cursor visible.
  • Complete configured tags, aliases and rule names at the cursor with smartcase matching, prefix matches before substring matches, and no duplicate names. Arrow keys select suggestions; Tab inserts, while Enter always adds the tag.
  • Narrow dimensions by name or key, scroll the matching list, and preserve the filter when returning from the description.
  • Preserve tag colours across wrapped rows and show at most six completion suggestions.
  • Update README, R33 and AGENTS.md. The optional migration of the activity range input is documented as a follow-up.

Validation: failing regression tests first, then passing input/model tests, TestBackend rendering at 80/40 columns and tiny sizes, real configuration writes, and front-end Tab routing. All 1,748 Rust tests, strict Clippy, formatting, commit hooks and nix flake check pass, including 102 Kotlin checks. Changes stay in the CLI and add no dependencies.

Closes #327.

Long descriptions in the tag-maintenance TUI ran past the popup, and adding a tag required navigating dimensions with the arrow keys. The Add to dimension dialog now filters dimensions as you type and offers an editable, wrapped description with configured tag completion. - Add a shared Unicode-safe text input with character and word movement, insertion, deletion, and soft wrapping that keeps the cursor visible. - Complete configured tags, aliases and rule names at the cursor with smartcase matching, prefix matches before substring matches, and no duplicate names. Arrow keys select suggestions; Tab inserts, while Enter always adds the tag. - Narrow dimensions by name or key, scroll the matching list, and preserve the filter when returning from the description. - Preserve tag colours across wrapped rows and show at most six completion suggestions. - Update README, R33 and AGENTS.md. The optional migration of the activity range input is documented as a follow-up. Validation: failing regression tests first, then passing input/model tests, TestBackend rendering at 80/40 columns and tiny sizes, real configuration writes, and front-end Tab routing. All 1,748 Rust tests, strict Clippy, formatting, commit hooks and `nix flake check` pass, including 102 Kotlin checks. Changes stay in the CLI and add no dependencies. Closes #327.
docs(maintenance): describe dimension search and description editing
Some checks failed
Continuous Integration / Conventional Commits (push) Successful in 14s
Continuous Integration / Lint, Check & Test (push) Has been cancelled
Continuous Integration / Build Package (push) Has been cancelled
e7711bc372
fix(maintenance): deduplicate configured mention suggestions
All checks were successful
Continuous Integration / Conventional Commits (push) Successful in 25s
Continuous Integration / Build Package (push) Successful in 52s
Continuous Integration / Lint, Check & Test (push) Successful in 2m21s
a406aa36ad
kfickel scheduled this pull request to auto merge when all checks succeed 2026-10-25 11:23:43 +01:00
kfickel deleted branch 327_improve-tag-maintenance-editor 2026-10-25 11:24:08 +01:00
Sign in to join this conversation.
No reviewers
No labels
android
cli
epic
planned
tui
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
kfickel/streamd!330
No description provided.