Dev app: reload action and reporting an open launch that exits early
還沒有人認領這個 Issue。
評估
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 新手友好度
- 62/100
- Issue 類型
- 功能
- 描述清晰度
- 基本清楚
- 活躍度
- 活躍
- 技術堆疊
- macos, typescript
- 領域
- desktop
研究方向
Start at apps/host/src/health.ts, the source of "uses an incompatible protocol; restart it", and trace where the conflicting helper is detected so the error can name that helper's bundle id and path instead of advising a restart. Then read apps/host/src/config.ts desktop() and apps/desktop/src/helper.ts to see how dev ports, profiles and listeners are assigned — the loopback-only test host and the dev-app reload action live in the same area. Done when conflict errors identify the other helper without telling the user to restart an unrelated one, and each remaining bullet has a test or manual check.
由索引模型根據 Issue 內容生成。
描述
Status (Oct 15)
- githubnext/ace#112:
bun desktop devruns a checkout's source host and app together on their own port and data profile, refuses existing listeners, never registers or restarts Ace Helper, and stops host and app together. - githubnext/ace#118: dev runs give their source host and workers the checkout's signed native client.
- githubnext/ace#123: all checkouts deliberately share one
dev.ace.desktop.devidentity and Apple Development signature, so one permission grant covers every dev run; separate profiles keep data, settings, Keychain services, ports and WebKit storage apart. Source dev runs coexist with installed Canary, not with an installed Ace-dev managed helper (details). - githubnext/ace#386: conflict errors name the Ace holding a port (bundle, path, PID), and
ace serve --loopbackkeeps test hosts off the tailnet;bun desktop devuses it.
The original expectation of a per-lane helper identity running side by side with an installed Ace-dev is superseded by githubnext/ace#123.
Remaining
- A reload action in the dev app, so a UI rebuild doesn't require relaunching the client (also hit in githubnext/ace#55).
- An
openlaunch that exits before showing a window reports why (not verified on current main).
Original report
A desktop build made from a lane cannot be exercised in isolation: every development build shares one helper identity, port, and data directory, so the new client connects to whichever older Ace-dev helper is already installed and running. Validating a UI change in the shipped desktop shell then requires replacing the user's installed development helper.
Reproduction (dogfooding githubnext/ace#91 from Ace Canary 0.0.11)
- In a lane at
origin/main(1ab91be, desktop 0.0.11) plus the githubnext/ace#91 UI change, runbun scripts/build.ts devinapps/desktop. This buildsapps/desktop/dist/dev-macos-arm64/Ace-dev.app(bundle iddev.ace.desktop.dev) and warns that native desktop inspection needs an Apple Development signature. openthat bundle. The client process (PID 35146) exited before showing a window, with no dialog or log.- Run its
Contents/MacOS/launcherdirectly. The client (PID 35598) shows: "Could not connect to Ace Helper. Ace Helper on port 4141 uses an incompatible protocol; restart it". - Port 4141 belongs to
/Applications/Ace-dev.app/Contents/MacOS/Ace Helper(PID 2326, launchddev.ace.desktop.dev.helper, running since the previous day), an older installed development build. Its host also listens on the tailnet. - The only offered remedy is to restart that helper. That would replace the user's installed development helper and its channel host, so the lane build was never connected and the new UI code was not exercised.
During the same session the supervisor reported that Canary was trying to use an old Ace instance, and stopped validation.
Cause
apps/host/src/config.ts desktop() gives every dev build the same port (4141), ~/.local/state/ace-dev home, settings directory, and keychain service. apps/desktop/src/helper.ts connects to whatever answers on that port and registers the same launchd identifier. Nothing ties a client to the helper built from the same bundle or lane.
Blocks UI validation for githubnext/ace#91. Related to githubnext/ace#55 ("Keep a working installed Ace separate from the source build under development"). Part of githubnext/ace#5.
- 主要語言
- TypeScript
- 星號
- 1
- 分支
- 0
- PR 合併指標
- 30 天內沒有已合併 PR
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 有 Pull Request 範本
- 沒有貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
githubnext/ace2 的其他 Issue
-
documentation
難度 2/5 1-3 小時 新手友好度 76/100
githubnext/ace2#530 · 1 則留言 ·
-
難度 1/5 1 小時以內 新手友好度 88/100
githubnext/ace2#437 ·
-
難度 4/5 3-5 天 新手友好度 35/100
githubnext/ace2#529 ·
-
難度 4/5 3-5 天 新手友好度 45/100
githubnext/ace2#528 ·
-
難度 5/5 一週以上 新手友好度 20/100
githubnext/ace2#511 ·
相似的 Issue
-
engine-rs P3 review-deferral wasm
難度 2/5 1-3 小時 新手友好度 77/100
maniator/verticopolis#1154 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 85/100
維護者通常 1 天內回覆
-
Bug
難度 2/5 1-3 小時 新手友好度 76/100
telerik/kendo-react#3861 ·
維護者通常 1 天內回覆
-
[bug]: use-mobile.ts uses pixel logic, causing UI state de-sync with Tailwind CSS rem breakpoints未關閉bug
難度 2/5 1-3 小時 新手友好度 72/100
維護者通常 1 天內回覆
-
task
難度 2/5 1-3 小時 新手友好度 72/100