Peter Steinberger
e71d10fd4d
fix(webchat): show manual compaction progress
...
Add first-class session.operation start/end events for manual compaction and render the existing WebChat compaction indicator from those events.
Co-authored-by: Conan Scott <271909525+Conan-Scott@users.noreply.github.com >
2026-05-16 13:58:44 +01:00
Neerav Makwana
07d2043081
fix(android): make chat links tappable
2026-05-16 13:06:26 +01:00
Peter Steinberger
9c5acb7ea3
chore: release 2026.5.17
2026-05-16 10:11:41 +01:00
Brad
372a8e4d22
Add wait mode for manual cron runs ( #81929 )
...
Adds wait mode for manual cron runs, exact run-id lookup for cron run logs, protocol/Swift schema support, and docs/changelog coverage.
2026-05-15 20:17:48 -07:00
Vincent Koc
f553dad560
Reapply "chore(release): set 2026.5.16 version"
...
This reverts commit 73aab6abd8 .
2026-05-16 08:59:33 +08:00
Vincent Koc
73aab6abd8
Revert "chore(release): set 2026.5.16 version"
...
This reverts commit b7e8f6da6a .
2026-05-16 08:20:19 +08:00
Peter Steinberger
b7e8f6da6a
chore(release): set 2026.5.16 version
2026-05-15 22:06:19 +01:00
Peter Steinberger
a6dd9fdf08
fix(cron): separate failure notification delivery
2026-05-15 21:51:25 +01:00
Peter Steinberger
2e5a86adfe
fix: finish room event gating
2026-05-15 21:47:46 +01:00
Peter Steinberger
c6ddb1afb7
fix: preserve media completion message-tool delivery ( #82206 )
...
* fix: preserve message-tool media completion delivery
* chore: update generated protocol models
2026-05-15 16:49:52 +01:00
Val Alexander
5f89cabeb5
fix(macos): harden screen.snapshot validation and payload bounds
...
Fixes #68181 .
Rejects malformed macOS screen.snapshot params before capture, sanitizes capture failures, and bounds inline base64 snapshot responses against the projected node.invoke.result frame size.
Supersedes #68186 .
2026-05-15 02:27:33 -05:00
javierdici
f6c00456dc
Render provider errors in chat history ( #65689 )
...
Merged via squash.
Prepared head SHA: a777c7506e
Co-authored-by: javierdici <131621115+javierdici@users.noreply.github.com >
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com >
Reviewed-by: @altaywtf
2026-05-15 00:48:41 +03:00
Val Alexander
6db2ee6583
fix(ios): restore privacy permission prompts
...
Restores first-use iOS authorization prompts for Contacts, Calendar, and Reminders by adding the missing usage descriptions, requesting access from `.notDetermined` in the service paths, and adding Settings Privacy & Access status/actions.
Verification:
- `plutil -lint apps/ios/Sources/Info.plist apps/ios/Tests/Info.plist apps/ios/ShareExtension/Info.plist apps/ios/ActivityWidget/Info.plist apps/ios/WatchApp/Info.plist apps/ios/WatchExtension/Info.plist`
- `swiftformat --lint apps/ios/Sources/Permissions/PermissionRequestBridge.swift apps/ios/Sources/Contacts/ContactsService.swift apps/ios/Sources/Calendar/CalendarService.swift apps/ios/Sources/Reminders/RemindersService.swift apps/ios/Sources/Settings/PrivacyAccessSectionView.swift apps/ios/Sources/Settings/SettingsTab.swift apps/ios/Sources/Onboarding/GatewayOnboardingView.swift apps/shared/OpenClawKit/Sources/OpenClawKit/DeepLinks.swift --config config/swiftformat`
- `swiftlint lint --config apps/ios/.swiftlint.yml apps/ios/Sources/Permissions/PermissionRequestBridge.swift apps/ios/Sources/Contacts/ContactsService.swift apps/ios/Sources/Calendar/CalendarService.swift apps/ios/Sources/Reminders/RemindersService.swift apps/ios/Sources/Settings/PrivacyAccessSectionView.swift apps/ios/Sources/Settings/SettingsTab.swift apps/ios/Sources/Onboarding/GatewayOnboardingView.swift apps/ios/Tests/PermissionRequestBridgeTests.swift`
- `git diff --check origin/main...HEAD`
- `rg '<<<<<<<|=======|>>>>>>>' CHANGELOG.md apps/ios apps/shared/OpenClawKit/Sources/OpenClawKit/DeepLinks.swift`
- `pnpm ios:build`
- `xcodebuild test -project apps/ios/OpenClaw.xcodeproj -scheme OpenClaw -destination 'platform=iOS Simulator,name=iPhone 17' -configuration Debug -only-testing:OpenClawTests/PermissionRequestBridgeTests`
- Fresh-erased iPhone 17 simulator proof for Contacts denial/Open Settings, Calendar add-only/full-access upgrade, and Reminders authorization prompts.
Not tested: physical device, or a paired gateway command invocation after onboarding.
2026-05-13 23:45:35 -05:00
Val Alexander
faa443a452
fix(chat/ios): downscale image attachments before send
...
Resize iOS chat PhotosPicker image attachments through the shared JPEG transcoder before staging/sending. Cap long edge and payload bytes, strip source metadata, preserve previews from processed data, and add focused processor/view-model regression tests.\n\nFixes #68524.\nSupersedes #73710 .
2026-05-13 21:44:05 -05:00
Val Alexander
6a41a54212
fix(macos): harden direct gateway TLS pinning
...
Summary:
- Require macOS system trust before saving and accepting first-use direct `wss://` gateway TLS pins.
- Honor `gateway.remote.tlsFingerprint` in macOS direct node-mode TLS params.
- Add focused Swift coverage and update remote gateway docs/changelog.
Verification:
- Local: swiftformat --lint on touched Swift files.
- Local: git diff --check HEAD~1..HEAD.
- Local: swift test --package-path apps/shared/OpenClawKit --filter GatewayTLSPinningTests.
- Local: swift test --package-path apps/macos --filter 'MacNodeModeCoordinatorTests|GatewayEndpointStoreTests'.
- Local: PATH=/Users/buns/.nvm/versions/node/v24.13.0/bin:$PATH pnpm docs:list.
- CI: macos-node, macos-swift, check-docs, security-fast, security-scm-fast, security-dependency-audit, Opengrep OSS, and changed-path checks passed on PR head cf383fc047 .
Fixes #50642 .
Supersedes #50643 .
2026-05-13 21:30:22 -05:00
Peter Steinberger
150bebcd0c
fix(gateway): require v4 chat deltas
2026-05-13 16:06:37 +01:00
samzong
63724ddcfd
fix(sdk): preserve replayed chat snapshots
2026-05-13 16:06:37 +01:00
Pavan Kumar Gondhi
418d7afb33
gateway: pass Talk session scope to resolver [AI] ( #81379 )
...
* fix: pass talk session visibility scope
* addressing review-skill
* addressing review-skill
* addressing codex review
* addressing codex review
* addressing codex review
* addressing codex review
* addressing codex review
* addressing codex review
* addressing claude review
* addressing ci
* docs: add changelog entry for PR merge
2026-05-13 20:09:03 +05:30
Pavan Kumar Gondhi
b17e77a22b
Require approval for setup-code device pairing [AI] ( #81292 )
...
* fix: require approval for setup-code bootstrap pairing
* addressing review-skill
* addressing codex review
* addressing codex review
* addressing codex review
* addressing codex review
* addressing codex review
* addressing ci
* addressing ci
* docs: add changelog entry for PR merge
2026-05-13 18:48:44 +05:30
Peter Steinberger
694ca50e97
Revert "refactor: move runtime state to SQLite"
...
This reverts commit f91de52f0d .
2026-05-13 13:33:38 +01:00
Peter Steinberger
f91de52f0d
refactor: move runtime state to SQLite
...
* refactor: remove stale file-backed shims
* fix: harden sqlite state ci boundaries
* refactor: store matrix idb snapshots in sqlite
* fix: satisfy rebased CI guardrails
* refactor: store current conversation bindings in sqlite table
* refactor: store tui last sessions in sqlite table
* refactor: reset sqlite schema history
* refactor: drop unshipped sqlite table migration
* refactor: remove plugin index file rollback
* refactor: drop unshipped sqlite sidecar migrations
* refactor: remove runtime commitments kv migration
* refactor: preserve kysely sync result types
* refactor: drop unshipped sqlite schema migration table
* test: keep session usage coverage sqlite-backed
* refactor: keep sqlite migration doctor-only
* refactor: isolate device legacy imports
* refactor: isolate push voicewake legacy imports
* refactor: isolate remaining runtime legacy imports
* refactor: tighten sqlite migration guardrails
* test: cover sqlite persisted enum parsing
* refactor: isolate legacy update and tui imports
* refactor: tighten sqlite state ownership
* refactor: move legacy imports behind doctor
* refactor: remove legacy session row lookup
* refactor: canonicalize memory transcript locators
* refactor: drop transcript path scope fallbacks
* refactor: drop runtime legacy session delivery pruning
* refactor: store tts prefs only in sqlite
* refactor: remove cron store path runtime
* refactor: use cron sqlite store keys
* refactor: rename telegram message cache scope
* refactor: read memory dreaming status from sqlite
* refactor: rename cron status store key
* refactor: stop remembering transcript file paths
* test: use sqlite locators in agent fixtures
* refactor: remove file-shaped commitments and cron store surfaces
* refactor: keep compaction transcript handles out of session rows
* refactor: derive transcript handles from session identity
* refactor: derive runtime transcript handles
* refactor: remove gateway session locator reads
* refactor: remove transcript locator from session rows
* refactor: store raw stream diagnostics in sqlite
* refactor: remove file-shaped transcript rotation
* refactor: hide legacy trajectory paths from runtime
* refactor: remove runtime transcript file bridges
* refactor: repair database-first rebase fallout
* refactor: align tests with database-first state
* refactor: remove transcript file handoffs
* refactor: sync post-compaction memory by transcript scope
* refactor: run codex app-server sessions by id
* refactor: bind codex runtime state by session id
* refactor: pass memory transcripts by sqlite scope
* refactor: remove transcript locator cleanup leftovers
* test: remove stale transcript file fixtures
* refactor: remove transcript locator test helper
* test: make cron sqlite keys explicit
* test: remove cron runtime store paths
* test: remove stale session file fixtures
* test: use sqlite cron keys in diagnostics
* refactor: remove runtime delivery queue backfill
* test: drop fake export session file mocks
* refactor: rename acp session read failure flag
* refactor: rename acp row session key
* refactor: remove session store test seams
* refactor: move legacy session parser tests to doctor
* refactor: reindex managed memory in place
* refactor: drop stale session store wording
* refactor: rename session row helpers
* refactor: rename sqlite session entry modules
* refactor: remove transcript locator leftovers
* refactor: trim file-era audit wording
* refactor: clean managed media through sqlite
* fix: prefer explicit agent for exports
* fix: use prepared agent for session resets
* fix: canonicalize legacy codex binding import
* test: rename state cleanup helper
* docs: align backup docs with sqlite state
* refactor: drop legacy Pi usage auth fallback
* refactor: move legacy auth profile imports to doctor
* refactor: keep Pi model discovery auth in memory
* refactor: remove MSTeams legacy learning key fallback
* refactor: store model catalog config in sqlite
* refactor: use sqlite model catalog at runtime
* refactor: remove model json compatibility aliases
* refactor: store auth profiles in sqlite
* refactor: seed copied auth profiles in sqlite
* refactor: make auth profile runtime sqlite-addressed
* refactor: migrate hermes secrets into sqlite auth store
* refactor: move plugin install config migration to doctor
* refactor: rename plugin index audit checks
* test: drop auth file assumptions
* test: remove legacy transcript file assertions
* refactor: drop legacy cli session aliases
* refactor: store skill uploads in sqlite
* refactor: keep subagent attachments in sqlite vfs
* refactor: drop subagent attachment cleanup state
* refactor: move legacy session aliases to doctor
* refactor: require node 24 for sqlite state runtime
* refactor: move provider caches into sqlite state
* fix: harden virtual agent filesystem
* refactor: enforce database-first runtime state
* refactor: rename compaction transcript rotation setting
* test: clean sqlite refactor test types
* refactor: consolidate sqlite runtime state
* refactor: model session conversations in sqlite
* refactor: stop deriving cron delivery from session keys
* refactor: stop classifying sessions from key shape
* refactor: hydrate announce targets from typed delivery
* refactor: route heartbeat delivery from typed sqlite context
* refactor: tighten typed sqlite session routing
* refactor: remove session origin routing shadow
* refactor: drop session origin shadow fixtures
* perf: query sqlite vfs paths by prefix
* refactor: use typed conversation metadata for sessions
* refactor: prefer typed session routing metadata
* refactor: require typed session routing metadata
* refactor: resolve group tool policy from typed sessions
* refactor: delete dead session thread info bridge
* Show Codex subscription reset times in channel errors (#80456 )
* feat(plugin-sdk): consolidate session workflow APIs
* fix(agents): allow read-only agent mount reads
* [codex] refresh plugin regression fixtures
* fix(agents): restore compaction gateway logs
* test: tighten gateway startup assertions
* Redact persisted secret-shaped payloads [AI] (#79006 )
* test: tighten device pair notify assertions
* test: tighten hermes secret assertions
* test: assert matrix client error shapes
* test: assert config compat warnings
* fix(heartbeat): remap cron-run exec events to session keys (#80214 )
* fix(codex): route btw through native side threads
* fix(auth): accept friendly OpenAI order for Codex profiles
* fix(codex): rotate auth profiles inside harness
* fix: keep browser status page probe within timeout
* test: assert agents add outputs
* test: pin cron read status
* fix(agents): avoid Pi resource discovery stalls
Co-authored-by: dataCenter430 <titan032000@gmail.com >
* fix: retire timed-out codex app-server clients
* test: tighten qa lab runtime assertions
* test: check security fix outputs
* test: verify extension runtime messages
* feat(wake): expose typed sessionKey on wake protocol + system event CLI
* fix(gateway): await session_end during shutdown drain and track channel + compaction lifecycle paths (#57790 )
* test: guard talk consult call helper
* fix(codex): scale context engine projection (#80761 )
* fix(codex): scale context engine projection
* fix: document Codex context projection scaling
* fix: document Codex context projection scaling
* fix: document Codex context projection scaling
* fix: document Codex context projection scaling
* chore: align Codex projection changelog
* chore: realign Codex projection changelog
* fix: isolate Codex projection patch
---------
Co-authored-by: Eva (agent) <eva+agent-78055@100yen.org >
Co-authored-by: Josh Lehman <josh@martian.engineering >
* refactor: move agent runtime state toward piless
* refactor: remove cron session reaper
* refactor: move session management to sqlite
* refactor: finish database-first state migration
* chore: refresh generated sqlite db types
* refactor: remove stale file-backed shims
* test: harden kysely type coverage
# Conflicts:
# .agents/skills/kysely-database-access/SKILL.md
# src/infra/kysely-sync.types.test.ts
# src/proxy-capture/store.sqlite.test.ts
# src/state/openclaw-agent-db.test.ts
# src/state/openclaw-state-db.test.ts
* refactor: remove cron store path runtime
* refactor: keep compaction transcript handles out of session rows
* refactor: derive embedded transcripts from sqlite identity
* refactor: remove embedded transcript locator handoff
* refactor: remove runtime transcript file bridges
* refactor: remove transcript file handoffs
* refactor: remove MSTeams legacy learning key fallback
* refactor: store model catalog config in sqlite
* refactor: use sqlite model catalog at runtime
# Conflicts:
# docs/cli/secrets.md
# docs/gateway/authentication.md
# docs/gateway/secrets.md
* fix: keep oauth sibling sync sqlite-local
# Conflicts:
# src/commands/onboard-auth.test.ts
* refactor: remove task session store maintenance
# Conflicts:
# src/commands/tasks.ts
* refactor: keep diagnostics in state sqlite
* refactor: enforce database-first runtime state
* refactor: consolidate sqlite runtime state
* Show Codex subscription reset times in channel errors (#80456 )
* fix(codex): refresh subscription limit resets
* fix(codex): format reset times for channels
* Update CHANGELOG with latest changes and fixes
Updated CHANGELOG with recent fixes and improvements.
* fix(codex): keep command load failures on codex surface
* fix(codex): format account rate limits as rows
* fix(codex): summarize account limits as usage status
* fix(codex): simplify account limit status
* test: tighten subagent announce queue assertion
* test: tighten session delete lifecycle assertions
* test: tighten cron ops assertions
* fix: track cron execution milestones
* test: tighten hermes secret assertions
* test: assert matrix sync store payloads
* test: assert config compat warnings
* fix(codex): align btw side thread semantics
* fix(codex): honor codex fallback blocking
* fix(agents): avoid Pi resource discovery stalls
* test: tighten codex event assertions
* test: tighten cron assertions
* Fix Codex app-server OAuth harness auth
* refactor: move agent runtime state toward piless
* refactor: move device and push state to sqlite
* refactor: move runtime json state imports to doctor
* refactor: finish database-first state migration
* chore: refresh generated sqlite db types
* refactor: clarify cron sqlite store keys
* refactor: remove stale file-backed shims
* refactor: bind codex runtime state by session id
* test: expect sqlite trajectory branch export
* refactor: rename session row helpers
* fix: keep legacy device identity import in doctor
* refactor: enforce database-first runtime state
* refactor: consolidate sqlite runtime state
* build: align pi contract wrappers
* chore: repair database-first rebase
* refactor: remove session file test contracts
* test: update gateway session expectations
* refactor: stop routing from session compatibility shadows
* refactor: stop persisting session route shadows
* refactor: use typed delivery context in clients
* refactor: stop echoing session route shadows
* refactor: repair embedded runner rebase imports
# Conflicts:
# src/agents/pi-embedded-runner/run/attempt.tool-call-argument-repair.ts
* refactor: align pi contract imports
* refactor: satisfy kysely sync helper guard
* refactor: remove file transcript bridge remnants
* refactor: remove session locator compatibility
* refactor: remove session file test contracts
* refactor: keep rebase database-first clean
* refactor: remove session file assumptions from e2e
* docs: clarify database-first goal state
* test: remove legacy store markers from sqlite runtime tests
* refactor: remove legacy store assumptions from runtime seams
* refactor: align sqlite runtime helper seams
* test: update memory recall sqlite audit mock
* refactor: align database-first runtime type seams
* test: clarify doctor cron legacy store names
* fix: preserve sqlite session route projections
* test: fix copilot token cache test syntax
* docs: update database-first proof status
* test: align database-first test fixtures
* docs: update database-first proof status
* refactor: clean extension database-first drift
* test: align agent session route proof
* test: clarify doctor legacy path fixtures
* chore: clean database-first changed checks
* chore: repair database-first rebase markers
* build: allow baileys git subdependency
* chore: repair exp-vfs rebase drift
* chore: finish exp-vfs rebase cleanup
* chore: satisfy rebase lint drift
* chore: fix qqbot rebase type seam
* chore: fix rebase drift leftovers
* fix: keep auth profile oauth secrets out of sqlite
* fix: repair rebase drift tests
* test: stabilize pairing request ordering
* test: use source manifests in plugin contract checks
* fix: restore gateway session metadata after rebase
* fix: repair database-first rebase drift
* fix: clean up database-first rebase fallout
* test: stabilize line quick reply receipt time
* fix: repair extension rebase drift
* test: keep transcript redaction tests sqlite-backed
* fix: carry injected transcript redaction through sqlite
* chore: clean database branch rebase residue
* fix: repair database branch CI drift
* fix: repair database branch CI guard drift
* fix: stabilize oauth tls preflight test
* test: align database branch fast guards
* test: repair build artifact boundary guards
* chore: clean changelog rebase markers
---------
Co-authored-by: pashpashpash <nik@vault77.ai >
Co-authored-by: Eva <eva@100yen.org >
Co-authored-by: stainlu <stainlu@newtype-ai.org >
Co-authored-by: Jason Zhou <jason.zhou.design@gmail.com >
Co-authored-by: Ruben Cuevas <hi@rubencu.com >
Co-authored-by: Pavan Kumar Gondhi <pavangondhi@gmail.com >
Co-authored-by: Shakker <shakkerdroid@gmail.com >
Co-authored-by: Kaspre <36520309+Kaspre@users.noreply.github.com >
Co-authored-by: dataCenter430 <titan032000@gmail.com >
Co-authored-by: Kaspre <kaspre@gmail.com >
Co-authored-by: pandadev66 <nova.full.stack@outlook.com >
Co-authored-by: Eva <admin@100yen.org >
Co-authored-by: Eva (agent) <eva+agent-78055@100yen.org >
Co-authored-by: Josh Lehman <josh@martian.engineering >
Co-authored-by: jeffjhunter <support@aipersonamethod.com >
2026-05-13 13:15:12 +01:00
Pavan Kumar Gondhi
6c918ca85f
Inherit tool restrictions for delegated sessions [AI] ( #80979 )
...
* fix: inherit tool restrictions for delegated sessions
* addressing review-skill
* addressing review-skill
* addressing review-skill
* addressing review-skill
* addressing codex review
* addressing codex review
* addressing codex review
* addressing codex review
* addressing codex review
* addressing review-skill
* addressing codex review
* addressing claude review
* addressing ci
* docs: add changelog entry for PR merge
2026-05-13 10:21:36 +05:30
Pavan Kumar Gondhi
17fa101c16
Validate node exec event provenance [AI] ( #81071 )
...
* fix: validate node exec event provenance
* addressing codex review
* addressing codex review
* addressing codex review
* addressing codex review
* addressing codex review
* addressing claude review
* addressing ci
* addressing ci
* addressing ci
* docs: add changelog entry for PR merge
2026-05-13 09:56:09 +05:30
Super Zheng
380daf2f50
feat(gateway): inject isHeartbeat into agent event broadcast payload ( #80610 )
...
Merged via squash.
Prepared head SHA: cb254108a1
Co-authored-by: medns <1575008+medns@users.noreply.github.com >
Co-authored-by: odysseus0 <8635094+odysseus0@users.noreply.github.com >
Reviewed-by: @odysseus0
2026-05-12 04:41:14 -07:00
Pavan Kumar Gondhi
3aeb55b5e7
fix(node-pairing): replace changed pending requests [AI] ( #80894 )
...
* fix: replace changed node pairing requests
* fix: replace changed node pairing requests
* addressing codex review
* addressing codex review
* addressing ci
* fix: complete node pairing permission handling
* addressing review-skill
* addressing codex review
* addressing codex review
* addressing ci
* addressing ci
* addressing ci
* docs: add changelog entry for PR merge
2026-05-12 16:33:55 +05:30
Peter Steinberger
c98698aa0e
chore: release 2026.5.12-beta.1
2026-05-12 06:33:41 +01:00
Peter Steinberger
71c8d2405d
build: forward-port release packaging fixes
2026-05-12 06:21:10 +01:00
Peter Steinberger
abb5fc6522
build: refresh generated protocol models
...
(cherry picked from commit b8b948e208 )
2026-05-12 06:21:09 +01:00
Val Alexander
51b73b39a8
fix(auth): align operator bootstrap scopes
...
Preserve full shared-token operator sessions while reusing bootstrap/cached device-token scopes for handoff reconnects.
Surface device-token scope mismatches as AUTH_SCOPE_MISMATCH and stop reconnect retry loops without clearing valid stored tokens.
Fixes #79292 .
Supersedes #79314 , #79296 , #79295 .
2026-05-11 14:14:33 -05:00
Omar Shahine
efc8641393
fix: add channel status filtering ( #80706 )
...
Summary:
- Add `openclaw channels status --channel <name>` filtering through CLI, gateway protocol, and fallback status rendering.
- Document the BlueBubbles-to-iMessage cutover path so operators can probe iMessage without starting both monitors.
- Refresh generated Swift protocol model for the new optional channel status parameter.
Verification:
- `pnpm test src/gateway/server-methods/channels.status.test.ts src/commands/channels.status.command-flow.test.ts src/cli/program/routes.test.ts -- --reporter=verbose`
- `CI=true pnpm check:docs`
- `pnpm protocol:check`
- `git diff --check`
- `node scripts/check-changelog-attributions.mjs`
- CI head `45b27e3866`: focused/docs/protocol shards green locally; GitHub broad/scanner jobs queued for runners at merge attempt time; `Real behavior proof` failure is the maintainer-ignorable external-real-proof complaint.
2026-05-11 18:44:54 +01:00
Kaspre
5971f74bf1
fix(cron): strengthen targeted wake routing proof
2026-05-11 17:24:30 +01:00
Kaspre
072fa9b174
fix(wake): handle relative + agent-prefixed session keys consistently in cron adapter
...
Address review findings from successive codex rounds:
1. next-heartbeat + sessionKey now fires a targeted immediate wake.
The regularly-scheduled heartbeat fires for the agent's main session,
not the supplied sessionKey, so an event queued for a non-main session
would sit stranded indefinitely; an "event"-intent wake is also
deferred as not-due by the heartbeat runner and not retried, so
neither path delivers without an explicit immediate wake.
2. resolveCronWakeTarget now always runs through resolveCronAgent, both
for agent-prefixed session keys (so non-default agents are honored)
and relative keys (so the configured default agent is used instead
of the hardcoded "main" returned by resolveAgentIdFromSessionKey).
Mirrors the matching fix in the enqueueSystemEvent adapter so wake
and enqueue resolve to the same target.
3. Generated Swift `WakeParams` models now expose the new optional
`sessionkey` field (codingKey "sessionKey") in both the macOS and
shared OpenClawKit copies. Locally regenerated from agent.ts via
protocol:gen + protocol:gen:swift would have produced this; the
environment couldn't run the generators (fs-safe transitive
typecheck errors), so the diff was applied by hand to match what
pnpm protocol:check would output.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-11 17:24:30 +01:00
Peter Steinberger
15cf49222f
build: refresh deps and route testbox through crabbox
2026-05-11 03:41:00 +01:00
Eva
50ee68cdf4
feat(plugin-sdk): consolidate session workflow APIs
2026-05-11 03:24:08 +01:00
Peter Steinberger
3f815fad12
fix(gateway): widen native protocol compatibility
2026-05-11 01:38:23 +01:00
pashpashpash
0e8a7e12da
Enable Codex native code mode for OpenClaw harness runs ( #80001 )
...
* fix(codex): enable native code mode in harness
* test(codex): update code mode prompt snapshots
* test(codex): align code mode thread config expectations
* chore(protocol): refresh generated Swift agent params
* fix(codex): enable code-mode-only harness threads
* test(discord): fix test mock type assertions
* test: fix remaining test type assertions
* test(matrix): guard avatar loader test callback
2026-05-11 08:18:03 +09:00
Peter Steinberger
522f3296a7
ci: forward-port release validation fixes
2026-05-10 20:38:36 +01:00
Nimrod Gutman
c8a821e648
docs(ios): add gateway certificate rotation changelog
2026-05-10 21:24:04 +03:00
Nimrod Gutman
00a0858fd9
fix(ios): recover rotated gateway certificates
...
## Summary
- allow iOS to trust system-valid rotated gateway certificates
- rebuild active gateway sessions after replacing the stored TLS pin
- expose certificate trust recovery from gateway problem banners
## Verification
- swift test --filter 'GatewayErrorsTests|GatewayNodeSessionTests/changedSessionBoxRebuildsExistingGatewayChannel'
- xcodebuild build -scheme OpenClaw -destination 'platform=iOS,id=00008140-000848A92EE3001C'
- installed and launched OpenClaw on attached iPhone with devicectl
- verified iOS gateway log connected to wss://gutsy-home.tail06a72.ts.net:443 after trust/pairing recovery
2026-05-10 21:10:35 +03:00
Peter Steinberger
a3a5a8052d
build(macos): update peekaboo dependency
2026-05-10 13:50:27 +01:00
scoootscooob
e5fe9bdef0
fix: reread config on in-process gateway restart ( #80161 )
...
* fix: reread config on in-process gateway restart
* fix: refresh swift protocol model
2026-05-10 04:01:19 -04:00
Vincent Koc
a31b75f543
chore(channels): remove bluebubbles hangover
2026-05-10 13:53:58 +08:00
Peter Steinberger
9243b575ed
chore(release): prepare 2026.5.10-beta.1
2026-05-10 06:13:38 +01:00
Val Alexander
dafbdb6f20
fix: preserve shared macOS and CLI device identities
...
Fixes #76815 .
- Teach the Swift macOS identity store to load TypeScript PEM identity files without regenerating device IDs.
- Teach the TypeScript identity store to migrate legacy Swift raw-key identities to PEM after validating key material.
- Preserve recognized invalid identity files instead of clobbering them, preventing repeated pairing churn while retaining diagnostic evidence.
- Align the macOS wizard CLI with the generated protocol model.
Reported by @aboundTechOlogy.
Thanks @BunsDev.
2026-05-09 23:32:33 -05:00
Colin
7a2a31dede
feat: add realtime voice OAuth controls
2026-05-10 00:13:23 -04:00
samzong
d832ad214c
[Feat] Add upload archive install RPC ( #74430 )
...
* feat(skills): add upload archive install RPC
- src/agents/skills-archive-install.ts:83 [BOT-SCOPE]: `withExtractedArchiveRoot()` still returns unstructured extract failures, so exact transient-vs-terminal classification should be moved into the shared install-flow layer in a follow-up rather than expanding this PR.
Signed-off-by: samzong <samzong.lu@gmail.com >
* fix(skills): address archive upload review findings
Signed-off-by: samzong <samzong.lu@gmail.com >
* fix(skills): regen protocol bindings and classify transient archive errors
* feat: gate uploaded skill installs by config
* test: add docker skill install proof
* docs: clarify uploaded skill archive gate
* chore: refresh config docs baseline
* style: format docker e2e plan test
* fix: use fs-safe path checks for skill archives
* fix: classify skill publish failures as unavailable
* test: update skill clawhub path mock
* fix: pass mutable archive root markers
* fix: use current json dir mode option
* test: satisfy skill upload lint
* test: refresh core support expectations
---------
Signed-off-by: samzong <samzong.lu@gmail.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-09 20:44:18 -04:00
Peter Steinberger
16f3350b84
fix(release): repair full validation gates
2026-05-09 23:25:26 +01:00
Peter Steinberger
35f63f2473
fix(macos): read typed gateway error frames
2026-05-09 23:25:26 +01:00
Peter Steinberger
af9baddac0
fix(release): align beta plugin install expectations
2026-05-09 23:25:26 +01:00
Peter Steinberger
815621c0d4
fix: finish run control defaults ( #79385 ) (thanks @VACInc)
2026-05-09 06:51:20 -04:00