Run the local community stack with pnpm dev #30

Open
opened 2026-09-23 06:44:41 +02:00 by rexlManu · 5 comments
Owner

Configure the local Discord OAuth client without committing the secret. Use five-digit loopback ports. Make root pnpm dev start and watch the community API, community website, desktop Vue renderer, Linux capture renderer and Electron main/preload; HMR renderer changes and restart Electron for main-process changes. Keep pnpm start as a separate built-app command. Verify startup, shutdown and source watcher behavior with temporary data, and document the required Discord redirect URI.

Configure the local Discord OAuth client without committing the secret. Use five-digit loopback ports. Make root pnpm dev start and watch the community API, community website, desktop Vue renderer, Linux capture renderer and Electron main/preload; HMR renderer changes and restart Electron for main-process changes. Keep pnpm start as a separate built-app command. Verify startup, shutdown and source watcher behavior with temporary data, and document the required Discord redirect URI.
Author
Owner

Implemented and pushed in 1c60abf. Local ignored .env files use the supplied Discord OAuth client and five-digit ports 23101-23104; no secret was committed. Root pnpm dev now watches API, website, desktop Vue, capture Vue and Electron bundles. Local startup smoke passed with an in-memory API database, capture HMR CSP checked, and full pnpm typecheck/test passed. The user has pnpm dev running; all four ports and Electron are present. The API OAuth start URL matches the client ID and registered loopback callback seen in the Developer Portal. A completed browser login and a safe main-process change/restart check are still pending, so this issue remains in progress.

Implemented and pushed in 1c60abf. Local ignored .env files use the supplied Discord OAuth client and five-digit ports 23101-23104; no secret was committed. Root pnpm dev now watches API, website, desktop Vue, capture Vue and Electron bundles. Local startup smoke passed with an in-memory API database, capture HMR CSP checked, and full pnpm typecheck/test passed. The user has pnpm dev running; all four ports and Electron are present. The API OAuth start URL matches the client ID and registered loopback callback seen in the Developer Portal. A completed browser login and a safe main-process change/restart check are still pending, so this issue remains in progress.
Author
Owner

Follow-up e92472e fixes a real Node --watch shutdown stall found during the live dev run. Local API now listens only on 127.0.0.1; Coolify still binds all interfaces. A separate in-memory API process started, answered /health and exited on SIGTERM within two seconds. The user API returned healthy after its watcher restarted. API typecheck and all 9 API tests pass.

Follow-up e92472e fixes a real Node --watch shutdown stall found during the live dev run. Local API now listens only on 127.0.0.1; Coolify still binds all interfaces. A separate in-memory API process started, answered /health and exited on SIGTERM within two seconds. The user API returned healthy after its watcher restarted. API typecheck and all 9 API tests pass.
Author
Owner

During the UI integration check after 23df899 and 0f0ba49, pnpm dev:check passed, but ports 23101-23104 were no longer listening. No server or app was restarted for this task. The source tests passed; the browser and in-game review need a fresh local pnpm dev run.

During the UI integration check after 23df899 and 0f0ba49, pnpm dev:check passed, but ports 23101-23104 were no longer listening. No server or app was restarted for this task. The source tests passed; the browser and in-game review need a fresh local pnpm dev run.
Author
Owner

Pushed e502405. Discord access tokens now use a private 0600 file when Electron's system key store is unavailable. Disconnect and invalid credentials remove it; insecure existing files are rejected. Focused token tests and desktop tests pass. Existing in-memory login requires one new pairing after restart; actual restart persistence remains to verify.

Pushed e502405. Discord access tokens now use a private 0600 file when Electron's system key store is unavailable. Disconnect and invalid credentials remove it; insecure existing files are rejected. Focused token tests and desktop tests pass. Existing in-memory login requires one new pairing after restart; actual restart persistence remains to verify.
Author
Owner

Emmanuel could not start pnpm dev because a stale standalone community API watcher held port 23101. I stopped that orphaned watcher. pnpm dev:check passes; a temporary-data smoke started all four local services; a normal pnpm dev run opened Electron. During shutdown, NetworkTracking broadcast to an already destroyed window and caused an unhandled rejection. Fixed in b49ab2f, with 11 focused network-tracking tests and desktop typecheck passing. The second normal startup/stop had no network unhandled rejection, and all local ports were released. Electron still logs shortcut-portal close warnings on Ctrl-C. Keep this issue open for remaining watcher and clean-shutdown checks.

Emmanuel could not start pnpm dev because a stale standalone community API watcher held port 23101. I stopped that orphaned watcher. pnpm dev:check passes; a temporary-data smoke started all four local services; a normal pnpm dev run opened Electron. During shutdown, NetworkTracking broadcast to an already destroyed window and caused an unhandled rejection. Fixed in b49ab2f, with 11 focused network-tracking tests and desktop typecheck passing. The second normal startup/stop had no network unhandled rejection, and all local ports were released. Electron still logs shortcut-portal close warnings on Ctrl-C. Keep this issue open for remaining watcher and clean-shutdown checks.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rexlManu/garmith-app#30
No description provided.