fix: version display, FileBrowser auto-login, nostr relay, UID mappings
Some checks failed
Container Orchestration Tests / unit-tests (push) Has been cancelled
Container Orchestration Tests / smoke-tests (push) Has been cancelled
Build Archipelago ISO (dev) / build-iso (push) Has been cancelled

Version per build:
- Health endpoint returns "1.2.0-alpha-{git_hash}" using GIT_HASH env
- CI passes git hash to cargo build

FileBrowser auto-login:
- filebrowser-client.ts: include CSRF token + credentials:include
- First-boot: generate random password, store at secrets/filebrowser/
- Set FileBrowser admin password to match after container creation

Nostr relay:
- Use docker.io/scsibug/nostr-rs-relay:0.9.0 (not in our registry)

UID mappings:
- Added electrumx (UID 1000), mysql-mempool, archy-btcpay-db, nextcloud-db

522 tests pass, Rust compiles clean.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-29 21:56:38 +01:00
parent 2c0d4a7393
commit 37f32f4e54
6 changed files with 31 additions and 7 deletions

View File

@@ -55,11 +55,17 @@ class FileBrowserClient {
async login(): Promise<boolean> {
try {
// Get a filebrowser JWT via the authenticated backend (no credentials exposed to browser)
// Use credentials: 'include' and CSRF token for proper auth
const csrfMatch = document.cookie.match(/(?:^|;\s*)csrf_token=([^;]+)/)
const csrfToken = csrfMatch ? csrfMatch[1]! : ''
const headers: Record<string, string> = { 'Content-Type': 'application/json' }
if (csrfToken) headers['X-CSRF-Token'] = csrfToken
const rpcRes = await fetch('/rpc/v1', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
headers,
body: JSON.stringify({ method: 'app.filebrowser-token' }),
credentials: 'same-origin',
credentials: 'include',
})
if (!rpcRes.ok) return false
const rpcData = await rpcRes.json()