Commit Graph

8 Commits

Author SHA1 Message Date
01f7a0fd2a fix: implementar verificación correcta de sesión con Authentik
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 24s
Problema:
La verificación de sesión usaba HEAD /api/music que no es confiable
porque:
- Los headers de Authentik solo están disponibles en el servidor
- El Service Worker puede servir respuestas cacheadas
- No había headers no-cache para evitar respuestas obsoletas

Solución:
Implementar verificación correcta basada en plantillaNuxtAuthentikProxy:

1. Nuevo endpoint /api/auth/status.get.ts
   - Lee headers de Authentik directamente desde el servidor
   - Headers no-cache para verificación en tiempo real
   - Retorna estado autenticado + info de usuario

2. Actualizar useAuth.ts
   - checkAuth() ahora usa /api/auth/status
   - fetchUserInfo() también usa el nuevo endpoint
   - Lógica simplificada y más confiable

Con esto, la verificación de sesión es precisa y en tiempo real,
consultando directamente los headers de Authentik en el servidor.
2025-10-17 04:09:28 -06:00
182bfa74c9 Add user info header to authentication dropdown
All checks were successful
build-and-deploy / build (push) Successful in 23s
build-and-deploy / deploy (push) Successful in 2s
- Created /api/auth/userinfo endpoint to fetch user data from Authentik headers
- Added userInfo state and fetchUserInfo() function to useAuth composable
- Implemented compact user info header in dropdown with avatar, name, and email
- Avatar shows user initials with gradient background
- Styled with glassmorphism design matching app aesthetic
2025-10-12 03:26:38 -06:00
e3e7374096 fix(runtime-config): resolver MUSIC_DIR en tiempo de ejecución y no hornearlo en build; endpoints usan env absoluto o public fallback
All checks were successful
build-and-deploy / build (push) Successful in 21s
build-and-deploy / deploy (push) Successful in 3s
2025-08-10 03:03:22 -06:00
81330de97e feat(pwa-offline): Pinia store + IndexedDB; contexto para cache/eliminación; toasts; compatibilidad PWA offline
All checks were successful
build-and-deploy / build (push) Successful in 40s
build-and-deploy / deploy (push) Successful in 4s
- Agrega @pinia/nuxt, idb y store central (stores/music.ts)
- Cacheo manual desde menú contextual y borrado (TrackContextMenu)
- Ícono verde para canciones cacheadas, sin auto-cache al reproducir
- Toasts de feedback (stores/toast.ts, ToastContainer)
- Fallback offline de listado a IndexedDB; fix MUSIC_DIR absoluto en preview/prod
- Ajustes PWA: navigateFallback '/', devOptions, workbox condicional
- Estilos y animación del context menu (tema light/dark, blur fuerte)
- Correcciones de sintaxis y posicionamiento exacto al cursor
2025-08-10 02:51:38 -06:00
bf7413b45f Fix 403 error when loading music files
- Fix path traversal security check by using absolute paths
- Remove problematic fetch override that forced JSON headers on all API requests
- Add error tracking and visual indicators for failed tracks
- Correct music directory resolution for both relative and absolute paths

The main issue was the security validation comparing relative paths incorrectly,
causing legitimate music file requests to be rejected with 403 errors.
2025-08-10 01:28:16 -06:00
493d236dc4 UI mejorada 2025-08-10 00:45:59 -06:00
2f878a857a Fix music file serving path to match Docker mount point
All checks were successful
build-and-deploy / build (push) Successful in 19s
build-and-deploy / deploy (push) Successful in 3s
2025-08-04 14:58:11 -06:00
f756457ea9 Fix music directory path to match Docker mount point
All checks were successful
build-and-deploy / build (push) Successful in 19s
build-and-deploy / deploy (push) Successful in 2s
2025-08-04 14:50:47 -06:00