Skip to content

Commit 513a5ed

Browse files
authored
feat(desktop): add remote dev scripts (#665)
1 parent c86dc00 commit 513a5ed

4 files changed

Lines changed: 42 additions & 0 deletions

File tree

apps/desktop/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,16 @@ belongs in this `main.ts`, not in `@memohai/web`.
2323
```bash
2424
# from repo root
2525
pnpm --filter @memohai/desktop dev
26+
pnpm --filter @memohai/desktop dev:remote
2627
# or via mise
2728
mise run desktop:dev
29+
mise run desktop:dev:remote
2830
```
2931

3032
`MEMOH_WEB_PROXY_TARGET` overrides the backend that the renderer's `/api` proxy points
3133
at (defaults to whatever `config.toml` / `conf/app.docker.toml` declares).
34+
Remote desktop dev defaults to `http://localhost:18080`; override it with
35+
`MEMOH_DESKTOP_REMOTE_BASE_URL`.
3236

3337
## Build
3438

apps/desktop/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"main": "./out/main/index.js",
1414
"scripts": {
1515
"dev": "pnpm run prepare:qdrant && pnpm run prepare:gstreamer && electron-vite dev",
16+
"dev:remote": "node scripts/dev-remote.mjs",
1617
"start": "electron-vite preview",
1718
"prepare:qdrant": "node scripts/prepare-qdrant.mjs --targets=current",
1819
"prepare:qdrant:release-platform": "node scripts/prepare-qdrant.mjs --targets=release-platform",
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#!/usr/bin/env node
2+
3+
import { spawnSync } from 'node:child_process'
4+
5+
const env = {
6+
...process.env,
7+
MEMOH_DESKTOP_RUNTIME_MODE: 'remote',
8+
}
9+
10+
if (!env.MEMOH_DESKTOP_REMOTE_BASE_URL?.trim()) {
11+
env.MEMOH_DESKTOP_REMOTE_BASE_URL = 'http://localhost:18080'
12+
}
13+
14+
console.log(`desktop remote dev api=${env.MEMOH_DESKTOP_REMOTE_BASE_URL}`)
15+
16+
const pnpm = process.platform === 'win32' ? 'pnpm.cmd' : 'pnpm'
17+
const result = spawnSync(pnpm, ['exec', 'electron-vite', 'dev'], {
18+
stdio: 'inherit',
19+
env,
20+
})
21+
22+
if (result.error) {
23+
console.error(result.error.message)
24+
process.exit(1)
25+
}
26+
27+
process.exit(result.status ?? 1)

mise.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,16 @@ fi
426426
pnpm dev
427427
"""
428428

429+
[tasks."desktop:dev:remote"]
430+
description = "Start Electron desktop app in remote dev mode"
431+
dir = "{{config_root}}/apps/desktop"
432+
run = """
433+
#!/bin/bash
434+
set -euo pipefail
435+
436+
pnpm dev:remote
437+
"""
438+
429439
[tasks."desktop:qdrant:prepare"]
430440
description = "Download the Qdrant binary used by the Electron desktop app"
431441
dir = "{{config_root}}/apps/desktop"

0 commit comments

Comments
 (0)