fix(stats): preserve provider identities and artwork during linking

This commit is contained in:
2026-09-19 00:03:06 -07:00
parent 2b33d32879
commit c6059e340b
25 changed files with 926 additions and 267 deletions
+5 -3
View File
@@ -5,7 +5,7 @@ import {
syncYomitanDefaultAnkiServer as syncYomitanDefaultAnkiServerCore,
} from '../../core/services';
import { startStatsServer } from '../../core/services/stats-server';
import { createTmdbClient, resolveTmdbApiKey } from '../../core/services/tmdb/tmdb-client';
import { createTmdbClient, createTmdbApiKeyResolver } from '../../core/services/tmdb/tmdb-client';
import { createLogger } from '../../logger';
import type { ResolvedConfig } from '../../types/config';
import type { AppState } from '../state';
@@ -169,8 +169,10 @@ export function createStatsServerRuntime(deps: StatsServerRuntimeDeps): {
getStatsMiningAlassPath: () => deps.getResolvedConfig().subsync.alass_path,
anilistRateLimiter: deps.getAnilistRateLimiter(),
tmdbClient: createTmdbClient({
resolveApiKey: () =>
resolveTmdbApiKey(deps.getResolvedConfig().tmdb, deps.getBundledTmdbApiKey?.() ?? null),
resolveApiKey: createTmdbApiKeyResolver(
() => deps.getResolvedConfig().tmdb,
() => deps.getBundledTmdbApiKey?.() ?? null,
),
}),
resolveAnkiNoteId: (noteId: number) => deps.resolveAnkiNoteId(noteId),
resolveSentenceSearchHeadwords: (term: string) => deps.resolveSentenceSearchHeadwords(term),