asteroid/parenscript
glenneth adce831a95 feat: Add avatar upload and fix authentication errors
Avatars:
- Add avatar_path column to USERS table (migration 006)
- Upload API endpoint /api/asteroid/user/avatar/upload
- Profile page shows avatar with hover-to-change overlay
- Default SVG avatar for users without uploaded image
- Avatars stored in static/avatars/ directory

Fixes:
- 401 errors now return proper JSON instead of 500
- SQL escaping for history recording (single quotes)
- Added debug logging for history/record API
- Avatar container has background color for visibility

For production: run migrations/006-user-avatars.sql
2025-12-22 21:42:06 -05:00
..
admin.lisp feat: Add database persistence and editable UI for playlist schedule 2025-12-17 20:48:07 -05:00
auth-ui.lisp feat: Convert JavaScript to Parenscript with stream fixes and UX improvements 2025-12-06 11:55:24 -05:00
frameset-utils.lisp Fix geo stats peak tracking and migrate inline JS to ParenScript 2025-12-14 10:20:32 -05:00
front-page.lisp feat: Add listening history tracking and fix favorites 2025-12-22 21:42:06 -05:00
player.lisp Fix ParenScript constructor syntax: use ps:new for class instantiation 2025-12-10 11:11:32 -05:00
profile.lisp feat: Add avatar upload and fix authentication errors 2025-12-22 21:42:06 -05:00
recently-played.lisp Add channel/quality selector separation with dynamic playlist phase names 2025-12-14 19:08:41 -05:00
spectrum-analyzer.lisp Fix wedged player with reconnect button and volume preservation 2025-12-10 11:11:32 -05:00
stream-player.lisp feat: Add listening history tracking and fix favorites 2025-12-22 21:42:06 -05:00
users.lisp Fix last-login timezone handling 2025-12-19 18:00:30 -05:00