feat: session card layout — time + unread + status positioning - #56
Merged
Conversation
Server now ensures the autonomos-relay.sh hook script is installed and registered in Claude Code's settings.json on every startup. - installHookRelay() runs at startup, after claude binary validation - Copies hook script from packages/server/hooks/ to ~/.claude/hooks/ - Registers on 10 Claude Code hook events with async: true - Idempotent: skips if already installed and up to date - Updates script if bundled version is newer - Uses ~ paths in settings.json (portable across machines) - Non-fatal: warns on failure, server continues No manual setup needed — just start the server and hooks are ready. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the file-based hook relay (autonomos-relay.sh + installHooks.ts) with per-session hook injection via Claude Code's --settings flag. How it works: - createSession() passes --settings with hooks config as inline JSON - Each hook event fires: curl -d @- $AUTONOMOS_SERVER/api/hooks/$SESSION_ID - AUTONOMOS_SERVER and AUTONOMOS_SESSION_ID already injected by buildEnv() - Merges with user's existing hooks (empirically verified) What this eliminates: - No relay script file to install - No global settings.json mutation - No install button needed - No user action required - Sessions outside autonomOS are completely unaffected Deleted: installHooks.ts (no longer needed) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… right) Restructured sidebar session rows: - Top row: icon + title (left), time + unread count in red (right) - Bottom row: project · branch (left), status label (right) - Default status for new sessions: spinning (was dashed circle) - Unread count shown on all states, not just needs-input Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
aterrylu
force-pushed
the
terry/auto-install-hooks
branch
from
March 24, 2026 09:02
efa284b to
c70edf7
Compare
nox-0x
approved these changes
Mar 24, 2026
nox-0x
left a comment
Collaborator
There was a problem hiding this comment.
Clean layout refactor — the hook relay injection in sessions.ts is solid (fire-and-forget curl with proper timeouts, no shell injection via array-based spawn). Sidebar changes achieve the intended info hierarchy without any edge-case risks. Minor note: framer-motion and lucide-react appear in bun.lock but aren't used in this diff — fine if they're for upcoming work. LGTM.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Restructured sidebar session card layout for better information hierarchy:
Test plan
🤖 Generated with Claude Code