elmeg-demo/docs/HANDOFF_2025_12_22.md
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

1.6 KiB

Handoff - 2025-12-22

Work Completed

Database & Migrations

  • Performance Slug: Identified and resolved missing slug column on Performance table.
    • Fixed migration 65c515b4722a_add_slugs.py to include server_default for NOT NULL columns (User table), allowing SQLite migration to succeed.
    • Applied migration 65c515b4722a successfully.
  • Data Fixes: Updated fix_db_data.py:
    • Added robust pagination for API fetching.
    • Implemented logic to ensure slug uniqueness for Shows, Venues, Songs, etc. across the board.
    • Added Performance slug generation.
    • Attempting to fix set_name backfill.

Notification System

  • Status: Not started yet. Pending completion of data fixes.

Current State

  • Database:
    • slug column added to Performance and verified populated for 100% of records (Shows, Venues, Songs, Tours, Performances).
    • Migration 65c515b4722a_add_slugs applied successfully.
  • Data:
    • fix_db_data.py completed slug generation.
    • set_name backfill failed due to API mapping issues (missing external IDs to link setlists). Existing set_name fields remain mostly NULL.
  • Frontend: Links are using slugs. API supports slug lookup.

Next Steps

  1. Fix Set Names: Investigate fix_db_data.py mapping logic. Needs a way to reliably link API setlists response to DB shows. Maybe fuzzy match date + venue?
  2. Notification System: Implement Discord/Telegram notifications.
    • Create backend/services/notification_service.py.
    • Setup Webhooks/Bots.
  3. Frontend Verification: Click testing to ensure slug routes load correctly.