rename tape to options and switch the web shell to a drawer

This commit is contained in:
dirtydishes 2026-05-23 19:39:19 -04:00
parent f056f6d2b8
commit 7ca0e05a2d
10 changed files with 916 additions and 154 deletions

View file

@ -24,6 +24,6 @@ This workspace packages a thin Electron shell around the hosted Islandflow app.
## Development Notes
- `ISLANDFLOW_DESKTOP_START_URL` controls which trusted app URL Electron loads.
- `ISLANDFLOW_DESKTOP_START_URL` controls which trusted app URL Electron loads. Prefer `/options` for deep links; `/tape` remains supported and redirects in the web app for compatibility.
- `NEXT_PUBLIC_API_URL` remains a web-app setting and should typically be `https://flow.deltaisland.io` when developing the local UI inside Electron.
- `assets/` currently contains placeholders only; a real `.icns` icon is deferred.

View file

@ -8,7 +8,11 @@ import {
} from "./security.js";
describe("desktop URL policy", () => {
it("allows the hosted production origin", () => {
it("allows the hosted production origin on /options", () => {
expect(isTrustedAppUrl("https://flow.deltaisland.io/options?symbol=SPY")).toBe(true);
});
it("keeps /tape trusted as a compatibility path on the same origin", () => {
expect(isTrustedAppUrl("https://flow.deltaisland.io/tape?symbol=SPY")).toBe(true);
});
@ -37,5 +41,8 @@ describe("desktop URL policy", () => {
expect(resolveDesktopStartUrl(undefined)).toBe(DESKTOP_PRODUCTION_URL);
expect(resolveDesktopStartUrl("https://example.com")).toBe(DESKTOP_PRODUCTION_URL);
expect(resolveDesktopStartUrl("http://127.0.0.1:3000")).toBe("http://127.0.0.1:3000");
expect(resolveDesktopStartUrl("https://flow.deltaisland.io/options")).toBe(
"https://flow.deltaisland.io/options"
);
});
});