Commit Graph

5099 Commits

Author SHA1 Message Date
Neerav Makwana 9267c3f8f2 fix: preserve iMessage self-chat aliases (#61619) (thanks @neeravmakwana)
* fix(imessage): avoid DM self-chat false positives

* fix(imessage): treat blank destination caller id as missing

* fix(imessage): preserve alias self-chat

* fix: preserve iMessage self-chat aliases (#61619) (thanks @neeravmakwana)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-09 17:13:22 +05:30
Peter Steinberger 8be3a4466c fix(feishu): read webhook bodies through pre-auth guard 2026-04-09 10:18:07 +01:00
Frank Yang 3e062acbcb fix(fireworks): disable FirePass Kimi reasoning leak (#63607)
* fix: disable FirePass Kimi reasoning leak

* fix: preserve Fireworks wrapper fallbacks

* fix: harden Fireworks Kimi model matching

* fix: restore Fireworks payload sanitization
2026-04-09 17:09:17 +08:00
Davanum Srinivas 08ae021d1f fix(qqbot): guard image-size probe against SSRF (#63495)
* fix(qqbot): replace raw fetch in image-size probe with SSRF-guarded fetchRemoteMedia

Replace the bare fetch() in getImageSizeFromUrl() with fetchRemoteMedia()
from the plugin SDK, closing the blind SSRF via markdown image dimension
probing (GHSA-2767-2q9v-9326).

fetchRemoteMedia options: maxBytes 65536, maxRedirects 0, generic
public-network-only SSRF policy (no hostname allowlist, blocks
private/reserved/loopback/link-local/metadata IPs after DNS resolution).

Also fixes the repo-root resolution in scripts/lib/ts-guard-utils.mjs
which caused lint:tmp:no-raw-channel-fetch to miss extension files
entirely. The guard now walks up to .git instead of hardcoding two parent
traversals, and the allowlist is refreshed with all pre-existing raw
fetch callsites that became visible.

* fix(qqbot): guard image-size probe against SSRF (#63495) (thanks @dims)

---------

Co-authored-by: sliverp <870080352@qq.com>
2026-04-09 16:48:04 +08:00
Vincent Koc 3f7e6c7c64 fix(feishu): remove runtime api type cycle 2026-04-09 09:23:52 +01:00
Vincent Koc 60a3733f12 fix(bluebubbles): remove status type barrel cycle 2026-04-09 09:22:11 +01:00
Vincent Koc ce32697250 fix(openshell): split fs bridge backend types 2026-04-09 09:17:29 +01:00
Vincent Koc 7d6af7e154 fix(agents): split sandbox backend handle types 2026-04-09 08:52:14 +01:00
Peter Steinberger 03d056989a test: isolate discord model picker dispatch mock 2026-04-09 08:04:53 +01:00
Gustavo Madeira Santana 1801702ed9 Matrix: gate legacy crypto migration on inspector availability 2026-04-09 01:38:58 -04:00
manuel-claw e30d0cffc4 fix(whatsapp): drain reconnect queue after WhatsApp reconnects (#30806) (#46299)
Merged via squash.

Prepared head SHA: 5ce763406e8e0217115f0d0331176c0162106781
Co-authored-by: manuel-claw <268194568+manuel-claw@users.noreply.github.com>
Co-authored-by: mcaxtr <7562095+mcaxtr@users.noreply.github.com>
Reviewed-by: @mcaxtr
2026-04-09 02:33:36 -03:00
Gustavo Madeira Santana b7c28f3e1f Matrix: trim dead client config exports 2026-04-09 01:28:03 -04:00
Gustavo Madeira Santana cc6654a055 Matrix: remove native approval wrapper 2026-04-09 01:28:03 -04:00
Gustavo Madeira Santana 4fd65616d2 Matrix: drop dead helper aliases 2026-04-09 01:28:03 -04:00
Gustavo Madeira Santana 66e52a3e5d matrix: break migration runtime import cycle 2026-04-09 01:20:46 -04:00
Peter Steinberger 2ee39fab83 test: run Ollama stream coverage inside plugin 2026-04-09 06:13:39 +01:00
Peter Steinberger 766a676d48 test: update browser and reply mocks for direct imports 2026-04-09 05:52:07 +01:00
Pavan Kumar Gondhi b1724f8b5f fix(browser): auto-generate browser control auth token for none/trusted-proxy modes [AI] (#63280)
* fix: address issue

* fix: address review feedback

* fix: finalize issue changes

* fix: address PR review feedback

* fix: address PR review feedback

* fix: address PR review feedback

* docs: add changelog entry for PR merge
2026-04-09 09:55:24 +05:30
Marcus Castro da1da61102 fix(whatsapp): preserve replies across reconnects (#62892) 2026-04-09 00:05:52 -03:00
Peter Steinberger 719f06510c chore: bump version to 2026.4.10 2026-04-09 03:56:22 +01:00
Peter Steinberger 0c278bb93c refactor: break runtime import cycles 2026-04-09 03:56:22 +01:00
sudie-codes 1fed7bc379 fix(msteams): pin reply target at inbound time to prevent DM/channel leak (#54520) (#62716) 2026-04-08 21:22:12 -05:00
sudie-codes 9edfefedf7 fix(msteams): route thread replies to correct thread via replyToId (#58030) (#62715) 2026-04-08 21:22:09 -05:00
sudie-codes 38aa1edf76 fix(msteams): isolate channel thread sessions by replyToId (#58615) (#62713)
* fix(msteams): isolate thread sessions by replyToId (#58615)

* fix(msteams): align thread ID extraction + fix test types
2026-04-08 21:22:05 -05:00
Peter Steinberger 62bde7ede3 test: isolate slack thread-ts recovery 2026-04-09 02:43:29 +01:00
Mason 74b5b97f62 tests: reset discord native-command seams in model picker (#63267) 2026-04-09 09:38:31 +08:00
Peter Steinberger dcfb3ed4e3 plugins: keep google provider policy lightweight 2026-04-09 01:48:48 +01:00
Peter Steinberger f0ea5bf393 plugins: add lightweight anthropic vertex discovery 2026-04-09 01:43:40 +01:00
Mason Huang aa15de8fdc plugin-sdk: split command status surface 2026-04-09 01:35:15 +01:00
Peter Steinberger be46d0ddc6 test: update character eval public panel 2026-04-09 01:25:59 +01:00
Vignesh Natarajan 2484064c48 chore(lint): clear extension lint regressions and add #63416 changelog 2026-04-08 17:17:29 -07:00
Peter Steinberger 39cc6b7dc7 fix: stabilize character eval and Qwen model routing 2026-04-09 01:04:09 +01:00
Peter Steinberger ac12b0701b style: format memory and gateway touchups 2026-04-09 00:44:09 +01:00
Peter Steinberger f2c0482d3c fix: surface delayed browser navigation blocks 2026-04-09 00:42:52 +01:00
Peter Steinberger fbbd644d7a plugins: load lightweight provider discovery entries 2026-04-09 00:33:33 +01:00
Peter Steinberger c62a39c7a1 fix: restore main ci 2026-04-08 23:30:18 +01:00
Mariano d514f4de83 Dreaming: surface grounded scene lane (#63395)
Merged via squash.

Prepared head SHA: 0c7f586f32459dca89894202559377ee946a55ff
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-04-09 00:24:47 +02:00
Gustavo Madeira Santana bd7801eefa Slack: key turn-local dedupe by dispatch kind
Scope Slack turn-local delivery dedupe by reply dispatch kind so identical tool and final payloads on the same thread do not collapse into one send.

Expose the existing dispatcher kind on the public reply-runtime seam and cover the Slack tracker and preview-fallback paths with regression tests.
2026-04-08 18:19:34 -04:00
Altay 554bc0a9fd fix(plugins): keep test helpers out of contract barrels (#63311)
Merged via squash.

Prepared head SHA: 769e90c6af377e13a3dcc56f70131e4caa48e0ca
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com>
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com>
Reviewed-by: @altaywtf
2026-04-08 22:59:05 +01:00
Gustavo Madeira Santana 10c87527d5 Slack: dedupe partial streaming replies (#62859)
Merged via squash.

Prepared head SHA: cbecb50c06f7657dc259cf9fdc71419b9b390559
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-08 17:55:30 -04:00
Mariano Belinky a71ad12044 Memory/dreaming: harden grounded backfill follow-ups 2026-04-08 23:43:39 +02:00
Peter Steinberger 868d03d6d0 fix(memory): align dreaming status payloads 2026-04-08 22:38:29 +01:00
Mariano e8209e4cf9 Memory/dreaming: feed grounded backfill into short-term promotion (#63370)
Merged via squash.

Prepared head SHA: 5dfe246ef94a756dc776dbb34d4ccafa960dbfb7
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-04-08 23:31:37 +02:00
lukeboyett f6e1da3ab3 fix(matrix/doctor): migrate legacy channels.matrix.dm.policy 'trusted' (fixes #62931) (#62942)
Merged via squash.

Prepared head SHA: d9f553bccf65eb6f27d465a64fc95eb741d589cc
Co-authored-by: lukeboyett <46942646+lukeboyett@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-04-08 17:00:19 -04:00
Shakker d66e2d5b33 test: cover curated qa missing-key reply classification 2026-04-08 21:55:39 +01:00
Shakker c63d25bd9b fix: classify curated qa missing-key replies 2026-04-08 21:55:39 +01:00
Shakker 9cfa152962 test: cover mixed-traffic qa wait cursors 2026-04-08 21:55:39 +01:00
Shakker 204d766b27 fix: align qa wait cursor semantics 2026-04-08 21:55:39 +01:00
Shakker a6d76df4f0 test: cover qa scenario wait failure replies 2026-04-08 21:55:39 +01:00
Shakker b3f3cfd598 fix: fail fast across qa scenario wait paths 2026-04-08 21:55:39 +01:00