Commit graph

191 commits

Author SHA1 Message Date
Hibryda
e2a406a167 fix(files): change file tab bar from nested buttons to div with role=tab 2026-03-10 02:54:10 +01:00
Hibryda
a111ba0b9d docs: update CHANGELOG with FilesTab improvements 2026-03-10 02:51:05 +01:00
Hibryda
59606e067f feat(files): add word wrap, collapsible sidebar, and preview/pinned tabs to FilesTab 2026-03-10 02:51:05 +01:00
Hibryda
18c62cc462 docs: update meta files for tab system overhaul session 2026-03-10 02:12:05 +01:00
Hibryda
260a21c66a feat(backend): add list_directory_children and read_file_content Rust commands 2026-03-10 02:12:05 +01:00
Hibryda
6744e1beaf feat(workspace): overhaul ProjectBox tab system with 6 tabs and lazy mount 2026-03-10 02:12:05 +01:00
Hibryda
f5f3e0d63e docs: update CHANGELOG with ClaudeSession type fix 2026-03-10 01:00:32 +01:00
Hibryda
0a51fc4b02 fix(session): resolve ClaudeSession type errors — UUID cast and missing timestamp on restored messages 2026-03-10 01:00:32 +01:00
Hibryda
5a9f67fcb6 docs: update CHANGELOG with markdown link navigation 2026-03-10 00:58:46 +01:00
Hibryda
cd438c2cf3 feat(markdown): intercept links in MarkdownPane — relative files navigate in Files tab, external URLs open in browser 2026-03-10 00:58:46 +01:00
Hibryda
91aa711ef3 docs: update CHANGELOG with cost accumulation fix 2026-03-09 17:40:35 +01:00
Hibryda
b6ca086371 fix(agent): accumulate cost across continued session turns instead of replacing 2026-03-09 17:40:35 +01:00
Hibryda
134a7bd8ff docs: update meta files for collapsibles and aspect ratio session 2026-03-09 17:27:09 +01:00
Hibryda
e92e54d6c2 chore: add no-implicit-push rule and StartupWMClass to desktop entry 2026-03-09 17:27:09 +01:00
Hibryda
92b513dd9d feat(settings): add project max aspect ratio setting with CSS constraint 2026-03-09 17:27:09 +01:00
Hibryda
c6fda19170 feat(agent): add collapsible text messages and cost summary in AgentPane 2026-03-09 17:27:09 +01:00
Hibryda
ac5b3c4adc chore: add .vscode/ and .local/ to root .gitignore 2026-03-09 15:05:13 +01:00
Hibryda
7bc4a70b06 docs: update meta files for AgentPane UI redesign session 2026-03-09 02:31:08 +01:00
Hibryda
4674a4779d style(agent): redesign AgentPane and MarkdownPane for polished readable UI
Tribunal-elected design (S-3-R4, 88% confidence). AgentPane: sans-serif root
font, tool call/result pairing via $derived.by, hook message collapsing,
context window meter, minimal cost bar, session summary styling, two-phase
scroll anchoring, tool-aware truncation, color-mix() softening, container
query responsive margins. MarkdownPane: container query wrapper. Shared
--bterminal-pane-padding-inline CSS variable in catppuccin.css.
2026-03-09 02:31:04 +01:00
Hibryda
28f7867dc6 docs: update meta files for tab switch fix session 2026-03-08 23:22:48 +01:00
Hibryda
fa9ca415be fix(workspace): preserve ClaudeSession across tab switches with CSS display 2026-03-08 23:22:48 +01:00
Hibryda
6585208233 docs: update CHANGELOG for env var whitelist fix 2026-03-08 22:49:02 +01:00
Hibryda
74ce1ee083 docs: update meta files for E2E test fix session 2026-03-08 22:42:48 +01:00
Hibryda
b9b5ef9cb3 fix(e2e): scope terminal tab selectors to .tab-bar for reliable matching 2026-03-08 22:42:48 +01:00
Hibryda
8bdd9d6fcc docs: update meta files for E2E expansion session 2026-03-08 22:27:51 +01:00
Hibryda
2eb323fba8 test(e2e): expand coverage from 25 to 48 tests across 8 describe blocks 2026-03-08 22:27:51 +01:00
Hibryda
4c02b87e33 chore: remove old individual E2E spec files
Consolidated into single bterminal.test.ts (Tauri single-session requirement).
2026-03-08 21:58:28 +01:00
Hibryda
50a9ad40fa docs: update meta files for E2E expansion session 2026-03-08 21:58:23 +01:00
Hibryda
d12cbffda7 fix(e2e): consolidate specs into single file and fix WebDriver click issues
Tauri creates one app session per spec file; multiple files caused
invalid session id on subsequent specs. WebDriver clicks on Svelte 5
components inside scrollable panels dont trigger onclick handlers
via WebKit2GTK/tauri-driver - use browser.execute() JS clicks.
Also removed tauri-plugin-log (redundant with telemetry::init()).
2026-03-08 21:58:23 +01:00
Hibryda
13fe598742 docs: update meta files for E2E fixes session 2026-03-08 21:32:16 +01:00
Hibryda
bfbdb2cc18 fix(e2e): resolve wdio v9 BiDi + tauri-driver compatibility issues 2026-03-08 21:32:16 +01:00
Hibryda
3059475ab7 docs: update meta files for E2E testing session 2026-03-08 21:13:38 +01:00
Hibryda
3c3a8ab54e test(e2e): scaffold WebdriverIO + tauri-driver E2E testing infrastructure 2026-03-08 21:13:38 +01:00
Hibryda
7fc87a9567 docs: update meta files for teardown race fix and px-to-rem session 2026-03-08 20:54:43 +01:00
Hibryda
9738776bae style: convert px layout values to rem across all components (rule 18) 2026-03-08 20:54:43 +01:00
Hibryda
dba6a88a28 fix: resolve workspace teardown race with persistence fence 2026-03-08 20:54:43 +01:00
Hibryda
a69022756a docs: update meta files for OTEL telemetry session 2026-03-08 20:34:19 +01:00
Hibryda
fd9f55faff feat(telemetry): add OpenTelemetry tracing with optional OTLP export to Tempo 2026-03-08 20:34:19 +01:00
Hibryda
3f1638c98b fix: resolve medium/low audit findings across backend and frontend
- ctx CLI: validate int() limit arg, wrap FTS5 MATCH in try/except
- ctx.rs: FTS5 error message clarity, Mutex::lock() returns Err not panic
- sdk-messages.ts: runtime type guards (str/num) replace bare `as` casts
- agent-runner.ts: strip ANTHROPIC_* env vars alongside CLAUDE*
- agent-dispatcher.ts: timestamps use seconds (match session.rs convention)
- remote.rs: disconnect handler uses lock().await not try_lock()
- session.rs: propagate pane_ids serialization error
- watcher.rs: reject root-level paths instead of silent no-op
- lib.rs: log warnings on profile.toml read failure and resource_dir error
- agent-bridge.ts: validate event payload is object before cast
2026-03-08 20:10:54 +01:00
Hibryda
044f891c3a chore: add v2/.audit/ to gitignore 2026-03-08 20:04:52 +01:00
Hibryda
9ec7e560ae docs: update meta files for audit fixes session 2026-03-08 20:03:50 +01:00
Hibryda
4bdb74721d fix(security): audit fixes — path traversal, race conditions, memory leaks, transaction safety
- lib.rs: claude_read_skill path traversal prevention (canonicalize + starts_with)
- agent-dispatcher.ts: re-entrancy guard on exit handler, clear maps in stop
- machines.svelte.ts: track UnlistenFn array + destroyMachineListeners()
- agent-runner.ts: controller.signal.aborted, async handleMessage + .catch()
- remote.rs: try_lock → async lock, abort tasks on remove
- session.rs: unchecked_transaction for save_agent_messages
- agent-bridge.ts: safe msg.event check (implicit in dispatcher changes)
2026-03-08 20:03:50 +01:00
Hibryda
73ca780b54 docs: update meta files for ctx dead code cleanup session 2026-03-08 19:37:17 +01:00
Hibryda
4f2b8b3183 refactor(ctx): remove dead code from ctx integration 2026-03-08 19:37:17 +01:00
Hibryda
f50811cfdb docs: update meta files for project-scoped ContextPane session 2026-03-08 04:13:41 +01:00
Hibryda
e37c85e294 refactor(v3): project-scoped ContextPane with auto-registration 2026-03-08 04:13:41 +01:00
Hibryda
0f0ea3fb59 docs: update meta files for ctx init fix session 2026-03-08 04:08:36 +01:00
Hibryda
957f4c20f6 fix: ctx init missing directory + add Initialize Database button to ContextPane 2026-03-08 04:08:36 +01:00
Hibryda
d903904d52 docs: update meta files for markdown typography redesign session 2026-03-08 04:00:20 +01:00
Hibryda
c008e2c5f2 style(v3): premium markdown typography with Inter font, Tailwind-inspired spacing, and dark mode refinements 2026-03-08 04:00:20 +01:00