mirror of
https://github.com/Psychotoxical/psysonic.git
synced 2026-07-21 14:55:43 +00:00
fix(build): static import ratings cache invalidate; raise chunk warning limit (#723)
Replace ineffective dynamic import of subsonicRatings from setRating (mix paths already statically load it). Set Vite chunkSizeWarningLimit to 1000 kB for desktop bundles.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { api, libraryFilterParams } from './subsonicClient';
|
||||
import { invalidateEntityUserRatingCaches } from './subsonicRatings';
|
||||
import type {
|
||||
EntityRatingSupportLevel,
|
||||
StarredResults,
|
||||
@@ -38,11 +39,12 @@ export async function unstar(id: string, type: 'song' | 'album' | 'artist' = 'al
|
||||
export async function setRating(id: string, rating: number): Promise<void> {
|
||||
await api('setRating.view', { id, rating });
|
||||
// Cached song lists keyed by rating (e.g. Tracks → Highly Rated rail) become
|
||||
// stale immediately. Lazy-import to keep the module dep direction
|
||||
// subsonic ← navidromeBrowse and avoid pulling Tauri internals into shared
|
||||
// type-only consumers.
|
||||
// stale immediately. `invalidateEntityUserRatingCaches` is static-imported:
|
||||
// mix paths already pull `subsonicRatings` (e.g. mixRatingFilter), so a
|
||||
// dynamic import would not split chunks and only triggered INEFFECTIVE_DYNAMIC_IMPORT.
|
||||
// Navidrome browse stays lazy to keep this module free of that dependency when unused.
|
||||
void import('./navidromeBrowse').then(m => m.ndInvalidateSongsCache()).catch(() => {});
|
||||
void import('./subsonicRatings').then(m => m.invalidateEntityUserRatingCaches(id)).catch(() => {});
|
||||
invalidateEntityUserRatingCaches(id);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -24,6 +24,8 @@ export default defineConfig({
|
||||
},
|
||||
envPrefix: ["VITE_", "TAURI_ENV_*"],
|
||||
build: {
|
||||
// Default 500 kB warns on every build; desktop bundles are often larger without being a problem.
|
||||
chunkSizeWarningLimit: 1000,
|
||||
target: process.env.TAURI_ENV_PLATFORM === "windows" ? "chrome109" : "safari16",
|
||||
minify: !process.env.TAURI_ENV_DEBUG ? "esbuild" : false,
|
||||
sourcemap: !!process.env.TAURI_ENV_DEBUG,
|
||||
|
||||
Reference in New Issue
Block a user