Multi-IPTV : persister l'IPTV choisie dès le clic

Déconnecter Auto NBA sur une IPTV la déconnectait sur l'autre : les deux
tombaient en fait sur la même règle. L'en-tête X-Playlist-Id était absent,
donc le serveur repliait sur la playlist la plus récente, pour la lecture
comme pour l'écriture.

AuthedHttp lit localStorage['selected_playlist'], écrit jusqu'ici par le
seul ref.listen de playlistPersistenceProvider. Or ce listener n'existe
qu'une fois activeXtreamServiceProvider lu, c'est-à-dire une fois le
tableau de bord construit : le premier choix d'une session changeait
l'état avant que quiconque n'écoute, et n'était jamais écrit.

- persistSelectedPlaylist écrit l'entrée ; le listener l'appelle.
- selectPlaylist persiste puis pose l'état ; les deux écrans de
  sélection (web et mobile) passent par lui.

Non vérifié localement : le SDK Flutter de cette machine (3.10.3) est
antérieur au ^3.13.0 exigé par le projet.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
MichaelandClaude Opus 5 committed 2026-10-19 14:11:19 +02:00
1 parent f45c2af677
commit 5169d0843a
3 files changed
+30 -11

No files matched your search

@@ -108,9 +108,9 @@ class MobilePlaylistSelectionScreen extends ConsumerWidget {
return _MobilePlaylistCard(
playlist: playlist,
onTap: () {
// Update provider which will be persisted
ref.read(selectedPlaylistProvider.notifier).state =
playlist;
// Choix + persistance dans le même geste : l'en-tête
// X-Playlist-Id doit partir dès la première requête.
selectPlaylist(ref, playlist);
// Navigate without extra (it will be picked up from provider)
context.go('/dashboard');
},