PWA (pwa/): - Ephemeral QR pairing and trusted device direct reconnect (no QR re-scan) - Known devices tab as default; pairRoomName() derives deterministic room - In-app QR scanner via native BarcodeDetector API - Multi-file send/receive with offer queue and Accept all - Auto-download on receipt, real-time send/receive progress bars - Trusted peer nicknames, rename, forget - Terminal aesthetic: #080808 bg, #00e87a accent, JetBrains Mono - manifest.json corrected (SVG icon, theme_color, share_target) - Apple PWA meta tags for home screen install CLI (cli/): - flit send / flit recv: ephemeral one-shot transfer with terminal QR - flit daemon: persistent receiver for trusted peers from ~/.flit/daemon.toml - TOML config: signal_url, turn_url, download_dir, [[peers]] - One goroutine per peer, exponential backoff reconnect (2s→30s cap) - transport.PairRoomName() and Session.OnDisconnected added - Anchor/TURN config via FLIT_SIGNAL_URL / FLIT_TURN_URL env vars (no hardcoded URLs) Deploy: - build-pwa.sh, deploy-pwa.sh / serve-pwa.sh templates in README (gitignored) - .gitea/workflows/build.yml: PWA build on v* tag, Gitea release artifact - pwa/public/config.js gitignored; config.js.example committed - .env.example for CLI env vars Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
23 lines
562 B
JSON
23 lines
562 B
JSON
{
|
|
"name": "flit",
|
|
"short_name": "flit",
|
|
"description": "Ephemeral, end-to-end encrypted file transfer between your own devices.",
|
|
"start_url": "/",
|
|
"display": "standalone",
|
|
"background_color": "#080808",
|
|
"theme_color": "#00e87a",
|
|
"icons": [
|
|
{ "src": "/favicon.svg", "sizes": "any", "type": "image/svg+xml", "purpose": "any" }
|
|
],
|
|
"share_target": {
|
|
"action": "/share-target",
|
|
"method": "POST",
|
|
"enctype": "multipart/form-data",
|
|
"params": {
|
|
"files": [
|
|
{ "name": "files", "accept": ["*/*"] }
|
|
]
|
|
}
|
|
}
|
|
}
|