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
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
Ayaan Zaidi
5aae66f4e3
fix(telegram): preserve pre-tool text during CLI tool calls
...
Preserve Claude CLI commentary outside Telegram’s disposable progress stream so tool-summary collapse cannot erase user-visible pre-tool text.
Validated with real-user Telegram E2E and focused regression coverage.
2026-08-03 08:21:56 +09:00
Peter Steinberger
6f01e514fe
test(slack): consolidate outbound payload fixtures ( #118246 )
2026-08-02 16:21:32 -07:00
Peter Steinberger
15560382a2
test(msteams): consolidate Graph upload fixtures ( #118268 )
2026-08-02 16:15:17 -07:00
Peter Steinberger
dd97722e3e
test(feishu): consolidate monitor lifecycle fixtures ( #118273 )
2026-08-02 16:13:45 -07:00
Peter Steinberger
c203baea97
test(browser): consolidate upload path fixtures ( #118283 )
2026-08-02 16:13:22 -07:00
Peter Steinberger
ee82689ea4
fix(channels): recorded lifecycle facts outrank derived signals at the consumer boundary ( #118251 )
...
* fix(gateway): preserve terminal blocked lifecycle
* fix(discord): classify application id probe failures
* fix(gateway): preserve authored terminal health state
2026-08-02 16:11:03 -07:00
Peter Steinberger
9fa28928e5
refactor(browser): deduplicate profile hot-reload fixtures ( #118220 )
2026-08-02 16:10:26 -07:00
Peter Steinberger
2cc0a98519
refactor(codex): compact plugin inventory test fixtures ( #118223 )
2026-08-02 16:10:00 -07:00
Peter Steinberger
937d13193b
test(browser): consolidate CDP fixtures ( #118239 )
2026-08-02 16:08:44 -07:00
Peter Steinberger
f23a0c8fcf
test(imessage): consolidate monitor fixtures ( #118221 )
2026-08-02 16:07:16 -07:00
Peter Steinberger
1882425bb2
refactor(mattermost): dedupe slash HTTP test fixtures ( #118224 )
2026-08-02 16:06:38 -07:00
Peter Steinberger
8e7a24adb8
refactor(feishu): consolidate chat tool fixtures ( #118234 )
2026-08-02 16:04:17 -07:00
Peter Steinberger
1786a011df
refactor(feishu): consolidate doctor state fixtures ( #118238 )
2026-08-02 16:02:06 -07:00
Peter Steinberger
474c4e671e
fix(telegram): preserve tables across legacy message delivery ( #118257 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-02 15:32:46 -07:00
Peter Steinberger
ae22ba5fbb
fix(googlechat): consume stale approval card actions ( #118225 )
2026-08-02 15:25:15 -07:00
Vincent Koc
0a349a8ff4
Merge pull request #118204 from openclaw/fix-openai-realtime-transcript-bounds-20260802
...
* commit '15195713985f5b069f53bbb769a9dc621ed4c7e9':
test(openai): isolate terminal history bounds
test(openai): cover terminal history saturation
fix(openai): preserve terminal history precedence
test(openai): cover tombstone eviction ordering
fix(openai): retain active predecessor satisfaction
test(openai): cover rejected terminal failures
fix(openai): preserve terminal error precedence
test(openai): cover pre-commit terminal events
fix(openai): tombstone pre-commit terminal events
test(openai): pin first transcript terminal outcome
fix(openai): ignore post-terminal transcript events
test(openai): cover realtime transcription bounds
fix(openai): bound realtime transcription state
2026-08-03 06:10:09 +08:00
Peter Steinberger
761c3e33be
refactor(mattermost): deduplicate draft stream tests ( #118215 )
2026-08-02 15:01:34 -07:00
Vincent Koc
1519571398
test(openai): isolate terminal history bounds
2026-08-03 05:48:38 +08:00
Peter Steinberger
30c79e4db1
fix(inference): prevent lost cancellation, stuck compaction, and runaway tools ( #118146 )
...
* fix(inference): preserve cancellations, compaction, and tool-loop safety
* fix(inference): satisfy Codex and mock-provider type checks
* fix(codex): secure tool-free recovery and restricted turns
* fix(codex): satisfy host-prompt provenance lint
2026-08-02 14:42:01 -07:00
Vincent Koc
6ea9489d08
test(openai): cover terminal history saturation
2026-08-03 05:35:22 +08:00
Vincent Koc
05541a2897
fix(openai): preserve terminal history precedence
2026-08-03 05:35:21 +08:00
Vincent Koc
01530b8b0d
chore: merge main into OpenAI realtime bounds
...
* origin/main:
feat(gateway): track event-loop degradation persistence and add concurrency benchmark (#118193 )
fix(config): preserve secret ownership when configuration rows move (#118149 )
fix(cron): deliver failure alerts after persistence (#118200 )
chore(lint): clear 172 lint:all baseline violations in five batches (#118098 )
perf(gateway): remove streaming hot-path rescans (#118192 )
test(gateway): use in-memory task registry (#118191 )
test(macos): fix three races in the bounded process suites (#118196 )
refactor(migrate-hermes): consolidate test fixtures (#118182 )
test(android): share Wear transport fixtures (#118177 )
test(ui): deduplicate control UI e2e setup (#118180 )
fix(plugins): unblock prerelease validation (#118103 )
test(cli): reduce redundant process launches (#118141 )
test(gateway): compact terminal observer fixtures (#118179 )
fix(agents): make requested threads sidebar-visible (#118073 )
test(plugins): canonicalize native resolver fixtures (#118174 )
test: deduplicate agent runner fixtures (#118176 )
refactor(policy): consolidate doctor test fixtures (#118173 )
fix(plugins): remove disabled channel plugin configuration on uninstall (#118127 )
refactor(matrix): consolidate monitor test fixtures (#118175 )
2026-08-03 05:23:38 +08:00
Vincent Koc
05ddb8ab11
test(openai): cover tombstone eviction ordering
2026-08-03 05:12:21 +08:00
Vincent Koc
27f6005682
fix(openai): retain active predecessor satisfaction
2026-08-03 05:12:21 +08:00
Vincent Koc
26cd629d1b
test(openai): cover rejected terminal failures
2026-08-03 05:10:33 +08:00
Vincent Koc
a0db9cdd15
fix(openai): preserve terminal error precedence
2026-08-03 05:10:33 +08:00
Vincent Koc
8f83eaccf4
test(openai): cover pre-commit terminal events
2026-08-03 05:09:26 +08:00
Vincent Koc
72b4e42b44
fix(openai): tombstone pre-commit terminal events
2026-08-03 05:09:25 +08:00
Peter Steinberger
7c70571683
chore(lint): clear 172 lint:all baseline violations in five batches ( #118098 )
...
* chore(lint): clean Android-Linux app assets batch
* chore(lint): clean setup-launcher-plugin batch
* chore(lint): clean changelog-updater batch
* chore(lint): clean QA-runtime-helper batch
* chore(lint): clean script-tests batch
* fix(mxc): await sandbox spawn before bridge selection
* fix(test): make fake plutil metacharacter escaping survive the template hop
2026-08-02 14:08:09 -07:00
Peter Steinberger
dc9c7693f7
refactor(migrate-hermes): consolidate test fixtures ( #118182 )
2026-08-02 14:01:45 -07:00
Vincent Koc
b35b8e286d
fix(plugins): unblock prerelease validation ( #118103 )
...
* fix(plugins): align compatibility registry identity
* fix(slack): compact response URL native fallbacks
* test(plugins): stabilize prerelease runtime checks
* fix(packaging): include CUA driver in root package
* fix(packaging): declare CUA runtime dependency
* fix(cua): defer native driver loading
2026-08-03 04:48:05 +08:00
Peter Steinberger
9187cfb46f
refactor(policy): consolidate doctor test fixtures ( #118173 )
2026-08-02 13:25:13 -07:00