hephaestus/crates/hephd/src
Erich Blume 1f81a2e6d9
All checks were successful
Build / validate (pull_request) Successful in 6m31s
feat(heph-pwa): Login with Authentik (Authorization Code + PKCE)
Replace the manual bearer-token paste with a proper browser OIDC sign-in.

- Hub: unauthenticated GET /config -> {issuer, client_id} (added after the auth
  layer), sourced from the verifier's new TokenVerifier::oidc_config(). Lets the
  PWA self-configure when served from the hub. Tests in web_serve.rs.
- PWA: src/oauth.js implements PKCE (S256), the authorize redirect, the callback
  token exchange, and silent refresh (offline_access). Settings gains a "Login
  with Authentik" button (manual token kept under a fallback disclosure); rpc.js
  retries once on 401 via a refresh hook; app.js completes the callback / refreshes
  on load; sw.js skips caching the callback URL and ships oauth.js in the shell.

Requires the PWA origin registered as a redirect URI on the Authentik provider.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 07:17:05 -07:00
..
auth.rs feat(heph-pwa): Login with Authentik (Authorization Code + PKCE) 2026-06-05 07:17:05 -07:00
client.rs hephd local mode: file lock + JSON-RPC over unix socket 2026-05-31 20:28:15 -07:00
clock.rs hephd local mode: file lock + JSON-RPC over unix socket 2026-05-31 20:28:15 -07:00
datespec.rs feat(core,hephd): frontmatter projection — render on read, strip on write (§8.3) 2026-06-03 11:32:59 -07:00
frontmatter.rs feat(core,hephd): frontmatter projection — render on read, strip on write (§8.3) 2026-06-03 11:32:59 -07:00
lib.rs C2(hephd-self-update): impl release poll + version-check helpers 2026-06-04 13:36:55 -07:00
lock.rs infra: pre-v1 dependency-refresh sweep + drop fs4 + remove dead build hook 2026-06-03 22:19:13 -07:00
main.rs fix(hephd): supervise the ⌘' popover in server mode too; PWA defaults hub to its origin 2026-06-04 17:13:28 -07:00
oauth.rs infra: slim the keyring dependency (keyring meta-crate -> keyring-core + one store/OS) 2026-06-04 07:26:39 -07:00
quickadd.rs feat: heph-quickadd — global ⌘' quick-capture popover (§8) 2026-06-03 18:12:24 -07:00
remote.rs feat: --project arg is case-insensitive / prefix-fuzzy when unambiguous 2026-06-04 10:57:37 -07:00
rpc.rs feat: add a version RPC returning the daemon build version 2026-06-04 11:13:47 -07:00
selfupdate.rs fix: self-update poll uses ureq (reqwest has no TLS backend) 2026-06-04 15:26:13 -07:00
server.rs fix: self-update poll uses ureq (reqwest has no TLS backend) 2026-06-04 15:26:13 -07:00
sync.rs feat(heph-pwa): Login with Authentik (Authorization Code + PKCE) 2026-06-05 07:17:05 -07:00