Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#97 13 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
62/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
macos, typescript
Área
desktop

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
TypeScript
Estrellas
1
Forks
0
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de githubnext/ace2

Todos los issues de githubnext/ace2

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.