Hördle Bot
2d6481a42f
Security audit improvements: authentication, path traversal protection, file validation, rate limiting, security headers
2025-11-24 09:34:54 +01:00
Hördle Bot
7b975dc3e3
Finalize scoring system, release year integration, and fix song deletion
2025-11-23 20:37:23 +01:00
Hördle Bot
d280106336
Add duplicate detection with fuzzy matching and fix artist metadata extraction
2025-11-23 16:06:55 +01:00
Hördle Bot
d09dbece5f
Fix upcoming specials display on genre pages
2025-11-23 15:35:34 +01:00
Hördle Bot
80e6066c17
Add subtitles to Genres and Specials
2025-11-23 15:20:12 +01:00
Hördle Bot
f13a719d0e
fix: improve rating UI label and notification context
2025-11-23 10:42:20 +01:00
Hördle Bot
4d3032df36
feat: implement song rating system with admin view and user persistence
2025-11-23 10:34:45 +01:00
Hördle Bot
8262a96213
feat(home): format upcoming special dates with TZ support
2025-11-23 02:33:22 +01:00
Hördle Bot
b294a3a8e6
feat(home): display curator in upcoming specials
2025-11-23 02:29:23 +01:00
Hördle Bot
2a38bce02c
feat(specials): add curator field
2025-11-23 02:25:45 +01:00
Hördle Bot
6fd5f8ed0c
style(admin): fix button height consistency
2025-11-23 02:16:42 +01:00
Hördle Bot
c05ead4493
fix(api): include song count in specials list
2025-11-23 02:15:12 +01:00
Hördle Bot
5fb450d37e
style(admin): unify button styles for edit, delete, and cancel
2025-11-23 02:13:11 +01:00
Hördle Bot
e9526918e1
feat(specials): add launch and end dates for scheduling
2025-11-23 02:09:49 +01:00
Hördle Bot
e06e0d2919
feat(special-editor): add manual save button with unsaved changes indicator
2025-11-23 01:07:53 +01:00
Hördle Bot
86829af17d
feat(waveform): add segment markers, zoom, and individual segment playback
2025-11-23 01:03:03 +01:00
Hördle Bot
b27d5e49c9
fix(api): update songs endpoint to work with SpecialSong model
2025-11-23 00:57:02 +01:00
Hördle Bot
5944c14614
fix(api): await params in Next.js 15 dynamic routes
2025-11-23 00:53:36 +01:00
Hördle Bot
587fa59b79
feat(special-curation): complete implementation with all components
...
- Database: SpecialSong model with startTime
- Backend: API endpoints for curation
- Admin: Waveform editor and curation page
- Game: startTime support in AudioPlayer
- UI: Curate button in admin dashboard
2025-11-23 00:50:35 +01:00
Hördle Bot
4f088305df
fix(admin): add Curate button linking to Special curation page
2025-11-23 00:48:57 +01:00
Hördle Bot
e24588f3ee
feat(pwa): add one-time install prompt for mobile devices
2025-11-23 00:22:23 +01:00
Hördle Bot
77a769fb91
fix(admin): filter duplicate daily puzzles in dashboard
2025-11-23 00:01:06 +01:00
Hördle Bot
aff752d4cb
feat(security): implement bcrypt hashing for admin password and cleanup Dockerfile
2025-11-22 22:37:46 +01:00
Hördle Bot
23e145e05f
fix(admin): update genre counts after song modifications
2025-11-22 22:29:32 +01:00
Hördle Bot
a6cfa833e3
refactor(admin): remove separate Artist column from Song Library
2025-11-22 22:27:10 +01:00
Hördle Bot
5d5a75a735
Add genre/special-specific URLs to share functionality
2025-11-22 19:30:49 +01:00
Hördle Bot
7fc1c2c201
Fix audio playback for newly uploaded files by using dynamic API route
2025-11-22 17:53:37 +01:00
Hördle Bot
c612da6371
Update Daily Puzzles table buttons to match Song Library style
2025-11-22 16:51:01 +01:00
Hördle Bot
fdd5463391
Add collapsible Daily Puzzles management table to admin area
2025-11-22 16:49:00 +01:00
Hördle Bot
ae9e4c504e
Add Song of the Day filter and badges to Admin Song Library
2025-11-22 16:38:15 +01:00
Hördle Bot
903d626699
Implement Specials feature, Admin UI enhancements, and Database Rebuild tool
2025-11-22 16:09:45 +01:00
Hördle Bot
c270f2098f
Feat: Add genre filter to song library table
2025-11-22 12:56:42 +01:00
Hördle Bot
7d117d3bd4
UI: Update admin dashboard heading
2025-11-22 12:28:03 +01:00
Hördle Bot
10cab22cfe
Fix: Add batch processing to prevent timeout on large song libraries
2025-11-22 12:11:11 +01:00
Hördle Bot
8c720e287f
Feat: Genre system with per-genre daily puzzles
2025-11-22 11:56:16 +01:00
Hördle Bot
dc69fd1498
Feat: AI-powered genre categorization with OpenRouter
2025-11-22 11:55:50 +01:00
Hördle Bot
f8fb3ccf69
Feat: Auto-play on skip & Gotify notifications
2025-11-22 10:34:22 +01:00
Hördle Bot
4f8524c286
Fix daily puzzle rotation timezone issue
...
- Added lib/dateUtils.ts for consistent timezone handling
- Updated app/page.tsx and app/api/daily/route.ts to use Europe/Berlin timezone
- Updated lib/gameState.ts to sync client-side daily check with server time
- Exposed TZ env var to client in next.config.ts
2025-11-22 00:44:14 +01:00
Hördle Bot
3e0fa430a3
feat(admin): add custom page title 'Hördle Admin Dashboard'
2025-11-21 22:13:44 +01:00
Hördle Bot
3f47fac276
feat: add configurable timezone for daily puzzle rotation with logging
2025-11-21 21:53:22 +01:00
Hördle Bot
75a8a63b21
feat: improve UX with modern skip/solve buttons, ID sorting, and URL-safe filenames
2025-11-21 21:44:16 +01:00
Hördle Bot
3f544bf77c
feat(admin): add MP3 validation with detailed audio info and cover detection
2025-11-21 21:16:25 +01:00
Hördle Bot
1d2a57352f
feat(admin): add persistent login and improve audio playback error handling
2025-11-21 20:52:08 +01:00
Hördle Bot
7ce45be90d
feat(admin): display total song count in library header
2025-11-21 18:12:31 +01:00
Hördle Bot
f4e953ecd1
feat: add PWA manifest and viewport configuration
2025-11-21 17:52:31 +01:00
Hördle Bot
f22aea6341
fix: Force dynamic rendering and improve error handling
...
- Add 'force-dynamic' to app/page.tsx to ensure daily puzzle is generated on every request
- Improve error message in Game component when no puzzle is available
- Add logging to getDailyPuzzle for debugging
2025-11-21 16:25:01 +01:00
Hördle Bot
616b721183
feat: improve daily puzzle generation with a global Prisma client, detailed logging, and race condition handling.
2025-11-21 16:18:26 +01:00
Hördle Bot
29d43effe3
feat: Add cover art support and auto-migration
...
- Extract cover art from MP3s during upload
- Display cover art in game result screens (win/loss)
- Add coverImage field to Song model
- Add migration script to backfill covers for existing songs
- Configure Docker to run migration script on startup
2025-11-21 15:51:22 +01:00
Hördle Bot
0c9508076f
fix: Update page title and description to Hördle
2025-11-21 14:56:37 +01:00
Hördle Bot
cbfd0c1798
feat: Add sortable 'Added' column to admin table
...
- Display upload date in German format (DD.MM.YYYY)
- Column is sortable by clicking header
- Uses existing createdAt field from database
2025-11-21 14:46:59 +01:00