Launch a whole series or a single season, as a watch or lounge party #30

Merged
kyuno merged 1 commit from feat/launch-whole-series into master 2026-09-24 23:00:51 +02:00
Owner

Résumé

Pour une série, on peut maintenant choisir entre la série entière et une seule saison, aussi bien pour une lounge party que pour une watch party.

Lounge party

  • Nouvelle source season, en plus de series et playlist.
    • Elle ne contient que les épisodes de cette saison.
    • Nom par défaut : « Série - Saison », avec l'affiche de la série.
    • La source enregistre aussi seriesId et seasonNumber, car les épisodes sont récupérés par série puis filtrés.
  • Série entière : tous les épisodes de toutes les saisons à partir de S1E1.
    • Les épisodes spéciaux (saison 0) sont exclus : Emby les trie en premier, donc une séance aurait commencé par eux.
    • Les lounge parties créées avant ce changement gardent leurs spéciaux, qui sont déjà dans leur liste.
  • Les vues lounge affichent « Saison » comme type de source.

Watch party

  • POST /api/parties accepte un id de série (série entière depuis S1E1) et un id de saison (cette saison seulement).
  • Une tuile de série dans une bibliothèque a maintenant un bouton « Lancer une watch party », qui lance la série entière.
  • Le lancement depuis un épisode ne change pas : il enchaîne sur la suite de la série, saisons suivantes comprises.

Page série

  • En-tête : « Lancer toute la série » et « Créer une lounge party » (série entière).
  • Au-dessus des épisodes de l'onglet sélectionné : « Lancer cette saison » et « Lounge party de cette saison ».

Vérification

  • typecheck et build des deux projets. Tests serveur : 185/185, dont les nouveaux tests des fonctions pures seriesQueueFrom et seasonQueue.
  • De bout en bout contre un faux serveur Emby (2 saisons + 1 épisode spécial) :
Cas Résultat
Watch party série démarre à S1E1, 4 épisodes, spécial exclu
Watch party saison 2 2 épisodes
Depuis S1E2 3 épisodes, jusqu'à la fin de la série
Lounge party série e1 à e4
Lounge party saison 1 e1, e2
Bouton « Lounge party de cette saison » sur l'onglet Livre II crée « Kaamelott - Livre II », type Saison, 2 éléments

🤖 Generated with Claude Code

## Résumé Pour une série, on peut maintenant choisir entre la série entière et une seule saison, aussi bien pour une lounge party que pour une watch party. ### Lounge party - Nouvelle source `season`, en plus de `series` et `playlist`. - Elle ne contient que les épisodes de cette saison. - Nom par défaut : « Série - Saison », avec l'affiche de la série. - La source enregistre aussi `seriesId` et `seasonNumber`, car les épisodes sont récupérés par série puis filtrés. - Série entière : tous les épisodes de toutes les saisons à partir de S1E1. - Les épisodes spéciaux (saison 0) sont exclus : Emby les trie en premier, donc une séance aurait commencé par eux. - Les lounge parties créées avant ce changement gardent leurs spéciaux, qui sont déjà dans leur liste. - Les vues lounge affichent « Saison » comme type de source. ### Watch party - `POST /api/parties` accepte un id de série (série entière depuis S1E1) et un id de saison (cette saison seulement). - Une tuile de série dans une bibliothèque a maintenant un bouton « Lancer une watch party », qui lance la série entière. - Le lancement depuis un épisode ne change pas : il enchaîne sur la suite de la série, saisons suivantes comprises. ### Page série - En-tête : « Lancer toute la série » et « Créer une lounge party » (série entière). - Au-dessus des épisodes de l'onglet sélectionné : « Lancer cette saison » et « Lounge party de cette saison ». ## Vérification - typecheck et build des deux projets. Tests serveur : 185/185, dont les nouveaux tests des fonctions pures `seriesQueueFrom` et `seasonQueue`. - De bout en bout contre un faux serveur Emby (2 saisons + 1 épisode spécial) : | Cas | Résultat | |---|---| | Watch party série | démarre à S1E1, 4 épisodes, spécial exclu | | Watch party saison 2 | 2 épisodes | | Depuis S1E2 | 3 épisodes, jusqu'à la fin de la série | | Lounge party série | e1 à e4 | | Lounge party saison 1 | e1, e2 | | Bouton « Lounge party de cette saison » sur l'onglet Livre II | crée « Kaamelott - Livre II », type Saison, 2 éléments | 🤖 Generated with [Claude Code](https://claude.com/claude-code)
kyuno added 1 commit 2026-09-24 20:23:13 +02:00
Launch a whole series or a single season, as a watch or lounge party
All checks were successful
Publier l'image Docker / test (pull_request) Successful in 24s
Publier l'image Docker / publish (pull_request) Has been skipped
1a10e5bf57
- lounge parties can now be created from one season (source type
  "season", keeping seriesId/seasonNumber) as well as a whole series
- POST /api/parties accepts a Series id (every season from S1E1) and a
  Season id (that season only); series tiles get a launch button
- whole-series queues skip specials (season 0, sorted first by Emby) -
  pure seriesQueueFrom/seasonQueue in CatalogService, unit-tested, also
  used by the "from this episode" path
- series page: "Lancer toute la série" + "Créer une lounge party" in the
  header, "Lancer cette saison" + "Lounge party de cette saison" above
  the selected season's episodes

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kyuno merged commit 5ceaa2e050 into master 2026-09-24 23:00:51 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: kyuno/watchparty#30
No description provided.