* Add summary field to backend data models
- Add summary TEXT column to SQLite schema
- Add Summary field to Session struct
- Add Summary field to SessionUpdate struct
- Add Summary field to session Info struct
- Add Summary field to RPC SessionState struct
This is Phase 1 Group A of the query injection implementation, laying the groundwork for displaying summaries in session lists while keeping the full query for conversation view.
* Add summary field and implement summary calculation logic
- Add summary field to frontend types (SessionInfo, SessionState) in TypeScript and Rust
- Implement CalculateSummary function to truncate queries at 50 chars with ellipsis
- Handle Unicode characters properly to avoid breaking multi-byte sequences
- Normalize whitespace (newlines, tabs, carriage returns) to single spaces
- Add comprehensive unit tests with 100% coverage for edge cases
* commit helper command
* commit update
* Implement query injection after Claude session ID capture
- Add pendingQueries sync.Map to store queries until Claude session ID is available
- Inject query as first conversation event (sequence=1) after Claude ID capture
- Add deduplication to prevent duplicate user messages
- Calculate and store summary field for all sessions
- Add cleanup logic for pending queries on session completion/error
- Populate summary field in GetSessionInfo and ListSessions responses
- Add comprehensive tests for query injection and race conditions
This ensures queries from both new and continued sessions appear in the
conversation view, fixing the issue where resumed session queries were
not visible.
* Add summary field support to backend database operations
- Update SQLite CREATE, SELECT, and UPDATE queries to include summary field
- Add summary field to GetSessionState RPC handler response
- Ensure all database operations properly handle the new summary column
* Update UI components to display summary field
- WebUI: Update SessionTable to show summary instead of truncated query
- WebUI: Update search to use summary field in SessionTablePage and CommandPalette
- WebUI: Use summary with fallback in enrichment utilities
- TUI: Display summary in session list with fallback to truncated query
- Add TODO(2) for fixing ref warning in SessionTable component
* Remove duplicate query rendering from conversation views
- WebUI: Remove synthetic first user message from SessionDetail component
- TUI: Remove manual query rendering from conversation view
- Backend now properly injects queries as conversation events
* Clean up tests and fix code formatting
- Remove unused simulateClaudeSessionIDCapture helper function from tests
- Fix comment indentation in approval manager
* Optimize CalculateSummary to use one-pass whitespace normalization
Replace multiple ReplaceAll calls and loop with strings.Fields approach for better efficiency when processing long queries
* quick script to go alongside the `hack/create_worktree.sh`
* add `make setup` to CLAUDE.md
* TODO system
* commands added for claude for us to share
* formatting
* take feedback from ellipsis
* create linear ticket
* formatting