Troll (Hermes Agent)
51f7ffd5ab
Add revision prompt copy button for Hermes on admin request page
...
When a request has revision_note set, the operator now sees a
'Copy revision prompt for Hermes' button in the revision note box.
It copies a prompt that includes:
- the original customer brief,
- the previously generated title/style/lyrics,
- the customer's revision request,
- the signed callback URL and expected JSON shape.
Minor version bump: 0.3.0 → 0.4.0.
2026-08-05 03:25:34 +00:00
Troll (Hermes Agent)
db249e80bd
Add VERSION file and live version display on settings page
...
- New VERSION file at project root, starting at 0.3.0.
- config.py reads VERSION and exposes it as Config.VERSION.
- Admin settings page now renders the live version from config.
- Semantic versioning convention: MAJOR for breaking/user-facing changes,
MINOR for new features, PATCH for bug fixes and small polish.
2026-08-05 03:17:16 +00:00
Troll (Hermes Agent)
d9e198e397
Bump version tag to v0.3 on admin settings page
2026-08-05 03:13:21 +00:00
Troll (Hermes Agent)
2b46f7d3dc
Guard customer_approved null/None in all templates
...
Some rows (schema drift, cancelled requests, manual status edits) have
customer_approved = NULL instead of the default 'none'. Templates called
.upper() on it blindly, causing a Jinja2 UndefinedError / 500 when the
customer player or admin pages loaded.
Replace all .upper() calls with (value or 'none').upper() and add truthy
checks before rendering the approved choice in status.html and
dashboard.html.
2026-08-05 03:11:21 +00:00
Troll (Hermes Agent)
8de32d91b7
Move revision history above operator notes, move cancel button next to status with confirmation
2026-08-04 18:58:49 +00:00
Troll (Hermes Agent)
968a6fb43c
Add Cancelled status and cancel request button
2026-08-04 17:56:02 +00:00
Troll (Hermes Agent)
fd58cf47da
Reorder Suno copy buttons to Lyrics, Style, Title
2026-08-04 17:49:44 +00:00
Troll (Hermes Agent)
985092d629
Remove footer URL from kiosk page
2026-08-04 17:46:49 +00:00
Troll (Hermes Agent)
9cc1bd94a6
Trim Hermes API key section on settings page
2026-08-04 17:45:16 +00:00
Troll (Hermes Agent)
c726525c8e
Add public kiosk page with QR/pricing cycle and configurable slide timing
2026-08-04 17:41:33 +00:00
Troll (Hermes Agent)
a25bf3a9c9
Add admin Pricing page with fixed and custom items
2026-08-04 17:17:57 +00:00
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)
8246f641a2
Move request status badge to top of admin request page
2026-08-04 16:45:24 +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)
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)
5863c32e35
ui: assign audio src via JS so direct MP3 URLs are not in page source
2026-08-03 18:52:01 +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)
1694b50160
ui: display v0.2 version tag on admin settings page
2026-08-03 18:44:25 +00:00
Troll (Hermes Agent)
06db9f3e55
ui: preserve blank lines between verses in customer lyrics view
2026-08-03 18:42:31 +00:00
Troll (Hermes Agent)
d44882c237
ui: hide Suno metatag brackets from customer lyrics view
2026-08-03 18:41:06 +00:00
Troll (Hermes Agent)
e5b8186b4f
fix: remove pre-wrap from lyrics container to eliminate phantom spacing
2026-08-03 18:36:24 +00:00
Troll (Hermes Agent)
d7e30ba317
ui: compress lyrics line spacing further on player page
2026-08-03 18:28:31 +00:00
Troll (Hermes Agent)
5757a768d5
ui: tighten lyrics spacing on player page
2026-08-03 18:16:00 +00:00
Troll (Hermes Agent)
7a9c8b8240
ui: show formatted lyrics on customer player page above audio players
2026-08-03 18:13:44 +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)
e46893e0b4
docs: update comments, docstrings, README, REVIEW, and env docs to match current features
2026-08-03 00:11:41 +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)
109ac6c0b2
fix: make settings metadata fields always default to empty string
2026-08-02 22:41:21 +00:00
Troll (Hermes Agent)
4ab1c1e589
fix: correct DB health fix button action from fix_schema to fix_db
2026-08-02 22:35:22 +00:00
Troll (Hermes Agent)
3cb63a6480
ui: convert admin request page to two-column layout
2026-08-02 22:24:54 +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)
35c8a722fe
docs: update FAQ page from edited draft
2026-08-02 18:01:30 +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)
14ed80fe4b
Fix dashboard filters: Delivered instead of Done, correct Needs Upload status mapping
2026-08-02 00:02:05 +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)
5ebce2baff
Add dashboard auto-refresh, status filters, rate limiting, database backup/restore
2026-08-01 22:52:32 +00:00