Commit Graph

71472 Commits

Author SHA1 Message Date
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
Peter Steinberger
e99d978e24 test: consolidate script workflow fixtures (#112892) 2026-07-23 00:51:10 -04:00
joshavant
1af115d257 test(ios): retry stalled screenshot launches 2026-07-22 23:42:32 -05:00
Peter Steinberger
7bbc6c2d3c fix(cli): keep public CA roots for one-shot commands (#112868) 2026-07-23 00:33:39 -04:00
Peter Steinberger
aed2e6ff3f fix(test): fully redact live media credentials (#112883) 2026-07-23 00:31:29 -04:00
Peter Steinberger
b3e2af7eb2 refactor(scripts): remove orphaned secret provider proof (#112875) 2026-07-23 00:29:44 -04:00
Peter Steinberger
dfc88210be refactor(google-meet): split Meet API client (#112873)
* refactor(google-meet): split Meet API client

* refactor(google-meet): keep internal API types private
2026-07-23 00:29:21 -04:00
Omar Shahine
58575ed456 refactor(imessage): remove split-send coalescing (#108436)
Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: Omar Shahine <10343873+omarshahine@users.noreply.github.com>
2026-07-23 00:26:41 -04:00
Peter Steinberger
05123b3102 refactor(diagnostics-otel): consolidate service test fixtures (#112879)
* test(diagnostics-otel): consolidate service fixtures

* test(diagnostics-otel): keep helper constants private
2026-07-23 00:22:13 -04:00
Peter Steinberger
c11f175282 feat(ci): ratchet the Control UI startup JS budget against a committed baseline (#112880)
The startup JS gzip gate was a fixed ceiling that main drifted to within
1-3 KiB of, forcing repeated hand-bumps (315->317 KiB) and failing
feature PRs on drift they did not cause (#112649 burned two CI rounds).

check-control-ui-performance.mjs now also enforces a committed baseline
(config/control-ui-startup-budget-baseline.json) with a 512 B tolerance:
regressions beyond baseline+tolerance fail with an actionable message,
intentional increases become a reviewed one-line diff via
--update-baseline --reason, meaningfully lighter builds print a
lower-the-baseline hint, and a malformed/missing baseline fails closed.
The fixed ceiling stays as the cumulative-creep backstop.

Closes #112743.
2026-07-23 00:19:36 -04:00
Dallin Romney
a195d6fcee fix(release): invoke frozen Telegram CLI directly (#112874) 2026-07-23 13:08:33 +09:00
Jason (Json)
c2578bddfd fix: commentary no longer repeats after steering a task (#112859)
* fix(ui): preserve stream boundary across steers

* fix(ui): keep stream boundary current during reconciliation
2026-07-22 22:03:25 -06:00
joshavant
690ed56441 fix(ios): preserve localized app display names 2026-07-22 22:56:22 -05:00
Jason (Json)
3c25222fb4 fix(ui): pin session observer to pane header (#112866) 2026-07-22 21:55:27 -06:00
Peter Steinberger
efc19faca4 refactor(ui): move sidebar session data into controller (#112853) 2026-07-22 23:45:55 -04:00
Peter Steinberger
4c5e8f3b85 feat(scripts): add watch-pr-ci CI watcher with mergeable and attach prechecks (#112821)
* feat(scripts): add watch-pr-ci CI watcher with mergeable and attach prechecks

* fix(scripts): require successful attached PR CI run

* fix(scripts): harden watch-pr-ci verdicts against foreign runs and truncated rollups

* fix(scripts): add fresh-run gating to watch-pr-ci attachment

* fix(scripts): guard stale-cancelled verdict against truncated context pages

* fix(scripts): declare rollup context total count

* fix(scripts): sanitize check names and close the final polling interval

* test(scripts): type deadline wait samples
2026-07-22 23:33:45 -04:00
Dallin Romney
f7d61b4352 fix(ci): skip new OpenClawKit suite for frozen targets (#112860) 2026-07-23 12:26:49 +09:00
Peter Steinberger
a12e0f26ee fix(plugins): serialize lifecycle mutations and preserve setup-required installs (#112763)
* fix(plugins): harden concurrent lifecycle mutations

* fix(update): preserve post-core restart snapshot

* fix(update): retain authoritative plugin records on resume

* fix(update): reconcile plugin records after handoff
2026-07-22 23:25:48 -04:00
Dallin Romney
67ef07863f fix(release): support frozen candidate contracts (#112841) 2026-07-23 12:03:11 +09:00
Peter Steinberger
ebec398543 refactor: move Telegram and iMessage config schemas to plugins (#112850)
* refactor: move telegram and imessage schemas to plugins

* test: allow bundled schema facade regression coverage

* refactor: remove orphaned command config helper
2026-07-22 23:01:47 -04:00
Peter Steinberger
099d6351b3 refactor(sessions): canonical lineage model — creation provenance, fork ancestry, generation chain, typed row contract (#111861)
* fix(sessions): preserve spawn/fork lineage across implicit daily/idle rollover

* refactor(sessions): canonical creation model with forkSource ancestry and generation chain

* feat(sessions): stamp creation provenance across all creation paths and emit created events

* refactor(gateway): lock lineage patching, split control from navigation, add typed session-row contract

* docs(gateway): document creation provenance stamping and lineage patch tightening

* fix(sessions): keep provenance proof-only on wire fallbacks and strip node-local lineage from cron continuations

* fix(gateway): never journal a created event for session adoption

* fix(gateway): keep post-create work on adoption while gating the created event

* fix(sessions): restore trusted ensure-main provenance and stamp navigation parent at spawn

* fix(sessions): allow parentSessionKey through the direct child spawn patch

* fix(ci): break type cycles, satisfy export scan, regenerate Swift protocol models

* refactor(sessions): replace createdBy with createdActor

* fix(protocol): export session row type

* fix(sessions): preserve proven creation provenance

* fix(sessions): close lineage creation gaps

* test(sessions): align atomic spawn lineage coverage

* test(sessions): widen transcript search reconcile wait

* fix(sessions): stamp reset-created rows

* test(sessions): keep reset provenance coverage focused

* fix(sessions): journal chat-created rows

* test(ci): anchor release skill reads to repo

* test(ci): avoid cached module paths
2026-07-22 22:54:31 -04:00
Peter Steinberger
7497147519 refactor: hoist channel doctor migration helpers (#112782) 2026-07-22 22:53:39 -04:00
Dallin Romney
4602e57d14 fix(qa): stop retrying unavailable credentials per partition (#112840) 2026-07-23 11:32:33 +09:00
Dallin Romney
2b1e4b0ccc fix(release): restore validation attempt guidance (#112845) 2026-07-23 11:22:36 +09:00