Commit Graph

71508 Commits

Author SHA1 Message Date
Peter Steinberger
d124fb235f refactor(meetings): share plugin entry registration (#113007) 2026-07-23 07:18:38 -04:00
Peter Steinberger
852548ce05 feat(onboard): stage migration imports before promotion (#112798)
* feat(onboard): stage migration imports before promotion

* fix(onboard): harden migration recovery

* fix(onboard): commit promoted config with CAS

* fix(onboard): resume setup after migration recovery

* test(onboard): split noninteractive migration coverage

* refactor(onboard): split migration promotion helpers

* fix(onboard): normalize migration preparation cleanup

* fix(onboard): preserve recovered inference ownership

* fix(codex): complete empty deferred plugin config

* fix(codex): reconcile deferred plugin config retries

* fix(onboard): resolve verification target after rebase

* refactor(onboard): trim retired migration exports

* test(onboard): assert read-only auth prompt store
2026-07-23 07:06:01 -04:00
Peter Steinberger
9ffebcadea fix(telegram): preserve valid tg-time markup (#112911) 2026-07-23 07:00:00 -04:00
Peter Steinberger
7f550eaf50 fix(docs-i18n): escape model-added list markers 2026-07-23 06:54:27 -04:00
Peter Steinberger
9ae9fcb1cd fix: preserve transcript cursors across session resets (#112988)
* feat: add reset transcript boundaries

* feat: project reset boundaries in history

* refactor: reset sessions in place

* fix: fence reset runtime caches by lifecycle

* fix: preserve reset filtering during compaction

* fix: anchor compaction after reset boundaries

* fix: budget reset preludes during compaction

* fix: honor reset visibility in bounded history

* fix: couple reset boundaries to lifecycle commits

* fix: commit reset boundaries atomically

* fix: preserve reset boundary transition states

* fix: preserve concurrent reset lifecycle owners

* fix: preserve reset boundary storage compatibility

* fix: preserve reset windows across persisted histories

* fix: fence legacy reset lifecycle state

* fix: keep stale appends behind reset boundaries

* perf: index reset descendants linearly

* fix: bound reset history projection reads

* fix: narrow invalid leaf control types

* test: use typed cron lifecycle revision

* style: keep acp lifecycle helper within limit

* style: satisfy reset boundary lint rules

* test: split reset concurrency coverage

* style: satisfy compaction fixture lint

* refactor: remove retired reset replay exports

* test: assert in-place reply session resets

* test: assert reset boundary persistence

* test: mock session boundary counts
2026-07-23 06:22:43 -04:00
Peter Steinberger
3b5226fde6 test(cli): consolidate update command fixtures (#113003)
* test(cli): consolidate update command fixtures

* test(cli): preserve stale resume fixture shape
2026-07-23 06:19:39 -04:00
Peter Steinberger
9a3a5ae818 refactor(markdown): formalize channel profiles (#113002) 2026-07-23 06:16:06 -04:00
Vincent Koc
061b94ad71 refactor(agents): reuse code mode JSON sanitizer (#112999) 2026-07-23 18:07:20 +08:00
Peter Steinberger
1e5096c519 refactor(ui): one job per sidebar zone — shell chrome controls, header presence, slim footer (#112936)
* refactor(ui): one job per sidebar zone — move search/collapse to shell chrome, presence to chat header, slim footer

* test(ui): point drawer-collapse e2e step at shell chrome nav toggle

* refactor(ui): unexport lobsterLookStyleVars after logo stand-in removal

* docs(web): describe shell chrome controls, slim footer, and header presence facepile

* fix(ui): keep cluster search on native-nav hosts; draft-aware collapsed new-thread
2026-07-23 05:54:39 -04:00
Peter Steinberger
b5232bc4dd refactor(markdown): add capability-driven fallbacks (#112985)
* refactor(markdown): add capability-driven fallbacks

* fix(markdown): type task-list core rule state

* style(markdown): make list-prefix return explicit

* fix(markdown): honor label-only plain links

* fix(markdown): retain clipped list provenance
2026-07-23 05:47:48 -04:00
Vincent Koc
b190e5e3ea docs(ci): distinguish queue bottlenecks (#112997) 2026-07-23 17:44:10 +08:00
Vincent Koc
392b3a5695 test(ios): refresh native i18n source lines 2026-07-23 17:43:10 +08:00
Vincent Koc
e0a692658e test(ui): cover bundled CLI brand icons 2026-07-23 17:43:10 +08:00
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