Patch Notes
Tous les changements apportés à la plateforme, dans l'ordre chronologique.
Homepage: nouvelle section 'Chez SauroraaAgency' au-dessus du trending avec artistes et sorties de l'agence mises en avant
Internationalisation publique renforcée: FR / EN / NL sur header, footer, recherche, auth, commentaires, panier, profils artistes, releases et dubpacks
Popup de choix de langue au premier accès sur la home avec mémorisation locale et switch desktop/mobile
FollowButton: état d'abonnement fiable via JWT optionnel sur l'endpoint public
Responsive pass mobile: section agency, hero, pages release/dubpack, profil artiste et modale langue rendus plus propres sur téléphone
Dropdown utilisateur dans le header (Profil, Dashboard, Charts, Abonnement, Paramètres, Déconnexion)
Visibilité des releases : Public, Non répertorié, Privé — sélectionnable à l'upload et modifiable ensuite
Édition inline des releases dans 'Mes Releases' (titre, description, genre, BPM, tonalité, visibilité)
Liens privés : sélecteur de durée (1j / 2j / 3j / 5j / 7j / 2 semaines / 1 mois / Permanent)
Pause/Resume : la lecture reprend exactement à la position pausée (comparaison par releaseId, pas par URL audio)
Recherche : correction erreur 500 (champ 'slug' inexistant sur le modèle Artist)
Profil artiste : cover thumbnail visible sur chaque track de la liste
Dashboard artiste : onglets Engage et Broadcasts supprimés
Analytics recharts : courbes AreaChart (streams/downloads), BarChart (followers), KPI row, Top 10 tracks avec covers
GET /releases/mine : endpoint JWT pour afficher uniquement les releases de l'artiste connecté
Upload form : champ 'Preview duration' masqué pour les releases FREE
Pages légales : URLs et emails mis à jour de sauroraa.be vers sauroraarecords.be
Rankings : score backend renvoyé correctement (n'était plus inclus dans la réponse), totalViews = streams uniquement
Rankings : filtrage des faux artistes (nécessite un displayName + au moins 1 release publiée)
Rankings : 15 artistes par défaut, bouton 'Show more' (+15) et 'Top 100'
Barre de recherche dans le header avec dropdown (artistes + releases, debounce 280ms)
Queue système : Prev/Next/Shuffle/Repeat dans le GlobalPlayer, auto-avance à la fin d'un son
TrackDetailPanel : panneau slide-over style SoundCloud (waveform, like, repost, share, report, download/buy, commentaires, carte artiste)
ShareModal : partage Discord (copie markdown), Twitter/X, copie de lien
ReportModal : 6 raisons de signalement + champ détail → POST /ecosystem/reports
ReleaseCard : boutons hover (Maximize2 → detail panel, ListPlus → add to queue), affichage BPM/key
CommentThread : parsing des timestamps @MM:SS → badge cliquable qui seek l'audio à la seconde exacte
View tracking : scope 'FULL' (valide), reset par releaseId, credentials sur les appels heatmap
Stats artiste : totalViews utilisait downloadSessions au lieu de streamEvents — corrigé
Système Engage : campagnes fan-gate, sessions, actions, newsletter, analytics, export CSV
Artiste : champ bannerUrl + bouton d'édition inline sur la page profil
Rankings : comptabilise StreamEvent + Comment + Repost + FreeDownloadSession avec pondération
FollowButton : React Query avec optimistic updates, synchronisation instantanée sur toutes les pages
Intégration music-web : player HLS, queue, waveform, genres, commentaires timestamp, système partage/report
Service cron : publication planifiée, validation bots, calcul trust score, revenus mensuels
Nginx : deux blocs virtuels (records + music.localhost), auth_request HLS
Lancement de la plateforme : auth JWT, dashboard artiste/admin/agence, releases, dubpacks, boutique Stripe, abonnements
Système légal : CGU, CGV, RGPD, mentions légales, cookies
Internationalisation : FR / EN / NL avec persistance locale
Sauroraa Records — BE1031.598.463