Skip to content

fix(discover): corriger les emplacements vides et sécuriser les clés de pagination - #113

Merged
DZTic merged 1 commit into
mainfrom
fix/discover-grid-empty-slots-and-paging-crash
Aug 14, 2026
Merged

fix(discover): corriger les emplacements vides et sécuriser les clés de pagination#113
DZTic merged 1 commit into
mainfrom
fix/discover-grid-empty-slots-and-paging-crash

Conversation

@DZTic

@DZTic DZTic commented Aug 14, 2026

Copy link
Copy Markdown
Owner

🎯 Résumé des Changements

1. Suppression des emplacements vides dans la grille

  • Dans \DiscoverScreen, la condition \if (title.id !in watchedTitleIds)\ était exécutée à l'intérieur du bloc d'items de \LazyVerticalGrid, ce qui créait des cellules vides et des décalages dans la grille pour chaque titre déjà vu.
  • Affichage systématique de tous les films avec l'ajout du paramètre \isWatched\ et d'un badge visuel distinctif (coche verte) dans \TitleCard.

2. Élimination des crashs lors du défilement continu

  • Remplacement de \itemKey { it.id }\ par des clés composites uniques \_\ dans \DiscoverScreen\ et \SearchScreen. Cela élimine l'exception fatale Compose \IllegalArgumentException: Key was already used\ causée par d'éventuels doublons d'identifiants entre deux pages consécutives de l'API TMDB.
  • Ajout d'une borne maximale de pagination (\page <= 500) dans \SearchPagingSource\ et \DiscoverPagingSource\ pour prévenir l'erreur HTTP 422 de TMDB.

🧪 Tests & Validation

  • Tests unitaires JVM exécutés avec succès sans régression (./gradlew testDebugUnitTest).
  • Conflits vérifiés avec \origin/main\ via le script de diagnostic (0 conflit).

@DZTic
DZTic merged commit 316b2d9 into main Aug 14, 2026
3 checks passed
@DZTic
DZTic deleted the fix/discover-grid-empty-slots-and-paging-crash branch August 15, 2026 21:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant