qingminlong
8a595dafe4
fix(matrix): preserve UTF-8 bootstrap output tails ( #105475 )
...
* fix(matrix): preserve UTF-8 in bootstrap output tails
* fix(matrix): satisfy deps output tail types
* docs(changelog): note Matrix UTF-8 tail fix
Co-authored-by: qingminlong <0668001063@xydigit.com >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-12 12:12:55 -07:00
Peter Steinberger
74e42892b6
fix: delay narrated channel progress and remove default title ( #105607 )
...
* fix(channels): delay narrated progress drafts
* chore: keep release changelog unchanged
2026-07-12 12:06:38 -07:00
Peter Steinberger
619a68e97e
fix(qa): repair agentic runtime parity mocks ( #105500 )
...
* fix(qa): repair agentic runtime parity mocks
* fix(qa): scope terminal media parity evidence
* fix(qa): require one image call for media fallback
* fix(qa): bind terminal media proof to image step
* fix(qa): require image capture agreement
* fix(qa): allow skipped parity steps
2026-07-12 19:53:05 +02:00
dwc1997
2ebf0422db
fix(discord): keep realtime partial transcript tail UTF-16 safe ( #104896 )
...
* fix(discord): keep realtime partial transcript tail UTF-16 safe
* refactor(discord): isolate realtime transcript merging
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-12 18:47:05 +01:00
Peter Steinberger
2d86d07f73
test(discord): verify identity probe deadline behavior ( #105541 )
...
* test(discord): verify identity probe deadline behavior
* test(discord): keep timeout rejection message agnostic
2026-07-12 18:33:50 +01:00
Marcus Castro
80d11f1246
refactor(whatsapp): use runtime context for connection controllers ( #104949 )
...
* refactor(whatsapp): replace connection controller registry
* fix(whatsapp): remove controller context import cycle
2026-07-12 14:22:57 -03:00
Marcus Castro
6787c2f653
refactor(whatsapp): reuse SDK dedupe cache ( #104962 )
2026-07-12 14:15:53 -03:00
Peter Steinberger
9ebf9a2e89
fix(qa-lab): tuple-narrow Slack progress markers in live test types
...
#103995 added mutate callbacks that destructure the marker array; under
indexed-access checking string[] elements are string | undefined, failing
check-test-types on main and every PR. The some() guard already proves all
three markers exist, so narrow to a tuple.
2026-07-12 10:01:43 -07:00
efrazer-oai
d09d200293
fix(slack): show commentary independently of tool progress ( #103995 )
...
* fix(slack): separate commentary progress from tools
* fix(slack): preserve legacy preamble defaults
* test(slack): add live commentary progress proof
* fix(slack): support scoped progress drafts
* test(slack): harden commentary progress proof
* test(slack): type commentary matrix cases
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-12 17:52:53 +01:00
Vincent Koc
7e52cbf234
refactor(memory): remove unused size classifier ( #105526 )
2026-07-12 18:39:52 +02:00
Vincent Koc
10853e82fd
refactor(workspaces): remove unused migration helper ( #105522 )
2026-07-12 18:28:17 +02:00
Vincent Koc
007f714dca
fix(openai): preserve image routing before catalog load ( #105518 )
...
* fix(openai): handle image providers without model catalogs
* test(openai): use exported config contract
* test(openai): model provider overlays before catalog load
2026-07-12 18:27:57 +02:00
Peter Steinberger
8573f9e016
test(msteams): align stream failure trace ( #105509 )
2026-07-12 17:19:03 +01:00
Alix-007
bfb4557c83
fix(discord): add timeouts to directory lookup requests ( #104290 )
2026-07-12 11:54:14 -04:00
Alix-007
2f3517c73f
fix(qqbot): add timeout to remote media URL fetches ( #103018 )
...
* fix(qqbot): add timeout to remote media URL fetches
* fix(qqbot): use response header media timeout
---------
Co-authored-by: llagy009 <0668001470@xydigit.com >
2026-07-12 11:53:00 -04:00
Peter Steinberger
a24eab8488
fix(qa): read runtime parity transcripts from sqlite ( #105495 )
...
* fix(qa): read runtime parity transcripts from sqlite
* test(qa): track parity temp directories
* docs(agents): note PR head refresh sequence
2026-07-12 16:48:35 +01:00
Jesse Merhi
90008b081b
fix(signal): preserve native quote replies from agent sends ( #105347 )
...
* fix(signal): persist native reply context
* fix(signal): retain implicit native reply context
* fix(signal): inherit current reply in message tool
* fix(signal): preserve implicit reply provenance
* fix(signal): match equivalent reply targets
* test(signal): narrow threading context
* fix(signal): retain effective reply mode
* fix(signal): preserve explicit reply provenance
* fix(signal): carry reply provenance
* fix(signal): retain reply context on no-op merge
* fix(signal): honor disabled implicit replies
* fix(signal): keep reply policy plugin-local
* docs(changelog): note Signal native quote replies
2026-07-13 01:41:20 +10:00
Peter Steinberger
30cc87a8a6
test(qa): model Codex compaction in parity mock ( #105493 )
...
* test(qa): model codex compaction in parity mock
* docs(agents): record gh branch lookup syntax
2026-07-12 16:37:39 +01:00
Alix-007
20f19d8d5c
fix(minimax): apply request policy to media generation requests ( #102072 )
...
* fix(minimax): apply request policy to media generation requests
* fix(minimax): include image request policy
* fix(minimax): apply request policy to follow-up media fetches
* fix(minimax): preserve retries for guarded media fetches
2026-07-12 11:29:57 -04:00
Peter Steinberger
3b0d3574e3
fix(qa): keep mock memory embeddings offline ( #105488 )
2026-07-12 16:28:46 +01:00
Vincent Koc
e313a2431c
refactor(brave): remove obsolete testing alias ( #105486 )
2026-07-12 17:16:47 +02:00
Alix-007
bbac74685d
fix(dashscope): apply request policy to video requests ( #102094 )
...
* fix(dashscope): apply request policy to video requests
* fix(dashscope): apply request policy to task follow-ups
2026-07-12 11:11:15 -04:00
Vincent Koc
761839343a
refactor(tencent): localize preview model reference ( #105482 )
2026-07-12 17:03:26 +02:00
Galin Iliev
787ed383f5
fix: Microsoft Teams streaming keeps chunk after whitespace collapse ( #102357 )
...
* fix(msteams): preserve streaming delta after whitespace collapse
* fix(msteams): clear stale stream text on rewrite fallback
* test(msteams): update delivery trace stream mock
---------
Co-authored-by: Peter Steinberger <steipete@openai.com >
2026-07-12 08:01:19 -07:00
Vincent Koc
3d1f5ffd54
refactor(voice-call): retire runtime config compatibility ( #105476 )
...
* refactor(voice-call): rename config migration module
* refactor(voice-call): retire runtime config compatibility
2026-07-12 16:47:40 +02:00
Vincent Koc
551e484598
refactor(clawrouter): localize default base URL ( #105474 )
2026-07-12 16:47:15 +02:00
Peter Steinberger
a97300bad8
fix(qa): preserve Codex mock routing ( #105444 )
...
* fix(qa): preserve Codex mock routing
* fix(qa): satisfy extension lint
2026-07-12 15:25:07 +01:00
NIO
92db88e36b
fix(github-copilot): bound Copilot token exchange fetch timeout ( #104488 )
...
* fix(github-copilot): bound Copilot token exchange fetch timeout
* fix(github-copilot): harden token exchange deadline
Co-authored-by: hugenshen <hu.genshen@xydigit.com >
* chore: remove release-owned changelog entry
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-12 15:24:39 +01:00
Vincent Koc
79ca96cd66
refactor(nostr): centralize metrics state ( #105408 )
2026-07-12 16:22:02 +02:00
Peter Steinberger
7ca827eba2
fix(qa): align mock catalog with selected models ( #105401 )
...
* fix(qa): align mock catalog with selected models
* test(qa): verify selected refs reach mock server
2026-07-12 15:21:19 +01:00
Peter Steinberger
b16be75cf2
fix(whatsapp): preserve disconnect errors ( #105399 )
2026-07-12 15:17:34 +01:00
Peter Steinberger
5b2ae5df9d
test(browser): align existing-session document mock ( #105398 )
...
* test(browser): align existing-session document mock
* test(browser): type document evaluator mock
* test(browser): type document evaluator mock
2026-07-12 15:16:46 +01:00
Vincent Koc
046bf2468d
refactor(meta): remove unused stream helper export ( #105443 )
2026-07-12 16:09:01 +02:00
Vincent Koc
de5e15efc3
refactor(google-meet): remove obsolete Chrome testing alias ( #105416 )
2026-07-12 15:53:16 +02:00
Vincent Koc
8c236c320d
refactor(transcription): remove obsolete testing aliases ( #105406 )
2026-07-12 15:43:24 +02:00
Vincent Koc
6f9a607b90
refactor(google): remove obsolete Gemini testing alias ( #105400 )
2026-07-12 15:36:04 +02:00
Vincent Koc
161525d43c
refactor(cloudflare-ai-gateway): remove obsolete testing alias ( #105394 )
2026-07-12 15:27:41 +02:00
Michael Appel
dc6befc072
fix(browser): bind wait predicates to allowed documents ( #101852 )
...
* fix(browser): bind waits to allowed documents
Co-authored-by: Michael Appel <3399869+mmaps@users.noreply.github.com >
* fix(browser): guard document-bound wait predicates
Co-authored-by: Michael Appel <3399869+mmaps@users.noreply.github.com >
* fix(browser): satisfy wait guard gates
* test(browser): update lint suppression baseline
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-12 13:27:51 +01:00
Peter Steinberger
c6dc5bc764
fix(canvas): hosted pages fail on macOS with scoped Gateway auth ( #105336 )
...
* fix(canvas): harden hosted Canvas on macOS
Resolve Gateway-hosted Canvas and A2UI targets through refreshed node capabilities, keep bridge and live-reload behavior correct, and restrict native action dispatch to the exact trusted main-frame document.
Preserve scalar evaluation results, secure action IDs, and hidden state-directory watching.
Co-authored-by: GuoJiaming <804436395@qq.com >
Co-authored-by: Lucenx9 <185146821+Lucenx9@users.noreply.github.com >
Co-authored-by: zeng-weihan <ceng.weihan@xydigit.com >
* chore(canvas): defer release note
* chore(canvas): refresh native i18n inventory
* refactor(canvas): isolate hosted surface resolution
---------
Co-authored-by: GuoJiaming <804436395@qq.com >
Co-authored-by: Lucenx9 <185146821+Lucenx9@users.noreply.github.com >
Co-authored-by: zeng-weihan <ceng.weihan@xydigit.com >
2026-07-12 13:02:27 +01:00
Vincent Koc
96aff2787d
fix(qa): secure Crabline artifact handling
2026-07-12 13:58:30 +02:00
Peter Steinberger
81941f2d68
test: enable noUncheckedIndexedAccess for extension tests ( #105343 )
2026-07-12 12:48:22 +01:00
Vincent Koc
5e453f3c72
fix(ci): restore repo e2e and beta plugin compatibility ( #105287 )
2026-07-12 13:43:25 +02:00
Vincent Koc
871a92e5d9
fix(qa): use graceful Matrix replay restart ( #105317 )
2026-07-12 13:18:27 +02:00
Peter Steinberger
66d9ec535e
test(memory): repair SQLite session fixtures ( #105303 )
2026-07-12 11:53:35 +01:00
Peter Steinberger
4249cdb8fe
fix(discord): keep slash commands deployed at the application limit ( #105280 )
...
* fix(discord): reconcile commands at the application cap
* docs(changelog): note Discord command cap fix
* chore: keep release changelog unchanged
* fix(discord): narrow command deployment errors
2026-07-12 11:37:29 +01:00
Vincent Koc
2148c3bf7e
fix(active-memory): restore SQLite recall sessions ( #105255 )
...
* fix(qa): seed memory scenarios through SQLite
* fix(active-memory): initialize SQLite recall sessions
* test(active-memory): model missing harness reservation
* fix(active-memory): clean up transient recall sessions
* fix(active-memory): isolate concurrent recall sessions
* fix(active-memory): discard transient SQLite recalls
* fix(active-memory): preserve transient recall boundaries
* fix(active-memory): retry transient recall cleanup
* fix(active-memory): always clean transient recall workspaces
* chore: drop release-owned changelog entry
2026-07-12 18:29:23 +08:00
Vincent Koc
4d8b201371
refactor(plugins): remove dead channel helpers ( #105276 )
2026-07-12 18:21:11 +08:00
Peter Steinberger
0350b87f06
test(ci): repair plugin prerelease contracts ( #105272 )
...
* test(ci): repair plugin prerelease contracts
* docs(agents): clarify stale Testbox recovery
* docs(agents): require Bash for Testbox compounds
2026-07-12 11:13:08 +01:00
Peter Steinberger
a824078101
fix(channels): tombstone corrupt ingress rows ( #105259 )
...
* fix(infra): guard channel ingress queue parseJson against corrupted JSON
* fix(infra): fix type assertion in ingress queue test
* fix(infra): use tagged parse result and validate payload before claiming
* fix(infra): remove unnecessary non-null assertion in ingress queue test
* fix(infra): scan corrupt ingress rows in claimNext
* test(gateway): avoid typed empty mock call tuple access
* fix(infra): tombstone corrupt ingress rows on duplicate enqueue and stale recovery
Two P1 gaps: enqueue() threw on duplicate when the existing row had corrupt
payload_json, and recoverStaleClaims() silently skipped corrupt claimed rows,
leaving them invisible to recovery. Both paths now tombstone the unrecoverable
row as failed with reason "corrupt_payload" and return a proper result.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
* fix(infra): resolve lint shadow and await-thenable in recoverStaleClaims
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
* fix(channels): tombstone corrupt ingress rows
* test(channels): use explicit placeholder claim tokens
* refactor(channels): name claim token values
* refactor(channels): keep claim projection direct
* fix(channels): preserve active ingress claims
* fix(channels): make corrupt recovery policy-aware
* refactor(channels): name corrupt claim token
* fix(channels): bound corrupt ingress reconciliation
* fix(channels): paginate pending ingress by key
* refactor(telegram): return live owner check directly
* build(plugin-sdk): refresh public export budget
---------
Co-authored-by: Pick-cat <huang.ting3@xydigit.com >
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com >
2026-07-12 11:09:52 +01:00
Peter Steinberger
1999935108
fix(config): restore canonical flat streaming-key resolution and preserve discord preview mode in doctor migration ( #105054 )
...
* fix(config): keep flat streaming keys resolving for canonical-flat channels and pin discord preview default in doctor migration
* fix(discord): pin inherited streaming mode for account alias migration and align core streaming test
2026-07-12 11:00:24 +01:00