| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-03-18 | cleanup | Paul Buetow | |
| 2026-03-18 | refactor: 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-18 | refactor: 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-18 | refactor: 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-13 | test: expand parquet recording coverage | Paul Buetow | |
| 2026-03-13 | feat: add tui parquet recording controls | Paul Buetow | |
| 2026-03-12 | feat: persist parquet recording across TUI restarts | Paul Buetow | |
| 2026-03-12 | refactor: extract shared syscall stream row model | Paul Buetow | |
| 2026-03-10 | dashboard: centralize nil snapshot fallback (task 385) | Paul Buetow | |
| 2026-03-10 | dashboard: unify viewport chrome calculation (task 388) | Paul Buetow | |
| 2026-03-10 | dashboard: unify offset reanchoring helper (task 394) | Paul Buetow | |
| 2026-03-10 | tui: split key normalization and help rendering (task 424) | Paul Buetow | |
| 2026-03-10 | tui: hide stream buffer behind source interface (task 428) | Paul Buetow | |
| 2026-03-10 | Prefer EDITOR for stream export opener | Paul Buetow | |
| 2026-03-10 | tui/flamegraph: tighten arrow escape parsing (task 423) | Paul Buetow | |
| 2026-03-10 | tui/flamegraph: centralize animation tick scheduling (task 422) | Paul Buetow | |
| 2026-03-10 | tui: simplify default key map construction (task 425) | Paul Buetow | |
| 2026-03-10 | globalfilter: share compare-op symbol helper (task 374) | Paul Buetow | |
| 2026-03-09 | tui: add reverse sorting for dashboard tables (task 364) | Paul Buetow | |
| 2026-03-09 | tui: export filtered stream rows from global CSV action (task 364) | Paul Buetow | |
| 2026-03-09 | tui: add sortable processes dashboard table (task 365) | Paul Buetow | |
| 2026-03-09 | tui: add sortable files dashboard table modes (task 364) | Paul Buetow | |
| 2026-03-09 | tui: add sortable syscalls dashboard table (task 363) | Paul Buetow | |
| 2026-03-09 | tui: harden paused flame rendering | Paul Buetow | |
| 2026-03-09 | tui: fix flamegraph click re-rooting | Paul Buetow | |
| 2026-03-09 | tui: use full width for zoomed flame bars | Paul Buetow | |
| 2026-03-09 | tui: remove flame selected underline | Paul Buetow | |
| 2026-03-08 | tui: reserve p for pid picker | Paul Buetow | |
| 2026-03-08 | tui: unify table navigation and rendering | Paul Buetow | |
| 2026-03-08 | tui: add process-tab enter filter push | Paul Buetow | |
| 2026-03-08 | tui: restore global filter stack and anchored matches | Paul Buetow | |
| 2026-03-08 | task 378: test aggregate filter restart behavior | Paul Buetow | |
| 2026-03-08 | task 375: show active global filter in dashboard help | Paul Buetow | |
| 2026-03-08 | task 374: remove stream-local filter stack | Paul Buetow | |
| 2026-03-08 | task 373: preserve stream history across filter restart | Paul Buetow | |
| 2026-03-08 | task 372: restart tracing when filters change | Paul Buetow | |
| 2026-03-08 | task 371: wire global filter modal into top-level TUI | Paul Buetow | |
| 2026-03-08 | task 370: extract reusable trace filter modal | Paul Buetow | |
| 2026-03-08 | task 367: carry full trace filters through TUI context | Paul Buetow | |
| 2026-03-08 | task 366: extract shared global filter types | Paul Buetow | |
| 2026-03-08 | tests: remove sleep-based waits in tui and runtime tests | Paul Buetow | |
| 2026-03-08 | eventstream: surface close errors during CSV export | Paul Buetow | |
| 2026-03-08 | dashboard: clamp icicle selection by rendered tile count | Paul Buetow | |
| 2026-03-08 | dashboard: split update and key routing responsibilities | Paul Buetow | |
| 2026-03-08 | dashboard: wire files icicle mode and root path labels | Paul Buetow | |
| 2026-03-06 | fix(tui): restore bubble modes and stabilize flame zoom lineage | Paul Buetow | |
| 2026-03-06 | feat(tui): add flamegraph click lineage undo and scope quit key | Paul Buetow | |
| 2026-03-06 | feat(tui): use treemap as second viz for files and processes | Paul Buetow | |
| 2026-03-06 | feat(tui): add files icicle visualization mode (task 383) | Paul Buetow | |
| 2026-03-06 | feat(tui): add syscalls treemap visualization mode (task 383) | Paul Buetow | |
