Commit Graph

5 Commits

Author SHA1 Message Date
Mathias Beaulieu-Duncan
5c693bf3d8 feat: Browse picks folder, Load picks single file, recursive .jsonl scan
- Browse button now opens a folder picker and recursively scans all
  subfolders for .jsonl files, displaying them in the session list
- New Load button for loading a single .jsonl file (old Browse behavior)
- Default path remains ~/.claude/projects on launch
- Signed, notarized, stapled DMG
2026-04-07 13:45:24 -04:00
Mathias Beaulieu-Duncan
e963b2edcd docs: add README and CC BY-NC 4.0 license
README includes:
- Non-technical user section (installation, quick start, tips)
- Developer section (architecture, data flow, design decisions,
  build instructions, signed DMG workflow, dependencies)
- License summary (free to use/modify/distribute, no monetization)
2026-04-07 13:34:42 -04:00
Mathias Beaulieu-Duncan
659dade82d perf: Phase 1 critical performance fixes + production macOS build
Performance:
- Move JSON parsing to background isolate via Isolate.run() (eliminates 2-4s UI freeze)
- Cache filteredEntries with key-based invalidation (eliminates O(n) recomputation)
- Debounce search queries at 300ms (prevents cascade rebuilds on keystroke)
- Flatten timeline from 2-level turn×response Column to single virtualized ListView.builder
- Add RepaintBoundary per timeline item (isolates repaints during scroll)
- Use context.select for granular rebuilds instead of top-level context.watch
- Lazy ExpandableCard: child not built until first expand (replaces AnimatedCrossFade)
- Use IndexedStack in AppShell (preserves screen state across tab switches)

Fixes:
- Collect parse errors instead of silently swallowing them
- Show parse error count in timeline filter bar
- Fix overflow in tokens screen pie chart legend

Build:
- Configure Developer ID signing with hardened runtime for production distribution
- Enable secure timestamps for notarization
- Update app name to Claude Session Viewer
- Signed, notarized, stapled DMG distribution
2026-04-07 13:32:13 -04:00
Mathias Beaulieu-Duncan
aa484f6409 Rename to Claude Session Analysis and prepare for Mac App Store
- Rename package, bundle ID, and all display strings from
  "Claude Session Viewer" to "Claude Session Analysis"
- Bundle ID: com.svrnty.claudeSessionAnalysis
- Add App Store category (developer-tools) to Info.plist
- Add PrivacyInfo.xcprivacy privacy manifest (required by Apple)
- Bump deployment target from macOS 10.15 to 13.0
- Fix App Sandbox: resolve real home directory so ~/.claude/projects
  is accessible in sandboxed release builds
- Make project name parsing dynamic (no hardcoded username)
- Auto-detect Claude Code data directory at ~/.claude/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 16:57:20 -04:00
364877d376 Initial commit: Claude Code session viewer (Flutter macOS)
A desktop app that parses Claude Code .jsonl session logs and provides
a rich UI for exploring conversations, tool usage, subagents, and token
consumption. Features include project browser with auto-discovery of
~/.claude/projects, conversation timeline with inline subagent expansion,
agents overview, toolbelt chart, and token usage dashboard.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 16:17:23 -04:00