Peter Steinberger
87bb2e5af0
fix(mac): profile onboarding updates the operator's host-global managed CLI ( #121651 )
...
* fix(mac): scope managed CLI install and detection to the active app profile
Under an active OPENCLAW_PROFILE the onboarding ready page detected the
host-global managed CLI (~/.openclaw/bin/openclaw) and its update/install
flow rewrote the operator's real managed copy. The managed install prefix
now follows the profile state directory (~/.openclaw-<name>), preferred
paths exclude other profiles' managed trees (including stale validated
executables and inherited shell PATH entries), and external CLIs stay
detectable read-only. Default-profile behavior is unchanged.
* chore(mac): refresh native i18n inventory for shifted source lines
2026-08-10 16:50:05 -07:00
Peter Steinberger
0dbdf994b3
feat(macos): isolate named app profiles ( #121136 )
...
* feat(macos): isolate named app profiles
* refactor(macos): isolate profile launch ownership
* fix(macos): avoid overlapping approvals socket access
* fix(macos): declare profile defaults concurrency ownership
* fix(macos): return profiled node launch arguments
* chore(i18n): refresh macOS profile source inventory
* fix(macos): gate profile startup before services
* test(macos): evaluate profile state before assertions
* fix(daemon): skip absent launchd deactivation
* fix(macos): fail closed on profile port conflicts
* chore(i18n): refresh profile conflict inventory
* fix(macos): ignore non-gateway launch agent claims
* test(macos): stabilize profile lifecycle timing
* fix(macos): remove stale dashboard URL
* chore(macos): refresh native source baseline
2026-08-09 14:50:15 -07:00
Peter Steinberger
ab5e10fd17
fix(macos): first-run gateway startup survives state migrations ( #121012 )
...
* fix(macos): tolerate first-run state migrations during gateway start
* fix(macos): tolerate loaded-host version probes
2026-08-09 03:11:38 -07:00
Peter Steinberger
915c25d713
fix(macos): complete ChatGPT subscription setup ( #120782 )
...
Fresh Dev installs now preflight disk space and stream honest stages, while Codex activation probes the refreshed request-scoped registry.
Closes #120779
Closes #120780
2026-08-08 17:16:00 -07:00
Patrick Erichsen
355c107c09
fix(macos): unblock first-launch gateway setup ( #119831 )
...
* fix(macos): stop writing retired config metadata
* fix(macos): guard packaged CLI bootstrap versions
* chore(macos): refresh native i18n inventory
* fix(macos): repair retired metadata before gateway start
2026-08-05 22:25:17 -07:00
Vincent Koc
861b35ed44
fix(macos): allow dev source installs to finish ( #116072 )
2026-07-30 04:38:38 +08:00
Vincent Koc
b0a091644f
fix(macos): prevent app stalls from stuck subprocess probes ( #115938 )
...
* refactor(macos): pin subprocess groups through cleanup
* refactor(macos): keep bounded process probes async
* test(macos): cover async process probe limits
* fix(macos): preserve local gateway version fallback
* test(macos): cover gateway version probe fallback
* fix(macos): handle subprocesses that exit before monitoring
* test(macos): stress instant bounded process exits
* fix(macos): close bounded process exit registration race
* fix(macos): preserve bounded probe output ordering
* fix(macos): propagate bounded process cancellation
* fix(macos): recover missed subprocess exit events
* chore(macos): refresh native i18n inventory
* fix(macos): reject invalid process argument bytes
2026-07-29 20:12:35 +00:00
Peter Steinberger
890f20be06
feat(macos): coordinate app and Gateway updates ( #107634 )
...
* feat(macos): coordinate app and Gateway updates
* fix(macos): harden coordinated update recovery
* fix(gateway): reject mixed wake presence events
* chore: keep release notes in PR body
* chore(i18n): sync macOS update strings
* chore(generated): sync native artifacts
* style(macos): satisfy Swift checks
* chore(i18n): refresh update source locations
* fix(macos): localize post-update status
* fix(macos): satisfy post-update Swift lint
* chore(i18n): refresh post-update source locations
* test(gateway): isolate system-event routing state
* test(gateway): document system-event authorization
2026-07-14 14:59:32 -07:00
Peter Steinberger
4e46f08fed
fix(macos): keep CLI path discovery off main actor ( #106089 )
2026-07-13 00:41:59 -07:00
Peter Steinberger
d287c9b414
refactor(mac): make app node a CLI capability superset ( #105642 )
...
* refactor(mac): reuse CLI node-host runtime
* fix(mac): prefer checkout CLI in debug builds
* chore: leave release notes to release automation
* chore(mac): sync native string inventory
* chore(mac): refresh native locale artifacts
* fix(node): satisfy native and deadcode gates
2026-07-12 13:16:07 -07:00
Peter Steinberger
da4a480089
chore(apps): remove more dead code
2026-07-12 00:58:32 -07:00
Peter Steinberger
88c563b241
fix: address update-card review findings (channel normalization, hidden-nav affordance, prerelease pinning, policy-aware bridge) ( #104316 )
...
* fix(mac): prerelease-exact launch resolution and policy-aware update ownership
* fix(ui): keep update affordance when nav is hidden and fall back on native decline
* chore(i18n): sync native inventory
2026-07-11 01:44:26 -07:00
Peter Steinberger
ebc848deec
feat: sidebar update card (web + macOS) with app-first mac update flow and Sparkle beta track ( #104171 )
...
* feat: sidebar update card (web + macOS) with app-first mac update flow and Sparkle beta track
Squashed from claude/update-notification-display-c6cfb9 after semantic merge
with #104178 (channel-aware CLI installs). See PR #104171 body for details.
* chore(i18n): resync generated inventories after rebase
* chore(i18n): resync locale metadata after rebase
2026-07-11 00:34:10 -07:00
Peter Steinberger
4b3d4020d3
fix(macos): offer CLI channels for unreleased builds ( #104178 )
...
* fix(macos): choose CLI channel for dev builds
* chore: leave release notes to automation
* chore(macos): sync native string inventory
* style(macos): wrap CLI channel guidance
* fix(macos): return CLI version policy
2026-07-10 22:27:57 -07:00
Peter Steinberger
091584b197
chore(swift): restore compact conditional bodies ( #103832 )
...
* style(swift): restore compact conditional bodies
* fix(ios): remove redundant startup timeout await
* chore(swift): sync native i18n inventory
2026-07-10 18:12:00 +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
6a7b62889e
feat(macos): install and run the local Gateway automatically ( #99767 )
...
* feat(macos): automate local gateway setup
* fix(macos): auto-approve the local Mac node
* chore(macos): refresh generated setup metadata
* chore(macos): refresh generated setup metadata
* chore(macos): refresh generated setup metadata
* chore(macos): refresh generated setup metadata
* chore(macos): refresh generated setup metadata
2026-07-03 22:09:56 -07:00
Peter Steinberger
9a7160786a
refactor: rename to openclaw
2026-01-30 03:16:21 +01:00