Skip to content

refactor: extract diagnostics state - #82

Merged
zatevakhin merged 1 commit into
refactor/componentsfrom
refactor/diagnostics-state
Aug 20, 2026
Merged

refactor: extract diagnostics state#82
zatevakhin merged 1 commit into
refactor/componentsfrom
refactor/diagnostics-state

Conversation

@zatevakhin

Copy link
Copy Markdown
Collaborator

behavior

  • extract DiagnosticsState, LogLevel, and AppLogEntry into private src/diagnostics.rs
  • replace six flat App fields with one crate-visible diagnostics state while preserving defaults, status strings, log order/deduplication, filtering, cursor behavior, and session-reset behavior
  • keep runtime ticks and log elapsed timestamps on the same DiagnosticsState::started_at

compatibility

  • retain exactly four logic-free App forwards: push_log, set_status, filtered_logs, and cycle_log_level_filter
  • tag all four as phase 11 compatibility forward for later deletion
  • add no getter, alias, Deref, re-export, or additional state group

tests

  • move and expand focused diagnostics tests for constructor defaults, duplicate suppression and changed entries, status logging, case-insensitive message/target/level filtering, minimum-level filtering, level cycling, and shared elapsed timing
  • preserve cross-boundary connection/status, ACP warning, editor, keyboard filter, runtime, and popup rendering coverage
  • pass cargo fmt --all -- --check, all-target/all-feature check, Clippy with warnings denied, build, 760 tests, and git diff --check

non-goals

  • no connection, session, auth, profile, mesh, navigation, model, command/effect, popup-routing, ACP transport, or UI layout redesign
  • no second Phase 4 state group

@zatevakhin
zatevakhin merged commit 1a3e4db into refactor/components Aug 20, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant