Peter Steinberger
cb5a25d8d8
fix(discord): normalize legacy streaming aliases
2026-04-12 11:52:56 -07:00
Peter Steinberger
2c590bdbc4
test(gateway): align sessions send auth token
2026-04-12 11:52:33 -07:00
Peter Steinberger
35b0586cb1
build: update A2UI bundle hash
2026-04-12 11:41:24 -07:00
Peter Steinberger
903f771c93
fix: align trace protocol artifacts
2026-04-12 11:41:24 -07:00
Vincent Koc
0fd9aa8e00
refactor(plugins): centralize manifest owner trust policy ( #65459 )
...
* refactor(plugins): share manifest owner policy helpers
* test(plugins): cover activated manifest owner policy
* fix(plugins): honor explicit disable in setup discovery
2026-04-12 19:36:03 +01:00
Peter Steinberger
c8347e70da
fix: align trace directive types
2026-04-12 11:30:44 -07:00
Peter Steinberger
e76c2812b7
style: apply oxfmt
2026-04-12 11:28:43 -07:00
Peter Steinberger
67af6f0baf
fix: restore main CI checks
2026-04-12 11:28:43 -07:00
Marcus Castro
aa023e4283
refactor(whatsapp): centralize account connection lifecycle ( #65427 )
...
* refactor(whatsapp): centralize account connection lifecycle
* fix(whatsapp): harden controller open failure cleanup
* refactor(whatsapp): remove active listener fallback path
* fix(whatsapp): isolate controller registry state
* debug(whatsapp): trace typing presence updates
* docs(changelog): add whatsapp lifecycle fix note
* debug(whatsapp): log global presence mode
* chore(whatsapp): remove debug presence logs
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-04-12 15:24:49 -03:00
Tak Hoffman
c37e49f275
Add /trace toggle and fix Active Memory diagnostics
2026-04-12 13:20:22 -05:00
Vincent Koc
dda70915a0
fix(test): align gateway early runtime stubs
2026-04-12 19:15:08 +01:00
Vincent Koc
d4fb7d893d
fix(ci): repair main tsgo regressions
2026-04-12 19:14:00 +01:00
Peter Steinberger
067f27f6a2
fix: normalize stale qmd binary paths
2026-04-12 19:08:59 +01:00
Peter Steinberger
19d8069aea
fix: lazy-start gateway mcp loopback
2026-04-12 19:08:58 +01:00
Marcus Castro
000fc7f233
refactor(qa): add shared QA channel contract and harden worker startup ( #64562 )
...
* refactor(qa): add shared transport contract and suite migration
* refactor(qa): harden worker gateway startup
* fix(qa): scope waits and sanitize shutdown artifacts
* fix(qa): confine artifacts and redact preserved logs
* fix(qa): block symlink escapes in artifact paths
* fix(gateway): clear shutdown race timers
* fix(qa): harden shutdown cleanup paths
* fix(qa): sanitize gateway logs in thrown errors
* fix(qa): harden suite startup and artifact paths
* fix(qa): stage bundled plugins from mutated config
* fix(qa): broaden gateway log bearer redaction
* fix(qa-channel): restore runtime export
* fix(qa): stop failed gateway startups as a process tree
* fix(qa-channel): load runtime hook from api surface
2026-04-12 15:02:57 -03:00
Vincent Koc
fcae3bf943
fix(agents): preserve active-turn queued user prompts ( #65478 )
...
* fix(agents): preserve active-turn queued user prompts
* Update src/agents/pi-embedded-runner/run/attempt.prompt-helpers.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* Update CHANGELOG.md
* Update CHANGELOG.md
---------
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-04-12 19:02:55 +01:00
Peter Steinberger
4df9772b6e
fix: trim timezone suffix from pretty logs
2026-04-12 18:58:27 +01:00
Peter Steinberger
87fa88ac3d
fix: use literal runtime import for compaction
2026-04-12 18:56:27 +01:00
Peter Steinberger
e24b80b15e
fix: clarify escaped skill path warnings
2026-04-12 10:53:31 -07:00
Vincent Koc
6437aa8532
fix(inbound-meta): unblock Claude CLI and scrub NULs ( #65467 )
...
* fix(inbound-meta): rename schema and scrub NULs
* fix(inbound-meta): harden untrusted context blocks
* fix(inbound-meta): preserve fenced metadata blocks
* fix(inbound-meta): cap untrusted context payloads
2026-04-12 18:52:48 +01:00
Peter Steinberger
15b86ac6d0
fix: narrow qmd defaults and clawblocker memory
2026-04-12 18:52:06 +01:00
saram ali
7995e408ce
fix(discord): clear stale heartbeat timers in SafeGatewayPlugin.connect() ( #65087 )
...
* fix(discord): clear stale heartbeat timers in SafeGatewayPlugin.connect()
The @buape/carbon@0.15 .0 heartbeat setup has a race where stopHeartbeat()
runs before heartbeatInterval is assigned, leaving a stale setInterval with
a closed reconnectCallback. When the stale interval fires ~41s later it
throws an uncaught exception that bypasses the EventEmitter error path and
crashes the gateway process via process.on('uncaughtException').
Add a connect() override in SafeGatewayPlugin that unconditionally clears
both heartbeatInterval and firstHeartbeatTimeout before calling super. The
parent's connect() only calls stopHeartbeat() when isConnecting=false; when
isConnecting=true it returns early without clearing — this override fills
that gap.
Fixes #65009 . Related: #64011 , #63387 , #62038 .
* test(discord): assert super.connect() delegation in SafeGatewayPlugin tests
* fix(ci): update raw-fetch allowlist line numbers for gateway-plugin.ts
The connect() override added in the heartbeat fix shifted the two
pre-existing fetch() callsites from lines 370/436 to 387/453.
* docs(changelog): add discord heartbeat crash note
* test(cli): align plugin registry load-context mock
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-04-12 18:40:04 +01:00
Peter Steinberger
a8e140e395
chore: bump version to 2026.4.12
2026-04-12 10:37:18 -07:00
Vincent Koc
9259e593e6
test(gateway): share transcript event waiters
2026-04-12 18:33:47 +01:00
Vincent Koc
9c2b094f3f
test(gateway): share search session transcript fixtures
2026-04-12 18:32:04 +01:00
Vincent Koc
a24af49100
fix(update-cli): respawn plugin refresh after self-update ( #65471 )
...
* fix(update-cli): respawn plugin refresh after self-update
* Update src/cli/update-cli/update-command.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* Update CHANGELOG.md
---------
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-04-12 18:26:43 +01:00
Vincent Koc
f00f0a9596
fix(agents): stop leaking session lock exit listeners ( #65469 )
...
* fix(agents): stop leaking session lock exit listeners
* Update src/agents/session-write-lock.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
---------
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-04-12 18:22:12 +01:00
Vincent Koc
a5aceebc01
test(gateway): share bearer agents list invoke
2026-04-12 18:20:39 +01:00
Vincent Koc
27afd01577
test(gateway): share session history sse helpers
2026-04-12 18:17:50 +01:00
Vincent Koc
686e5976df
test(gateway): share preauth hardening setup helpers
2026-04-12 18:04:22 +01:00
Vincent Koc
eddd9a1a1c
test(gateway): share silent reconnect rejection assertions
2026-04-12 18:00:49 +01:00
Vincent Koc
b35becfb1d
test(gateway): share plugin approval no-route context
2026-04-12 17:59:17 +01:00
Vincent Koc
2c5290a7b1
test(gateway): share paired ios operator fixture
2026-04-12 17:57:55 +01:00
Vincent Koc
ed1744bcaa
test(heartbeat): cover isolated cron event consumption
2026-04-12 17:55:36 +01:00
Vincent Koc
68a64a14d9
test(gateway): share close handler deps
2026-04-12 17:45:46 +01:00
Nimrod Gutman
26dbc3da15
fix(agents): isolate skills tests from personal home ( #65456 )
2026-04-12 19:44:50 +03:00
Peter Steinberger
b23f56fa8c
fix: restore media understanding attempt outcome export
2026-04-12 17:44:16 +01:00
Pengfei Ni
aff8a0c0e7
fix(config): resolve CLI command aliases against parent plugin in plugins.allow ( #64748 ) ( #64779 )
...
* fix(config): resolve CLI command aliases against parent plugin in plugins.allow (#64748 )
The CLI allow guard checked command names (e.g. 'wiki') directly against
plugins.allow, missing the parent plugin ('memory-wiki'). Additionally,
memory-wiki did not declare 'wiki' as a commandAlias, so doctor --fix
would remove it as stale.
- Add commandAliases entry for 'wiki' in memory-wiki plugin manifest
- Check parent plugin ID in the CLI fallback allow guard
- Add tests for both allow and deny cases
* fix(cli): inject manifest registry for alias diagnostics
* Update CHANGELOG.md
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-04-12 17:32:11 +01:00
Vincent Koc
7518b8d339
test(gateway): share allowlist node helpers
2026-04-12 17:26:31 +01:00
Vincent Koc
b7b3846793
feat(plugins): narrow channel loads from manifests ( #65429 )
...
* feat(plugins): narrow channel loads from manifests
* fix(plugins): harden channel owner activation trust
* fix(plugins): preserve empty channel scopes
* fix(plugins): honor channel-owner policy gates
* fix(plugins): keep channel setup and scope fallbacks correct
* fix(plugins): keep channel trust tied to source config
2026-04-12 17:24:15 +01:00
Peter Steinberger
50fcdb36a8
fix: preserve prompt budget for small context models
2026-04-12 17:16:37 +01:00
Vincent Koc
0b8f09819f
fix(media): use exported decision outcome type
2026-04-12 17:13:27 +01:00
Vincent Koc
df1a82f6c1
test(gateway): share auth-profile ref fixture
2026-04-12 17:11:12 +01:00
Vincent Koc
88dfc6e7b6
test(gateway): share hook session routing helper
2026-04-12 17:09:23 +01:00
Vincent Koc
43cb94a39a
fix(doctor): preserve discord streaming downgrade compatibility
2026-04-12 17:09:08 +01:00
Daniel Alkurdi
1f0431cd11
fix(media): surface OpenAI audio transcription failures ( #65096 )
...
* fix(media): surface audio transcription provider failures
* fix(media): prefer failed reasons in surfaced errors
* fix(media): import attempt outcome type
* fix(media): guard malformed decision arrays
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-04-12 17:05:18 +01:00
Vincent Koc
d46f684898
test(agents): fix tsgo typing regressions
2026-04-12 17:02:24 +01:00
Vincent Koc
3bb69edf58
test(gateway): share browser origin rejection helper
2026-04-12 17:01:43 +01:00
Peter Steinberger
c146738996
fix: stabilize subagent cleanup retries
2026-04-12 16:59:27 +01:00
Vincent Koc
2de988ae4b
test(gateway): share temp home env setup
2026-04-12 16:56:06 +01:00