- Show software version under site title - Fix background stopping on very wide screens (move gradient to body) - Validate Remote-User header value to avoid showing placeholder when not authenticated - Toggle login/logout button based on auth state via login_url config - Bump version to 0.3.0
39 lines
1.5 KiB
Markdown
39 lines
1.5 KiB
Markdown
# Roadmap
|
|
|
|
## iOS — Bouton thème non fonctionnel
|
|
|
|
Le bouton de bascule thème clair/sombre ne répond pas au toucher sur Firefox iOS.
|
|
|
|
**Pistes :**
|
|
- Contourner le système d'événements React (addEventListener natif) — essayé, sans effet
|
|
- Remplacer `<button>` par un `<a>` ou `<div role="button>` — à tester
|
|
- Vérifier le comportement iOS WebKit avec `classList.toggle` vs `setAttribute`
|
|
- Tester avec un bouton complètement isolé (hors du header, hors des composants dashboard)
|
|
- Vérifier si le problème persiste dans une page vide sans CSS gradient
|
|
|
|
## Filtrage par en-têtes HTTP (ex: Authelia) — ✅ fait (v0.2)
|
|
|
|
Masquer/afficher des sections ou des liens en fonction des en-têtes HTTP envoyés par un reverse proxy ou un provider d'authentification (Authelia, Authentik, etc.).
|
|
|
|
**Cas d'usage :** un lien d'administration n'apparaît que si l'utilisateur a le groupe `admin` dans `X-Forwarded-Groups`.
|
|
|
|
```yaml
|
|
links:
|
|
- id: "admin"
|
|
name: "Admin"
|
|
url: "https://admin.example.com"
|
|
icon: "Shield"
|
|
requiredHeaders:
|
|
X-Forwarded-Groups: "admin"
|
|
|
|
sections:
|
|
- id: "superviseurs"
|
|
title: "Supervision"
|
|
requiredHeaders:
|
|
X-Forwarded-Groups: "superviseur"
|
|
```
|
|
|
|
**Côté serveur :** utiliser `headers()` de `next/headers` pour lire les en-têtes au SSR et filtrer les sections/liens avant le rendu.
|
|
|
|
**Sécurité :** les en-têtes ne sont pas modifiables côté client (ils viennent du reverse proxy). Pas de risque de contournement par un utilisateur non auth.
|