From 13fe598742547fff15375514e299a4548ac14dc7 Mon Sep 17 00:00:00 2001 From: Hibryda Date: Sun, 8 Mar 2026 21:32:16 +0100 Subject: [PATCH] docs: update meta files for E2E fixes session --- CHANGELOG.md | 2 ++ TODO.md | 2 +- docs/v3-progress.md | 7 +++++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0be3d88..12e589d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `claude_read_skill` path traversal: added `canonicalize()` + `starts_with()` validation to prevent reading arbitrary files via crafted skill paths (lib.rs) ### Fixed +- E2E wdio.conf.js: added `wdio:enforceWebDriverClassic: true` to disable BiDi negotiation (wdio v9 injects `webSocketUrl:true` which tauri-driver rejects), removed unnecessary `browserName: 'wry'`, fixed binary path to Cargo workspace target dir (`v2/target/debug/` not `v2/src-tauri/target/debug/`) +- `tauri-plugin-log` init panic: changed `?` to `let _ =` in lib.rs setup hook — telemetry::init() registers tracing-subscriber first, plugin-log silently skips instead of panicking (lib.rs) - Workspace teardown race: `switchGroup()` now awaits `waitForPendingPersistence()` before clearing agent state, preventing data loss when agents complete during group switch (agent-dispatcher.ts, workspace.svelte.ts) - SettingsTab switchGroup click handler made async with await to properly handle the async switchGroup() flow (SettingsTab.svelte) - Re-entrant sidecar exit handler race condition: added `restarting` guard flag preventing double-restart on rapid disconnect/reconnect (agent-dispatcher.ts) diff --git a/TODO.md b/TODO.md index a23dbae..a649e93 100644 --- a/TODO.md +++ b/TODO.md @@ -3,7 +3,7 @@ ## Active ### v2/v3 Remaining -- [ ] **E2E testing — run & expand** -- Infrastructure scaffolded (WebdriverIO + tauri-driver). Needs: `cargo install tauri-driver`, `apt install webkit2gtk-driver`, display server. Then run `npm run test:e2e`. +- [ ] **E2E testing — expand coverage** -- 6 smoke tests passing (WebdriverIO v9.24 + tauri-driver). Add tests for agent sessions, terminal interaction, settings persistence. - [ ] **Multi-machine real-world testing** -- Test bterminal-relay with 2 machines. - [ ] **Multi-machine TLS/certificate pinning** -- TLS support for bterminal-relay + certificate pinning in RemoteManager. - [ ] **Agent Teams real-world testing** -- Test with CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1. diff --git a/docs/v3-progress.md b/docs/v3-progress.md index 6e41ff7..8e3e8c5 100644 --- a/docs/v3-progress.md +++ b/docs/v3-progress.md @@ -427,3 +427,10 @@ All editor themes map to the same `--ctp-*` CSS custom property names (26 vars). - [x] Updated README.md with complete setup instructions and CI guide - [x] Key decision: WebdriverIO over Playwright (Playwright cannot control Tauri/WebKit2GTK apps) - [x] Prerequisites: tauri-driver (cargo install), webkit2gtk-driver (apt), display server or xvfb-run + +#### E2E Fixes (wdio v9 + tauri-driver compatibility) +- [x] Fixed wdio v9 BiDi: added `wdio:enforceWebDriverClassic: true` — wdio v9 injects webSocketUrl:true which tauri-driver rejects +- [x] Removed `browserName: 'wry'` from capabilities (not needed in wdio, only Selenium) +- [x] Fixed binary path: Cargo workspace target is v2/target/debug/, not v2/src-tauri/target/debug/ +- [x] Fixed tauri-plugin-log panic: telemetry::init() registers tracing-subscriber before plugin-log → changed `?` to `let _ =` in lib.rs +- [x] All 6 E2E smoke tests pass (6s runtime after build)