Commit Graph

40090 Commits

Author SHA1 Message Date
Simon
fbad17bf4f fix(plugin-sdk): keep harness timeout flag optional
Keep the new attempt-result field optional for third-party harness compatibility while defaulting absent values at the runner boundary.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 19:23:17 +05:30
Simon
8996161e99 fix(agents): skip retry paths for tool timeouts
Thread tool-timeout state through timeout-triggered compaction, generic timeout payload synthesis, and the changelog.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 19:23:17 +05:30
Simon
2605490dbd fix(agents): classify tool-execution timeouts
Detect run-level timeouts that fire while a tool call is still active and keep them out of assistant model fallback.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 19:23:17 +05:30
Peter Steinberger
afbc395dda fix(gateway): load plugin tools for catalog 2026-05-02 14:52:27 +01:00
Peter Steinberger
1466878c36 refactor: cache plugin tool descriptors (#76079)
Co-authored-by: Shakker <shakkernerd@users.noreply.github.com>
2026-05-02 14:52:21 +01:00
Peter Steinberger
c6817d8d7a fix: preserve heartbeat wake compatibility (#76086) 2026-05-02 14:52:18 +01:00
Peter Steinberger
c06739d773 fix(heartbeat): type wake scheduling intent
Co-authored-by: Jordan Baker <jbb@scryent.com>
2026-05-02 14:52:18 +01:00
Mason Huang
0b09cfb8cd fix(cli): block package updates from inside running gateway service (#75729)
Merged via squash.

Prepared head SHA: 8f301c5632
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com>
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com>
Reviewed-by: @hxy91819
2026-05-02 21:48:38 +08:00
Ayaan Zaidi
473fc0aad8 fix: retry busy cron wake-now jobs (#76083) (thanks @xuruiray) 2026-05-02 19:15:23 +05:30
Ayaan Zaidi
9797ae35ca fix(cron): polish wake-now retry PR 2026-05-02 19:15:23 +05:30
Rui Xu
8db83f241e fix(cron): retry busy recurring wake-now jobs 2026-05-02 19:15:23 +05:30
Peter Steinberger
91055b9a37 fix(release): keep provider registry fallback behind loader 2026-05-02 14:44:17 +01:00
Peter Steinberger
6a54aac489 build(protocol): refresh generated Swift models 2026-05-02 14:37:42 +01:00
Peter Steinberger
efa15001d6 fix(release): handle missing plugin registry fallback 2026-05-02 14:34:13 +01:00
Peter Steinberger
0ea28ddb16 fix: speed up exact session lookups 2026-05-02 14:29:36 +01:00
Peter Steinberger
81e1deade2 fix(release): restore plugin runtime loading 2026-05-02 14:28:55 +01:00
Peter Steinberger
61fc62ade7 fix(auth): avoid structuredClone for auth profile stores 2026-05-02 14:23:51 +01:00
Peter Steinberger
d678bcfcc7 fix: hot reload plugin management changes (#75976)
Summary:
- The PR changes Gateway reload planning, CLI plugin install-index writes, plugin runtime/cache cleanup, docs, changelog, and tests so plugin enable/disable hot reloads while install/update/uninstall stay restart-backed.
- Reproducibility: yes. The earlier blocker has a source-level reproduction: run an external plugin install/up ...  watches config and only the managed plugin index changes; the PR now tests that path and queues a restart.

ClawSweeper fixups:
- Included follow-up commit: fix: hot reload plugin management changes
- Included follow-up commit: fix(clawsweeper): address review for automerge-openclaw-openclaw-7597…
- Ran the ClawSweeper repair loop before final review.

Validation:
- ClawSweeper review passed for head 860594f722.
- Required merge gates passed before the squash merge.

Prepared head SHA: 860594f722
Review: https://github.com/openclaw/openclaw/pull/75976#issuecomment-4363168379

Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-02 13:19:24 +00:00
Peter Steinberger
c9fa7b61f1 test(xai): tolerate live provider drift 2026-05-02 14:16:07 +01:00
Peter Steinberger
7a100021d3 test(release): stabilize live codex gates 2026-05-02 14:08:47 +01:00
Val Alexander
d919281fa8 fix(control-ui): improve text selection contrast
Use dedicated high-contrast selection tokens for Control UI/WebChat text selection and add the user-facing changelog entry.\n\nFixes #60850.\nSupersedes #60854.
2026-05-02 07:56:08 -05:00
Peter Steinberger
f523620abe ci: use gpt-5.4 for cross-os release smoke 2026-05-02 13:47:51 +01:00
Peter Steinberger
0f16edf329 fix: cache stable system prompt prep 2026-05-02 13:47:40 +01:00
Kevin
d22da87126 fix: contain iOS standalone viewport (#76072)
Contain the Control UI document in iOS Add-to-Home-Screen standalone mode by enabling viewport-fit=cover, applying safe-area-aware body locking, and constraining the app root so inner panes own scrolling.

Thanks @kvncrw.
2026-05-02 13:46:41 +01:00
DmitryPogodaev
8283c5d6cc perf(plugins): reuse startup runtime registry
Reuse the startup runtime plugin registry across provider/tool helper paths while preserving standalone CLI/MCP fallback loading.

Includes follow-up fixes for migration/provider/tool registry bootstrap and regression coverage for compatible registry reuse.

Co-authored-by: DmitryPogodaev <pogodaev.dm@gmail.com>
2026-05-02 13:44:49 +01:00
Peter Steinberger
695960975a test(release): relax reduced kitchen sink diagnostics 2026-05-02 13:40:45 +01:00
Peter Steinberger
b151694e00 refactor(sessions): route cleanup through controlled writers 2026-05-02 13:40:33 +01:00
Peter Steinberger
2165d1687e test(release): allow kitchen sink channel probe diagnostic 2026-05-02 13:37:17 +01:00
JC
228e5a238c fix: recover topic-suffixed restart locks (#76052)
Fix restart recovery for main sessions that use topic-suffixed transcript files by matching cleaned transcript lock paths directly while preserving the canonical session-id fallback for stale metadata.

Thanks @anyech.
2026-05-02 13:30:10 +01:00
Peter Steinberger
237d0869dc ci: fix release-path docker rerun commands 2026-05-02 13:27:03 +01:00
Peter Steinberger
f4a69c4620 test(google-meet): mock session store updates 2026-05-02 13:24:02 +01:00
Peter Steinberger
9fff2b7791 fix(gateway): detect SecretRef auth rotations 2026-05-02 13:16:28 +01:00
Peter Steinberger
8a2207f8a1 fix(security): ignore plugin install debris in audits 2026-05-02 13:12:28 +01:00
Peter Steinberger
be2768433c fix: mark task fallback events untrusted 2026-05-02 13:11:19 +01:00
Peter Steinberger
638fbc75a0 test: remove stale reset hook import 2026-05-02 13:11:19 +01:00
Peter Steinberger
35685540e2 test: stabilize session reset writer coverage 2026-05-02 13:11:19 +01:00
Peter Steinberger
4967bcb16b fix: route session cleanup through gateway writer 2026-05-02 13:11:19 +01:00
Peter Steinberger
b4437047f4 perf: route session store writes through writer queue 2026-05-02 13:11:19 +01:00
Peter Steinberger
ffc79532b8 test(release): stabilize live release gates 2026-05-02 13:06:37 +01:00
Peter Steinberger
f46c699887 fix(tasks): speed up registry maintenance
Co-authored-by: Lightningxxl <yuanhangxurobin@gmail.com>
Co-authored-by: Gorin Lee <glfruit80@gmail.com>
2026-05-02 13:02:13 +01:00
Peter Steinberger
a254fdaf42 refactor: isolate plugin tool factory execution 2026-05-02 13:01:51 +01:00
Peter Steinberger
7ed58a3efb fix: preserve discord setup channel allowlists (#47788) (thanks @Eldersonar) 2026-05-02 13:01:30 +01:00
Matthew Schleder
084c4beb2e fix(telegram): pass session files to native plugin commands
Pass persisted session file context into Telegram native plugin commands so topic-scoped /codex bind can attach to the active OpenClaw session.

Thanks @MatthewSchleder.

Validation:
- pnpm plugin-sdk:api:check
- pnpm test extensions/telegram/src/bot-native-commands.session-meta.test.ts extensions/telegram/src/bot-native-commands.test.ts -- --reporter=verbose
- OPENCLAW_TESTBOX=1 pnpm check:changed (tbx_01kqm8kzwkdxs2ntgck6vmyrgr)
2026-05-02 13:01:07 +01:00
Peter Steinberger
3980eaa1c2 fix(discord): harden Carbon parity (#75363)
Summary:
- The PR updates the Discord plugin with REST priority lanes and stale background drops, gateway send/member v ... normalization, explicit component forwarding, one-off component wait helpers, tests, and a changelog entry.
- Reproducibility: yes. The prior scheduler failure has a high-confidence source-level reproduction using one  ... ne pending same-bucket request under fake timers, and the latest head adds a regression test for that path.

ClawSweeper fixups:
- Included follow-up commit: fix(discord): preserve option localizations
- Included follow-up commit: fix(discord): harden component sends
- Included follow-up commit: docs(changelog): note Discord Carbon parity hardening
- Included follow-up commit: fix(discord): harden Carbon parity
- Ran the ClawSweeper repair loop before final review.

Validation:
- ClawSweeper review passed for head 4fa634ef1a.
- Required merge gates passed before the squash merge.

Prepared head SHA: 4fa634ef1a
Review: https://github.com/openclaw/openclaw/pull/75363#issuecomment-4357438917

Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-02 11:57:07 +00:00
Peter Steinberger
cd84e9bfb0 fix: preserve discord announce account routing 2026-05-02 12:50:26 +01:00
Peter Steinberger
3ee41deba9 test(agents): preserve session lock pid mock 2026-05-02 12:48:43 +01:00
Peter Steinberger
70ef234753 refactor(skills): centralize snapshot hydration 2026-05-02 12:47:19 +01:00
Peter Steinberger
e607ad4ab0 fix(telegram): route bound group native commands 2026-05-02 12:47:06 +01:00
Peter Steinberger
05a5fa81a0 fix(sessions): hydrate agent-command skill snapshots 2026-05-02 12:44:39 +01:00
Amogh Asgekar
479ed596bd fix(sessions): hydrate skillsSnapshot.resolvedSkills on resume
Codex review on PR #75960 flagged that prepareClaudeCliSkillsPlugin and
the claude-live-session fingerprint read skillsSnapshot.resolvedSkills
directly without a disk fallback. After the persistence-layer strip,
those consumers would see an empty Skill[] on cold session resume,
breaking the documented Claude Code skills integration.

Add a hydration helper in ensureSkillSnapshot that rebuilds
resolvedSkills from a fresh workspace scan when the loaded snapshot
lacks it, while keeping the persisted prompt/skills/skillFilter/version
fields untouched so the model's prompt-cache key stays stable across
resume. The embedded runner's existing consumer-level fallback in
src/agents/pi-embedded-runner/skills-runtime.ts is now a redundant
safety net rather than the only fallback path.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 12:44:39 +01:00