📦 Changelog 8.1
MAJOR
2025-10-28
LUMA Infinity 8.1 — Le Retour de NINO+
Nouveautés — NINO+
- Nouvelle interface vidéo modernisée et optimisée.
- Lecteur amélioré : transitions instantanées, raccourcis clavier, gestion volume molette.
- Lecture fluide d’un épisode à l’autre.
- Skip intro optimisé (3 secondes).
- Autoplay avancé avec épisode suivant.
- Connexion obligatoire pour regarder une vidéo.
Fonctionnalités temporairement désactivées
- Commentaires
- Reprise automatique
- Shorts
- Profils personnalisés NINO+
Sécurité — LUMA Shield
- Détection renforcée des scans non autorisés.
- Nouveaux filtres de requêtes suspectes.
- Système antispam sur endpoints sensibles.
- Logs améliorés et traçabilité renforcée.
Comptes & Utilisateurs
- Refonte UI du module comptes.
- Gestion avatar plus sécurisée.
- Messages d’erreurs modernisés.
- Formulaires plus fluides et ergonomiques.
Améliorations globales
- Performances générales améliorées.
- Compatibilité mobile renforcée.
- Nettoyage des scripts obsolètes.
- Préparation des versions 8.x.
Watch System & Streaming
- Nouvelle route /nino/play/:id (player + infos + suggestions).
- API dynamique /api/nino/videos/:id avec fallback 404 stylé.
- Streaming natif /stream/play/:id avec support Range (seek fluide).
- Validation visibilité + ACL : vidéos privées impossibles à lire.
- Refonte complète des contrôles du player (play, mute, vitesse, PiP, FS).
- Overlay animée auto-hide (2.5s) + maintien visible en pause.
- Raccourcis clavier complets (J/L, flèches, espace, M, F, P, ., ,).
- Click = play/pause, double-click = fullscreen.
- Volume molette ±5%, volume clavier ±10%.
- Mode fullscreen optimisé (figure plein écran total).
Structure CSS & Modules JS
- Dispatch CSS : player-base / controls / progress / overlay / notfound.
- CSP-friendly : plus aucun inline-style.
- shortcuts.js → gestion du clavier déportée.
- notfound.js → UI dynamique si vidéo introuvable.
- Préparation HLS natif + playlists dynamiques.
- fetchCurrentVideo externalisé + métadonnées unifiées.
Next Episode System
- Fusion lecture auto/manuelle → logique unique.
- window.videoData centralisé → plus de double fetch.
- Autoplay fluide entre épisodes sans reload.
- Fullscreen persistant (isFullscreen + enterFullscreen).
- Animation fade-out 300ms type Netflix.
- Paramètres URL supportés : ?autoplay=1, ?fs=1.
- Countdown 5s + bouton annuler + message dynamique.
Thème Nino
- Nouvelles variables CSS (--nino-bg, --nino-white, --nino-gradient...).
- Typos Montserrat et Roboto intégrées.
- Popups warning/home adaptées au thème.
- Transitions fade-out globales.
- Palette unifiée pour home + player.
ACL / RBAC — Core
- RBAC complet : roles, groups, permissions, signatures.
- Vue SQL v_user_effective_permissions.
- Caching ACL TTL 1 min.
- CRUD complet roles/groups/permissions côté admin.
- Helpers EJS : hasRelease() pour filtrage UI.
- Audit ACL automatique via logAudit().
Admin Panel / UI
- Nouvelle vue /admin/rights (rôles, groupes, permissions).
- Modales CRUD Bootstrap.
- Gestion groupes utilisateur dans user_edit.js.
- Notifications notifier.show() harmonisées.
- UI directement synchronisée avec ACL API.
LUMA Shield / Firewall
- Refactor complet des tables : luma_bans, whitelist, traffic_log.
- Middlewares banCheck, trafficGuard, rateLimiter réécrits.
- Regex patterns renforcés (.env, git, php, vendor...).
- LogQueue async (100 entries / 2s).
- Upsert IP automatique (pas de doublons).
- Préparation ShieldQueue (mémoire + DB).
- Recommandation : endpoint /unban/:ip + cron 15 min.
Account System — Backend
- Refonte totale en CRUD.v3.
- Upload avatar via memoryStorage.
- Vérification MIME + limite 2Mo + audit logs.
- Protection requireAuth() + gestion login expiré.
- Hash bcrypt ×12.
- Suppression total auth V1/V2 legacy.
Account System — Front
- Modales dynamiques (avatar, MDP, déconnexion).
- Preview avatar instantané + cache bust ?v=.
- Erreurs standardisées (invalid_name, file_size...).
- Redirect automatique si session expirée.
- Animations harmonisées + tokens UI unifiés.
- CSP friendly (aucun inline-style).
État final & Objectifs
- RBAC : ✔️ Stable
- ACL : ✔️ Actif
- Admin : ✔️ Opérationnel
- Account System : ✔️ Terminé
- Player : ✔️ Préparé HLS + playlists
- Prochaines étapes : Shield V2, préférences, multi-qualité, cross-modules ACL.