vasyansk
c35585755e
feat(daemon): actor OSC133/fallback detection → set_state, hook/shell spawn env, cleanup
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 23:05:18 +07:00
vasyansk
4396ad7909
feat(daemon): zsh OSC 133 shell integration via per-surface ZDOTDIR
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 23:00:48 +07:00
vasyansk
255fa27271
feat(daemon): versioned Claude Code hook adapter (per-surface CLAUDE_CONFIG_DIR)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 23:00:40 +07:00
vasyansk
4ec7dc1a78
feat(core): Osc133Scanner + FallbackScanner status detectors + grid tail_text
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 22:59:24 +07:00
vasyansk
84a19356e2
docs(plan): M3 implementation plan — status detection sources + UI
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 22:52:29 +07:00
vasyansk
c0c8fe25f1
docs(spec): M3 design — status detection sources + UI + native notifications
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 22:45:11 +07:00
vasyansk
7f2afc3b8a
Merge spacesh M4: CLI + set_state/state status primitive
...
spacesh-cli (lib+bin) one-shot client at full bus parity minus
interactive panels; --json + completions; lazy-start (notify
best-effort). In-memory ephemeral SurfaceState (set_state/state).
SPACESH_SOCK override. 73 tests green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 22:28:30 +07:00
vasyansk
819e936e6d
docs(plan): sync M4 lifecycle test with SPACESH_SOCK serial-guard fix
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 22:24:40 +07:00
vasyansk
67c64e5bfe
chore: lock clap/clap_complete for spacesh-cli
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 22:24:40 +07:00
vasyansk
6fc099bb6f
test(daemon): serialize SPACESH_SOCK-mutating lifecycle tests to fix env race
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 22:23:41 +07:00
vasyansk
6f2e7885a4
test(cli): wire-level integration tests via SPACESH_SOCK mock daemon
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 22:20:26 +07:00
vasyansk
3c3a8039f3
feat(cli): command dispatch, human/--json rendering, status table, completions
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 22:17:53 +07:00
vasyansk
a9fa1bf77b
feat(cli): spacesh-cli scaffold — clap tree, one-shot client, command mapping
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 22:17:15 +07:00
vasyansk
635f9f4356
feat(daemon): per-surface status (set_state/state), idle-on-spawn, SPACESH_SOCK override
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 22:13:50 +07:00
vasyansk
4bd4aa4a36
feat(proto): SurfaceState + SetState command + State event + SurfaceView.state
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 22:10:54 +07:00
vasyansk
c2f8ef4214
docs(plan): M4 implementation plan — CLI + set_state/state primitive
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 22:06:34 +07:00
vasyansk
429fd6977e
docs(spec): M4 design — CLI + set_state/state status primitive
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 21:58:40 +07:00
vasyansk
34cc4ba5ca
Merge spacesh M2: layouts, split tree, persistence, sidebar, presets
...
n-ary split layouts + LayoutEngine resize, multi-workspace structure
with groups/unread/order, 10 presets + wizard, disk persistence
(state.json) with cold-start restore (panels stopped). 56 tests green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 21:44:16 +07:00
vasyansk
33fc8625af
docs(plan): correct M2 deferral note — group commands wired, only drag UI deferred
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 21:42:01 +07:00
vasyansk
c9c3ba1fcd
feat(app): wire set_group/delete_group bridge commands
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 21:41:34 +07:00
vasyansk
0328797bce
chore(daemon): remove unused imports and dead placeholders
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 21:39:43 +07:00
vasyansk
7ec0c84685
feat(app): sidebar, preset picker, wizard, App rewired around workspaces + LayoutEngine
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 21:31:49 +07:00
vasyansk
0320a2f313
feat(app): tauri bridge commands for M2 (split/ratios/move/preset/restart/groups/meta)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 21:30:26 +07:00
vasyansk
4b88d269e3
feat(app): LayoutEngine — recursive split render, splitter resize, stopped overlay
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 21:29:26 +07:00
vasyansk
ee2f7097ce
feat(app): M2 layout TS types + bridge commands
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 21:28:54 +07:00
vasyansk
62a65b691d
feat(daemon): M2 command dispatch, layout events, cold-start restore, persistence wiring
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 21:25:35 +07:00
vasyansk
b72f4cb3a5
feat(daemon): spawn_from_spec to (re)start surfaces from a persisted spec
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 21:22:29 +07:00
vasyansk
d516414ac9
feat(daemon): registry owns workspaces/groups/trees + running/stopped surfaces
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 21:21:47 +07:00
vasyansk
7515516699
feat(daemon): debounced persist scheduler coalescing bursts into one save
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 21:20:58 +07:00
vasyansk
4f7ed2a5a3
feat(daemon): StateStore trait + atomic JSON store with corrupt-file backup
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 21:20:51 +07:00
vasyansk
9927046c7e
feat(core): 10 layout preset generators
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 21:17:35 +07:00
vasyansk
28d0e05763
feat(core): n-ary tree ops — split, remove+collapse, ratios, move
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 21:17:35 +07:00
vasyansk
2723d40ff9
feat(proto): M2 commands (split/ratios/move/preset/restart/groups/meta) and events
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 21:13:33 +07:00
vasyansk
c8ba401023
feat(proto): SurfaceSpec, Group, Workspace, status view types
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 21:12:29 +07:00
vasyansk
114922aaf8
feat(proto): GroupId, Orient, n-ary LayoutNode with external-tagged serde
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 21:11:51 +07:00
vasyansk
d859aa8841
docs(plan): M2 implementation plan — layouts, persistence, sidebar, presets
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 21:08:40 +07:00
vasyansk
ac13976bfd
docs(spec): M2 design — layouts, split tree, persistence, sidebar, presets
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 20:58:51 +07:00
vasyansk
17351f3da2
Merge spacesh M0+M1: daemon, PTY, grid/snapshot, Tauri app
...
Vertical slice (bytes GUI↔daemon↔PTY over UDS) + persistence/reattach
(daemon outlives GUI; snapshot repaint). 4 crates + Tauri 2 app.
26 tests green and non-flaky.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 20:41:23 +07:00
vasyansk
ecc6eb9d66
design: spacesh v1 UI mockups (main, code/diff, wizard, auth, account)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 20:39:51 +07:00
vasyansk
b2c771f4f7
chore: commit Cargo.lock for reproducible daemon/app builds
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 20:39:51 +07:00
vasyansk
0cc1303fd9
docs(plan): sync Task 13 attach-snapshot with double-render fix
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 20:39:51 +07:00
vasyansk
f1630633e5
test(daemon): serialize heavy socket/PTY integration tests
...
Process-wide serial lock around the socket-binding and PTY-spawning
integration tests in spaceshd. Running several at once on a many-core
box starved each other's async tasks and tripped timing assumptions,
causing ~1/10 flakes under cargo test --workspace. Unit tests stay
parallel. 0/20 spaceshd + 0/5 workspace runs after the change.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 20:39:24 +07:00
vasyansk
77dfc69bd9
fix(daemon): remove pending broadcast on attach to prevent reattach double-render
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 20:33:11 +07:00
vasyansk
62e86a1c97
feat(app): reattach repaint + disconnect guard (M1)
...
All Task 15 code (spacesh:disconnected emit in bridge.rs reader,
onDaemonRawEvent in socketBridge.ts, reconnect handler in App.tsx)
was implemented together with Task 10 in the prior commit.
This commit marks the task boundary.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 20:25:55 +07:00
vasyansk
56893c51d0
feat(app): UDS bridge (channel/invoke/emit) + xterm.js terminal, M0 e2e works
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 20:24:57 +07:00
vasyansk
1579686fdd
chore(app): scaffold tauri 2 + react + vite, window launches
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 20:22:46 +07:00
vasyansk
a56d8d0fea
test(daemon): harden reattach test with pre-connect socket guard
...
Add wait_for_socket before second client connect to handle scheduling
jitter when tests run in parallel under cargo test --workspace.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 20:16:18 +07:00
vasyansk
18ac699951
feat(daemon): launchd user-agent install with KeepAlive
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 20:14:00 +07:00
vasyansk
f49fc41cd1
test(daemon): reattach after disconnect repaints prior output from snapshot
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 20:13:32 +07:00
vasyansk
732eef96b5
feat(daemon): grid feed + output coalescing + snapshot-on-attach (M1)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 20:12:55 +07:00