v0.3.4
dsx v0.3.4
The TUI is now live: it keeps itself indexed while open, stays responsive while doing so, and the dashboard renders about twice as fast. No CLI changes; --json shapes are unchanged.
Live TUI
The background refresh introduced in v0.3.3 now repeats every 30 seconds while the TUI is open. Dashboard KPIs, the daily sparkline, and the session list track your running droid sessions without relaunching or pressing anything. Idle cycles (nothing new on disk) cost a file scan and trigger no re-render.
Ingest no longer competes with your keystrokes
Indexing transactions are bounded at 2,000 lines or 2MB per burst, with a real event-loop turn between bursts. View switching during a heavy backlog ingest now responds at normal latency (verified against a 100MB backlog: switches complete in ~1s, same as idle).
Faster dashboard
A covering index on per-session daily activity cuts the dashboard's heaviest query (byDay pro-ration, also behind dsx stats --by day) from ~560ms to ~220ms on a 950k-message index. The index is created automatically the first time v0.3.4 opens your existing index (a one-time ~0.4s), no rebuild.
Verification
bun test, tsc --noEmit, compiled linux-x64 SEA. Scripted TUI runs: first frame ~560ms including the one-time index build, live cycle observed updating KPIs from sessions appending in real time, view switching timed during a simulated 100MB backlog ingest, clean quit.
Install
curl -fsSL https://raw.githubusercontent.com/ain3sh/droid-session-explorer/main/install.sh | bash