Skip to content

Releases: ExaDev/agent-comms

v1.19.1

27 May 16:30

Choose a tag to compare

1.19.1 (2026-05-27)

Bug Fixes

  • core: retry tls.createServer on intermittent OpenSSL ASN.1 race (6af1d19)

v1.19.0

27 May 10:10

Choose a tag to compare

1.19.0 (2026-05-27)

Features

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

27 May 07:52

Choose a tag to compare

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

27 May 05:49

Choose a tag to compare

1.17.1 (2026-05-27)

Bug Fixes

  • render initial UI on first load without REST or mesh connection (496e0ee)

v1.17.0

27 May 05:44

Choose a tag to compare

1.17.0 (2026-05-27)

Features

  • defer mesh connection on first visit to avoid browser prompt (e618be3)

v1.16.1

27 May 04:13

Choose a tag to compare

1.16.1 (2026-05-27)

Bug Fixes

  • skip REST API calls entirely on standalone PWA (e76698f)

v1.16.0

27 May 04:03

Choose a tag to compare

1.16.0 (2026-05-27)

Features

  • sequential port discovery for standalone PWA mesh discovery (d23ba26)

Bug Fixes

  • prettier formatting and void expression in main.tsx (c318dca)
  • wrap void-returning callback in braces for no-confusing-void-expression (b8ef5df)

Styles

v1.15.1

27 May 03:28

Choose a tag to compare

1.15.1 (2026-05-27)

Bug Fixes

  • use relative paths for GitHub Pages subpath deployment (3ea54e4)

v1.15.0

27 May 03:19

Choose a tag to compare

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

Read more

v1.14.0

25 May 14:47

Choose a tag to compare

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)