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: disable automatic track processing in dev

+24 -12
+1
.env
··· 1 + DISABLE_AUTOMATIC_TRACKS_PROCESSING=t
+7 -1
_config.ts
··· 1 + import { dotenvRun } from "@dotenv-run/esbuild"; 1 2 import { builtinModules } from "node:module"; 2 3 import lume from "lume/mod.ts"; 3 4 ··· 29 30 bundle: true, 30 31 minify: false, 31 32 // outExtension: { ".js": ".min.js" }, 32 - plugins: [nodeModulesPolyfillPlugin()], 33 + plugins: [ 34 + nodeModulesPolyfillPlugin(), 35 + dotenvRun({ 36 + files: [".env"], 37 + }), 38 + ], 33 39 splitting: true, 34 40 }, 35 41 }));
+5 -4
deno.jsonc
··· 4 4 "vendor": true, 5 5 "imports": { 6 6 "98.css": "npm:98.css@^0.1.21", 7 - "@atcute/lex-cli": "npm:@atcute/lex-cli@^2.3.1", 8 7 "@atcute/lexicons": "npm:@atcute/lexicons@^1.2.2", 9 8 "@bradenmacdonald/s3-lite-client": "jsr:@bradenmacdonald/s3-lite-client@^0.9.4", 10 9 "@fry69/deep-diff": "jsr:@fry69/deep-diff@^0.1.10", ··· 16 15 "@phosphor-icons/web": "npm:@phosphor-icons/web@^2.1.2", 17 16 "@vicary/debounce-microtask": "jsr:@vicary/debounce-microtask@^0.1.8", 18 17 "alien-signals": "npm:alien-signals@^3.0.0", 19 - "esbuild-plugins-node-modules-polyfill": "npm:esbuild-plugins-node-modules-polyfill@^1.7.1", 20 18 "fast-average-color": "npm:fast-average-color@^9.5.0", 21 19 "idb-keyval": "npm:idb-keyval@^6.2.2", 22 20 "iso-base": "npm:iso-base@^4.3.0", ··· 40 38 "@common/": "./src/common/", 41 39 "@components/": "./src/components/", 42 40 "@definitions/": "./src/definitions/", 41 + "@dotenv-run/esbuild": "npm:@dotenv-run/esbuild@^1.5.1", 43 42 "@styles/": "./src/styles/", 43 + "esbuild-plugins-node-modules-polyfill": "npm:esbuild-plugins-node-modules-polyfill@^1.7.1", 44 44 45 45 // Build 46 + "@atcute/lex-cli": "npm:@atcute/lex-cli@^2.3.1", 46 47 "@std/fs": "jsr:@std/fs@^1.0.19", 47 48 "@std/path": "jsr:@std/path@^1.1.2", 48 - "lume/": "https://cdn.jsdelivr.net/gh/lumeland/lume@3.1.2/", 49 + "lume/": "https://cdn.jsdelivr.net/gh/lumeland/lume@3.1.4/", 49 50 "lume/jsx-runtime": "https://cdn.jsdelivr.net/gh/oscarotero/ssx@0.1.14/jsx-runtime.ts", 50 51 }, 51 52 "exports": {}, ··· 76 77 }, 77 78 "unstable": ["temporal", "fmt-component"], 78 79 "lint": { 79 - "plugins": ["https://cdn.jsdelivr.net/gh/lumeland/lume@3.1.2/lint.ts"], 80 + "plugins": ["https://cdn.jsdelivr.net/gh/lumeland/lume@3.1.4/lint.ts"], 80 81 "rules": { 81 82 "exclude": ["no-import-prefix"], 82 83 },
+5
src/components/orchestrator/process-tracks/element.js
··· 77 77 // Process whenever tracks are initially loaded 78 78 if (this.hasAttribute("process-when-ready")) { 79 79 this.effect(() => { 80 + const skip = 81 + /** @type {any} */ (import.meta).env 82 + ?.DISABLE_AUTOMATIC_TRACKS_PROCESSING ?? false; 83 + if (skip) return; 84 + 80 85 const state = output.tracks.state(); 81 86 if (state !== "loaded") return; 82 87
+6 -7
src/themes/blur/artwork-controller/element.js
··· 207 207 208 208 if (cacheId === currCacheId) { 209 209 const art = allArt[0]; 210 - const blob = new Blob( 211 - [/** @type {ArrayBuffer} */ (art.bytes.buffer)], 212 - { type: art.mime }, 213 - ); 214 - 215 - const url = URL.createObjectURL(blob); 216 210 217 211 this.#artwork.set({ 218 212 previous: currArtwork.current ··· 224 218 hash: xxh32r(art.bytes).toString(), 225 219 index: (currArtwork.current?.index ?? 0) + 1, 226 220 loaded: false, 227 - url, 221 + url: URL.createObjectURL( 222 + new Blob( 223 + [/** @type {ArrayBuffer} */ (art.bytes.buffer)], 224 + { type: art.mime }, 225 + ), 226 + ), 228 227 } 229 228 : null, 230 229 });