Peter Steinberger
ae55a4090c
refactor(canvas): make the panel a widget presenter ( #126030 )
...
* refactor(canvas): retire legacy host and commands
* refactor(apple): narrow shared Canvas contracts
* refactor(macos): keep Canvas as widget presenter
* refactor(ios): remove Canvas client
* refactor(android): remove Canvas client
* refactor(linux): remove Canvas client
* fix(ci): isolate native locale artifacts
* fix(linux): regenerate companion lockfile
* fix(canvas): refresh native tool display metadata
* test(canvas): align coverage with presenter surface
* test(canvas): remove obsolete asset root seam
* test(canvas): stabilize retirement CI coverage
* refactor(swift): remove orphaned resource wrapper
* test(ios): remove retired canvas layout assertion
* fix(macos): reserve retired canvas command namespace
* refactor(macos): isolate canvas command policy
* fix(canvas): select only eligible macOS panels
* fix(canvas): keep panel selection plugin-owned
2026-08-19 08:21:07 -07:00
Peter Steinberger
04c9924c45
fix(macos): keep elevation host CUA-free ( #125408 )
...
* fix(macos): isolate elevation host from CUA
* fix(macos): fail closed on unsafe elevation rollback
* fix(macos): quarantine unsafe elevation state before recovery
* fix(macos): bind elevation recovery ownership
2026-08-17 17:03:04 -07:00
Peter Steinberger
70ceb70cdf
fix(macos): settle canceled node worker invokes ( #124151 )
2026-08-15 03:49:32 -07:00
Peter Steinberger
05c64cb39c
fix(macos): keep replacement node worker active after stale exit ( #123969 )
...
* fix(macos): fence stale node worker exit events
* test(macos): synchronize stale worker exit regression
* refactor(macos): unify node worker generation identity
2026-08-14 21:06:57 -07:00
Peter Steinberger
98a8e0d63f
fix(macos): prevent mismatched CUA driver endpoints ( #123845 )
...
* fix(macos): make CUA driver endpoint handoff atomic
* ci: record approved CUA env budget increase
* test: satisfy changed-gate hygiene
* style(macos): use failable endpoint string conversion
* fix(macos): strip retired CUA worker environment
* ci: constrain CUA env budget approval
* test(macos): isolate inherited CUA environment
2026-08-14 16:04:43 -07:00
Peter Steinberger
4a6edc0d27
feat(macos): fulfill computer.act v2 via Peekaboo ( #123801 )
2026-08-14 14:12:25 -07:00
Peter Steinberger
13fee42c08
fix(cua): keep driver endpoint env private ( #123798 )
2026-08-14 12:52:33 -07:00
Peter Steinberger
19ace6830b
feat(macos): add embedded CUA computer provider ( #123635 )
...
* feat(macos): embed CUA computer provider
* fix(macos): clarify embedded CUA trust posture
* fix(macos): contain embedded CUA daemon lifecycle
* fix(macos): reap orphaned CUA daemons
* fix(macos): record the spawned CUA daemon pid so reaping can terminate orphans
* chore(macos): refresh native i18n baseline for the computer control provider picker
* style(macos): satisfy swiftlint on the embedded CUA host and connect params
* refactor(gateway): move optional connect params to GatewayConnectOptions
2026-08-14 10:24:08 -07:00
Peter Steinberger
641821f25e
fix(macos): prevent node worker restart after stop ( #123651 )
2026-08-14 05:56:40 -07:00
Peter Steinberger
8e398d9591
fix(macos): prevent app-owned child processes surviving shutdown ( #123538 )
...
* fix(macos): reap app-owned child process groups
macOS-owned SSH, Codex, and node-host descendants no longer survive terminal shutdown. Codex retains EOF-first graceful exit before bounded process-group termination and reaping.
* fix(macos): correct managed cleanup wake binding
* fix(macos): preserve Codex shutdown escalation
Keep the app-owned EOF grace window while allowing abortive requests to interrupt it before process-group TERM and KILL.
2026-08-14 01:09:32 -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
d9ff862823
fix(macos): recover node startup after legacy identity recreation ( #120610 )
2026-08-08 08:54:16 -07:00
joshavant
026f4045b7
Revert "fix(protocol): preserve gateway session attribution across node runs"
...
This reverts commit 735f176b01 .
2026-08-07 18:40:17 -05:00
Vincent Koc
735f176b01
fix(protocol): preserve gateway session attribution across node runs
2026-08-07 08:06:01 +08:00
Peter Steinberger
7ae6a950f6
fix(macos): preserve native command ownership and consent ( #118914 )
2026-08-03 12:50:11 -07:00
Peter Steinberger
4b59f06d27
fix(mac): bound node worker crash retries ( #114974 )
2026-07-28 02:22:27 -04:00
Peter Steinberger
57d926b4fd
fix: connect resumed native terminals reliably ( #107688 )
...
* fix: render resumed paired-node terminals
* fix(control-ui): connect native catalog terminals reliably
* chore: keep release notes in PR body
* fix(control-ui): require terminal reconnect cancellation
* fix(gateway): cancel timed-out terminal opens safely
* fix(control-ui): recover stalled terminal opens
* chore(ui): refresh i18n fallback baseline
* fix: preserve login shell path for resumed terminals
* refactor(plugin-sdk): avoid extra resolver export
* fix(gateway): normalize terminal open failures
* test(control-ui): split terminal readiness coverage
* docs: explain catalog terminal PATH restoration
* fix(control-ui): complete terminal readiness release gates
* fix(ci): remove unused shell resolver exports
* chore(plugin-sdk): refresh API baseline after rebase
2026-07-14 19:18:19 -07:00
Peter Steinberger
20f145f9c1
fix(mac): enable terminal actions for paired-node sessions ( #107361 )
...
* fix(mac): enable paired-node terminal sessions
* fix(ci): align node worker bridge checks
2026-07-14 03:22:28 -07:00
Peter Steinberger
265f79e607
fix(mac): allow five-minute node worker cold starts ( #106380 )
...
* fix(mac): extend node worker startup timeout
* chore: keep release notes in PR
2026-07-13 05:35:09 -07:00
Peter Steinberger
bfdfd35e5d
fix(mac): allow slow node worker startup ( #106281 )
...
* fix(mac): allow slow node worker startup
* chore: leave release notes to release flow
2026-07-13 05:00:48 -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