Remove all client-side state management and data caching as the
application no longer needs to manage data analysis features.
Changes:
- Remove Pinia store system (app/stores/ directory)
- metadata.ts: Store for table metadata
- tableDataFactory.ts: Factory for creating table data stores
- README.md: Comprehensive store documentation
- Remove IndexedDB storage utility (app/utils/storage.ts)
- Remove Pinia dependencies from package.json
- @pinia/nuxt
- pinia
- Remove Pinia module from nuxt.config.ts
- Remove vendor-pinia chunk configuration
- Remove server services (server/services/ directory)
- table-service.ts: Supabase-dependent table operations
- query-parser.ts: Query parsing utilities
- query-runner.ts: Query execution utilities
The application now operates as a stateless authentication portal
without client-side data caching or state management.
Add comprehensive documentation for restoring data analysis pages
that were put in maintenance mode during database migration.
Includes:
- Commit reference (608b4db) with original logic
- Commands to restore each file from git history
- Step-by-step restoration process
- Notes about Supabase to new data source migration
- File-by-file breakdown of removed functionality
Restore all data analysis pages but display them in maintenance mode.
Users can see these pages in the navigation and access them, but they
show a maintenance message instead of trying to fetch data.
Changes:
- Create MaintenanceMode component for reusable maintenance UI
- Restore all deleted pages: explorer, metadatos, rawExplorer, panorama,
comparativa-cosechas, informe-ingresos
- Replace complex data-fetching logic with MaintenanceMode component
- Add "Mantenimiento" badges to navigation menu items
- Pages show clear maintenance message with technical details
- Users can still navigate to these pages without errors
This approach:
- Keeps the UI structure intact
- Shows users what features exist
- Provides clear communication about maintenance status
- Prevents confusion about missing features
- Easy to re-enable when data sources are reconnected
BREAKING CHANGE: Remove all data analysis features
This commit removes all database-dependent functionality and simplifies
the application to focus on authentication and user management only.
Changes:
- Remove all /api/data and /api/metadata server endpoints
- Remove Supabase configuration from nuxt.config.ts and .env.example
- Remove @supabase/supabase-js dependency from package.json
- Delete data analysis pages: explorer, metadatos, rawExplorer, panorama,
comparativa-cosechas, informe-ingresos
- Simplify sidebar navigation to show only "Inicio"
- Update home page to focus on authentication and profile management
- Remove "Supabase" and "Solo lectura" badges from navbar
- Keep only auth-related API endpoints: /api/auth/status and /api/auth/check-group
The application now serves as an authentication-protected portal with:
- Authentik SSO integration
- User profile management
- Settings and notifications pages (coming soon)
- No database or data analysis features
- Remove obsolete auth middleware references from settings and notifications pages
- Clean up .env.example: remove unused PostgreSQL and PostgREST variables
- Delete POSTGRES_SETUP.md: outdated documentation for removed services
- App now uses Supabase directly instead of local PostgreSQL+PostgREST
- Authentication is handled entirely by Authentik Forward Auth at Traefik level
- Add AuthSessionStatusButton to dashboard layout navbar
- Redesign button as compact icon button for navbar integration
- Button checks session status against Authentik in real-time
- Styled to match navbar aesthetic with hover effects
- Changed ssr: false to ssr: true in nuxt.config.ts
- This is critical for useAuthentik() to read headers during server-side rendering
- Without SSR, the composable cannot access Authentik proxy headers
- User authentication state will now be properly initialized on page load
- Create /api/auth/status endpoint for session verification
- Create /api/auth/check-group endpoint for group membership validation
- These endpoints read Authentik proxy headers to provide auth state
- Required for SessionStatusButton and backend group verification
- Migrar de useAuth() a useAuthentik() para autenticación SSR
- Actualizar componentes UserMenu, AppSidebar y profile.vue
- Configurar docker-compose.yml con variables dinámicas
- Agregar Gitea Actions workflow para build y deploy automático
- Implementar hook de monitoreo de Gitea Actions
- Configurar secrets y variables para deploy seguro
- Actualizar configuración de Traefik con Authentik Forward Auth
- Agregar NUXT_SUPABASE_URL y NUXT_SUPABASE_SERVICE_ROLE_KEY
- Nuxt requiere prefijo NUXT_ para sobrescribir runtimeConfig en producción
- Mantener variables originales para compatibilidad
- Agregar SUPABASE_SERVICE_ROLE_KEY al workflow de Gitea Actions
- Usar variable correcta en docker-compose.yml
- Desactivar navigateFallback en workbox para evitar error de precached-url
- Actualizar documentación con los 3 secretos necesarios
- Agregar headers CORS para manifest.webmanifest y service worker
- Configurar navigateFallback a /index.html con denylist para rutas API y Authentik
- Mapear SUPABASE_ANON_KEY a SUPABASE_SERVICE_ROLE_KEY en docker-compose
- Agregar headers Cross-Origin para PWA detrás de proxies
- Replace external module references with empty stub file
- Add .nuxt-stubs/empty.mjs to provide browser-compatible module
- Update workaround to resolve server-only modules to stub file instead of marking as external