fix(live): prevent analysis crash on large catalogs (#26)

Bound synchronous live channel enrichment and tolerate minimal projection payloads so analysis and listings do not blank the UI.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
blomios
2026-10-06 15:13:48 +02:00
parent de1d3d9a6e
commit 63a5946e75
6 changed files with 146 additions and 15 deletions

View File

@ -21,7 +21,8 @@ test('maps projected logical channels to the frontend variant format', () => {
isFavorite: true, isHidden: true, logicalId: 'logical:one',
logicalFingerprint: 'news', logicalDisplayName: 'News',
streamId: '42', tvgLogo: 'logo.png',
url: 'https://stream.test/live', groupTitle: 'News', sourceType: 'm3u', sourceName: 'Local'
url: 'https://stream.test/live', groupTitle: 'News', sourceType: 'm3u', sourceName: 'Local',
language: { code: 'und', short: 'UND', label: 'Unknown', confidence: 0 }
});
assert.equal(mapped.favorites.has('7:42'), true);
assert.equal(mapped.hiddenItems.has('channel:7:42'), true);