Vincent Koc
be1b4e6683
fix(ci): route matrix config helper through local barrel
2026-04-02 13:52:54 +09:00
Vincent Koc
4fd1e1c64f
perf(memory): lazy-load matrix client runtime deps
2026-04-02 13:51:48 +09:00
Scott Glover
9bbbee32e1
Docs: replace personal device names with generic placeholders ( #50825 )
2026-04-02 00:50:25 -04:00
Vincent Koc
6dbdcbda58
perf(memory): lazy-load matrix shared client creation
2026-04-02 13:48:20 +09:00
Vincent Koc
bfa561b1a7
perf(memory): lazy-load matrix secret config input
2026-04-02 13:46:06 +09:00
Vincent Koc
a398520ac8
perf(memory): trim matrix resolved config imports
2026-04-02 13:42:58 +09:00
Priyansh Gupta
b9c74fc884
fix(image-tool): resolve relative paths against workspaceDir ( #57222 )
...
Relative paths like "inbox/receipt.png" were resolved against
process.cwd() instead of the agent's workspaceDir, causing the
allowlist check to fail with "Local media path is not under an
allowed directory". This matches how the read tool already behaves.
Fixes #57215
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-02 00:41:09 -04:00
Marcus Castro
e1c96785ac
fix(whatsapp): gate connect-time presence on selfChatMode to preserve phone notifications ( #59410 )
2026-04-02 01:40:06 -03:00
Vincent Koc
df60fa8d49
perf(memory): trim matrix account resolution imports
2026-04-02 13:39:33 +09:00
Vincent Koc
45adba882f
docs: add contributor attribution for diffs viewerBaseUrl
2026-04-02 13:35:23 +09:00
Gustavo Madeira Santana
19c954bd78
diffs: add configurable viewer base URL ( #59341 )
...
Merged via squash.
Prepared head SHA: 3c2a84849f
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-02 00:31:29 -04:00
Vincent Koc
d55cefac00
perf(memory): trim matrix config import graph
2026-04-02 13:21:44 +09:00
Vincent Koc
75b5a4c713
perf(memory): lazy-load matrix send client bootstrap
2026-04-02 13:10:24 +09:00
Vincent Koc
4a5102c1bb
docs: fix changelog attribution and add missing WhatsApp MIME fix entry
2026-04-02 13:03:35 +09:00
Vincent Koc
d4c7ef3778
perf(memory): lazy-load matrix crypto runtime graph
2026-04-02 12:51:50 +09:00
Sally O'Malley
ee274dbdd1
remove noisy podman output from launch script and update doc ( #59368 )
...
Signed-off-by: sallyom <somalley@redhat.com >
2026-04-01 23:28:11 -04:00
bobbyt74
cae1d9bc6d
fix(whatsapp): add HTML/XML/CSS to MIME map + fallback for unknown media types ( #51562 )
...
Merged via squash.
Prepared head SHA: 83f2eabd49
Co-authored-by: bobbyt74 <262672147+bobbyt74@users.noreply.github.com >
Co-authored-by: mcaxtr <7562095+mcaxtr@users.noreply.github.com >
Reviewed-by: @mcaxtr
2026-04-02 00:25:12 -03:00
Vincent Koc
8c3167a7c7
perf(memory): trim matrix auth test sdk imports
2026-04-02 11:45:32 +09:00
Vincent Koc
534f0a644b
fix(plugins): keep browser facade helpers cold
2026-04-02 11:44:49 +09:00
wangchunyue
51edd30bea
fix: restore local loopback role upgrades ( #59092 ) (thanks @openperf)
...
* fix(gateway ): allow silent role upgrades for local loopback clients
When a local loopback client connects with a role not covered by
existing device tokens, listEffectivePairedDeviceRoles incorrectly
returns an empty role set for devices whose tokens map is an empty
object. This triggers a role-upgrade pairing request that
shouldAllowSilentLocalPairing rejects because it does not recognise
the role-upgrade reason.
Fix listEffectivePairedDeviceRoles to fall back to legacy role fields
when the tokens map has no entries, and extend
shouldAllowSilentLocalPairing to accept role-upgrade for local
clients.
Fixes #59045
* fix: restore local loopback role upgrades (#59092 ) (thanks @openperf)
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-04-02 08:13:45 +05:30
Vincent Koc
1ea901b107
perf(memory): lazy-load slack action runtime graph
2026-04-02 11:31:19 +09:00
Vincent Koc
a7e3c0b0e1
feat(slack): add scoped prompts and mrkdwn hints ( #59100 )
...
* feat(slack): add scoped prompts and mrkdwn hints
* refactor(slack): drop dm prompt override
* refactor(slack): drop exposed prompt config
* chore(changelog): note slack mrkdwn fix
2026-04-02 11:23:43 +09:00
Vincent Koc
7c913f2e13
chore(changelog): record plugin loading hardening
2026-04-02 11:20:50 +09:00
Vincent Koc
7771c69caf
fix(plugins): enforce activation before shipped imports ( #59136 )
...
* fix(plugins): enforce activation before shipped imports
* fix(plugins): remove more ambient bundled loads
* fix(plugins): tighten scoped loader matching
* fix(plugins): remove channel-id scoped loader matches
* refactor(plugin-sdk): relocate ambient provider helpers
* fix(plugin-sdk): preserve unicode ADC credential paths
* fix(plugins): restore safe setup fallback
2026-04-02 11:18:49 +09:00
Vincent Koc
765e8fb713
perf(memory): trim matrix send media imports
2026-04-02 11:16:50 +09:00
Vincent Koc
f4e2240b85
perf(memory): trim matrix account config imports
2026-04-02 11:12:37 +09:00
Gustavo Madeira Santana
7514324510
Docs: fix plugin architecture table formatting
2026-04-01 22:07:15 -04:00
Brad Groux
03c64df39f
fix(msteams): use formatUnknownError instead of String(err) for error logging ( #59321 )
...
Replaces String(err) with the existing formatUnknownError() utility across
the msteams extension to prevent [object Object] appearing in error logs
when non-Error objects are caught (e.g., Axios errors, Bot Framework SDK
error objects).
Fixes #53910
thanks @bradgroux
2026-04-01 21:06:44 -05:00
Vincent Koc
474693bdb2
perf(memory): trim matrix monitor allowlist imports
2026-04-02 11:05:27 +09:00
Gustavo Madeira Santana
ba735d0158
Exec approvals: unify effective policy reporting and actions ( #59283 )
...
Merged via squash.
Prepared head SHA: d579b97a93
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-01 22:02:39 -04:00
Vincent Koc
dc66c36b9e
perf(memory): trim telegram monitor test module churn
2026-04-02 10:57:01 +09:00
Gustavo Madeira Santana
32fa5c3be5
fix(agents): resolve compaction wait before channel flush ( #59308 )
...
Merged via squash.
Prepared head SHA: bf17502df8
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-01 21:40:23 -04:00
Vincent Koc
326490ab76
docs: cover compaction notifyUser config and provider replay hooks
2026-04-02 10:23:33 +09:00
Vincent Koc
687030cbf2
perf(memory): trim matrix and telegram runtime seams
2026-04-02 10:18:56 +09:00
Vincent Koc
1cc5526f7f
docs: fix Nostr inbound signature verification order in docs
2026-04-02 10:11:09 +09:00
joshavant
c22233d96c
Revert "refactor(plugins): remove before_install hook"
2026-04-01 19:57:07 -05:00
Brad Groux
57949397fa
fix(msteams): prevent duplicate text when stream exceeds 4000 char limit ( #59297 )
...
When a streamed response exceeds TEAMS_MAX_CHARS, the stream sets streamFailed=true and finalizes. Previously, hasContent returned false when streamFailed was true, causing preparePayload to pass through the full payload for block delivery, duplicating already-streamed text.
Now tracks streamed length and strips the already-delivered prefix from fallback payloads.
Fixes #58601
thanks @bradgroux
2026-04-01 19:03:19 -05:00
Gustavo Madeira Santana
560ea25294
Matrix: restore ordered progress delivery with explicit streaming modes ( #59266 )
...
Merged via squash.
Prepared head SHA: 523623b7e1
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-01 19:35:03 -04:00
Gustavo Madeira Santana
91a7505af6
fix(tests): serialize shared channel audit state cases
2026-04-01 19:12:05 -04:00
Gustavo Madeira Santana
a204f790ce
fix(matrix): package verification bootstrap runtime ( #59249 )
...
Merged via squash.
Prepared head SHA: df5891b663
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-01 17:52:51 -04:00
Gustavo Madeira Santana
c87c8e66bf
Refactor channel approval capability seams ( #58634 )
...
Merged via squash.
Prepared head SHA: c9ad4e4706
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-01 17:10:25 -04:00
Logan Ye
d9a7ffe003
failover: classify AbortError / stream-abort messages as timeout ( #58315 ) ( #58324 )
...
Merged via squash.
Prepared head SHA: d8412f27e6
Co-authored-by: yelog <14227866+yelog@users.noreply.github.com >
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com >
Reviewed-by: @altaywtf
2026-04-02 00:02:31 +03:00
zqchris
75ab5bce6b
fix(bluebubbles): add enrichGroupParticipantsFromContacts to core Zod schema ( #56889 )
...
* fix(bluebubbles): add enrichGroupParticipantsFromContacts to core Zod schema
The field was added to the extension config schema in #54984 but not
synced to the core strict Zod validator, causing config validation to
reject the key at startup with 'Unrecognized key'.
* test(config): add BlueBubbles schema regression coverage
* fix(bluebubbles): accept enrichGroupParticipantsFromContacts config
---------
Co-authored-by: Chris Zhang <chris@ChrisdeMac-mini.local >
Co-authored-by: Altay <altay@uinaf.dev >
2026-04-01 23:55:58 +03:00
Josh Lehman
71346940ad
refactor: add provider replay runtime hook surfaces ( #59143 )
...
Merged via squash.
Prepared head SHA: 56b41e87a5
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-04-01 13:45:41 -07:00
Bruno Lorente
ca76e2fedc
fix(cron-tool): add typed properties to job/patch schemas ( #55043 )
...
Merged via squash.
Prepared head SHA: 979bb0e8b7
Co-authored-by: brunolorente <127802443+brunolorente@users.noreply.github.com >
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com >
Reviewed-by: @altaywtf
2026-04-01 23:41:19 +03:00
Kris Wu
7027dda8cd
fix(ui): prevent premature compaction status update on retry ( #55132 )
...
Merged via squash.
Prepared head SHA: e7e562f982
Co-authored-by: mpz4life <32388289+mpz4life@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-04-01 13:38:51 -07:00
Joshua Lelon Mitchell
7cb323d84f
feat(plugins): add before_agent_reply hook (claiming pattern) ( #20067 )
...
Merged via squash.
Prepared head SHA: e40dfbdfb9
Co-authored-by: JoshuaLelon <23615754+JoshuaLelon@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-04-01 13:31:11 -07:00
Nimrod Gutman
017bc5261c
fix(gateway): prefer bootstrap auth over tailscale ( #59232 )
...
* fix(gateway): prefer bootstrap auth over tailscale
* fix(gateway): prefer bootstrap auth over tailscale (#59232 ) (thanks @ngutman)
2026-04-01 23:20:10 +03:00
9ra55
5cf254a5f7
fix: honor authHeader provider config by injecting Authorization Bear… ( #54390 )
...
Merged via squash.
Prepared head SHA: 9889615571
Co-authored-by: lndyzwdxhs <16411017+lndyzwdxhs@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-04-01 13:18:37 -07:00
Josh Lehman
90eb5b073f
fix: pass session identity to plugin commands ( #59044 )
...
Merged via squash.
Prepared head SHA: 0f7a23f139
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-04-01 13:07:17 -07:00