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 { api, libraryFilterParams } from './subsonicClient';
|
||||||
|
import { invalidateEntityUserRatingCaches } from './subsonicRatings';
|
||||||
import type {
|
import type {
|
||||||
EntityRatingSupportLevel,
|
EntityRatingSupportLevel,
|
||||||
StarredResults,
|
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> {
|
export async function setRating(id: string, rating: number): Promise<void> {
|
||||||
await api('setRating.view', { id, rating });
|
await api('setRating.view', { id, rating });
|
||||||
// Cached song lists keyed by rating (e.g. Tracks → Highly Rated rail) become
|
// Cached song lists keyed by rating (e.g. Tracks → Highly Rated rail) become
|
||||||
// stale immediately. Lazy-import to keep the module dep direction
|
// stale immediately. `invalidateEntityUserRatingCaches` is static-imported:
|
||||||
// subsonic ← navidromeBrowse and avoid pulling Tauri internals into shared
|
// mix paths already pull `subsonicRatings` (e.g. mixRatingFilter), so a
|
||||||
// type-only consumers.
|
// 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('./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_*"],
|
envPrefix: ["VITE_", "TAURI_ENV_*"],
|
||||||
build: {
|
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",
|
target: process.env.TAURI_ENV_PLATFORM === "windows" ? "chrome109" : "safari16",
|
||||||
minify: !process.env.TAURI_ENV_DEBUG ? "esbuild" : false,
|
minify: !process.env.TAURI_ENV_DEBUG ? "esbuild" : false,
|
||||||
sourcemap: !!process.env.TAURI_ENV_DEBUG,
|
sourcemap: !!process.env.TAURI_ENV_DEBUG,
|
||||||
|
|||||||
Reference in New Issue
Block a user