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

Configure Feed

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

chore: Update @tokenizer packages

+55 -217
+41 -193
package-lock.json
··· 9 9 "version": "3.5.0", 10 10 "license": "SEE LICENSE IN LICENSE", 11 11 "dependencies": { 12 - "@tokenizer/http": "^0.6.2", 12 + "@tokenizer/http": "^0.9.1", 13 + "@tokenizer/range": "^0.10.0", 13 14 "elm-taskport": "^2.0.1", 14 15 "encoding-japanese": "^2.0.0", 15 16 "fast-text-encoding": "^1.0.6", ··· 1176 1177 } 1177 1178 }, 1178 1179 "node_modules/@tokenizer/http": { 1179 - "version": "0.6.2", 1180 - "resolved": "https://registry.npmjs.org/@tokenizer/http/-/http-0.6.2.tgz", 1181 - "integrity": "sha512-0+gTDUT9EYxbJvDYRk65Itw68gfGPUmUNz9hlAA4j/Mih7QOfyN6fVxvtTB6ytgOTo7GU1x9KRIGlrqVdjHSYw==", 1180 + "version": "0.9.1", 1181 + "resolved": "https://registry.npmjs.org/@tokenizer/http/-/http-0.9.1.tgz", 1182 + "integrity": "sha512-jwHLkafS9ZVEt8dFR4s4GEa5d/iKiowtn7uE19hbxIYh7IK1tAkU4eWRXB5GJ0PtPRf2BEDzAqKMhAzDpDlUmw==", 1182 1183 "dependencies": { 1183 - "@tokenizer/range": "^0.5.1", 1184 - "debug": "^4.1.1", 1185 - "node-fetch": "^2.6.7", 1186 - "strtok3": "^6.0.8" 1184 + "@tokenizer/range": "^0.10.0", 1185 + "debug": "^4.3.7", 1186 + "strtok3": "^9.0.1" 1187 1187 }, 1188 1188 "funding": { 1189 1189 "type": "github", ··· 1191 1191 } 1192 1192 }, 1193 1193 "node_modules/@tokenizer/range": { 1194 - "version": "0.5.3", 1195 - "resolved": "https://registry.npmjs.org/@tokenizer/range/-/range-0.5.3.tgz", 1196 - "integrity": "sha512-EcPMjCrLL4xaxZtdmN4E+78fSML2R1seiuCKmaIe4pjm7JEDVn8bUejuTMCGpPiqz1SkTgd90xj6c7aIrsHy+A==", 1194 + "version": "0.10.0", 1195 + "resolved": "https://registry.npmjs.org/@tokenizer/range/-/range-0.10.0.tgz", 1196 + "integrity": "sha512-noYSSTeDdpxLn1WYVB7TZhcq80pA+5b0HdM1Dtvkkk3nlHw4h2nFoaAdrvdwtbjAAT76GIL87/uK5mKE3T+oYg==", 1197 1197 "dependencies": { 1198 - "debug": "^4.3.2", 1199 - "strtok3": "^6.3.0" 1198 + "debug": "^4.3.6", 1199 + "strtok3": "^9.0.0" 1200 1200 }, 1201 1201 "engines": { 1202 - "node": ">=10" 1202 + "node": ">=16" 1203 1203 }, 1204 1204 "funding": { 1205 1205 "type": "github", ··· 3317 3317 "url": "https://github.com/sponsors/sindresorhus" 3318 3318 } 3319 3319 }, 3320 - "node_modules/file-type/node_modules/peek-readable": { 3321 - "version": "5.3.1", 3322 - "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.3.1.tgz", 3323 - "integrity": "sha512-GVlENSDW6KHaXcd9zkZltB7tCLosKB/4Hg0fqBJkAoBgYG2Tn1xtMgXtSUuMU9AK/gCm/tTdT8mgAeF4YNeeqw==", 3324 - "engines": { 3325 - "node": ">=14.16" 3326 - }, 3327 - "funding": { 3328 - "type": "github", 3329 - "url": "https://github.com/sponsors/Borewit" 3330 - } 3331 - }, 3332 - "node_modules/file-type/node_modules/strtok3": { 3333 - "version": "9.0.1", 3334 - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-9.0.1.tgz", 3335 - "integrity": "sha512-ERPW+XkvX9W2A+ov07iy+ZFJpVdik04GhDA4eVogiG9hpC97Kem2iucyzhFxbFRvQ5o2UckFtKZdp1hkGvnrEw==", 3336 - "dependencies": { 3337 - "@tokenizer/token": "^0.3.0", 3338 - "peek-readable": "^5.3.1" 3339 - }, 3340 - "engines": { 3341 - "node": ">=16" 3342 - }, 3343 - "funding": { 3344 - "type": "github", 3345 - "url": "https://github.com/sponsors/Borewit" 3346 - } 3347 - }, 3348 3320 "node_modules/fill-range": { 3349 3321 "version": "7.0.1", 3350 3322 "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", ··· 4582 4554 "node": ">=16.0.0" 4583 4555 } 4584 4556 }, 4585 - "node_modules/music-metadata/node_modules/peek-readable": { 4586 - "version": "5.3.1", 4587 - "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.3.1.tgz", 4588 - "integrity": "sha512-GVlENSDW6KHaXcd9zkZltB7tCLosKB/4Hg0fqBJkAoBgYG2Tn1xtMgXtSUuMU9AK/gCm/tTdT8mgAeF4YNeeqw==", 4589 - "engines": { 4590 - "node": ">=14.16" 4591 - }, 4592 - "funding": { 4593 - "type": "github", 4594 - "url": "https://github.com/sponsors/Borewit" 4595 - } 4596 - }, 4597 - "node_modules/music-metadata/node_modules/strtok3": { 4598 - "version": "9.0.1", 4599 - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-9.0.1.tgz", 4600 - "integrity": "sha512-ERPW+XkvX9W2A+ov07iy+ZFJpVdik04GhDA4eVogiG9hpC97Kem2iucyzhFxbFRvQ5o2UckFtKZdp1hkGvnrEw==", 4601 - "dependencies": { 4602 - "@tokenizer/token": "^0.3.0", 4603 - "peek-readable": "^5.3.1" 4604 - }, 4605 - "engines": { 4606 - "node": ">=16" 4607 - }, 4608 - "funding": { 4609 - "type": "github", 4610 - "url": "https://github.com/sponsors/Borewit" 4611 - } 4612 - }, 4613 4557 "node_modules/mz": { 4614 4558 "version": "2.7.0", 4615 4559 "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", ··· 4670 4614 ], 4671 4615 "engines": { 4672 4616 "node": ">=10.5.0" 4673 - } 4674 - }, 4675 - "node_modules/node-fetch": { 4676 - "version": "2.6.9", 4677 - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", 4678 - "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", 4679 - "dependencies": { 4680 - "whatwg-url": "^5.0.0" 4681 - }, 4682 - "engines": { 4683 - "node": "4.x || >=6.0.0" 4684 - }, 4685 - "peerDependencies": { 4686 - "encoding": "^0.1.0" 4687 - }, 4688 - "peerDependenciesMeta": { 4689 - "encoding": { 4690 - "optional": true 4691 - } 4692 4617 } 4693 4618 }, 4694 4619 "node_modules/node-releases": { ··· 5015 4940 } 5016 4941 }, 5017 4942 "node_modules/peek-readable": { 5018 - "version": "4.1.0", 5019 - "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz", 5020 - "integrity": "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==", 4943 + "version": "5.3.1", 4944 + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.3.1.tgz", 4945 + "integrity": "sha512-GVlENSDW6KHaXcd9zkZltB7tCLosKB/4Hg0fqBJkAoBgYG2Tn1xtMgXtSUuMU9AK/gCm/tTdT8mgAeF4YNeeqw==", 5021 4946 "engines": { 5022 - "node": ">=8" 4947 + "node": ">=14.16" 5023 4948 }, 5024 4949 "funding": { 5025 4950 "type": "github", ··· 5831 5756 } 5832 5757 }, 5833 5758 "node_modules/strtok3": { 5834 - "version": "6.3.0", 5835 - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz", 5836 - "integrity": "sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==", 5759 + "version": "9.0.1", 5760 + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-9.0.1.tgz", 5761 + "integrity": "sha512-ERPW+XkvX9W2A+ov07iy+ZFJpVdik04GhDA4eVogiG9hpC97Kem2iucyzhFxbFRvQ5o2UckFtKZdp1hkGvnrEw==", 5837 5762 "dependencies": { 5838 5763 "@tokenizer/token": "^0.3.0", 5839 - "peek-readable": "^4.1.0" 5764 + "peek-readable": "^5.3.1" 5840 5765 }, 5841 5766 "engines": { 5842 - "node": ">=10" 5767 + "node": ">=16" 5843 5768 }, 5844 5769 "funding": { 5845 5770 "type": "github", ··· 6106 6031 "url": "https://github.com/sponsors/Borewit" 6107 6032 } 6108 6033 }, 6109 - "node_modules/tr46": { 6110 - "version": "0.0.3", 6111 - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 6112 - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" 6113 - }, 6114 6034 "node_modules/ts-api-utils": { 6115 6035 "version": "1.0.1", 6116 6036 "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz", ··· 6309 6229 "integrity": "sha512-H4RokaE4RC39N3uiRTcjKMmy6yYg06lUPORQHvv8DjowZ6I5SalxUeoqHbtTN3EVBmYP/XHQ8Ow6BLEIpe2DtA==", 6310 6230 "dependencies": { 6311 6231 "xhr2": "0.2.1" 6312 - } 6313 - }, 6314 - "node_modules/webidl-conversions": { 6315 - "version": "3.0.1", 6316 - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 6317 - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" 6318 - }, 6319 - "node_modules/whatwg-url": { 6320 - "version": "5.0.0", 6321 - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 6322 - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", 6323 - "dependencies": { 6324 - "tr46": "~0.0.3", 6325 - "webidl-conversions": "^3.0.0" 6326 6232 } 6327 6233 }, 6328 6234 "node_modules/which": { ··· 7153 7059 } 7154 7060 }, 7155 7061 "@tokenizer/http": { 7156 - "version": "0.6.2", 7157 - "resolved": "https://registry.npmjs.org/@tokenizer/http/-/http-0.6.2.tgz", 7158 - "integrity": "sha512-0+gTDUT9EYxbJvDYRk65Itw68gfGPUmUNz9hlAA4j/Mih7QOfyN6fVxvtTB6ytgOTo7GU1x9KRIGlrqVdjHSYw==", 7062 + "version": "0.9.1", 7063 + "resolved": "https://registry.npmjs.org/@tokenizer/http/-/http-0.9.1.tgz", 7064 + "integrity": "sha512-jwHLkafS9ZVEt8dFR4s4GEa5d/iKiowtn7uE19hbxIYh7IK1tAkU4eWRXB5GJ0PtPRf2BEDzAqKMhAzDpDlUmw==", 7159 7065 "requires": { 7160 - "@tokenizer/range": "^0.5.1", 7161 - "debug": "^4.1.1", 7162 - "node-fetch": "^2.6.7", 7163 - "strtok3": "^6.0.8" 7066 + "@tokenizer/range": "^0.10.0", 7067 + "debug": "^4.3.7", 7068 + "strtok3": "^9.0.1" 7164 7069 } 7165 7070 }, 7166 7071 "@tokenizer/range": { 7167 - "version": "0.5.3", 7168 - "resolved": "https://registry.npmjs.org/@tokenizer/range/-/range-0.5.3.tgz", 7169 - "integrity": "sha512-EcPMjCrLL4xaxZtdmN4E+78fSML2R1seiuCKmaIe4pjm7JEDVn8bUejuTMCGpPiqz1SkTgd90xj6c7aIrsHy+A==", 7072 + "version": "0.10.0", 7073 + "resolved": "https://registry.npmjs.org/@tokenizer/range/-/range-0.10.0.tgz", 7074 + "integrity": "sha512-noYSSTeDdpxLn1WYVB7TZhcq80pA+5b0HdM1Dtvkkk3nlHw4h2nFoaAdrvdwtbjAAT76GIL87/uK5mKE3T+oYg==", 7170 7075 "requires": { 7171 - "debug": "^4.3.2", 7172 - "strtok3": "^6.3.0" 7076 + "debug": "^4.3.6", 7077 + "strtok3": "^9.0.0" 7173 7078 } 7174 7079 }, 7175 7080 "@tokenizer/token": { ··· 8607 8512 "version": "4.0.1", 8608 8513 "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", 8609 8514 "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==" 8610 - }, 8611 - "peek-readable": { 8612 - "version": "5.3.1", 8613 - "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.3.1.tgz", 8614 - "integrity": "sha512-GVlENSDW6KHaXcd9zkZltB7tCLosKB/4Hg0fqBJkAoBgYG2Tn1xtMgXtSUuMU9AK/gCm/tTdT8mgAeF4YNeeqw==" 8615 - }, 8616 - "strtok3": { 8617 - "version": "9.0.1", 8618 - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-9.0.1.tgz", 8619 - "integrity": "sha512-ERPW+XkvX9W2A+ov07iy+ZFJpVdik04GhDA4eVogiG9hpC97Kem2iucyzhFxbFRvQ5o2UckFtKZdp1hkGvnrEw==", 8620 - "requires": { 8621 - "@tokenizer/token": "^0.3.0", 8622 - "peek-readable": "^5.3.1" 8623 - } 8624 8515 } 8625 8516 } 8626 8517 }, ··· 9490 9381 "strtok3": "^9.0.1", 9491 9382 "token-types": "^6.0.0", 9492 9383 "uint8array-extras": "^1.4.0" 9493 - }, 9494 - "dependencies": { 9495 - "peek-readable": { 9496 - "version": "5.3.1", 9497 - "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.3.1.tgz", 9498 - "integrity": "sha512-GVlENSDW6KHaXcd9zkZltB7tCLosKB/4Hg0fqBJkAoBgYG2Tn1xtMgXtSUuMU9AK/gCm/tTdT8mgAeF4YNeeqw==" 9499 - }, 9500 - "strtok3": { 9501 - "version": "9.0.1", 9502 - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-9.0.1.tgz", 9503 - "integrity": "sha512-ERPW+XkvX9W2A+ov07iy+ZFJpVdik04GhDA4eVogiG9hpC97Kem2iucyzhFxbFRvQ5o2UckFtKZdp1hkGvnrEw==", 9504 - "requires": { 9505 - "@tokenizer/token": "^0.3.0", 9506 - "peek-readable": "^5.3.1" 9507 - } 9508 - } 9509 9384 } 9510 9385 }, 9511 9386 "mz": { ··· 9541 9416 "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", 9542 9417 "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", 9543 9418 "dev": true 9544 - }, 9545 - "node-fetch": { 9546 - "version": "2.6.9", 9547 - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", 9548 - "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", 9549 - "requires": { 9550 - "whatwg-url": "^5.0.0" 9551 - } 9552 9419 }, 9553 9420 "node-releases": { 9554 9421 "version": "2.0.14", ··· 9785 9652 "dev": true 9786 9653 }, 9787 9654 "peek-readable": { 9788 - "version": "4.1.0", 9789 - "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz", 9790 - "integrity": "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==" 9655 + "version": "5.3.1", 9656 + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.3.1.tgz", 9657 + "integrity": "sha512-GVlENSDW6KHaXcd9zkZltB7tCLosKB/4Hg0fqBJkAoBgYG2Tn1xtMgXtSUuMU9AK/gCm/tTdT8mgAeF4YNeeqw==" 9791 9658 }, 9792 9659 "pend": { 9793 9660 "version": "1.2.0", ··· 10329 10196 "dev": true 10330 10197 }, 10331 10198 "strtok3": { 10332 - "version": "6.3.0", 10333 - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz", 10334 - "integrity": "sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==", 10199 + "version": "9.0.1", 10200 + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-9.0.1.tgz", 10201 + "integrity": "sha512-ERPW+XkvX9W2A+ov07iy+ZFJpVdik04GhDA4eVogiG9hpC97Kem2iucyzhFxbFRvQ5o2UckFtKZdp1hkGvnrEw==", 10335 10202 "requires": { 10336 10203 "@tokenizer/token": "^0.3.0", 10337 - "peek-readable": "^4.1.0" 10204 + "peek-readable": "^5.3.1" 10338 10205 } 10339 10206 }, 10340 10207 "sucrase": { ··· 10536 10403 "ieee754": "^1.2.1" 10537 10404 } 10538 10405 }, 10539 - "tr46": { 10540 - "version": "0.0.3", 10541 - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 10542 - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" 10543 - }, 10544 10406 "ts-api-utils": { 10545 10407 "version": "1.0.1", 10546 10408 "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz", ··· 10678 10540 "integrity": "sha512-H4RokaE4RC39N3uiRTcjKMmy6yYg06lUPORQHvv8DjowZ6I5SalxUeoqHbtTN3EVBmYP/XHQ8Ow6BLEIpe2DtA==", 10679 10541 "requires": { 10680 10542 "xhr2": "0.2.1" 10681 - } 10682 - }, 10683 - "webidl-conversions": { 10684 - "version": "3.0.1", 10685 - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 10686 - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" 10687 - }, 10688 - "whatwg-url": { 10689 - "version": "5.0.0", 10690 - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 10691 - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", 10692 - "requires": { 10693 - "tr46": "~0.0.3", 10694 - "webidl-conversions": "^3.0.0" 10695 10543 } 10696 10544 }, 10697 10545 "which": {
+2 -1
package.json
··· 40 40 "tiny-parse-argv": "^2.4.0" 41 41 }, 42 42 "dependencies": { 43 - "@tokenizer/http": "^0.6.2", 43 + "@tokenizer/http": "^0.9.1", 44 + "@tokenizer/range": "^0.10.0", 44 45 "elm-taskport": "^2.0.1", 45 46 "encoding-japanese": "^2.0.0", 46 47 "fast-text-encoding": "^1.0.6",
+7 -11
src/Javascript/Brain/processing.ts
··· 6 6 7 7 import type { IAudioMetadata } from "music-metadata" 8 8 import type { GeneralTrack, MediaInfoResult } from "mediainfo.js" 9 + import type { ITokenizer } from "strtok3" 9 10 10 11 import * as Uint8arrays from "uint8arrays" 11 12 import { type App } from "./elm/types" ··· 107 108 { covers }: { covers: boolean }, 108 109 ) { 109 110 const musicMetadata = await import("music-metadata"); 110 - const httpTokenizer = await import("@tokenizer/http").then((a) => a.default); 111 + const httpTokenizer = await import("@tokenizer/http"); 112 + const rangeTokenizer = await import("@tokenizer/range"); 111 113 112 - let tokenizer; 114 + let tokenizer: ITokenizer; 113 115 let mmResult; 114 116 115 117 try { 116 - tokenizer = await httpTokenizer.makeTokenizer(headUrl); 117 - tokenizer.fileInfo.url = getUrl; 118 + const httpClient = new httpTokenizer.HttpClient(headUrl, { resolveUrl: false }); 119 + httpClient.resolvedUrl = getUrl 118 120 119 - // @ts-ignore 120 - if (tokenizer.rangeRequestClient) { 121 - // @ts-ignore 122 - tokenizer.rangeRequestClient.url = getUrl; 123 - // @ts-ignore 124 - tokenizer.rangeRequestClient.resolvedUrl = undefined; 125 - } 121 + tokenizer = await rangeTokenizer.tokenizer(httpClient); 126 122 127 123 mmResult = await musicMetadata 128 124 .parseFromTokenizer(tokenizer, { skipCovers: !covers })
-9
src/Javascript/Workers/service.ts
··· 182 182 } 183 183 ) 184 184 185 - let retries = 0 186 - 187 185 // TODO: When request fails because access token is expired, 188 186 // refresh the token, and retry the request. 189 187 const makeFetch = () => fetch(newRequest).then(r => { 190 188 if (r.ok) { 191 - retries = 0 192 189 return r 193 190 } else { 194 191 return r.text().then(text => { 195 192 throw new Error(text) 196 193 }) 197 194 } 198 - }).catch(err => { 199 - // Safari keeps getting weird CORS errors from Google Drive, after some time they disappear 🤷‍♂️ 200 - retries++ 201 - if (retries <= 1000) return new Promise((resolve, reject) => setTimeout(makeFetch().then(resolve, reject), 1000)) 202 - else throw new Error(err) 203 - 204 195 }) 205 196 206 197 event.respondWith(
+5 -3
src/Static/About/CORS.md
··· 31 31 "*" 32 32 ], 33 33 "ExposeHeaders": [ 34 + "Accept-Ranges", 34 35 "Content-Length", 35 - "Content-Type" 36 + "Content-Range" 36 37 ], 37 38 "MaxAgeSeconds": 31536000 38 39 } ··· 118 119 ALLOWED ORIGINS * 119 120 ALLOWED METHODS GET, HEAD 120 121 ALLOWED HEADERS Range 121 - EXPOSED HEADERS Content-Length, Content-Range 122 + EXPOSED HEADERS Accept-Ranges, Content-Length, Content-Range 122 123 MAX AGE 0 123 124 ``` 124 125 ··· 147 148 - https://diffuse.sh 148 149 - http://127.0.0.1:44999 149 150 exposed_headers: 151 + - Accept-Ranges 150 152 - Content-Length 151 - - Content-Type 153 + - Content-Range 152 154 ```