Commit graph

16 commits

Author SHA1 Message Date
Sparsh
d480f7403d feat(desktop): add ICO icon support for Windows and update icon path 2026-05-19 13:11:32 +05:30
Sparsh
4b3fe8058a fix(desktop): restart GitNexus server on macOS activate when all windows closed
On macOS, if the backend process crashes while all windows are closed,
createWindow() on the next dock-click loaded the embedded UI against a
dead server — resulting in a silent blank page with no error dialog.

Call ensureGitNexusServerStarted() before createWindow() in the activate
handler so the server is restarted (or verified healthy) before the window
attempts to load content.
2026-05-19 01:16:22 +05:30
Sparsh
28ba9bb61d feat(runtime): bundle node.exe for Windows to prevent access violations with native modules 2026-05-11 12:50:03 +05:30
Sparsh
64477774eb feat: enable/disable MCP HTTP based on desktop runtime environment 2026-05-05 13:28:32 +05:30
Sparsh
610a102397 feat: add validation job to GitHub Actions for desktop packaging
- Introduced a new job `validate` in the GitHub Actions workflow to validate the desktop package.
- Added steps for checking out the repository, setting up Node.js, installing dependencies, type checking, and running unit tests.
- Updated the `package` job to depend on the `validate` job.

chore: update package-lock.json and package.json for vitest integration

- Added `vitest` as a development dependency in `package.json`.
- Updated `typecheck` script to include a new TypeScript configuration for vitest.
- Updated `package-lock.json` to reflect the new dependencies.

refactor: modularize runtime path handling in main process

- Created a new module `runtime-paths.ts` to handle static path normalization and request handling.
- Refactored `main.ts` to utilize the new `normalizeStaticPath`, `getRequestedPath`, and `getPackagedRendererEntry` functions.

test: add unit tests for runtime path utilities

- Implemented tests for `normalizeStaticPath`, `getRequestedPath`, and `getPackagedRendererEntry` using Vitest.
- Ensured coverage for directory traversal attempts and null-byte paths.

chore: configure Vitest for testing

- Added `vitest.config.ts` for Vitest configuration.
- Created `tsconfig.vitest.json` to include types for Vitest in TypeScript compilation.

Co-authored-by: Copilot <copilot@github.com>
2026-04-24 13:45:23 +05:30
Sparsh
7c4e8ecf19 feat(desktop): add native module rebuilding for Electron and handle startup failures 2026-04-22 13:07:52 +05:30
Sparsh
9ee1d978d9 fix(build): replace execSync with execFileSync for TypeScript compilation 2026-04-22 07:50:58 +05:30
Sparsh
fff89fb272 fix(desktop): update server health URLs to point to the info endpoint 2026-04-21 21:37:29 +05:30
Sparsh
ed83fd3e42 feat(desktop): enhance packaging workflow and add smoke test for desktop app 2026-04-21 19:24:21 +05:30
Sparsh
89f038fc67 fix(desktop): ensure-gitnexus-runtime: stop stale backend, repair runtime deps 2026-04-21 00:59:53 +05:30
Sparsh
a84380a7a5 fix(desktop): validate unpacked app startup in packaging flow 2026-04-20 21:58:01 +05:30
Sparsh
c5238debf6 fix(desktop): correct packaged shell assets 2026-04-20 15:26:34 +05:30
Sparsh
21fb1b9a0c style(desktop): format gitnexus-desktop package 2026-04-20 10:13:29 +05:30
Sparsh
b95eebca2e fix(desktop): restore native OS window controls (minimize/maximize/close) 2026-04-19 22:47:48 +05:30
Sparsh
31755de553 wired createserver 4747 into main.ts added scripts added predev hook 2026-04-19 15:22:05 +05:30
Sparsh
f5c6fd1b40 clean setup and ckeleton created at gitnexus-desktop 2026-04-19 14:38:36 +05:30