diff --git a/src/components/shorts/watch-short.component.html b/src/components/shorts/watch-short.component.html index 2c6bc5a..a32443e 100644 --- a/src/components/shorts/watch-short.component.html +++ b/src/components/shorts/watch-short.component.html @@ -54,7 +54,6 @@ } - @if (current(); as v) {
Fournisseur
@@ -146,6 +145,7 @@ Passer (vidéo illisible)
+ @if (current(); as v) { diff --git a/src/components/shorts/watch-short.component.ts b/src/components/shorts/watch-short.component.ts index a885d1d..d350e4e 100644 --- a/src/components/shorts/watch-short.component.ts +++ b/src/components/shorts/watch-short.component.ts @@ -1492,6 +1492,16 @@ export class WatchShortComponent implements OnDestroy { return; } const provider = this.provider(); + // Rumble : on va droit au chemin historique (flux natif rumble.com/shorts + // + remplissage recherche). Le catalogue `type=shorts` ne rend que des + // vidéos <=75 s HORizontales (Rumble n'expose aucune dimension : ni largeur + // ni hauteur dans les pages, vignettes en crop fixe 16:9 — vérifié 9/9), + // ce qui donnait un feed de « briques » 16:9 au lieu des shorts officiels. + if (provider === 'rumble') { + this.catalogActive = false; + this.loadLegacyFeed(); + return; + } // Shorts via le CATALOGUE d'abord (`/api/search?type=shorts` : cache, // provenance, feature-flags). Twitch garde son flux de clips historique // (pas d'équivalent catalogue : la recherche serveur renvoie des VOD). @@ -1646,8 +1656,12 @@ export class WatchShortComponent implements OnDestroy { const raw = (res.items || []).filter(v => !!v.videoId); this.nextCursor.set(res.nextCursor || null); if (!res.nextCursor) this.exhaustedQueries.add(this.currentQuery()); + // NOTE : `list` est DÉJÀ dédupliqué par chaque appelant (ligne 1671 / + // branche YouTube). Un second passage ici marquait tout comme « déjà vu » + // et posait une liste VIDE en silence — écran « Aucun short » sans erreur + // ni requête suivante (bug reproduit au navigateur, fix racine). const show = (list: Video[]) => { - const deduped = this.dedup(list); + const deduped = list; this.items.set(deduped); this.index.set(0); this.error.set(null);