Peter Steinberger
6038480915
feat(ui): browse Gateway and node folders from one root ( #105114 )
...
* feat(ui): browse Gateway and node folders
* chore: keep changelog release-owned
* chore: refresh native i18n inventory
* refactor(macos): isolate node filesystem commands
2026-07-12 09:07:07 +01:00
Peter Steinberger
c3b426f280
feat: add Claude session fleet ( #104528 )
...
* feat: add Claude session fleet
* chore: leave release notes to release automation
* chore: refresh generated catalogs
* fix: satisfy session catalog lint gates
2026-07-11 08:22:59 -07:00
Peter Steinberger
05aecc1d6f
feat: show Codex transcripts in the sidebar ( #104437 )
...
* feat: show Codex transcripts in sidebar
* fix: clear Codex sidebar on Gateway switch
* chore: leave release notes to release workflow
* chore: refresh native i18n inventory
* fix: satisfy macOS Codex node lint
* fix: refresh native localization inventory
* docs: refresh documentation map
* chore: refresh UI locale metadata
2026-07-11 05:39:29 -07:00
Peter Steinberger
3ec2a50d6c
fix(exec): prevent revoked policy from authorizing delayed node runs ( #103950 )
...
* fix(cli): fail closed on exec policy rollback races
* refactor(cli): reuse canonical exec policy ordering
* fix(exec): bind delayed approvals to prepared policy
* fix(macos): revalidate delayed exec approvals
* fix(exec): align approval snapshot validation gates
2026-07-11 01:37:37 +01:00
Peter Steinberger
d92d5774f5
fix(node): report Mac exec policy defaults ( #103945 )
2026-07-10 22:07:44 +01:00
Peter Steinberger
9b1c36d23c
fix: prevent exec approval revocation races ( #103515 )
...
* fix(security): serialize exec approval mutations
* fix(security): preserve additive approval writes
* test(cli): expect normalized approval shape
* fix(security): preserve exec approval compatibility
* test(security): exercise locked approval initialization
* test(security): mock serialized approval helpers
* test(exec): derive enforced command path from plan
* fix(gateway): always return approval CAS conflicts
* fix(macos): serialize exec approvals writes
* fix(security): repair approval build errors
* fix(security): serialize exec approval mutations
* fix(security): fail closed on approval persistence errors
* test(security): cover detached approval persistence failures
* fix(security): harden exec approval state
* style(macos): format exec approval sources
* fix(security): complete exec approval hardening
Co-authored-by: Coy Geek <65363919+coygeek@users.noreply.github.com >
* fix(macos): preserve approved login-shell semantics
* fix(macos): keep login shell approvals one-shot
* fix(security): linearize exec authorization
Co-authored-by: Coy Geek <65363919+coygeek@users.noreply.github.com >
* fix(security): preserve durable approval basis
Co-authored-by: Coy Geek <65363919+coygeek@users.noreply.github.com >
* fix(security): bind exec grants to current policy
Co-authored-by: Coy Geek <65363919+coygeek@users.noreply.github.com >
* test(security): fix exec revocation fixtures
* test(security): align gateway approval fixtures
* fix(macos): return approval decisions
* chore(i18n): sync native approval strings
* test(security): align approval hardening fixtures
* test(node): authorize completed event fixture
* test(security): fix approval decision fixtures
* test(security): await durable approval visibility
* fix(exec): preserve concurrent approval grants
* fix(exec): address exact-head CI failures
* fix(exec): preserve concurrent approval promotions
* fix(exec): make Swift shutdown state explicit
* test(macos): handle approval read failures
* fix(macos): harden approval socket paths
* fix(macos): preserve exact shell payload bytes
* test(macos): make approval fixtures explicit
* test(macos): fix approval suite compilation
* fix(macos): bound approval socket JSONL reads
* chore: move exec approval note to release process
* chore: move exec approval note to release process
---------
Co-authored-by: Coy Geek <65363919+coygeek@users.noreply.github.com >
2026-07-10 21:35:05 +01:00
Peter Steinberger
62bd760c0e
chore(swift): enforce current formatting and lint rules ( #103313 )
...
* style: apply SwiftFormat 0.62.1 rules
Refs #103202
* ci: enforce deterministic Swift lint
Refs #103202
* refactor: keep gateway connect lint-clean
Refs #103202
* style: keep iOS typography checks warning-free
* ci: route MLX Swift changes through pre-push
* fix: preserve native i18n extraction after Swift cleanup
* refactor: keep rebased Swift surfaces lint-clean
* style: format latest Swift additions
* chore: refresh native i18n inventory
* style: keep generated Swift formatter-clean
* fix: preserve node route invalidation callbacks
* fix: keep native translation IDs stable
* fix: retain native translation identifiers
* fix: preserve translations across Swift source moves
2026-07-10 11:54:08 +01:00
Peter Steinberger
461772868d
fix(computer): prevent stale, replayed, and post-cancel desktop actions ( #103422 )
...
* fix(ai): preserve streamed tool-call identity
* fix(computer): bind actions to current tool authority
* fix(macos): serialize computer control lifecycle
* docs(computer): document hardened control contract
* chore: follow release-owned changelog policy
* test(agents): cover node list cancellation
2026-07-10 06:47:56 +01:00
Peter Steinberger
f8dbd34ab8
feat(nodes): add computer use (computer.act) on macOS nodes via Peekaboo ( #102776 )
...
* feat(nodes): add computer use (computer.act) on macOS nodes via Peekaboo
* fix(nodes): release held computer.act input on node disconnect/stop/disable
* fix(nodes): release held computer.act input armed after a lifecycle release
* fix(nodes): scope computer.act lifecycle catch-up release to the arming action
* chore(nodes): register computer tool display metadata, sync native i18n, doc-comment constants
* fix(nodes): preserve caught-error cause in computer tool resolver; regen docs map
2026-07-09 15:28:09 +01:00
Peter Steinberger
5154fe08fa
feat: show Codex sessions across Gateway and paired nodes ( #102586 )
...
* feat(codex): add federated session catalog
* fix(codex): align session catalog checks
* fix(ui): translate Codex session catalog
---------
Co-authored-by: Peter Steinberger <peter@steipete.me >
2026-07-09 03:42:03 -07:00
Peter Steinberger
76154d9275
test(macos): deflake browser proxy gate tests via injectable browser control ( #100517 )
...
MacNodeRuntime's browser proxy gate read OPENCLAW_CONFIG_PATH-resolved config
at invoke time, so parallel tests mutating process env (raw setenv outside
TestIsolationLock in LogLocatorTests/WideAreaGatewayDiscoveryTests) could make
the gate read the real host config. Inject the gate state in tests, cover the
config flag parsing in OpenClawConfigFileTests, and route remaining raw setenv
test users through TestIsolation.withEnvValues.
2026-07-06 02:13:05 +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
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
Peter Steinberger
330ba1fa31
refactor: move canvas to plugin surfaces
2026-05-07 09:07:18 +01:00
Val Alexander
f377db1015
feat: add macOS screen snapshots for monitor preview ( #67954 ) thanks @BunsDev
...
Co-authored-by: Val Alexander <68980965+BunsDev@users.noreply.github.com >
2026-04-17 02:58:21 -05:00
Josh Avant
7abfff756d
Exec: harden host env override handling across gateway and node ( #51207 )
...
* Exec: harden host env override enforcement and fail closed
* Node host: enforce env override diagnostics before shell filtering
* Env overrides: align Windows key handling and mac node rejection
2026-03-20 15:44:15 -05:00
Peter Steinberger
53fb317e7f
fix(macos): clean swiftformat pass and sendable warning
2026-03-08 13:22:46 +00:00
Peter Steinberger
d15b6af77b
fix: land contributor PR #39516 from @Imhermes1
...
macOS app/chat/browser/cron/permissions fixes.
Co-authored-by: ImHermes1 <lukeforn@gmail.com >
2026-03-08 06:11:20 +00:00
Peter Steinberger
7b3f506e64
style(swift): apply swiftformat and swiftlint fixes
2026-03-02 04:15:43 +00:00
Peter Steinberger
9a7160786a
refactor: rename to openclaw
2026-01-30 03:16:21 +01:00