Commit Graph

19174 Commits

Author SHA1 Message Date
Vincent Koc 04c8d418e6 refactor(ollama): share resident model discovery 2026-08-03 12:23:52 +08:00
Vincent Koc 9e81a9b51c fix(google): restore image generation with blank base URL (#116852)
* fix(google): handle empty image generation base URL

* fix(google): preserve attribution for blank base URL

* test(google): cover blank media base URLs

* fix(google): normalize blank Gemini API URLs

---------

Co-authored-by: Ted Li <tl2493@columbia.edu>
2026-08-03 12:18:16 +08:00
Vincent Koc 73b0312e52 fix(deepgram): keep endpointing turn-authoritative 2026-08-03 12:16:07 +08:00
Peter Steinberger 2dc8553247 refactor(browser): consolidate profile configuration fixtures (#118438)
* test(browser): consolidate profile configuration fixtures

* test(browser): centralize synthetic auth fixtures

* test(browser): preserve credential fixtures outside matrices
2026-08-02 21:15:53 -07:00
Peter Steinberger 128361397a test(openai): centralize GPT-Live delegation contracts (#118436)
* test(openai): centralize GPT-Live delegation contracts

* test(openai): type delegation consult mocks
2026-08-02 21:14:30 -07:00
Peter Steinberger 623c738d1e test(policy): centralize CLI fixtures (#118439) 2026-08-02 21:11:54 -07:00
Vincent Koc 27f5691d29 fix(browser): keep Tab Copilot working after extension reload (#116784)
* fix(browser): derive unique copilot session labels

* test(browser): harden copilot reload proof

* test(browser): keep e2e expect dependency type-only

* fix(browser): repair type-only e2e helper

* chore(release): remove PR changelog entry
2026-08-03 12:09:06 +08:00
Peter Steinberger b653597020 test(ollama): deduplicate web search fixtures (#118328) 2026-08-02 21:00:03 -07:00
Vincent Koc dd6941a473 fix(deepgram): use provider utterance boundaries 2026-08-03 11:59:50 +08:00
Peter Steinberger 1cc374b2f0 test(llama-cpp): consolidate provider fixtures (#118426) 2026-08-02 20:59:50 -07:00
Vincent Koc 26023626be test(codex): refresh bounded media expectations (#118424) 2026-08-03 11:47:40 +08:00
Peter Steinberger e5eff98879 test(qa): consolidate mock provider response helpers (#118425) 2026-08-02 20:47:06 -07:00
Peter Steinberger 1a51b0e58d test(slack): consolidate approval runtime fixtures (#118253) 2026-08-02 20:46:21 -07:00
Peter Steinberger c3ea28af61 test(ollama): consolidate stream runtime fixtures (#118419) 2026-08-02 20:39:14 -07:00
Peter Steinberger 1fb9644341 refactor(opencode): consolidate session catalog test fixtures (#118323)
* test(opencode): consolidate session catalog fixtures

* test(opencode): preserve continuation node runtime
2026-08-02 20:33:42 -07:00
Peter Steinberger a97fd4c0a1 test(google-meet): consolidate create and node host fixtures (#118407) 2026-08-02 20:22:39 -07:00
Vincent Koc 03a36570e7 test(deepgram): bound websocket fixture frames 2026-08-03 11:15:15 +08:00
Peter Steinberger d74e351c00 fix(qa): use dist-backed Gateway child launcher (#118401) 2026-08-02 20:14:31 -07:00
Vincent Koc 509dee1150 test(deepgram): remove live speech dependency 2026-08-03 11:07:00 +08:00
Peter Steinberger 5d853c6fce test(policy): centralize doctor fixtures (#118392) 2026-08-02 20:04:24 -07:00
Peter Steinberger 11795bdc7c refactor(openai): unify GPT-Live delegation control (#118391) 2026-08-02 20:03:33 -07:00
Peter Steinberger 97034f3d95 fix(telegram): recover directed turns after empty model replies (#118305)
* fix(telegram): recover empty directed replies

* test: fix empty-reply assertions

* test: restore result assertions

---------

Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-02 19:53:43 -07:00
Peter Steinberger b1c9f022ec fix(memory-wiki): protect recall boundaries and damaged notes (#118375) 2026-08-02 19:48:02 -07:00
Peter Steinberger d01f03b91c fix(discord): preserve accepted partial reply receipts (#118354)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-02 19:44:15 -07:00
Peter Steinberger 628672aaa1 test(buzz): consolidate lifecycle fixtures (#118316) 2026-08-02 19:42:22 -07:00
Peter Steinberger 1fedcca9a9 fix(agents): finish settled failed-tool turns instead of dropping replies (#118344) 2026-08-02 19:40:41 -07:00
Peter Steinberger b36e9af00a fix(openai): reject malformed video download bodies (#117227)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-02 19:39:46 -07:00
Peter Steinberger 443821f49b test(opencode-go): consolidate stream termination harness (#118317) 2026-08-02 19:34:57 -07:00
Peter Steinberger 345343fb70 test(discord): consolidate activity HTTP fixtures (#118314) 2026-08-02 19:13:51 -07:00
Vincent Koc f5637c0685 fix(qa): restore prerelease validation (#118255)
* test(whatsapp): return accepted monitor send results

* fix(qa): recognize Code Mode write results
2026-08-03 10:09:19 +08:00
Peter Steinberger f0d8cd3603 test(telegram): deduplicate dispatch fixtures (#118319) 2026-08-02 19:05:18 -07:00
Peter Steinberger ffe2268eec test(xai): consolidate realtime voice fixtures (#118318) 2026-08-02 19:04:38 -07:00
Vincent Koc d93d07ac02 fix(telegram): prevent durable ingress lane spins (#118357)
* fix(channels): prevent ingress lane reconciliation spins

* fix(ui): restore composer lint budget
2026-08-03 09:58:19 +08:00
Vincent Koc b33b72181a fix(deepgram): bound realtime utterance lifecycle 2026-08-03 09:48:47 +08:00
Peter Steinberger cbd4b8dec8 fix(memory): keep wiki search inside protected recall visibility (#118265)
* fix(memory): unify wiki session authorization

* build: expose memory core boundary declarations
2026-08-02 18:22:17 -07:00
Peter Steinberger c965909a30 perf(channels): defer partial text sanitization (#118349) 2026-08-02 18:19:21 -07:00
Masato Hoshino d73dd930af fix(sms): reject a zero SMS_TEXT_CHUNK_LIMIT instead of sending one text per character (#118158)
SMS_TEXT_CHUNK_LIMIT is the documented environment fallback for
channels.sms.textChunkLimit. parseTextChunkLimit validates that field on two
paths and only guards one: the numeric branch requires raw > 0, while the string
branch the environment fallback uses ended in
parseStrictInteger(raw.trim()) ?? DEFAULT_TEXT_CHUNK_LIMIT, and 0 ?? 1500 is 0.
SmsChannelConfigSchema already declares z.number().int().positive() for the
config key, so the invariant existed and only the env path skipped it.

The unvalidated limit reaches the plugin's own chunkSmsPlainText, which returns
one chunk per character, and the send loop issues one Twilio request per chunk.
Measured on the real outbound path, a 9,528-character reply produced 7,550
single-character send requests. resolveSmsTextChunkLimit hides this from core
with account.textChunkLimit || fallbackLimit || 1500 while the plugin keeps the
raw 0.

Parse that branch with parseStrictPositiveInteger. Negative, fractional and
non-numeric values were already rejected by the surrounding regex and still fall
back to the default; 0 is the only input whose behavior changes.
2026-08-02 18:09:22 -07:00
Peter Steinberger 4c66ed5615 feat(channels): lifecycle wave 2 — fifteen more channels publish recorded lifecycle (#118298)
* feat(channels): publish lifecycle from existing status sinks

* feat(channels): thread lifecycle through provider monitors

* fix(mattermost): keep lifecycle status helper private

* fix(matrix): preserve terminal lifecycle during startup cleanup

* fix(matrix): reject invalid tokens during startup

* test(mattermost): drop unused vi import
2026-08-02 17:30:56 -07:00
Peter Steinberger ae4a95faad fix(voice-call): stop superseded realtime consult work (#118301)
* fix(voice-call): abort superseded realtime consults

* test(voice-call): use error abort rejections

* chore: defer voice-call release note

---------

Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-02 17:19:01 -07:00
Peter Steinberger 7764cc544c test(tlon): dedupe upload hardening fixtures (#118320) 2026-08-02 17:18:54 -07:00
Peter Steinberger c5ef79f986 refactor(zoom-meetings): consolidate runtime fixtures (#118300) 2026-08-02 17:13:56 -07:00
Peter Steinberger cac802f474 test(xai): deduplicate search fixtures (#118263) 2026-08-02 17:13:02 -07:00
Peter Steinberger ff9955f01b refactor(imessage): consolidate approval test fixtures (#118306)
* test(imessage): consolidate approval fixtures

* test(imessage): avoid shadowing fixture factory

* test(imessage): preserve data-driven case titles
2026-08-02 17:10:56 -07:00
Peter Steinberger b521e0a6dc fix(llama-cpp): stop hijacking explicitly configured HTTP provider routes (#118293)
* fix(llama-cpp): preserve configured HTTP routes

* chore: drop release-owned CHANGELOG edit from PR branch
2026-08-02 17:06:58 -07:00
Peter Steinberger 2a635f21df refactor(imessage): consolidate status test fixtures (#118249) 2026-08-02 17:06:51 -07:00
Peter Steinberger c6ef95604e refactor(ollama): deduplicate memory embedding test fixtures (#118267) 2026-08-02 17:05:37 -07:00
Peter Steinberger e9d88696b5 feat(cron): add webhook SSRF policy (#118237) (#118286) 2026-08-02 17:02:20 -07:00
Peter Steinberger b7f9cd0a01 test(reef): consolidate transport protocol fixtures (#118281) 2026-08-02 16:39:26 -07:00
Peter Steinberger 3c4dbea2ed test(minimax): consolidate OAuth fixtures (#118276) 2026-08-02 16:37:01 -07:00
Peter Steinberger b93fc7e8f6 test(browser): consolidate navigation security fixtures (#118240) 2026-08-02 16:32:33 -07:00