Troll (Hermes Agent)
a3fd5938a5
Detect missing tables in DB health check and always show schema fix button
2026-08-04 16:59:54 +00:00
Troll (Hermes Agent)
cda4d57859
Add revision history log and music files ZIP backup
2026-08-04 16:54:51 +00:00
Troll (Hermes Agent)
0c90b5a298
Make all customer info fields editable from admin request page
2026-08-04 16:32:17 +00:00
Troll (Hermes Agent)
da917692f0
Add admin Sales report page
2026-08-04 01:20:56 +00:00
Troll (Hermes Agent)
d02d0b3d25
Add stems_link support for Pingvin-Share-X delivery
2026-08-04 01:10:15 +00:00
Troll (Hermes Agent)
a72da4c5da
ui: remove Hermes API key regenerate button from admin settings
...
Key is now managed via HERMES_API_KEY env var only.
2026-08-03 22:55:55 +00:00
Troll (Hermes Agent)
107e558aea
revert: HERMES_API_KEY env var takes precedence over runtime settings
...
Simpler ops model: set the key in Portainer environment variables.
2026-08-03 22:54:45 +00:00
Troll (Hermes Agent)
fc700f2d82
fix: tolerate plaintext Hermes API key in booth_settings.json
...
The regenerate button stores encrypted keys, but legacy/manual writes may
save plaintext. get_hermes_api_key now falls back to returning the raw
value if Fernet decryption fails.
2026-08-03 22:47:57 +00:00
Troll (Hermes Agent)
06d87eb600
fix: persist runtime settings next to database so they survive redeploys
2026-08-03 22:37:57 +00:00
Troll (Hermes Agent)
b6a0987236
fix: isolate metadata keys passed to admin settings template
...
Previously passed the entire runtime_settings dict as metadata, which could
clobber/overlap email form fields. Now only artist/album/year/comment are passed.
2026-08-03 19:11:23 +00:00
Troll (Hermes Agent)
d5d4882d07
feat: require customer approval before mark paid/deliver
...
- Disable checkboxes, payment ref input, and submit button in admin UI when customer has not approved.
- Add server-side guard in mark_paid_deliver action.
2026-08-03 19:07:22 +00:00
Troll (Hermes Agent)
3057eb8eda
feat: stream MP3s through backend proxy endpoint
...
- Replace /audio/<token>/<v>.mp3 with /api/stream/<token>/<v>.mp3.
- Stream bytes from private storage with Accept-Ranges and Content-Range support.
- Keep old /audio route returning 404.
- Update player page JS to use new stream endpoint.
2026-08-03 18:59:00 +00:00
Troll (Hermes Agent)
56493f5ea7
feat: disable direct MP3 download from customer player page
...
- Add controlsList=nodownload to audio elements.
- Serve audio with Content-Disposition: inline to discourage browser save dialogs.
2026-08-03 18:49:26 +00:00
Troll (Hermes Agent)
6a60aa686c
feat: Hermes prompt callback endpoint + API key management
...
- Add /api/prompt/<rid> callback endpoint with dual auth:
per-request signed URL token + Bearer API key.
- Add HERMES_API_KEY config and runtime key helpers in app.py.
- Update admin request page to copy request details + callback URL.
- Add API key management to admin settings: regenerate, mask, show-once.
- Update .env.example, docker-compose.yml, README, REVIEW docs.
2026-08-03 17:16:56 +00:00
Troll (Hermes Agent)
0aa3eab084
fix: record payment ref immediately; show it on admin request page
2026-08-02 23:23:45 +00:00
Troll (Hermes Agent)
3e25c3638b
feat: add operator-only notes field per request
2026-08-02 22:10:42 +00:00
Troll (Hermes Agent)
2ac99fde8b
feat: add /status order lookup page linked from request form
2026-08-02 22:00:27 +00:00
Troll (Hermes Agent)
5e26650b90
feat: add booth open/closed toggle on settings page
2026-08-02 18:17:59 +00:00
Troll (Hermes Agent)
c39265ab42
fix: keep metadata and email fields populated after saving settings
2026-08-02 18:05:51 +00:00
Troll (Hermes Agent)
023b4fade7
feat: add /faq page and link from request form
2026-08-02 17:31:08 +00:00
Troll (Hermes Agent)
382b05d7f8
fix: keep form values and show email error on request page
2026-08-02 17:05:27 +00:00
Troll (Hermes Agent)
bf9f9e09fd
feat: editable customer email in admin + email validation on public form
2026-08-02 16:51:32 +00:00
Troll (Hermes Agent)
4af9322c9d
docs: update comments and README to reflect current feature set
...
- Refresh app.py module and route docstrings for runtime settings,
MP3 tagging, rate limiting, revision workflow, and admin actions.
- Clarify config.py and models.py comments.
- Update template comments/CSS for dashboard filters, request detail,
player page, and settings page.
- Rewrite README.md with current features, status flow, file layout,
deployment variables, and troubleshooting.
- Refresh REVIEW.md quick-reference.
- Add MAX_REVISIONS to docker-compose.yml environment list.
- Expand requirements.txt comment coverage.
No version history or changelog included.
2026-08-02 00:07:24 +00:00
Troll (Hermes Agent)
ec313601b6
Add email logo to repo static/ and reference it from app root path for container
2026-08-01 23:50:44 +00:00
Troll (Hermes Agent)
8d9c86e1b7
Use optimized DM-Logo_email.png (500px wide, 16KB) for email logo
2026-08-01 23:46:50 +00:00
Troll (Hermes Agent)
72fa09a6e1
Hardcode email logo to DM-Logo_compress.png and remove configurable logo path
2026-08-01 23:41:31 +00:00
Troll (Hermes Agent)
60909c7122
Use DM-Logo_compress.png directly for email logo, remove Pillow resize logic
2026-08-01 23:35:09 +00:00
Troll (Hermes Agent)
918eaa682c
Fix email logo: resize/compress to small JPEG, make path configurable in settings, add Pillow
2026-08-01 23:32:14 +00:00
Troll (Hermes Agent)
48db5c5461
Add SMTP test email button and recipient field on settings page
2026-08-01 23:24:33 +00:00
Troll (Hermes Agent)
8e5c2f5867
Move email SMTP config to settings page with encrypted password storage; add cryptography dependency
2026-08-01 23:20:23 +00:00
Troll (Hermes Agent)
b2004bb5ec
Add confirmation email, logo + tagline signature on all customer emails
2026-08-01 23:06:19 +00:00
Troll (Hermes Agent)
5ebce2baff
Add dashboard auto-refresh, status filters, rate limiting, database backup/restore
2026-08-01 22:52:32 +00:00
Troll (Hermes Agent)
77e23ba52c
Fix MP3 comment tagging and remove Genre from settings metadata
2026-08-01 22:35:51 +00:00
Troll (Hermes Agent)
d74a715216
Add MP3 metadata settings and auto-tag uploaded files with title, artist, album, year, genre, comment
2026-08-01 22:00:08 +00:00
Troll (Hermes Agent)
506d07179a
Add configurable max revisions limit with customer counter and operator override
2026-08-01 21:36:23 +00:00
Troll (Hermes Agent)
5b6012aa3d
Add vocal gender preference to customer request form and admin view
2026-08-01 21:20:11 +00:00
Troll (Hermes Agent)
0f6b68cf5d
Lock customer page after choice, archive files on revision, add file checkboxes for delivery
2026-08-01 21:10:57 +00:00
Troll (Hermes Agent)
51d1b4a4d9
Add admin Settings page with DB health check, stats, and system reset
2026-08-01 20:55:20 +00:00
Troll (Hermes Agent)
2b960bd3d5
Add revisions_requested status and visible revision note on admin detail page
2026-08-01 20:41:59 +00:00
Troll (Hermes Agent)
cfb725144a
Preserve original filenames on upload with A/B version prefix and sanitized names
2026-08-01 20:36:25 +00:00
Troll (Hermes Agent)
b4f0222bd5
Add comprehensive comments to all source files and expand documentation
2026-07-31 22:23:40 +00:00
Troll (Hermes Agent)
c532f1dc1c
Add system reset button to admin dashboard with confirmation
2026-07-31 22:02:08 +00:00
Troll (Hermes Agent)
b8f1fee102
Add delete request button to admin dashboard with confirmation and file cleanup
2026-07-31 21:47:45 +00:00
Troll (Hermes Agent)
7ef8779eb7
Add status badges for uploaded files and sent emails on admin request page
2026-07-31 21:43:38 +00:00
Troll (Hermes Agent)
30732c0b64
Single-paste Hermes response with title extraction and copy buttons
2026-07-31 21:38:38 +00:00
Troll (Hermes Agent)
fa01ac0f32
Use plain admin password and remove operator email alerts; admin dashboard is the queue
2026-07-31 20:27:14 +00:00
Troll (Hermes Agent)
c16d48ee32
Initial prototype for theme song booth
2026-07-31 19:47:52 +00:00