mirror of
https://github.com/PR0M3TH3AN/VoxVera.git
synced 2026-10-27 09:40:40 +00:00
The /nostr/ path was a leftover from when the site also hosted a Tor client. The app is Nostr-only now, so move the client to the site root and shorten poster URLs to https://voxvera.org/#naddr1... (drops both /nostr/ and the ?addr= query key, for a cleaner/smaller tear-off QR). - Move site/nostr/{nostr-client.js,css,locales.js,vendor} to site/. - site/index.html is now the client; site/nostr/index.html is a redirect stub that forwards /nostr/ to / while preserving the query string and #naddr fragment, so older poster URLs and printed QR codes still resolve. - Carry the naddr in the URL fragment (#) instead of ?addr=; the viewer reads query, fragment, or the full URL, so old links keep working. - Update README, AGENTS.md, and the spec to the new paths. Co-Authored-By: Claude Opus 4.8 <[email protected]>
1.6 KiB
1.6 KiB
AI Agent Instructions For VoxVera
main is the Nostr static-client branch. The old Tor/OnionShare CLI application is preserved on legacy-tor.
Current Architecture
- Active frontend:
site/(index.html,nostr-client.js,nostr-client.css,locales.js) - Static deployment root:
site - Browser dependencies: vendored under
site/vendor/ - Legacy path:
site/nostr/index.htmlis a redirect stub forwarding old/nostr/poster URLs and QR codes to the root - Python helper package:
voxvera/nostr/ - Design plan:
docs/nostr-static-client-spec.md
Guardrails
- Do not reintroduce the legacy Tor CLI, OnionShare runtime, installer, Electron manager, bundled Tor binaries, generated old flyer site, or packaging workflows on
main. - Keep the Nostr client static and host-agnostic.
- Do not load frontend dependencies from CDNs.
- Treat Nostr event content as untrusted. Escape rendered content and reject unsafe schema input.
- Preserve print behavior: app controls must not print or shift the flyer sheet in print output.
- Preserve the old flyer visual language unless the user explicitly asks for a redesign.
Localization
- Use
site/locales.jsfor flyer content defaults. - Use
NOSTR_UIinsite/nostr-client.jsfor editor/viewer controls and Nostr-specific labels. - Add translations for every supported language when adding user-facing strings.
- Check right-to-left languages when touching layout.
Verification
Run:
node --check site/nostr-client.js
pytest -q
For visual or print changes, also run a local static server and inspect the site root (/) in a browser.