Releases: ExaDev/agent-comms
Releases · ExaDev/agent-comms
v1.19.1
v1.19.0
1.19.0 (2026-05-27)
Features
- bridge: add E2E tests for PWA features (ca5f322)
- bridge: add sidebar toggle with collapse/expand (d8b2d47), closes #sidebar-toggle
Bug Fixes
- bridge: relax SW activation check for headless Chromium (87e5717)
- bridge: remove type assertions from PWA E2E test (28d7819)
- bridge: simplify SW activation test to registration check (6288265)
- bridge: verify SW activation without requiring controller claim (9131dd5)
- bridge: wait for SW controller after reload in PWA E2E test (da99706)
- build: use direct node invocations in pre-push hook (900b7c3)
Styles
- bridge: apply eslint --fix formatting to PWA E2E test (9a77db6)
Tests
- bridge: add E2E tests for deferred mesh connection and connect prompt (1da3db4)
- bridge: add E2E tests for web UI interactions (90a437f)
Chores
- build: simplify pre-push hook to avoid submodule deadlocks (6eddd38)
v1.18.0
1.18.0 (2026-05-27)
Features
- bridge: extract testable modules and add 31 new tests (b71aaa2)
Bug Fixes
- bridge: add room-list ID to ProjectTree for E2E test selectors (b930fe9), closes #room-list
- bridge: capture deep link before rerender clears URL params (c162f0c)
- bridge: correct /join test assertion from 'Switched to' to 'Joined' (ac1bb24)
- bridge: fix deep link E2E tests for room ID and message clearing (bfc55e4)
- bridge: isolate E2E test coordinator ports to prevent EADDRINUSE (c0f03ab)
- bridge: wait for room items before clicking in E2E tests (c949358)
Styles
- bridge: apply prettier and eslint formatting fixes (8e5a643)
v1.17.1
v1.17.0
v1.16.1
v1.16.0
v1.15.1
v1.15.0
1.15.0 (2026-05-27)
Features
- bridge: add mesh_set_visibility and mesh_get_visibility to buildAction (374ad2d)
- bridge: add PWA manifest, offline caching, and installability (3872e5f)
- bridge: add root entry point for pi auto-discovery (e16b39b)
- bridge: add service worker with push notification handling (b91537c)
- bridge: add URL query parameter deep linking for rooms and DMs (f4ce6e2)
- bridge: enable TLS transport across all bridges (927ee99)
- bridge: integrate PushManager into web server (51c7e64)
- bridge: pass discovery manager to CommsTool in all bridges (ab302d6)
- bridge: restore project tree sidebar, agent rename, and routeAction (74fd260)
- build: add mesh-worker.ts as separate esbuild entry point (c615bc8)
- core: add bidirectional approval wire messages and types (558c68b)
- core: add cryptographic identity generation (89ec5cb)
- core: add discovery module with mDNS and Tailscale backends (8063874)
- core: add federation wire messages and types (aca2526)
- core: add listener management and network interface discovery to MeshStore (8bb9570)
- core: add mesh_discover, mesh_advertise, mesh_unadvertise action types (fb9613b)
- core: add MeshVisibility type and stop() to discovery backends (696f11d)
- core: add multi-listener coordinator support with per-listener policies (cf897e8)
- core: add onPatch callback to MeshStore (4fc5676)
- core: add PushManager for browser push subscriptions (1dad588)
- core: add TlsTransport with certificate pinning (527429c)
- core: add VAPID key generation for Web Push (90ce608)
- core: add visibility state machine to DiscoveryManager (3bd6326)
- core: add WebSocketTransport for browser mesh participation (1dbe6c6)
- core: export VAPID and PushManager from public API (b68c4e7)
- core: handle discovery actions in CommsTool (8cf06c8)
- core: implement bidirectional connection approval (5fd3d14)
- core: implement FederationManager (04bb349)
- core: implement TcpTransport with connection lifecycle and event dispatch (a1d2196)
- core: implement Web Push encryption and VAPID signing (eacaa95)
- core: wire discovery backends into MeshStore and exports (e545dde)
- core: wire federation into MeshStore, CommsTool, and buildAction (9d5a0ac)
- core: wire listener actions through CommsTool and bridge helpers (5cb4a3b)
- core: wire visibility through MeshStore and CommsTool (0606977)
- web: add /ws/mesh bridge endpoint for browser mesh participation (c22e44b)
- web: add relay SharedWorker for cross-mesh message forwarding (f9d6c31)
- web: add RelayClient main-thread API (b163e66)
- web: add RelayPanel component with relay configuration UI (52b3eb7)
- web: add SharedWorker mesh node and main-thread MeshClient (c889c91)
- web: integrate MeshClient into frontend for real-time mesh state (b03bbd7)
- web: wire relay client into App, Sidebar, and main entry point (df4b83e)
Bug Fixes
- bridge: share mesh store between pi bridge and web server (6438629)
- build: replace lint-staged with direct eslint in git hooks (a495d81)
- ci: remove stale _site upload-artifact step (522e93b)
- ci: skip husky hooks during semantic-release (05eb4bb)
- core: add federation stubs to FileStore and fix test narrowing (b2abcab)
- core: handle EADDRINUSE race in coordinator election and graceful degradation (b0c3894)
- core: prevent event-loop starvation in delivery chain (c54c07d)
- core: prevent untracked markRead timers after shutdown (b45e215)
- core: remove invalid adapter reference from meshGetVisibility (58177a0)
- core: resolve merge conflict leftovers in tool.ts (90152dc)
- core: resolve merge conflicts from parallel agent integration (9acf30c)
- core: resolve type errors from parallel agent integration (c1e9af4)
- core: use listener.server.close() in transport shutdown (4c08bb0)
- remove noInlineConfig to allow eslint-disable for legitimate casts (e27af8d)
- resolve all ESLint errors with proper type narrowing and runtime validation (8d47f7d)
- resolve CI type errors and lint failures (7ffa4f3)
- resolve TypeScript errors from satisfies-based type narrowing (036b603)
- test: intercept transport events for listener policy test (b9a0d07)
Refactoring
- bridge: separate folder toggle from directory room selection (ae2a898)
- core: extract wire protocol and transport interface ([852dc5f](852dc5fde37c4025739cfe...
v1.14.0
1.14.0 (2026-05-25)
Features
- bridge: add buildProjectTree function with unit tests (86d0250)
- bridge: add footer status line with project room, web URL, and unread count (9ce0811)
- bridge: add ProjectTree component and rebuild sidebar (2c38d16)
- bridge: categorise delivery events as actionable vs informational (bffbedb)
- cli: add /comms-url slash command (0877b98)
- core: add agent renaming via name_changed event and rename_agent action (1740a1a)
- core: add isActionableEvent for delivery event classification (12cc749)
- core: auto-create project rooms per working directory (a44a52a)
Bug Fixes
- bridge: add required display field to sendMessage call (5721170)
- bridge: correct sendMessage API usage and add name_changed to TUI (40fd3e4)
- bridge: fix handler return type and exclude frontend tests from tsc (f962966)
- bridge: fix TypeScript errors in tests and command handler (d7aef53)
- bridge: resolve ESLint errors in web UI components and tests (ddce4b9)
- bridge: rewrite garbled pi bridge index from reconstruction (4efcdff)
- bridge: use requireElement with tag for join form inputs (fc7019a)
- build: deduplicate package.json keys and add missing preact dependency (8a10193)
- build: exclude hanging multi-process integration tests from pnpm test (c43cca3)
- build: remove stale imperative files and fix project-tree.ts (642dcac)
- core: remove duplicate isActionableEvent export (8a50ae8)
- lint: add test files to allowDefaultProject and fix prettier formatting (35a831f)
- lint: downgrade require-await to warning and fix prettier formatting (9d751a8)
- lint: rename JSX test files to .tsx and delete stale duplicates (5d16af2)
- lint: resolve all ESLint errors flagged by CI (4bcf690)
- lint: restore async handler, add non-nullable-type-assertion-style to test overrides (0eeb670)
- mesh: deduplicate delivery events and clean up stale peers (f78ba74)
- mesh: deduplicate delivery events at the MeshStore level (d7d67c5)
- mesh: merge members and subscribedRooms on patch receive (3406c4e)
- mesh: only owning store broadcasts agent offline status (d84e227)
- mesh: prevent duplicate name_changed delivery to agent in room (469dce3)
- mesh: skip setAgentOffline if agent is already offline (0175a55)
- tool: route /join and /leave through local handlers for correct state (7a8eb36)
Refactoring
- bridge: replace imperative DOM with Preact components (e0699d6)
- bridge: serve frontend as static assets instead of generated TS (c700219)
- web: extract inline HTML frontend into TypeScript modules (c272bd0)
Tests
- bridge: add message conversion unit tests, component tests, and web server integration tests (9449ce5)