Skip to content

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).

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 (or true / yes) or mode=embedded — see elite-dangerous-journal-event-viewer/src/App.tsx and project README.md for the full matrix (including iframe detection and edosEmbedded=false opt-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).