fullsizemalt
8990063837
fix: search endpoint crashing on User.username reference
...
User.username doesn't exist - usernames are in Profile model.
Now properly searches Profile.username and joins results.
2025-12-24 21:49:10 -08:00
fullsizemalt
6dd88d4e2d
fix: improve session persistence and review saving
...
- Increase token expiry from 30 minutes to 7 days
- Remove internal session.commit() calls from gamification services
- Add try/except around gamification logic in review creation
- Add elmeg.runfoo.run hostname support in frontend api-config
2025-12-24 21:44:26 -08:00
fullsizemalt
8cd578b863
fix(backend): Add missing slug fields to PerformanceDetailRead schema
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 17:55:12 -08:00
fullsizemalt
0f41349817
feat: Filter future shows from main list
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 17:50:08 -08:00
fullsizemalt
a5b2ded18f
fix(backend): Increase songs limit to 1000
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 17:35:24 -08:00
fullsizemalt
f73d1aaca1
feat: Update import script to include future shows
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 17:10:50 -08:00
fullsizemalt
c9a22de2a9
feat: Add Upcoming Shows feature (backend+frontend) and Special Features section
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 17:08:36 -08:00
fullsizemalt
e4dc00fb4d
fix(frontend): Increase songs list limit to 1000
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 16:53:59 -08:00
fullsizemalt
be57110de8
feat: Tour pages - add show counts, year grouping, stats card
2025-12-24 16:18:45 -08:00
fullsizemalt
26171e1937
fix: correct Bandcamp regex pattern
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 14:23:07 -08:00
fullsizemalt
ca28293cea
feat: add Bandcamp catalog import script
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 14:21:11 -08:00
fullsizemalt
d54b217264
fix: update Nugs discovery to scrape catalog page
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 14:04:10 -08:00
fullsizemalt
58edc0e070
feat: add audio link discovery script
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 14:01:36 -08:00
fullsizemalt
1328cc458f
fix: add nugs_link and bandcamp_link to ShowRead schema
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 13:56:10 -08:00
fullsizemalt
2df93a75e4
feat: add Sequences feature for song groupings
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 13:37:27 -08:00
fullsizemalt
83d9e18497
fix: include role in UserRead schema for admin access
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 13:14:29 -08:00
fullsizemalt
ff56e4f140
feat: add Band Members (Musicians) feature - Sprint 4
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 13:07:48 -08:00
fullsizemalt
037d2aa463
feat: enhance Nickname Queue with status filtering
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 13:04:35 -08:00
fullsizemalt
e0414d1548
feat: add sync_artists.py to populate Artists from elgoose API
2025-12-24 12:59:01 -08:00
fullsizemalt
d276cdbd76
feat: add Admin Interface for Artists management
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 12:34:43 -08:00
fullsizemalt
b67d4929a4
feat: frontend artist page and song linking
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 12:22:36 -08:00
fullsizemalt
61715a119c
feat: implement Artist model usage, router, and migration script
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 12:19:28 -08:00
fullsizemalt
49e025d3bf
fix: commit all pending changes (home, leaderboard, slug cleanup)
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 12:06:35 -08:00
fullsizemalt
7a549e15ac
fix(leaderboard): filter out 0xp users
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 11:50:17 -08:00
fullsizemalt
f36d868f25
chore: disable sql echo in fix script
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 11:12:55 -08:00
fullsizemalt
a2f0965ff5
chore: add script to fix set names in db
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 10:38:21 -08:00
fullsizemalt
ff411321c6
feat(stats): add set breakdown to song page
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 10:29:13 -08:00
fullsizemalt
4aefad1eff
feat(videos): add search, video toggle, and fix links
Deploy Elmeg / deploy (push) Waiting to run
2025-12-24 10:20:39 -08:00
fullsizemalt
9c92eb7953
feat: Add SMTP support for self-hosted Postal mail server
Deploy Elmeg / deploy (push) Waiting to run
2025-12-23 17:19:22 -08:00
fullsizemalt
1f29cdf290
feat: Bandcamp/Nugs links for shows and performances
...
Deploy Elmeg / deploy (push) Waiting to run
- Add bandcamp_link, nugs_link to Performance model
- Admin endpoints: PATCH /admin/performances/{id}
- Bulk import: POST /admin/import/external-links
- Spec doc: docs/BANDCAMP_NUGS_SPEC.md
2025-12-23 15:56:21 -08:00
fullsizemalt
68453d6865
feat: Mailgun email integration with SES fallback
...
Deploy Elmeg / deploy (push) Waiting to run
- Mailgun API as primary email provider
- AWS SES kept as fallback
- Improved email templates with modern styling
- Environment vars: MAILGUN_API_KEY, MAILGUN_DOMAIN
2025-12-23 15:49:33 -08:00
fullsizemalt
1f7f83a31a
fix: Videos page links to show, hide test users from leaderboard
...
Deploy Elmeg / deploy (push) Waiting to run
- Videos page now links song titles to show page (where video is displayed)
- Leaderboard hides tenwest/testuser until 12+ real users exist
2025-12-23 15:45:29 -08:00
fullsizemalt
14a509ddb5
feat: Add bug tracker MVP (decoupled, feature-flagged)
...
Deploy Elmeg / deploy (push) Waiting to run
- Backend: Ticket and TicketComment models (no FK to User)
- API: /tickets/* endpoints for submit, view, comment, upvote
- Admin: /tickets/admin/* for triage queue
- Frontend: /bugs pages (submit, my-tickets, known-issues, detail)
- Feature flag: ENABLE_BUG_TRACKER env var (default: true)
To disable: Set ENABLE_BUG_TRACKER=false
To remove: Delete models_tickets.py, routers/tickets.py, frontend/app/bugs/
2025-12-23 13:18:00 -08:00
fullsizemalt
2da46eaa16
feat: Privacy settings with functional toggles, sticky sidebar, roadmap doc
Deploy Elmeg / deploy (push) Waiting to run
2025-12-23 13:08:48 -08:00
fullsizemalt
9e48dd78ff
style: Update avatar colors to jewel tones (Sapphire, Ruby, Emerald, etc.)
Deploy Elmeg / deploy (push) Waiting to run
2025-12-23 11:56:23 -08:00
fullsizemalt
f989414323
feat: Redesign settings page with comprehensive sections, sidebar nav, and distinct avatar colors
Deploy Elmeg / deploy (push) Waiting to run
2025-12-23 11:38:18 -08:00
fullsizemalt
a4d63a9e2c
feat: Add custom avatar system with color picker and text overlay
Deploy Elmeg / deploy (push) Waiting to run
2025-12-23 11:12:31 -08:00
fullsizemalt
4a103511da
feat: Add video integration - display videos on performance pages and indicators
...
Deploy Elmeg / deploy (push) Waiting to run
- Add YouTubeEmbed to performance detail page when youtube_link exists
- Add YouTube icon indicator on setlist items that have videos
- Add YouTube badge on show cards in archive when full show video exists
- Add youtube_link to ShowRead and PerformanceRead schemas
- Add VIDEO_INTEGRATION_SPEC.md documentation
2025-12-22 23:52:34 -08:00
fullsizemalt
171b8a38ca
feat: Add /videos page listing all YouTube videos without thumbnails
2025-12-22 23:16:04 -08:00
fullsizemalt
0ad89105b3
feat: Improved YouTube matching with fuzzy logic (+40 more videos)
2025-12-22 23:13:13 -08:00
fullsizemalt
dc584af2f2
feat: Add YouTube API fetch and import scripts with 620 videos
2025-12-22 23:09:43 -08:00
fullsizemalt
bd6832705f
feat: Add Mark Caught button for chase songs + fix Next.js 16 build errors
...
- Add MarkCaughtButton component to show page setlist
- Fix TypeScript errors in profile, settings, welcome pages
- Fix Switch component onChange props
- Fix notification-bell imports and button size
- Fix performance-list orphaned JSX
- Fix song-evolution-chart tooltip types
- Add Suspense boundaries for useSearchParams (Next.js 16 requirement)
2025-12-22 00:21:58 -08:00
fullsizemalt
823c6e7dee
fix: Rewrite youtube parser to handle escaped markdown line-by-line
2025-12-21 22:35:41 -08:00
fullsizemalt
98a7965c52
fix: Handle escaped markdown in youtube import parser
2025-12-21 22:33:51 -08:00
fullsizemalt
8620841932
feat: Add YouTube video import script for performances and shows
2025-12-21 22:20:10 -08:00
fullsizemalt
16bacc29df
feat: Enhance Performance Page with Top Rated Versions list
2025-12-21 21:52:23 -08:00
fullsizemalt
532798db76
feat: Add data backfill migration for set names and slugs
2025-12-21 20:53:06 -08:00
fullsizemalt
e3e074248e
feat: complete slug integration, fix set names logic, add missing ui components
2025-12-21 20:29:36 -08:00
fullsizemalt
b73f993475
feat: Email Service Integration with AWS SES
...
- Implemented backend/services/email_service.py with boto3 SES client
- Added EmailService class with verification and password reset methods
- Updated auth router to use the new email service
- Configured docker-compose.yml to pass AWS SES environment variables
2025-12-21 19:28:29 -08:00
fullsizemalt
bc804a666b
feat: Gamification sprint complete
...
XP System:
- XP now awarded for attendance (+25), ratings (+10), reviews (+50)
- First-time bonuses for first rating (+25) and first review (+50)
- Streak bonuses (+10 per day, capped at 7x)
- Badge awards automatically grant XP
User Titles & Flair System (Tracker-style):
- Level-based free titles: Rookie → Immortal
- Purchasable titles with XP: Jam Connoisseur, Setlist Savant, etc.
- Username colors purchasable with XP (6 colors + Rainbow)
- Emoji flairs purchasable with XP
- Early adopter perks: exclusive titles, colors, 10% XP bonus
New Fields on User:
- custom_title, title_color, flair
- is_early_adopter, is_supporter
- joined_at
Shop API Endpoints:
- GET /gamification/shop/titles
- POST /gamification/shop/titles/purchase
- GET/POST for colors and flairs
- GET /gamification/user/{id}/display
- GET /gamification/early-adopter-perks
Frontend:
- XP Leaderboard added to home page
- LevelProgressCard shows on profile
2025-12-21 19:21:20 -08:00