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