Commit graph

32 commits

Author SHA1 Message Date
9bc77292cd
Remove browser resize triggers 2026-01-31 10:58:22 -05:00
116847ab58
Add multiple fixes 2026-01-31 10:14:25 -05:00
6bd599d47b
Fix dashboard to handle terminal serialization output
The server's serializeAsHTML() returns the full terminal screen state, not incremental chunks. Updated the dashboard to:

1. Handle initial_state event to receive current terminal state on connection
2. Replace output instead of appending (output event now replaces session.output)
3. Simplify renderSessionOutput() to always do full innerHTML replacement

This fixes the issue where output was being duplicated/appended incorrectly.
2026-01-31 09:58:18 -05:00
a14decf2bc
Fix HTML truncation to avoid cutting inside tags 2026-01-31 09:12:20 -05:00
721bff81d0
Cleanup dom 2026-01-31 09:06:08 -05:00
a8a73aad4e
Add dynamic favicon state system
Embed SVG path data in TypeScript to enable runtime color switching based on app state (idle/processing/error) without maintaining multiple static SVG files.
2026-01-31 08:42:58 -05:00
33cf28d643
Add reload to header click 2026-01-30 13:55:34 -05:00
5597502a8c
Keep terminal scrolled to bottom 2026-01-30 13:55:26 -05:00
9e8a275831
Display --yolo instead of --dangerously-skip-permissions 2026-01-30 13:15:45 -05:00
b67247e340
Replace pin button with floating scroll-to-bottom button
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 10:47:47 -05:00
2dfe420555
Rename project from claude-remote to clarc
Updated all references across documentation, config files, and source code.
2026-01-30 08:32:34 -05:00
97cc975d55
Fix session list disappearing on page refresh
Frontend now fetches existing sessions from /api/sessions when SSE connects.
Previously only listened for session_start events, causing sessions to
disappear after page reload.
2026-01-30 08:26:14 -05:00
5948dcaed1
Add viewport-based PTY resize from dashboard 2026-01-30 08:19:09 -05:00
766ee9b67c
Fix code review issues for phase 2.6 UI polish
Issue 1: Move focusSessionId out of settings to prevent localStorage persistence
- Moved focusSessionId to top-level state property (not in settings)
- Updated all references from state.settings.focusSessionId to state.focusSessionId
- Removed saveSettings() calls from session filter functions

Issue 2: Add active state to wrap toggle button
- Added .active class to wrap-toggle button when wrapText is enabled
- Updated updateSettingsUI() to toggle .active class based on wrapText state

Issue 3: Document auto-scroll ephemeral behavior
- Added comment explaining why auto-scroll is per-session and not persisted
- Clarifies this is intentional design decision

Issue 4: Replace inline styles with CSS class for session filter button
- Added .header-text-btn CSS class with styling
- Removed inline style attribute from sessions-filter-btn
2026-01-28 15:18:55 -05:00
737948c820
Add auto-scroll control (pin/unpin) to session output 2026-01-28 15:14:09 -05:00
68dce06e47
Add session filtering (focus mode) to dashboard 2026-01-28 15:13:05 -05:00
057966469d
Add style popover with column layout and display controls 2026-01-28 15:11:22 -05:00
66b4989226
Add CSS variables and settings infrastructure for UI polish 2026-01-28 15:10:21 -05:00
acdceaf083
Handle all git status codes in file class mapping 2026-01-28 15:03:16 -05:00
ae0251b6d3
Add git widget to session cards in dashboard 2026-01-28 14:58:35 -05:00
5bc2d4fe1b
Update frontend to render HTML output from ANSI converter 2026-01-28 14:18:19 -05:00
348b56183e
Add stats widget to session cards 2026-01-28 13:55:57 -05:00
298faecf72
Add state badges to session card headers 2026-01-28 13:52:01 -05:00
091979390a
Add error handling and loading state to instructions modal 2026-01-28 13:20:10 -05:00
af8fc5ca88
Add tab instructions modal for permission prompts 2026-01-28 13:14:48 -05:00
ef3c66f887
Fix exit plan to send option response type
Exit plan responses should use type 'option' not 'text' since they're
selecting from a predefined set of options.
2026-01-28 13:03:07 -05:00
17ba44182b
Fix option value extraction in prompt rendering
Options are objects with value and label fields. Updated exit_plan
rendering to use opt.value and opt.label instead of treating opt as
a string.
2026-01-28 13:02:57 -05:00
419034255a
Fix QuestionPrompt to iterate questions array
QuestionPrompt has a questions array, not flat fields. Updated rendering
to iterate over each question item with its own header, question text,
and options.
2026-01-28 13:02:45 -05:00
d3fac77f6f
Update dashboard to render rich multi-option prompts 2026-01-28 12:59:23 -05:00
5ff684824a
Fix dashboard ID handling and output rendering performance 2026-01-28 12:26:17 -05:00
48a01641c4
Add mobile dashboard with SSE streaming
Replaced placeholder index.html with a fully functional mobile-first dashboard that connects to the server via SSE and provides real-time session monitoring and prompt approval.

Features:
- Mobile-first design with large touch targets (44px min) and readable fonts
- SSE connection to /events with automatic reconnection on disconnect
- Live display of active sessions with collapsible output views
- Pending prompts section with approve/reject buttons
- Real-time updates for session start/end, streaming output, and prompts
- Dark mode by default with light mode support via prefers-color-scheme
- Plain text terminal output (monospace, scrolls to bottom)
- Connection status indicator in header

Implementation is a single HTML file (~300 lines) with inline CSS and vanilla JS, no frameworks or dependencies.
2026-01-28 12:23:46 -05:00
726190eaa6
Restructure project files into src and public directories
Moved index.ts to src/server.ts and created stub files for types, db, auth,
and cli modules. Added minimal placeholder for dashboard. Removed generated
README.md in favor of CLAUDE.md and docs/plan.md.
2026-01-28 11:00:19 -05:00