Commit graph

314 commits

Author SHA1 Message Date
Hibryda
a84671cfad fix(electrobun): use static import for loadClaudeSessionMessages (require() fails in bundled Bun) 2026-03-27 04:15:29 +01:00
Hibryda
cb7fba6130 feat(electrobun): load full session history from JSONL when resuming — conversation stays visible 2026-03-27 04:09:00 +01:00
Hibryda
1afbe66fd7 fix(electrobun): preserve conversation history when resuming session (don't clearSession on resume) 2026-03-27 03:59:22 +01:00
Hibryda
78d77080cc fix(electrobun): +New button no longer sends empty prompt — waits for user input like Continue 2026-03-27 03:54:14 +01:00
Hibryda
634e4658c3 fix(sidecar): remove allowedTools/settingSources/systemPrompt restrictions (caused 400 from empty cache_control text blocks) 2026-03-27 03:44:43 +01:00
Hibryda
18b9c7c3b5 fix(electrobun): session resume uses pending mode — user types prompt first, no empty string to SDK 2026-03-27 03:35:02 +01:00
Hibryda
31a3335651 fix(sidecar): sanitize JSONL session files before resume (strips empty text blocks with cache_control) 2026-03-27 03:26:16 +01:00
Hibryda
6e3853e0a1 fix(electrobun): session parser reads 50 lines (was 5), dots use getProjectsForGroup (was undefined group.projects) 2026-03-27 03:19:16 +01:00
Hibryda
485abb4774 feat(electrobun): session continuity — Claude JSONL listing, resume/continue sidecar support, session picker UI 2026-03-27 02:43:54 +01:00
Hibryda
0e217b9dae feat(electrobun): terminal pane — discriminated union tabs, agent preview, collapse/expand, bash output ring buffer 2026-03-27 02:31:43 +01:00
Hibryda
ec12310801 feat(electrobun): project status dots on group icons (SVG, per-project color by agent status) 2026-03-27 02:26:51 +01:00
Hibryda
41c3bc8e60 fix(electrobun): version counter bump() forces Svelte re-render on session mutations (messages now display) 2026-03-26 02:52:56 +01:00
Hibryda
3d25ab675f chore: add getDisplayMessages debug logging to trace reactivity 2026-03-26 02:46:12 +01:00
Hibryda
5ac80a4d00 chore(electrobun): add detailed RPC message listener debug logging 2026-03-26 02:43:18 +01:00
Hibryda
5315dc6176 fix(electrobun): register message handlers in WebView RPC (was empty, incoming messages ignored) 2026-03-26 02:40:53 +01:00
Hibryda
3882f5470f fix(electrobun): add debug logging for agent listener registration + hasSession check 2026-03-26 02:39:22 +01:00
Hibryda
8031cf91cf fix(electrobun): hasSession checks running status (dead sessions no longer block startAgent) 2026-03-26 02:35:23 +01:00
Hibryda
f1472848f8 fix: MCP agor-rebuild uses targeted kill (doesn't kill MCP's own Node process) 2026-03-26 02:28:22 +01:00
Hibryda
d334f57e9e fix(electrobun): register agent message types in RPC (was empty, messages silently dropped) 2026-03-26 02:21:37 +01:00
Hibryda
1d29100667 fix(electrobun): register agent listeners lazily (was no-op at module load before setAppRpc) 2026-03-26 02:16:16 +01:00
Hibryda
4a83472392 chore(electrobun): add parseMessage debug logging to trace agent message forwarding 2026-03-26 02:10:22 +01:00
Hibryda
a1a5467ef9 fix(electrobun): copy sidecar/dist into build output + fix runner path resolution 2026-03-26 02:06:39 +01:00
Hibryda
541b6eda46 fix(electrobun): sidecar runner path resolution for dev build output + debug logging 2026-03-26 02:04:02 +01:00
Hibryda
0eb4ba9396 style(electrobun): increase sidebar icon to 3rem 2026-03-26 01:56:05 +01:00
Hibryda
c2fbbdbf90 style(electrobun): increase sidebar icon size to 2.5rem 2026-03-26 01:54:15 +01:00
Hibryda
ad38a0ae17 refactor(electrobun): remove AGOR text, keep icon only in sidebar 2026-03-26 01:53:14 +01:00
Hibryda
02af115108 feat(electrobun): add AGOR icon above vertical title in sidebar 2026-03-26 01:47:59 +01:00
Hibryda
04034ab379 chore: add icon assets (SVG + PNG fallback) 2026-03-26 01:39:40 +01:00
Hibryda
c7d0c80d43 chore: add .desktop file for auto-move workspace support 2026-03-26 01:32:24 +01:00
Hibryda
c04eb58e85 fix: MCP agor-start uses spawn+detach instead of blocking execSync 2026-03-26 00:38:57 +01:00
Hibryda
370d4d55a0 fix: MCP agor-start uses spawn+detach instead of blocking execSync 2026-03-26 00:28:52 +01:00
Hibryda
e9d7356064 feat: agor-launcher MCP server + .mcp.json + updated Rule 56 2026-03-25 20:37:16 +01:00
Hibryda
58ac5e8c84 chore: update launch.sh for Electrobun (kill+clean+PTY+Vite+launch) 2026-03-25 20:32:24 +01:00
Hibryda
66dce7ebae fix(electrobun): 7 bug fixes + 3 partial features completed
Bugs fixed:
- Agent retry: clear dead session on failed start (was non-recoverable)
- seqId persist: save seq_id column in agent_messages, migrate existing DBs
- Window frame save: wire resize event listener to saveWindowFrame()
- Diagnostics counters: real RPC call counter via withRpcCounting() proxy

Partial features completed:
- Search auto-seed: rebuildIndex() on startup + indexMessage() on save
- Notifications: removed 3 hardcoded demo entries, start empty
- Agent cost streaming: emitCostIfChanged() on every message batch

New: src/bun/rpc-stats.ts (RPC call + dropped event counters)
2026-03-25 20:26:49 +01:00
Hibryda
0dd402e282 fix(electrobun): sidebar AGOR non-selectable, larger font, settings clickable
- AGOR title: pointer-events:none (clicks pass to drag zone), user-select:none,
  font-size 1.25rem→1.5rem (20% larger), removed cursor:grab
- Settings button: z-index:1 (above drag zone), clickable again
- Group buttons: z-index:1 (above drag zone)
- Drag zone stays z-index:0 as catch-all behind interactive elements
2026-03-25 19:41:04 +01:00
Hibryda
d9a2ea6500 fix(electrobun): replace sidebar onmousedown with inset drag zone (10px from edges) 2026-03-25 19:09:20 +01:00
Hibryda
561bca1133 fix(electrobun): 10px left padding on sidebar to avoid resize edge overlap 2026-03-25 18:59:33 +01:00
Hibryda
94a8e4072d fix(electrobun): skip window drag when click is within 8px resize border zone 2026-03-25 18:54:51 +01:00
Hibryda
a814e39410 fix(electrobun): set GTK window background to black (prevents white host flash) 2026-03-25 18:37:48 +01:00
Hibryda
fbb18d1d42 fix(electrobun): black background on html+body (prevents white flash) 2026-03-25 18:31:08 +01:00
Hibryda
61466b53c6 chore(electrobun): revert to real app mode (resize test flags disabled) 2026-03-25 18:11:59 +01:00
Hibryda
8f4ec379ee fix(electrobun): clear min-size in configure handler during resize (prevents GTK bounce-back) 2026-03-25 18:06:06 +01:00
Hibryda
6d0a65eb65 fix(electrobun): disable WebView during resize drag in C (prevents grab theft) 2026-03-25 17:59:32 +01:00
Hibryda
7af94fd4bd fix(electrobun): clear min-size in C before begin_resize_drag + configure logging 2026-03-25 17:51:57 +01:00
Hibryda
683013d704 fix(electrobun): connect resize signals on WebKitWebView, not GtkWindow
KEY FIX: WebKit's GdkWindow receives all pointer events. Connecting
button-press-event on the GtkWindow never fires. Must connect on the
WebKitWebView widget itself (the Wails pattern).

C library now:
- Walks widget tree to find deepest child (WebKitWebView)
- Connects button-press + motion-notify on the WebView
- Does hit-test in C (8px border zone)
- Calls gtk_window_begin_resize_drag with real event data
- Returns TRUE to consume border clicks, FALSE for interior
2026-03-25 17:40:16 +01:00
Hibryda
f97eaa1c36 fix(electrobun): update stub HTML + 800x600 test window size 2026-03-25 17:33:33 +01:00
Hibryda
7971ffe859 fix(electrobun): simplified stub page — no RPC, relies on native C resize only 2026-03-25 17:24:55 +01:00
Hibryda
e5125e6e6e fix(electrobun): enable stub page + deferred native resize for testing 2026-03-25 17:18:09 +01:00
Hibryda
449fa3dcae feat(electrobun): native C resize lib + stub test page + deferred init
- agor_resize.c: C library with GTK signal handlers for resize
- native-resize.ts: Bun FFI wrapper for libagor-resize.so
- resize-test.html: minimal stub for isolating resize behavior
- index.ts: native resize disabled pending stability testing
- RESIZE_TEST env var for loading stub page via Vite
2026-03-25 17:01:11 +01:00
Hibryda
178e560068 feat(electrobun): native C resize library (Wails pattern)
New: agor-pty/native/agor_resize.c — C shared library that:
- Connects button-press-event on GtkWindow + WebView children in C
- Stores mouseButton, xroot, yroot, dragTime from real GTK events
- Exports agor_resize_start(edge) for Bun FFI

Build: gcc -shared -fPIC -o libagor-resize.so agor_resize.c $(pkg-config --cflags --libs gtk+-3.0)

New: ui-electrobun/src/bun/native-resize.ts — Bun FFI wrapper
App.svelte: simplified to just edge detection + RPC call
2026-03-25 16:44:51 +01:00