Commit Graph

71495 Commits

Author SHA1 Message Date
Vincent Koc
84d149bf6f fix(ui): use bundled model setup icons 2026-07-23 17:43:10 +08:00
Peter Steinberger
9f13f9b140 feat(openai): make million-token context an explicit opt-in (#112916)
* feat(openai): add safe long-context opt-in

* fix(ci): keep long-context checks within gates

* fix(ci): keep Codex usage helpers internal
2026-07-23 05:34:54 -04:00
Peter Steinberger
82ac110479 refactor(meetings): share runtime probes and node wrappers (#112992) 2026-07-23 05:28:46 -04:00
Peter Steinberger
05dd31ed73 test(gateway): consolidate reload handler fixtures (#112993) 2026-07-23 05:27:35 -04:00
Peter Steinberger
1781e2e8f7 test(discord): table-drive voice manager scenarios (#112977)
* test(discord): table-drive voice manager scenarios

* test(discord): classify voice fixtures as test support
2026-07-23 04:55:27 -04:00
Peter Steinberger
f466c3de32 refactor(ui): collapse sidebar inheritance tower (#112969) 2026-07-23 04:44:25 -04:00
Peter Steinberger
6522ce37d9 fix(release): unblock Telegram QA and Copilot media proof (#112972)
* fix(release): build Telegram candidate with private QA

* fix(copilot): preserve offloaded prompt images
2026-07-23 04:43:53 -04:00
Peter Steinberger
6bfdc9e474 refactor(meetings): share Teams and Zoom Chrome transport (#112931)
* refactor(meetings): share Chrome transport

* refactor(meetings): split platform adapter contract

* refactor(meetings): remove stale contract re-exports

* test(meetings): import adapter contract types
2026-07-23 04:27:48 -04:00
Jason (Json)
93c48a6adb fix: steer active Codex tasks from the Control UI (#112858)
* fix(codex): enable transcript-backed active steering

* test(codex): keep persistent fixture tool policy

* test(codex): type mock tool capability

* test(codex): scope persistent policy fixtures

* chore: refresh PR CI base

* test(codex): stabilize persistent run fixtures

* test(codex): preserve lifecycle cached-search baseline
2026-07-23 01:59:50 -06:00
Peter Steinberger
9b050232a1 feat(tlon): render Markdown lists as native listings (#112968)
* feat(tlon): render markdown lists natively

* fix(tlon): preserve unsupported loose lists
2026-07-23 03:48:48 -04:00
Peter Steinberger
fb4338b03c test(memory): clear embedding watchdog timers (#112887) 2026-07-23 03:43:09 -04:00
Peter Steinberger
19fb45d550 test(plugins): await lifecycle lease child result (#112959) 2026-07-23 03:28:36 -04:00
Peter Steinberger
a229456f48 feat(agents): relay Claude native tool requests as Gateway approvals (#112918)
* feat(agents): relay Claude native tool requests as Gateway approvals

* fix(agents): keep approval relay types local and refresh docs map
2026-07-23 03:21:08 -04:00
Peter Steinberger
6a90ad0573 refactor(ui): move sidebar menus into a reactive controller (#112940) 2026-07-23 03:15:20 -04:00
Peter Steinberger
f6818ae5ea refactor(media): hydrate and prune images from structured facts, delete marker-text parsing (#112913)
* refactor(media): hydrate and prune images from structured facts, delete marker-text parsing

Embedded, CLI, host-context replay, and plugin-harness image hydration now
consume the persisted/runtime MediaFact carrier instead of parsing
OpenClaw-authored [media attached:]/[Image: source:] marker text. The
prompt-text attachment parser family (splitPromptAndAttachmentRefs, leading/
trailing marker extractors, ref-count consumption, text-based prune scrubbing)
is deleted; explicit user-authored paths and file URLs still hydrate.

- Described-image suppression is a declared MediaFact.hydrationSuppressed
  field carried across copy/reprojection boundaries; the runtime symbol
  plumbing is removed.
- Persisted facts plus mediaImageLayout are authoritative at every hydration
  entry point; image blocks reconcile by structural fact index, never
  byte/MIME equality.
- Offloaded attachments (image and non-image) persist their media://inbound
  claim-check alias so ownership-aware history pruning can scrub markers
  after persistence; factless pre-MediaFact rows keep narrow legacy redaction.
- History pruning removes facts, layout, and block provenance structurally
  before replay.

Prompt bytes are golden-equal throughout; goldens from the fact-carrier PR
are untouched. 1,303 tests across 44 files; delegated check:changed green
(run 29980534186, pinned to the declared merge-base).

* fix(media): fail missing inline image slots

* test(agents): carry offloaded CLI retry image as a structured fact

The retry-image reliability test modeled an offloaded attachment with only
its [media attached:] marker text; offloaded attachments are carried as
structured media facts and marker text is presentation-only, never parsed
for hydration.
2026-07-23 03:11:16 -04:00
Peter Steinberger
b9a28cde42 test(cron): clean shared env and temp state (#112922) 2026-07-23 03:08:53 -04:00
Peter Steinberger
6ef77d7c7e refactor: expire July 24 plugin compat records (#112944) 2026-07-23 03:04:34 -04:00
Jason (Json)
307b3060a9 fix: hide memory maintenance turns from chat (#112942)
* fix: hide memory maintenance turns from chat

* chore: update plugin SDK API baseline

* chore: account for harness visibility export
2026-07-23 01:02:27 -06:00
Peter Steinberger
bac2bbd243 refactor(google-meet): split CLI modules (#112937)
* refactor(google-meet): split CLI modules

* test(google-meet): align CLI split routing

* refactor(google-meet): isolate CLI command contract
2026-07-23 03:00:34 -04:00
Peter Steinberger
cca67fc842 fix(meetings): verify talk-back loopback signal (#112939)
* fix(meetings): verify talk-back loopback signal

* refactor(meetings): keep verification helper private

* fix(meetings): type loopback buffers generically

* fix(meetings): bound loopback reference buffers

* fix(meetings): align loopback proof with playback

* chore(meetings): defer release note ownership

* fix(meetings): keep loopback health type private
2026-07-23 02:32:24 -04:00
Peter Steinberger
d893f79ccc fix(matrix): preserve encryption keys across snapshot upgrades (#112919)
* fix(matrix): migrate legacy crypto snapshots via doctor

* fix(matrix): harden snapshot migration failures

* fix(matrix): preserve unreadable crypto snapshots

* test(matrix): consolidate crypto snapshot coverage
2026-07-23 02:25:52 -04:00
Peter Steinberger
e76c9aac30 fix(release): allow isolated Telegram private QA (#112935)
* fix(release): forward private QA flags to Telegram SUT

* test(ui): update catalog activity state owner
2026-07-23 02:17:48 -04:00
Peter Steinberger
282ddaf96b refactor(line): preserve formatting in flex messages (#112921) 2026-07-23 02:17:35 -04:00
Peter Steinberger
b67217ffab fix(channels): stop leaking markdown on plain-text transports (#112926)
* fix(channels): unify plain-text markdown projection

* fix(synology-chat): satisfy link formatter lint

* test(ui): repair sidebar catalog activity fixture
2026-07-23 02:13:55 -04:00
Peter Steinberger
07f671724c test(ui): wire catalog project activity case through sessionData catalogs 2026-07-22 23:03:16 -07:00
RileyJJY
4ff11a84e4 fix(ollama): release reader lock when parseNdjsonStream exits early (#111641)
* fix(ollama): release reader lock when parseNdjsonStream exits early

* test(ollama): prove real stream lock cleanup

Co-authored-by: RileyJJY <0668000974@xydigit.com>

* style(ollama): format stream cleanup tests

Co-authored-by: RileyJJY <0668000974@xydigit.com>

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-23 02:03:04 -04:00
Peter Steinberger
9be7863881 test(agents): consolidate live model switch fixtures (#112891) 2026-07-23 01:58:25 -04:00
Peter Steinberger
d9c9dcf71e test(ui): update sidebar-customization e2e to current nav defaults (custodian in settings, advanced-tier search, plugin tabs in sidebar) 2026-07-22 22:56:27 -07:00
Peter Steinberger
a12fba422c test(active-memory): consolidate recall fixtures (#112881) 2026-07-23 01:50:37 -04:00
Peter Steinberger
6c49cae2bc test(feishu): consolidate bot fixtures (#112884) 2026-07-23 01:49:49 -04:00
Peter Steinberger
68046b2011 test(gateway): consolidate agent event fixtures (#112878) 2026-07-23 01:47:11 -04:00
Peter Steinberger
7381924c44 fix(cloud-workers): re-adopt healthy workers after gateway restart (#112928) 2026-07-23 01:45:17 -04:00
Jason (Json)
6504cf85f2 fix(ui): restore project hierarchy and session activity (#112924)
* fix(ui): restore catalog project type hierarchy

* feat(ui): show catalog session activity

* chore(ui): update startup budget baseline

* test(ui): isolate catalog activity coverage
2026-07-22 23:43:46 -06:00
Peter Steinberger
9735945083 refactor(markdown): share attributed range rendering (#112907) 2026-07-23 01:41:56 -04:00
Peter Steinberger
5678c74e4d fix(ui): keep system agents out of page scopes (#112889)
* fix(ui): exclude system agents from page scopes

* perf(ui): keep scope filtering within startup budget
2026-07-23 01:38:11 -04:00
Peter Steinberger
b74f04ada8 refactor(ui): move sidebar mutations and groups into one organizer controller (#112923)
* refactor(ui): move sidebar mutations and groups into controllers

* refactor(ui): lazy-load session organizer operations

* fix(ui): order organizer mutation scope before options
2026-07-23 01:37:18 -04:00
Peter Steinberger
5cc1e6be62 test(memory): consolidate qmd manager fixtures (#112885) 2026-07-23 01:33:58 -04:00
Peter Steinberger
6b470b1fe8 fix(ui): thread-changes button leads to a dead end when the workspace is not a git checkout (#112914)
* fix(ui): disable the thread-changes button when the workspace is not a git checkout

* chore(protocol): regenerate Swift gateway models for sessions.files.list gitCheckout
2026-07-23 01:33:35 -04:00
Peter Steinberger
a542f01f49 refactor: remove dead tooling and deprecated exports (#112915) 2026-07-23 01:28:11 -04:00
joshavant
ebbbfa4c30 fix(ios): stabilize release screenshot launches 2026-07-23 00:28:00 -05:00
Peter Steinberger
89cfea034a refactor(ui): consolidate workboard controller tests (#112897)
* test(ui): consolidate workboard fixtures

* test(ui): classify workboard fixtures as test-only
2026-07-23 01:25:18 -04:00
Peter Steinberger
b7416449a3 refactor(agents): deduplicate compaction preparation (#112904) 2026-07-23 01:16:56 -04:00
Peter Steinberger
7a3b65a4a0 refactor(meetings): share Teams and Zoom browser status adapters (#112900)
* refactor(meetings): share browser status adapters

* refactor(meetings): keep source option types private
2026-07-23 01:09:34 -04:00
Peter Steinberger
f583114774 test(qa-lab): consolidate mock OpenAI server fixtures (#112872) 2026-07-23 01:04:22 -04:00
Peter Steinberger
707343b726 fix(ci): rebase Control UI startup budget baseline onto CI-measured bytes
All four QA Smoke profiles fail on main since the #112880 ratchet landed:
startup JS gzip ~323,326-323,342 B vs baseline 322,526 + 512 B tolerance.
The overage comes from UI commits that landed after the baseline was
captured (#112859 #112866 #112853 #111861). Local macOS builds measure
~322,535 B; Linux CI is ~800 B larger, so the baseline must track the CI
measurement (max observed across profiles, run 29980596056).
2026-07-23 01:04:10 -04:00
Peter Steinberger
32014bd84f refactor(google-meet): split plugin entry modules (#112903) 2026-07-23 01:03:51 -04:00
Peter Steinberger
0f0d9a2d74 refactor(telegram): consolidate bot test fixtures (#112894)
* test(telegram): consolidate bot fixtures

* fix(ci): allow cross-platform UI gzip variance
2026-07-23 01:03:34 -04:00
Peter Steinberger
26e4dec8c9 fix(ios): native Talk respects session thinking level (#112901)
* fix(ios): inherit thinking in native Talk

* test(ios): verify native Talk thinking inheritance

* test(ios): keep Talk regression i18n-neutral

* test(ios): import Talk request builder module

* test(secrets): secure plugin preset fixture

---------

Co-authored-by: RECOVERI <alfred@recoveri.io>
2026-07-23 01:02:12 -04:00
openclaw-mantis[bot]
c5ea0787a2 chore(i18n): refresh native locales (#112803)
* chore(i18n): refresh native locales

* fix(i18n): correct native secret translations

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-23 00:56:26 -04:00
Peter Steinberger
ec8f957f2e fix(release): test candidate external channel plugins (#112899) 2026-07-23 00:53:23 -04:00