summaryrefslogtreecommitdiff
path: root/internal/tui
AgeCommit message (Collapse)Author
2026-03-18cleanupPaul Buetow
2026-03-18refactor: extract keyboardState, filterState, processState sub-structs from ↵Paul Buetow
tui.Model (task 429) tui.Model had 33 fields mixing keyboard tracking, filter chain, process selection, and UI presentation concerns (SRP violation). Extract three focused sub-structs: - keyboardState (kb): enhancements, lastEvent{ID,At,WasPress}, suppress{ID,Until} — 7 fields managed by keys_normalize.go - filterState (filter): global filter, history slice, label stack — 3 fields for the trace filter chain - processState (proc): pid, tid, pickerReturn — 3 fields for PID/TID selection and picker navigation Model drops from 33 to 23 top-level fields. All field accesses in tui.go, keys_normalize.go, and tui_test.go are updated accordingly. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-18refactor: split TraceRuntimeBindings into RuntimePublisher and RuntimeState ↵Paul Buetow
(task 427/ISP) TraceRuntimeBindings mixed 4 setter methods (injecting data into TUI) with 4 getter methods (reading persistent TUI-owned state), violating ISP. Split into two focused interfaces: - RuntimePublisher: SetDashboardSnapshotSource, SetEventStreamSource, SetLiveTrie, SetProbeManager — the write/inject side - RuntimeState: StreamBuffer, Recorder, StreamSequencer, FilterEpoch — the read/persistent-state side TraceRuntimeBindings now embeds both, preserving all existing call sites. RuntimePublisherFromContext() added so callers that only inject data do not see the getter surface. Three such callers are narrowed: setupBPFModule, tuiTestFlamesStarter, tuiTestLiveFlamesStarter. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-18refactor: pass flags.Config explicitly, remove flags.Get() from library code ↵Paul Buetow
(task 429) flags.Get() (global mutable singleton) was called inside library packages, coupling them to global state and making tests fragile (DIP violation). - internal.Run() now takes an explicit flags.Config; main.go calls flags.Get() once at the CLI boundary and passes it in. - tui.Run(), RunWithTraceStarter(), RunTestFlamesWithTraceStarter() removed; callers already used the WithConfig variants directly. - tui.NewModel() preserved for test ergonomics but now uses flags.NewFlags() (pure defaults) instead of flags.Get() (global state). - Tests updated to use NewModelWithConfig() with explicit config structs instead of flags.Set*() + NewModel(), eliminating all test-level global-state mutation. flags.Get() is now called only in cmd/ior/main.go, the correct boundary. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-13test: expand parquet recording coveragePaul Buetow
2026-03-13feat: add tui parquet recording controlsPaul Buetow
2026-03-12feat: persist parquet recording across TUI restartsPaul Buetow
2026-03-12refactor: extract shared syscall stream row modelPaul Buetow
2026-03-10dashboard: centralize nil snapshot fallback (task 385)Paul Buetow
2026-03-10dashboard: unify viewport chrome calculation (task 388)Paul Buetow
2026-03-10dashboard: unify offset reanchoring helper (task 394)Paul Buetow
2026-03-10tui: split key normalization and help rendering (task 424)Paul Buetow
2026-03-10tui: hide stream buffer behind source interface (task 428)Paul Buetow
2026-03-10Prefer EDITOR for stream export openerPaul Buetow
2026-03-10tui/flamegraph: tighten arrow escape parsing (task 423)Paul Buetow
2026-03-10tui/flamegraph: centralize animation tick scheduling (task 422)Paul Buetow
2026-03-10tui: simplify default key map construction (task 425)Paul Buetow
2026-03-10globalfilter: share compare-op symbol helper (task 374)Paul Buetow
2026-03-09tui: add reverse sorting for dashboard tables (task 364)Paul Buetow
2026-03-09tui: export filtered stream rows from global CSV action (task 364)Paul Buetow
2026-03-09tui: add sortable processes dashboard table (task 365)Paul Buetow
2026-03-09tui: add sortable files dashboard table modes (task 364)Paul Buetow
2026-03-09tui: add sortable syscalls dashboard table (task 363)Paul Buetow
2026-03-09tui: harden paused flame renderingPaul Buetow
2026-03-09tui: fix flamegraph click re-rootingPaul Buetow
2026-03-09tui: use full width for zoomed flame barsPaul Buetow
2026-03-09tui: remove flame selected underlinePaul Buetow
2026-03-08tui: reserve p for pid pickerPaul Buetow
2026-03-08tui: unify table navigation and renderingPaul Buetow
2026-03-08tui: add process-tab enter filter pushPaul Buetow
2026-03-08tui: restore global filter stack and anchored matchesPaul Buetow
2026-03-08task 378: test aggregate filter restart behaviorPaul Buetow
2026-03-08task 375: show active global filter in dashboard helpPaul Buetow
2026-03-08task 374: remove stream-local filter stackPaul Buetow
2026-03-08task 373: preserve stream history across filter restartPaul Buetow
2026-03-08task 372: restart tracing when filters changePaul Buetow
2026-03-08task 371: wire global filter modal into top-level TUIPaul Buetow
2026-03-08task 370: extract reusable trace filter modalPaul Buetow
2026-03-08task 367: carry full trace filters through TUI contextPaul Buetow
2026-03-08task 366: extract shared global filter typesPaul Buetow
2026-03-08tests: remove sleep-based waits in tui and runtime testsPaul Buetow
2026-03-08eventstream: surface close errors during CSV exportPaul Buetow
2026-03-08dashboard: clamp icicle selection by rendered tile countPaul Buetow
2026-03-08dashboard: split update and key routing responsibilitiesPaul Buetow
2026-03-08dashboard: wire files icicle mode and root path labelsPaul Buetow
2026-03-06fix(tui): restore bubble modes and stabilize flame zoom lineagePaul Buetow
2026-03-06feat(tui): add flamegraph click lineage undo and scope quit keyPaul Buetow
2026-03-06feat(tui): use treemap as second viz for files and processesPaul Buetow
2026-03-06feat(tui): add files icicle visualization mode (task 383)Paul Buetow
2026-03-06feat(tui): add syscalls treemap visualization mode (task 383)Paul Buetow