elite-dangerous-journal-event-viewer (EDJEV)¶
Audience: Agent
Purpose¶
EDJEV is the hosted web journal / event viewer for EDOS. The UI is deployed at a product hostname (today often https://edjev.howfe.org — matches compile defaults and Tauri allowlists in this workspace). That is not the URL of the build server; see Build service URL below.
The same static assets can run in a normal browser or inside the Tauri webview of elite-dangerous-local-journal-reader, which injects the bridge so the page receives edos-file-event (and related shapes) over postMessage / CustomEvent — same mental model as EDJR + surface map, but the host is the local reader shell instead of a window.open popup.
Important: EDJEV is not a desktop framework repo. Do not add a second Tauri application here for “desktop install.”
Who builds the desktop client¶
Windows URL-wired installers (single .exe with embedded appUrl / PE tail) are built by elite-dangerous-local-journal-reader’s build-service/ only. Authoritative API, cache keys, env vars, and artifact naming: elite-dangerous-local-journal-reader/docs/build-service.md (same path under the doc site’s /raw/ tree). CI and Docker context: that repo’s root .gitlab-ci.yml and build-service/Dockerfile.
Build service URL (local journal reader server)¶
https://app.edos.howfe.org is the public deployment URL for elite-dangerous-local-journal-reader’s build-service/ — the HTTP API that returns artifactDownloadPath and serves GET /artifacts/<file>. EDJEV (and other web UIs) point “Get desktop bridge” / installer buttons at that host because the server for URL-wired builds lives on this project’s deployment, not on edjev itself.
Only the appUrl you pass into POST /build (which page the shell opens) is EDJEV-specific (often https://edjev.howfe.org/... today).
Where to download / how the static site links installers¶
The EDJEV repository (not necessarily present under edos/elite-dangerous-journal-event-viewer/ in your checkout) should use https://app.edos.howfe.org for /build + artifact URLs (or a VITE_* / env that resolves to it), and document those vars in its own README — TODO: Verify exact names in a full EDJEV clone.
For the download button itself, follow Download filename in elite-dangerous-local-journal-reader.md: fetch the artifact after /build, then save as edjev.exe (or your chosen branded name) via blob + programmatic <a download>, not a bare navigation to /artifacts/....
Choosing the embedded appUrl¶
The build API’s appUrl is the exact HTTPS URL loaded in the webview. Examples:
- Default-style UI:
https://edjev.howfe.org/ - Embedded-style UI: append
edosEmbedded=1(ortrue/yes) ormode=embedded— seeelite-dangerous-journal-event-viewer/src/App.tsxand projectREADME.mdfor the full matrix (including iframe detection andedosEmbedded=falseopt-out).
Tauri remote URL allowlists for the shell include edjev in elite-dangerous-local-journal-reader/src-tauri/capabilities/default.json; self-hosted EDJEV origins must be added there by shell maintainers.
Hosted app contract and manifest¶
- Normative portable spec: HOSTED_APP_CONTRACT.md (URL bootstrap, optional handshake,
/.well-known/edos-integration.json). This is separate from IPC.md (MessageTypeEnum/ journal bridge). - Manifest: not yet published on the default deployment origin — tracked in TODO.md.
Stack¶
Vite + Solid + TypeScript (src/). NPM: @howfe/elite-dangerous-event-types, @howfe/inter-frame-messenger.
Run / build¶
cd elite-dangerous-journal-event-viewer
npm ci
npm run dev
npm run build
Workspace checkout note¶
A partial meta-repo clone may still omit this folder; when present, agents can grep src/ directly (IFM listeners, URL bootstrap in App.tsx).
Related docs¶
- elite-dangerous-local-journal-reader.md — Tauri shell + build-service flow
- HOSTED_APP_CONTRACT.md — URL bootstrap and manifests for embeddable hosted UIs
- REPOS.md — inventory, runtime URL table, ecosystem diagram
- ARCHITECTURE.md — “Hosted web apps in a Tauri shell”
- IPC.md —
MessageTypeEnumand bridge events