A music player that connects to your cloud/distributed storage.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore: replace uri-js with fast-uri

+13 -14
-1
deno.jsonc
··· 40 40 "query-string": "npm:query-string@^9.3.1", 41 41 "subsonic-api": "npm:subsonic-api@^3.2.0", 42 42 "throttle-debounce": "npm:throttle-debounce@^5.0.2", 43 - "uri-js": "npm:uri-js@^4.4.1", 44 43 "xxh32": "npm:xxh32@^2.0.5", 45 44 46 45 // music-metadata
+1 -1
src/components/configurator/input/worker.js
··· 1 - import * as URI from "uri-js"; 1 + import * as URI from "fast-uri"; 2 2 3 3 import { groupTracksPerScheme, groupUrisPerScheme } from "@common/utils.js"; 4 4 import { ostiary, rpc, workerProxy } from "@common/worker.js";
+7 -7
src/components/input/opensubsonic/common.js
··· 1 - import * as URI from "uri-js"; 1 + import * as URI from "fast-uri"; 2 2 import QS from "query-string"; 3 3 4 4 import { SCHEME } from "./constants.js"; ··· 39 39 return URI.serialize({ 40 40 scheme: SCHEME, 41 41 userinfo: server.apiKey 42 - ? URI.escapeComponent(server.apiKey) 43 - : `${URI.escapeComponent(server.username || "")}:${ 44 - URI.escapeComponent(server.password || "") 42 + ? encodeURIComponent(server.apiKey) 43 + : `${encodeURIComponent(server.username || "")}:${ 44 + encodeURIComponent(server.password || "") 45 45 }`, 46 46 host: server.host.replace(/^https?:\/\//, ""), 47 47 path: args?.path, ··· 69 69 export function createClient(server) { 70 70 return new SubsonicAPIWithoutFetch({ 71 71 url: `http${server.tls ? "s" : ""}://${server.host}`, 72 - auth: server.apiKey ? { apiKey: URI.unescapeComponent(server.apiKey) } : { 73 - username: URI.unescapeComponent(server.username || ""), 74 - password: URI.unescapeComponent(server.password || ""), 72 + auth: server.apiKey ? { apiKey: decodeURIComponent(server.apiKey) } : { 73 + username: decodeURIComponent(server.username || ""), 74 + password: decodeURIComponent(server.password || ""), 75 75 }, 76 76 }); 77 77 }
+2 -2
src/components/input/opensubsonic/worker.js
··· 1 - import * as URI from "uri-js"; 1 + import * as URI from "fast-uri"; 2 2 import { ostiary, rpc } from "@common/worker.js"; 3 3 4 4 import { SCHEME } from "./constants.js"; ··· 110 110 servers[sid] = parsed.server; 111 111 112 112 cache[sid] ??= {}; 113 - cache[sid][URI.unescapeComponent(parsed.path)] = t; 113 + cache[sid][decodeURIComponent(parsed.path)] = t; 114 114 }); 115 115 116 116 /**
+2 -2
src/components/input/s3/common.js
··· 1 1 import { S3Client } from "@bradenmacdonald/s3-lite-client"; 2 2 import * as IDB from "idb-keyval"; 3 - import * as URI from "uri-js"; 3 + import * as URI from "fast-uri"; 4 4 import QS from "query-string"; 5 5 6 6 import { cachedConsult } from "@components/input/common.js"; ··· 174 174 }; 175 175 176 176 const path = 177 - (bucket.path.replace(/\/$/, "") + URI.unescapeComponent(uri.path || "")) 177 + (bucket.path.replace(/\/$/, "") + decodeURIComponent(uri.path || "")) 178 178 .replace( 179 179 /^\//, 180 180 "",
+1 -1
src/components/processor/metadata/common.js
··· 1 1 import { parseBlob, parseFromTokenizer, parseWebStream } from "music-metadata"; 2 - import * as URI from "uri-js"; 2 + import * as URI from "fast-uri"; 3 3 import { HttpClient } from "@tokenizer/http"; 4 4 import { tokenizer as rangeTokenizer } from "@tokenizer/range"; 5 5