Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Dev app: reload action and reporting an open launch that exits early

Ouverte
#97 13 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
62/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Active
Stack technique
macos, typescript
Domaine
desktop

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Status (Oct 15)

  • githubnext/ace#112: bun desktop dev runs 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.dev identity 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 --loopback keeps test hosts off the tailnet; bun desktop dev uses 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 open launch 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)

  1. In a lane at origin/main (1ab91be, desktop 0.0.11) plus the githubnext/ace#91 UI change, run bun scripts/build.ts dev in apps/desktop. This builds apps/desktop/dist/dev-macos-arm64/Ace-dev.app (bundle id dev.ace.desktop.dev) and warns that native desktop inspection needs an Apple Development signature.
  2. open that bundle. The client process (PID 35146) exited before showing a window, with no dialog or log.
  3. Run its Contents/MacOS/launcher directly. The client (PID 35598) shows: "Could not connect to Ace Helper. Ace Helper on port 4141 uses an incompatible protocol; restart it".
  4. Port 4141 belongs to /Applications/Ace-dev.app/Contents/MacOS/Ace Helper (PID 2326, launchd dev.ace.desktop.dev.helper, running since the previous day), an older installed development build. Its host also listens on the tailnet.
  5. 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.

Langage dominant
TypeScript
Étoiles
1
Forks
0
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

  • Aucun Dockerfile ni fichier Docker Compose
  • Propose un modèle de pull request
  • Aucun guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de githubnext/ace2

Toutes les issues de githubnext/ace2

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.