Commit 603373c
committed
Many improvements
mostly stability, bug fixes, and performance
- [X] A versioning system, linked with `send-beta-build.yml` and the `links.json` but different file, supporting both git commits (for beta/dev stuff) and github latest releases for normal people use
- maybe this isn't needed (note to self, read *all* of the docs first): <https://vite-pwa-org.netlify.app/frameworks/react.html#react>
- to migrate?: <https://vite-pwa-org.netlify.app/guide/unregister-service-worker.html#custom-selfdestroying-service-worker>
- shouldn't clear cache handle this? ¯\_(ツ)_/¯
- [X] Make loading of songs, playlists, etc on load more staggered so that page doesn't freeze
- Added staggered loading with configurable batch sizes
- [X] Add more to about menu
- [X] Loading a custom iconset tanks performance
- Stabilized loadIcon reference with useRef pattern to prevent re-creation
- Added cache key tracking to skip redundant fetches when icon set changes
- Wrapped Icon component with React.memo to prevent unnecessary re-renders
- Removed state updates from inside loadIcon callback
- [X] Gapless and crossfade are just broken, they just are
- Fixed race condition: added crossfadeInitiatedRef guard to prevent multiple triggers from timeupdate
- Fixed event listener cleanup: track and remove ended handler on cancelCrossfade
- Fixed handleEnded during crossfade: properly defer to crossfade manager
- Removed duplicate ended listener from nextAudio element
- Fixed memory leak: revoke blob URLs after crossfade swap
- Widened gapless trigger threshold from 50ms to 150ms with setTimeout for precision
- Added AudioContext resume check before starting crossfade
- Use crossfadeManager.getActiveElement() to determine current element after swap
- [X] Load all cover art more lazily and delayed for same reason as above
- Added loading="lazy" and decoding="async" to album art images
- [X] fix drag and drop of songs not triggering sometimes
- [X] Fix share_target so that it supports both importing songs if music files supported by filePickerHelper (as a "polyfill" for file_handlers) and searching/sharing songs if text
- Share target already supports both files and text/search queries
- [X] Fix sharing so that it just doesn't copy URL
- Removed URL from share data for both songs and playlists
- [X] Make dragging songs not select song details in song list but also make sure we can select that stuff (prevent conflicts)
- [X] Slide out settings menu on close
- [X] Prevent/recover from Failed to play song so that HTMLPlayer and system don't get unsynced
- (`The play() request was interrupted by a new load request. https://goo.gl/LdLk22`)
- [X] fix the UI of the 'Repeat Once' button
- [X] Can't move playlist to root unless I have another playlist in root
- [X] Center `Empty folder...`
- [X] Show SYLT first if both USLT and SYLT are available
- [X] fix visualizer missing left padding
- [X] prevent esc from closing lyrics overlay
- [X] In Home, show `1 Song` rather than `1 Songs`
- [X] On mobile, the Persistent Dropdowns are loaded inside the top bar, when they should be overlays1 parent 29cee15 commit 603373c
File tree
50 files changed
+1825
-403
lines changed- Build
- public/locales
- en
- fr
- src
- components
- helpers
- hooks
- pages
- themes/Icons
- Bootstrap
- Css.gg
- Lucide
- Material Design
- Phosphor
- Remix Icon
- Simple Line Icons
- Tabler Icons
- types
- workers
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
50 files changed
+1825
-403
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
137 | 137 | | |
138 | 138 | | |
139 | 139 | | |
140 | | - | |
| 140 | + | |
| 141 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | | - | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
| 7 | + | |
| 8 | + | |
15 | 9 | | |
16 | 10 | | |
17 | 11 | | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | 12 | | |
28 | | - | |
| 13 | + | |
29 | 14 | | |
30 | 15 | | |
31 | 16 | | |
32 | | - | |
33 | | - | |
34 | 17 | | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
| 18 | + | |
| 19 | + | |
39 | 20 | | |
40 | 21 | | |
41 | 22 | | |
42 | | - | |
43 | | - | |
44 | 23 | | |
45 | 24 | | |
46 | 25 | | |
47 | 26 | | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | 27 | | |
59 | 28 | | |
60 | 29 | | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | 30 | | |
70 | 31 | | |
71 | 32 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
3 | 11 | | |
4 | 12 | | |
5 | 13 | | |
| |||
130 | 138 | | |
131 | 139 | | |
132 | 140 | | |
133 | | - | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
134 | 146 | | |
135 | 147 | | |
136 | 148 | | |
| |||
199 | 211 | | |
200 | 212 | | |
201 | 213 | | |
202 | | - | |
| 214 | + | |
| 215 | + | |
203 | 216 | | |
204 | 217 | | |
205 | 218 | | |
| |||
392 | 405 | | |
393 | 406 | | |
394 | 407 | | |
395 | | - | |
| 408 | + | |
| 409 | + | |
396 | 410 | | |
397 | 411 | | |
398 | 412 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
3 | 11 | | |
4 | 12 | | |
5 | 13 | | |
| |||
129 | 137 | | |
130 | 138 | | |
131 | 139 | | |
132 | | - | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
133 | 145 | | |
134 | 146 | | |
135 | 147 | | |
| |||
195 | 207 | | |
196 | 208 | | |
197 | 209 | | |
198 | | - | |
| 210 | + | |
| 211 | + | |
199 | 212 | | |
200 | 213 | | |
201 | 214 | | |
| |||
364 | 377 | | |
365 | 378 | | |
366 | 379 | | |
367 | | - | |
| 380 | + | |
| 381 | + | |
368 | 382 | | |
369 | 383 | | |
370 | 384 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
141 | 141 | | |
142 | 142 | | |
143 | 143 | | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
144 | 157 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
| 49 | + | |
50 | 50 | | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
51 | 58 | | |
52 | 59 | | |
53 | 60 | | |
| |||
259 | 266 | | |
260 | 267 | | |
261 | 268 | | |
| 269 | + | |
262 | 270 | | |
263 | 271 | | |
264 | 272 | | |
| |||
273 | 281 | | |
274 | 282 | | |
275 | 283 | | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
276 | 303 | | |
277 | 304 | | |
278 | 305 | | |
279 | 306 | | |
280 | 307 | | |
281 | 308 | | |
282 | | - | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
283 | 331 | | |
284 | 332 | | |
285 | 333 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
18 | 21 | | |
19 | 22 | | |
20 | 23 | | |
| |||
60 | 63 | | |
61 | 64 | | |
62 | 65 | | |
63 | | - | |
| 66 | + | |
64 | 67 | | |
65 | 68 | | |
66 | 69 | | |
67 | 70 | | |
68 | 71 | | |
69 | 72 | | |
70 | | - | |
| 73 | + | |
71 | 74 | | |
72 | 75 | | |
73 | 76 | | |
| |||
0 commit comments