sochboard/ROADMAP.md
maxsoch 457a6a284a feat: v0.3 improvements
- 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
2026-08-02 18:25:04 +02:00

1.5 KiB

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.

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.