summaryrefslogtreecommitdiff
path: root/internal/tui/eventstream/export.go
AgeCommit message (Collapse)Author
2026-05-20task 27: add KindSleep and requested sleep metricPaul Buetow
2026-05-19t6 address family recording reviewPaul Buetow
2026-05-18t6 add syscall family dashboard aggregationPaul Buetow
2026-05-13refactor: break down functions exceeding 50 lines into smaller helpersPaul Buetow
Split 22 production files across the codebase — event loop, TUI models, probe manager, dashboard, export, flag parsing, code generation, and ioworkload scenarios — so that no function body exceeds 50 lines. Each extracted helper carries its own comment explaining its role. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13fix: prevent path traversal in TUI stream CSV export filenamePaul Buetow
User-supplied filenames are now sanitised through filepath.Base before being joined with exportDir, so inputs like "../../etc/passwd" can no longer write files outside the intended export directory. Pure directory references ("..") are rejected outright. Two new tests cover both the unit-level sanitisation and the end-to-end exportRowsToCSV path. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13fix: use shell-aware tokenizer in resolveEditorCommand to handle EDITOR ↵Paul Buetow
paths with spaces Replace strings.Fields with a new shellSplit function that implements POSIX-like quoting rules (single-quotes, double-quotes, backslash escapes), so EDITOR values such as '/My Editor/hx' or "/path/with spaces/hx" --wait are correctly parsed rather than mangled into multiple path components. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10Prefer EDITOR for stream export openerPaul Buetow
2026-03-09tui: export filtered stream rows from global CSV action (task 364)Paul Buetow
2026-03-08eventstream: surface close errors during CSV exportPaul Buetow
2026-02-26tui: add paused stream CSV export and foreground editor openPaul Buetow