Compare commits

...

5 Commits

Author SHA1 Message Date
Kendall Garner 49c0ab45f6 restore lint ignore 2026-06-09 21:02:14 -07:00
Kendall Garner 8b913595da revert that comment change that I somehow made 2026-06-09 20:56:30 -07:00
Kendall Garner 4e5867e8af bump appimage version 2026-06-07 21:32:12 -07:00
Kendall Garner 7dd6d32710 downgrade tanstack, fix msot types and exclude recursive 2026-06-07 06:48:56 -07:00
Kendall Garner ac7dc37fd0 upgrade depdencencies 2026-06-07 06:15:17 -07:00
9 changed files with 2259 additions and 2188 deletions
+1 -1
View File
@@ -63,7 +63,7 @@ linux:
artifactName: ${productName}-${os}-${arch}.${ext} artifactName: ${productName}-${os}-${arch}.${ext}
toolsets: toolsets:
appimage: '1.0.2' appimage: '1.0.3'
npmRebuild: false npmRebuild: false
+1 -1
View File
@@ -63,7 +63,7 @@ linux:
artifactName: ${productName}-${os}-${arch}.${ext} artifactName: ${productName}-${os}-${arch}.${ext}
toolsets: toolsets:
appimage: '1.0.2' appimage: '1.0.3'
npmRebuild: false npmRebuild: false
publish: publish:
+1 -1
View File
@@ -63,7 +63,7 @@ linux:
artifactName: ${productName}-${os}-${arch}.${ext} artifactName: ${productName}-${os}-${arch}.${ext}
toolsets: toolsets:
appimage: '1.0.2' appimage: '1.0.3'
npmRebuild: false npmRebuild: false
afterAllArtifactBuild: scripts/after-all-artifact-build.mjs afterAllArtifactBuild: scripts/after-all-artifact-build.mjs
+41 -42
View File
@@ -69,79 +69,78 @@
"postversion": "node ./scripts/update-app-stream.mjs" "postversion": "node ./scripts/update-app-stream.mjs"
}, },
"resolutions": { "resolutions": {
"react-router": "7.14.0",
"xml2js": "0.5.0" "xml2js": "0.5.0"
}, },
"dependencies": { "dependencies": {
"@atlaskit/pragmatic-drag-and-drop": "1.7.7", "@atlaskit/pragmatic-drag-and-drop": "1.7.7",
"@atlaskit/pragmatic-drag-and-drop-auto-scroll": "^2.1.5", "@atlaskit/pragmatic-drag-and-drop-auto-scroll": "^2.1.5",
"@atlaskit/pragmatic-drag-and-drop-hitbox": "^1.1.0", "@atlaskit/pragmatic-drag-and-drop-hitbox": "^1.2.0",
"@electron-toolkit/preload": "^3.0.2", "@electron-toolkit/preload": "^3.0.2",
"@electron-toolkit/utils": "^4.0.0", "@electron-toolkit/utils": "^4.0.0",
"@mantine/colors-generator": "^9.1.1", "@mantine/colors-generator": "^9.3.0",
"@mantine/core": "^9.1.1", "@mantine/core": "^9.3.0",
"@mantine/dates": "^9.1.1", "@mantine/dates": "^9.3.0",
"@mantine/form": "^9.1.1", "@mantine/form": "^9.3.0",
"@mantine/hooks": "^9.1.1", "@mantine/hooks": "^9.3.0",
"@mantine/modals": "^9.1.1", "@mantine/modals": "^9.3.0",
"@mantine/notifications": "^9.1.1", "@mantine/notifications": "^9.3.0",
"@radix-ui/react-context-menu": "^2.2.16", "@radix-ui/react-context-menu": "^2.3.0",
"@tanstack/react-query": "^5.96.2", "@tanstack/react-query": "5.96.2",
"@tanstack/react-query-devtools": "^5.96.2", "@tanstack/react-query-devtools": "5.96.2",
"@tanstack/react-query-persist-client": "^5.96.2", "@tanstack/react-query-persist-client": "5.96.2",
"@ts-rest/core": "^3.52.1", "@ts-rest/core": "^3.52.1",
"@wavesurfer/react": "^1.0.12", "@wavesurfer/react": "^1.0.12",
"@xhayper/discord-rpc": "^1.3.3", "@xhayper/discord-rpc": "^1.3.4",
"audiomotion-analyzer": "^4.5.4", "audiomotion-analyzer": "^4.5.4",
"axios": "^1.14.0", "axios": "^1.17.0",
"butterchurn": "3.0.0-beta.5", "butterchurn": "3.0.0-beta.5",
"butterchurn-presets": "3.0.0-beta.4", "butterchurn-presets": "3.0.0-beta.4",
"cheerio": "^1.2.0", "cheerio": "^1.2.0",
"clsx": "^2.1.1", "clsx": "^2.1.1",
"cmdk": "^1.1.1", "cmdk": "^1.1.1",
"dayjs": "^1.11.20", "dayjs": "^1.11.21",
"dompurify": "^3.3.3", "dompurify": "^3.4.8",
"electron-debug": "^3.2.0", "electron-debug": "^3.2.0",
"electron-localshortcut": "^3.2.1", "electron-localshortcut": "^3.2.1",
"electron-log": "^5.4.3", "electron-log": "^5.4.4",
"electron-store": "^8.2.0", "electron-store": "^8.2.0",
"electron-updater": "^6.8.3", "electron-updater": "^6.8.9",
"fast-average-color": "9.5.0", "fast-average-color": "9.5.0",
"fast-xml-parser": "^5.5.10", "fast-xml-parser": "^5.8.0",
"format-duration": "^3.0.2", "format-duration": "^3.0.2",
"fuse.js": "^7.2.0", "fuse.js": "^7.4.2",
"i18next": "^25.10.10", "i18next": "^25.10.10",
"icecast-metadata-stats": "^0.1.12", "icecast-metadata-stats": "^0.1.12",
"idb-keyval": "^6.2.2", "idb-keyval": "^6.2.5",
"immer": "^10.2.0", "immer": "^10.2.0",
"is-electron": "^2.2.2", "is-electron": "^2.2.2",
"lodash": "^4.18.1", "lodash": "^4.18.1",
"md5": "^2.3.0", "md5": "^2.3.0",
"motion": "^12.38.0", "motion": "^12.40.0",
"mpris-service": "^2.1.2", "mpris-service": "^2.1.2",
"nanoid": "^3.3.11", "nanoid": "^3.3.12",
"node-mpv": "github:jeffvli/Node-MPV#32b4d64395289ad710c41d481d2707a7acfc228f", "node-mpv": "github:jeffvli/Node-MPV#32b4d64395289ad710c41d481d2707a7acfc228f",
"overlayscrollbars": "^2.14.0", "overlayscrollbars": "^2.16.0",
"overlayscrollbars-react": "^0.5.6", "overlayscrollbars-react": "^0.5.6",
"qs": "^6.15.0", "qs": "^6.15.2",
"react": "^19.2.4", "react": "^19.2.7",
"react-call": "^1.8.2", "react-call": "^1.8.2",
"react-dom": "^19.2.4", "react-dom": "^19.2.7",
"react-error-boundary": "^5.0.0", "react-error-boundary": "^5.0.0",
"react-i18next": "^16.6.6", "react-i18next": "^16.6.6",
"react-icons": "^5.6.0", "react-icons": "^5.6.0",
"react-player": "^2.16.1", "react-player": "^2.16.1",
"react-router": "^7.14.0", "react-router": "^7.17.0",
"react-split-pane": "^3.2.0", "react-split-pane": "^3.2.0",
"react-virtualized-auto-sizer": "^1.0.26", "react-virtualized-auto-sizer": "^1.0.26",
"react-window": "1.8.11", "react-window": "1.8.11",
"react-window-v2": "npm:react-window@^2.2.7", "react-window-v2": "npm:react-window@^2.2.7",
"semver": "^7.7.4", "semver": "^7.8.2",
"string-to-color": "^2.2.2", "string-to-color": "^2.2.2",
"wavesurfer.js": "^7.12.5", "wavesurfer.js": "^7.12.7",
"ws": "^8.20.0", "ws": "^8.21.0",
"zod": "^3.25.76", "zod": "^3.25.76",
"zustand": "^5.0.12" "zustand": "^5.0.14"
}, },
"devDependencies": { "devDependencies": {
"@electron-toolkit/eslint-config-prettier": "^3.0.0", "@electron-toolkit/eslint-config-prettier": "^3.0.0",
@@ -150,8 +149,8 @@
"@types/electron-localshortcut": "^3.1.3", "@types/electron-localshortcut": "^3.1.3",
"@types/lodash": "^4.17.24", "@types/lodash": "^4.17.24",
"@types/md5": "^2.3.6", "@types/md5": "^2.3.6",
"@types/node": "^24.12.2", "@types/node": "^24.13.1",
"@types/react": "^19.2.14", "@types/react": "^19.2.17",
"@types/react-dom": "^19.2.3", "@types/react-dom": "^19.2.3",
"@types/react-window": "^1.8.8", "@types/react-window": "^1.8.8",
"@types/source-map-support": "^0.5.10", "@types/source-map-support": "^0.5.10",
@@ -160,31 +159,31 @@
"babel-plugin-react-compiler": "^1.0.0", "babel-plugin-react-compiler": "^1.0.0",
"concurrently": "^9.2.1", "concurrently": "^9.2.1",
"cross-env": "^10.1.0", "cross-env": "^10.1.0",
"electron": "^41.7.0", "electron": "^41.7.1",
"electron-builder": "^26.8.2", "electron-builder": "^26.15.0",
"electron-devtools-installer": "^4.0.0", "electron-devtools-installer": "^4.0.0",
"electron-vite": "^4.0.1", "electron-vite": "^4.0.1",
"eslint": "^9.39.4", "eslint": "^9.39.4",
"eslint-plugin-perfectionist": "^4.15.1", "eslint-plugin-perfectionist": "^4.15.1",
"eslint-plugin-prettier": "^5.5.5", "eslint-plugin-prettier": "^5.5.6",
"eslint-plugin-react": "^7.37.5", "eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^7.0.1", "eslint-plugin-react-hooks": "^7.1.1",
"eslint-plugin-react-refresh": "^0.4.26", "eslint-plugin-react-refresh": "^0.4.26",
"i18next-parser": "^9.4.0", "i18next-parser": "^9.4.0",
"postcss-preset-mantine": "^1.18.0", "postcss-preset-mantine": "^1.18.0",
"postcss-simple-vars": "^7.0.1", "postcss-simple-vars": "^7.0.1",
"prettier": "^3.8.1", "prettier": "^3.8.3",
"prettier-plugin-packagejson": "^2.5.22", "prettier-plugin-packagejson": "^2.5.22",
"stylelint": "^16.26.1", "stylelint": "^16.26.1",
"stylelint-config-css-modules": "^4.6.0", "stylelint-config-css-modules": "^4.6.0",
"stylelint-config-recess-order": "^7.7.0", "stylelint-config-recess-order": "^7.7.0",
"stylelint-config-standard": "^39.0.1", "stylelint-config-standard": "^39.0.1",
"typescript": "^5.9.3", "typescript": "^5.9.3",
"vite": "^7.3.1", "vite": "^7.3.5",
"vite-plugin-conditional-import": "^0.1.7", "vite-plugin-conditional-import": "^0.1.7",
"vite-plugin-dynamic-import": "^1.6.0", "vite-plugin-dynamic-import": "^1.6.0",
"vite-plugin-ejs": "^1.7.0", "vite-plugin-ejs": "^1.7.0",
"vite-plugin-pwa": "^1.2.0" "vite-plugin-pwa": "^1.3.0"
}, },
"pnpm": { "pnpm": {
"onlyBuiltDependencies": [ "onlyBuiltDependencies": [
+2199 -2129
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -72,7 +72,7 @@ export const orderSearchResults = (args: {
searchResults = Array.from(combinedResults.values()); searchResults = Array.from(combinedResults.values());
} else { } else {
searchResults = fuse.search<InternetProviderLyricSearchResponse>({ searchResults = fuse.search({
...(params.artist && { artist: params.artist }), ...(params.artist && { artist: params.artist }),
...(params.name && { name: params.name }), ...(params.name && { name: params.name }),
}); });
@@ -224,25 +224,26 @@ export const PlaylistQueryEditor = ({
return detailQuery?.data?.rules?.order || 'asc'; return detailQuery?.data?.rules?.order || 'asc';
}, [detailQuery?.data?.rules?.order, detailQuery?.data?.rules?.sort]); }, [detailQuery?.data?.rules?.order, detailQuery?.data?.rules?.sort]);
const appliedQuery = appliedJsonState?.query;
const detailQueryRules = detailQuery?.data?.rules;
const effectiveQuery = useMemo( const effectiveQuery = useMemo(
() => () =>
appliedJsonState?.query ?? appliedQuery ??
(detailQuery?.data?.rules?.all (detailQueryRules?.all
? { all: detailQuery.data.rules.all } ? { all: detailQueryRules.all }
: detailQuery?.data?.rules?.any : detailQueryRules?.any
? { any: detailQuery.data.rules.any } ? { any: detailQueryRules.any }
: detailQuery?.data?.rules), : detailQueryRules),
[appliedJsonState?.query, detailQuery?.data?.rules], [appliedQuery, detailQueryRules],
); );
const effectiveLimit = appliedJsonState?.limit ?? detailQuery?.data?.rules?.limit; const effectiveLimit = appliedJsonState?.limit ?? detailQuery?.data?.rules?.limit;
const effectiveLimitPercent = const effectiveLimitPercent =
appliedJsonState?.limitPercent ?? detailQuery?.data?.rules?.limitPercent; appliedJsonState?.limitPercent ?? detailQuery?.data?.rules?.limitPercent;
const appliedSort = appliedJsonState?.sort;
const effectiveSortBy = useMemo( const effectiveSortBy = useMemo(
() => () => (appliedSort ? [appliedSort] : parseSortBy()) as SongListSort | SongListSort[],
(appliedJsonState?.sort ? [appliedJsonState.sort] : parseSortBy()) as [appliedSort, parseSortBy],
| SongListSort
| SongListSort[],
[appliedJsonState?.sort, parseSortBy],
); );
const effectiveSortOrder = appliedJsonState?.sort const effectiveSortOrder = appliedJsonState?.sort
? appliedJsonState.sort.startsWith('-') ? appliedJsonState.sort.startsWith('-')
@@ -298,6 +298,7 @@ export const useServerAuthenticated = () => {
await new Promise((resolve) => setTimeout(resolve, NETWORK_RETRY_DELAY_MS)); await new Promise((resolve) => setTimeout(resolve, NETWORK_RETRY_DELAY_MS));
// Retry authentication // Retry authentication
// eslint-disable-next-line react-hooks/immutability
return authenticateServer(serverWithAuth, nextRetry); return authenticateServer(serverWithAuth, nextRetry);
} }
+1 -1
View File
@@ -189,7 +189,7 @@ const appRouterModals = {
export const AppRouter = () => { export const AppRouter = () => {
const router = ( const router = (
<HashRouter unstable_useTransitions={false}> <HashRouter>
<ModalsProvider modals={appRouterModals}> <ModalsProvider modals={appRouterModals}>
<RouterErrorBoundary> <RouterErrorBoundary>
<Routes> <Routes>