Commit Graph

18440 Commits

Author SHA1 Message Date
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