mirror of
https://github.com/nexu-io/open-design.git
synced 2026-06-01 03:14:35 +07:00
* fix(packaged): honor OD_DATA_DIR in desktop runtime Co-authored-by: multica-agent <github@multica.ai> * fix(packaged): scope OD_DATA_DIR by namespace Co-authored-by: multica-agent <github@multica.ai> * fix(packaged): reject relative OD_DATA_DIR overrides Co-authored-by: multica-agent <github@multica.ai> * fix(packaged): preserve scoped OD_DATA_DIR overrides Co-authored-by: multica-agent <github@multica.ai> * fix(packaged): surface OD_DATA_DIR validation as PackagedPathAccessError Relative OD_DATA_DIR in packaged mode now throws PackagedPathAccessError instead of a plain Error. apps/packaged/src/index.ts main() only routes PackagedPathAccessError to dialog.showErrorBox, so the prior plain Error made the app exit silently for GUI launches with an invalid override. Extract PackagedPathAccessError into apps/packaged/src/errors.ts so paths.ts can throw it without an inter-module value cycle with launch.ts. Co-authored-by: multica-agent <github@multica.ai> * fix(packaged): make OD_DATA_DIR absolute-path guard platform-aware The previous guard ran `win32.isAbsolute(expanded)` unconditionally on every platform, so on macOS/Linux a value like `C:\Users\Fred\OD` passed the check (win32 considers it absolute) and silently flowed into `join(expanded, "namespaces", namespace, "data")`, producing a cwd-relative POSIX path instead of throwing. Branch the check on `process.platform === "win32"` so Windows paths are only accepted on Windows. Update the existing Windows-themed test fixtures to stub `process.platform = "win32"` (the omission was what masked this bug) and add a regression that stubs `linux` and asserts `C:\foo` and `\\server\share` are rejected as PackagedPathAccessError. Co-authored-by: multica-agent <github@multica.ai> * fix(packaged): reject mismatched scoped OD_DATA_DIR Co-authored-by: multica-agent <github@multica.ai> --------- Co-authored-by: multica-agent <github@multica.ai> Co-authored-by: kami.c <kami.c@chative.com> |
||
|---|---|---|
| .. | ||
| src | ||
| tests | ||
| AGENTS.md | ||
| esbuild.config.mjs | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| tsconfig.tests.json | ||
| vitest.config.ts | ||
apps/packaged
Thin packaged Electron runtime entry for Open Design.
This package starts the packaged daemon and web sidecars, registers the od://
entry protocol, and then delegates to @open-design/desktop/main for the host
window. Product logic stays in apps/daemon, apps/web, and apps/desktop.