3 Commits
Author SHA1 Message Date
nickandClaude Sonnet 4.6 860381b3e9 Fix webhook URL protocol and add already-registered flow
Webhook URL is now built client-side using location.protocol so it
correctly shows https when behind a reverse proxy. Added an
'Already registered?' toggle that lets users paste their full webhook
URL to navigate directly to their settings page.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-06-18 17:54:37 -07:00
nickandClaude Sonnet 4.6 0b26fd86ad Encrypt Nextcloud passwords at rest, never return them via API
Passwords are encrypted with AES-256-GCM before being written to
users.json. The GET /api/users/:token endpoint no longer returns the
password field, so the settings form asks users to re-enter only when
changing it. Legacy plaintext passwords in users.json are decrypted
transparently and re-encrypted on next save.

Requires a new ENCRYPTION_KEY env var (64-char hex, 32 bytes).

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-06-18 17:38:27 -07:00
nickandClaude Sonnet 4.6 611a4a6da3 Add self-service web UI for user registration and settings management
Users visit the home page, enter their Nextcloud credentials and an admin
password, and receive a unique webhook URL for AudioPen. A bookmarkable
settings page (/?token=...) lets them update credentials later without
needing the admin password. New users.json entries are written at runtime
via POST/PUT API endpoints.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-06-18 17:33:28 -07:00