feat(search): suggestions sans doublons + suggestions locales a la frappe

This commit is contained in:
2026-09-26 13:09:37 -04:00
parent 55c02ac52f
commit 4578f5b887
7 changed files with 206 additions and 25 deletions
+3 -1
View File
@@ -16,6 +16,7 @@ import * as cheerio from 'cheerio';
import axios from 'axios';
import rumbleRouter from './rumble.mjs';
import { providerRegistry, validateProviders } from './providers/registry.mjs';
import { dedupeSuggestGroups } from './suggest.mjs';
import { pickTrack, parseTrackText, parseVtt, dedupeTranscriptLines, orderedTracks, translatedFallbacks, firstPerLanguage, normalizeTranscriptProvider, transcriptTrackExt, looksLikeHtmlError } from './transcript.mjs';
import {
getUserByUsername,
@@ -2614,7 +2615,8 @@ app.get('/api/search/suggest', suggestLimiter, async (req, res) => {
groups[providerId] = [];
}
});
const data = { q, groups };
// La même occurrence n'est renvoyée qu'une fois (premier provider gagne).
const data = { q, groups: dedupeSuggestGroups(groups, validProviders) };
suggestCacheSet(cacheKey, data);
return res.json(data);
} catch (e) {