a simple web player for subsonic tinysub.devins.page
subsonic navidrome javascript
11
fork

Configure Feed

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

fix (tauri): links not opening in browser

+243 -5
+1 -1
flake.nix
··· 28 28 29 29 pnpmDeps = pkgs.fetchPnpmDeps { 30 30 inherit (finalAttrs) pname version src; 31 - hash = "sha256-FgtJh/GFBbIUHAJ1zSEHwCsO43IWBDbee1xkCWkFAsM="; 31 + hash = "sha256-+80CrPjQw7i+E+KBrfsMukw3SY7TO4q+Vj6FWCRZtNc="; 32 32 fetcherVersion = 3; 33 33 }; 34 34
+1
package.json
··· 13 13 "@sveltejs/vite-plugin-svelte": "^7.1.2", 14 14 "@tauri-apps/api": "^2.11.0", 15 15 "@tauri-apps/cli": "^2.11.1", 16 + "@tauri-apps/plugin-shell": "~2.3.5", 16 17 "@tsconfig/svelte": "^5.0.8", 17 18 "@types/colorthief": "^2.6.1", 18 19 "@types/node": "^25.6.2",
+10
pnpm-lock.yaml
··· 17 17 '@tauri-apps/cli': 18 18 specifier: ^2.11.1 19 19 version: 2.11.1 20 + '@tauri-apps/plugin-shell': 21 + specifier: ~2.3.5 22 + version: 2.3.5 20 23 '@tsconfig/svelte': 21 24 specifier: ^5.0.8 22 25 version: 5.0.8 ··· 281 284 resolution: {integrity: sha512-rpEbaJ/HzNb6fwsquwoAbq29/Vt4gADhS423A8fdkwL4edJ0wZmoB8ar7O6JPDL834MUKOCm/rrJ7c9oAaEaYQ==} 282 285 engines: {node: '>= 10'} 283 286 hasBin: true 287 + 288 + '@tauri-apps/plugin-shell@2.3.5': 289 + resolution: {integrity: sha512-jewtULhiQ7lI7+owCKAjc8tYLJr92U16bPOeAa472LHJdgaibLP83NcfAF2e+wkEcA53FxKQAZ7byDzs2eeizg==} 284 290 285 291 '@tsconfig/svelte@5.0.8': 286 292 resolution: {integrity: sha512-UkNnw1/oFEfecR8ypyHIQuWYdkPvHiwcQ78sh+ymIiYoF+uc5H1UBetbjyqT+vgGJ3qQN6nhucJviX6HesWtKQ==} ··· 777 783 '@tauri-apps/cli-win32-arm64-msvc': 2.11.1 778 784 '@tauri-apps/cli-win32-ia32-msvc': 2.11.1 779 785 '@tauri-apps/cli-win32-x64-msvc': 2.11.1 786 + 787 + '@tauri-apps/plugin-shell@2.3.5': 788 + dependencies: 789 + '@tauri-apps/api': 2.11.0 780 790 781 791 '@tsconfig/svelte@5.0.8': {} 782 792
+221 -1
src-tauri/Cargo.lock
··· 712 712 checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" 713 713 714 714 [[package]] 715 + name = "encoding_rs" 716 + version = "0.8.35" 717 + source = "registry+https://github.com/rust-lang/crates.io-index" 718 + checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" 719 + dependencies = [ 720 + "cfg-if", 721 + ] 722 + 723 + [[package]] 715 724 name = "equivalent" 716 725 version = "1.0.2" 717 726 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 726 735 "serde", 727 736 "serde_core", 728 737 "typeid", 738 + ] 739 + 740 + [[package]] 741 + name = "errno" 742 + version = "0.3.14" 743 + source = "registry+https://github.com/rust-lang/crates.io-index" 744 + checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" 745 + dependencies = [ 746 + "libc", 747 + "windows-sys 0.61.2", 729 748 ] 730 749 731 750 [[package]] ··· 1525 1544 checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" 1526 1545 1527 1546 [[package]] 1547 + name = "is-docker" 1548 + version = "0.2.0" 1549 + source = "registry+https://github.com/rust-lang/crates.io-index" 1550 + checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3" 1551 + dependencies = [ 1552 + "once_cell", 1553 + ] 1554 + 1555 + [[package]] 1556 + name = "is-wsl" 1557 + version = "0.4.0" 1558 + source = "registry+https://github.com/rust-lang/crates.io-index" 1559 + checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5" 1560 + dependencies = [ 1561 + "is-docker", 1562 + "once_cell", 1563 + ] 1564 + 1565 + [[package]] 1528 1566 name = "itoa" 1529 1567 version = "1.0.18" 1530 1568 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 2080 2118 checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" 2081 2119 2082 2120 [[package]] 2121 + name = "open" 2122 + version = "5.3.4" 2123 + source = "registry+https://github.com/rust-lang/crates.io-index" 2124 + checksum = "9f3bab717c29a857abf75fcef718d441ec7cb2725f937343c734740a985d37fd" 2125 + dependencies = [ 2126 + "dunce", 2127 + "is-wsl", 2128 + "libc", 2129 + "pathdiff", 2130 + ] 2131 + 2132 + [[package]] 2083 2133 name = "option-ext" 2084 2134 version = "0.2.0" 2085 2135 source = "registry+https://github.com/rust-lang/crates.io-index" 2086 2136 checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" 2087 2137 2088 2138 [[package]] 2139 + name = "os_pipe" 2140 + version = "1.2.3" 2141 + source = "registry+https://github.com/rust-lang/crates.io-index" 2142 + checksum = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967" 2143 + dependencies = [ 2144 + "libc", 2145 + "windows-sys 0.61.2", 2146 + ] 2147 + 2148 + [[package]] 2089 2149 name = "pango" 2090 2150 version = "0.18.3" 2091 2151 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 2132 2192 "smallvec", 2133 2193 "windows-link 0.2.1", 2134 2194 ] 2195 + 2196 + [[package]] 2197 + name = "pathdiff" 2198 + version = "0.2.3" 2199 + source = "registry+https://github.com/rust-lang/crates.io-index" 2200 + checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" 2135 2201 2136 2202 [[package]] 2137 2203 name = "percent-encoding" ··· 2766 2832 ] 2767 2833 2768 2834 [[package]] 2835 + name = "shared_child" 2836 + version = "1.1.1" 2837 + source = "registry+https://github.com/rust-lang/crates.io-index" 2838 + checksum = "1e362d9935bc50f019969e2f9ecd66786612daae13e8f277be7bfb66e8bed3f7" 2839 + dependencies = [ 2840 + "libc", 2841 + "sigchld", 2842 + "windows-sys 0.60.2", 2843 + ] 2844 + 2845 + [[package]] 2769 2846 name = "shlex" 2770 2847 version = "1.3.0" 2771 2848 source = "registry+https://github.com/rust-lang/crates.io-index" 2772 2849 checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 2850 + 2851 + [[package]] 2852 + name = "sigchld" 2853 + version = "0.2.4" 2854 + source = "registry+https://github.com/rust-lang/crates.io-index" 2855 + checksum = "47106eded3c154e70176fc83df9737335c94ce22f821c32d17ed1db1f83badb1" 2856 + dependencies = [ 2857 + "libc", 2858 + "os_pipe", 2859 + "signal-hook", 2860 + ] 2861 + 2862 + [[package]] 2863 + name = "signal-hook" 2864 + version = "0.3.18" 2865 + source = "registry+https://github.com/rust-lang/crates.io-index" 2866 + checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" 2867 + dependencies = [ 2868 + "libc", 2869 + "signal-hook-registry", 2870 + ] 2871 + 2872 + [[package]] 2873 + name = "signal-hook-registry" 2874 + version = "1.4.8" 2875 + source = "registry+https://github.com/rust-lang/crates.io-index" 2876 + checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" 2877 + dependencies = [ 2878 + "errno", 2879 + "libc", 2880 + ] 2773 2881 2774 2882 [[package]] 2775 2883 name = "simd-adler32" ··· 3126 3234 ] 3127 3235 3128 3236 [[package]] 3237 + name = "tauri-plugin" 3238 + version = "2.6.1" 3239 + source = "registry+https://github.com/rust-lang/crates.io-index" 3240 + checksum = "eefb2c18e8a605c23edb48fc56bb77381199e1a1e7f6ff0c9b970afe7b3cb8ee" 3241 + dependencies = [ 3242 + "anyhow", 3243 + "glob", 3244 + "plist", 3245 + "schemars 0.8.22", 3246 + "serde", 3247 + "serde_json", 3248 + "tauri-utils", 3249 + "walkdir", 3250 + ] 3251 + 3252 + [[package]] 3129 3253 name = "tauri-plugin-localhost" 3130 3254 version = "2.3.2" 3131 3255 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 3138 3262 "tauri", 3139 3263 "thiserror 2.0.18", 3140 3264 "tiny_http", 3265 + ] 3266 + 3267 + [[package]] 3268 + name = "tauri-plugin-shell" 3269 + version = "2.3.5" 3270 + source = "registry+https://github.com/rust-lang/crates.io-index" 3271 + checksum = "8457dbf9e2bab1edd8df22bb2c20857a59a9868e79cb3eac5ed639eec4d0c73b" 3272 + dependencies = [ 3273 + "encoding_rs", 3274 + "log", 3275 + "open", 3276 + "os_pipe", 3277 + "regex", 3278 + "schemars 0.8.22", 3279 + "serde", 3280 + "serde_json", 3281 + "shared_child", 3282 + "tauri", 3283 + "tauri-plugin", 3284 + "thiserror 2.0.18", 3285 + "tokio", 3141 3286 ] 3142 3287 3143 3288 [[package]] ··· 3350 3495 "tauri", 3351 3496 "tauri-build", 3352 3497 "tauri-plugin-localhost", 3498 + "tauri-plugin-shell", 3353 3499 ] 3354 3500 3355 3501 [[package]] ··· 4195 4341 4196 4342 [[package]] 4197 4343 name = "windows-sys" 4344 + version = "0.60.2" 4345 + source = "registry+https://github.com/rust-lang/crates.io-index" 4346 + checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" 4347 + dependencies = [ 4348 + "windows-targets 0.53.5", 4349 + ] 4350 + 4351 + [[package]] 4352 + name = "windows-sys" 4198 4353 version = "0.61.2" 4199 4354 source = "registry+https://github.com/rust-lang/crates.io-index" 4200 4355 checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" ··· 4226 4381 "windows_aarch64_gnullvm 0.52.6", 4227 4382 "windows_aarch64_msvc 0.52.6", 4228 4383 "windows_i686_gnu 0.52.6", 4229 - "windows_i686_gnullvm", 4384 + "windows_i686_gnullvm 0.52.6", 4230 4385 "windows_i686_msvc 0.52.6", 4231 4386 "windows_x86_64_gnu 0.52.6", 4232 4387 "windows_x86_64_gnullvm 0.52.6", ··· 4234 4389 ] 4235 4390 4236 4391 [[package]] 4392 + name = "windows-targets" 4393 + version = "0.53.5" 4394 + source = "registry+https://github.com/rust-lang/crates.io-index" 4395 + checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" 4396 + dependencies = [ 4397 + "windows-link 0.2.1", 4398 + "windows_aarch64_gnullvm 0.53.1", 4399 + "windows_aarch64_msvc 0.53.1", 4400 + "windows_i686_gnu 0.53.1", 4401 + "windows_i686_gnullvm 0.53.1", 4402 + "windows_i686_msvc 0.53.1", 4403 + "windows_x86_64_gnu 0.53.1", 4404 + "windows_x86_64_gnullvm 0.53.1", 4405 + "windows_x86_64_msvc 0.53.1", 4406 + ] 4407 + 4408 + [[package]] 4237 4409 name = "windows-threading" 4238 4410 version = "0.1.0" 4239 4411 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 4264 4436 checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 4265 4437 4266 4438 [[package]] 4439 + name = "windows_aarch64_gnullvm" 4440 + version = "0.53.1" 4441 + source = "registry+https://github.com/rust-lang/crates.io-index" 4442 + checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" 4443 + 4444 + [[package]] 4267 4445 name = "windows_aarch64_msvc" 4268 4446 version = "0.42.2" 4269 4447 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 4276 4454 checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 4277 4455 4278 4456 [[package]] 4457 + name = "windows_aarch64_msvc" 4458 + version = "0.53.1" 4459 + source = "registry+https://github.com/rust-lang/crates.io-index" 4460 + checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" 4461 + 4462 + [[package]] 4279 4463 name = "windows_i686_gnu" 4280 4464 version = "0.42.2" 4281 4465 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 4288 4472 checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 4289 4473 4290 4474 [[package]] 4475 + name = "windows_i686_gnu" 4476 + version = "0.53.1" 4477 + source = "registry+https://github.com/rust-lang/crates.io-index" 4478 + checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" 4479 + 4480 + [[package]] 4291 4481 name = "windows_i686_gnullvm" 4292 4482 version = "0.52.6" 4293 4483 source = "registry+https://github.com/rust-lang/crates.io-index" 4294 4484 checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 4295 4485 4296 4486 [[package]] 4487 + name = "windows_i686_gnullvm" 4488 + version = "0.53.1" 4489 + source = "registry+https://github.com/rust-lang/crates.io-index" 4490 + checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" 4491 + 4492 + [[package]] 4297 4493 name = "windows_i686_msvc" 4298 4494 version = "0.42.2" 4299 4495 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 4306 4502 checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 4307 4503 4308 4504 [[package]] 4505 + name = "windows_i686_msvc" 4506 + version = "0.53.1" 4507 + source = "registry+https://github.com/rust-lang/crates.io-index" 4508 + checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" 4509 + 4510 + [[package]] 4309 4511 name = "windows_x86_64_gnu" 4310 4512 version = "0.42.2" 4311 4513 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 4318 4520 checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 4319 4521 4320 4522 [[package]] 4523 + name = "windows_x86_64_gnu" 4524 + version = "0.53.1" 4525 + source = "registry+https://github.com/rust-lang/crates.io-index" 4526 + checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" 4527 + 4528 + [[package]] 4321 4529 name = "windows_x86_64_gnullvm" 4322 4530 version = "0.42.2" 4323 4531 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 4330 4538 checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 4331 4539 4332 4540 [[package]] 4541 + name = "windows_x86_64_gnullvm" 4542 + version = "0.53.1" 4543 + source = "registry+https://github.com/rust-lang/crates.io-index" 4544 + checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" 4545 + 4546 + [[package]] 4333 4547 name = "windows_x86_64_msvc" 4334 4548 version = "0.42.2" 4335 4549 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 4340 4554 version = "0.52.6" 4341 4555 source = "registry+https://github.com/rust-lang/crates.io-index" 4342 4556 checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 4557 + 4558 + [[package]] 4559 + name = "windows_x86_64_msvc" 4560 + version = "0.53.1" 4561 + source = "registry+https://github.com/rust-lang/crates.io-index" 4562 + checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" 4343 4563 4344 4564 [[package]] 4345 4565 name = "winnow"
+1
src-tauri/Cargo.toml
··· 18 18 [dependencies] 19 19 tauri = { version = "2.11.1", features = ["tray-icon", "image-png"] } 20 20 tauri-plugin-localhost = "2" 21 + tauri-plugin-shell = "2" 21 22 22 23 [profile.dev] 23 24 incremental = true # Compile your binary in smaller steps.
+4 -2
src-tauri/capabilities/default.json
··· 3 3 "identifier": "default", 4 4 "description": "enables the default permissions", 5 5 "windows": ["main"], 6 - "remote": { "urls": ["http://localhost:5173"] }, 7 - "permissions": ["core:default"] 6 + "remote": { 7 + "urls": ["http://localhost:5173"] 8 + }, 9 + "permissions": ["core:default", "shell:default"] 8 10 }
+1
src-tauri/src/lib.rs
··· 9 9 pub fn run() { 10 10 let port: u16 = 5173; 11 11 let builder = tauri::Builder::default() 12 + .plugin(tauri_plugin_shell::init()) 12 13 .plugin(tauri_plugin_localhost::Builder::new(port).build()) 13 14 .setup(move |app| { 14 15 let url = format!("http://localhost:{}", port).parse().unwrap();
+4 -1
src/lib/AuthModal.svelte
··· 39 39 <a 40 40 target="_blank" 41 41 href="https://tangled.org/devins.page/tinysub#i-cant-log-in" 42 - >help, i can't log in!</a 42 + class="auth-notice">help, i can't log in!</a 43 43 > 44 44 </p> 45 45 {#if auth.err}<p class="err">{auth.err}</p>{/if} ··· 55 55 .err { 56 56 color: red; 57 57 margin: 0; 58 + } 59 + :global(body.is-tauri) .auth-notice { 60 + display: none; 58 61 } 59 62 </style>