[READ-ONLY] Mirror of https://github.com/FoxxMD/multi-scrobbler. Scrobble plays from multiple sources to multiple clients docs.multi-scrobbler.app
deezer docker jellyfin koito lastfm listenbrainz maloja mopidy mpris music music-assistant plex scrobble self-hosted spotify subsonic tautulli youtube-music
0

Configure Feed

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

chore: Upgrade string-sameness

* Removes dependency on unmaintained dice coeffecient library
* New version is esm-only library

FoxxMD (Feb 15, 2024, 12:27 PM EST) 80579821 9a5a8087

+32 -14
+30 -12
package-lock.json
··· 16 16 "@fortawesome/free-solid-svg-icons": "^6.4.2", 17 17 "@fortawesome/react-fontawesome": "^0.2.0", 18 18 "@foxxmd/chromecast-client": "^1.0.4", 19 - "@foxxmd/string-sameness": "^0.2.0", 19 + "@foxxmd/string-sameness": "^0.4.0", 20 20 "@foxxmd/winston": "3.3.31", 21 21 "@kenyip/backoff-strategies": "^1.0.4", 22 22 "@react-nano/use-event-source": "^0.13.0", ··· 1469 1469 } 1470 1470 }, 1471 1471 "node_modules/@foxxmd/string-sameness": { 1472 - "version": "0.2.0", 1473 - "resolved": "https://registry.npmjs.org/@foxxmd/string-sameness/-/string-sameness-0.2.0.tgz", 1474 - "integrity": "sha512-b4at6spxVej3IfZA1fVBX1iGZ4UdcEJSXItv89lV2ZNtJOYvShc39gUAyDrtRbrz9yilEvSggyyKKLmC0BXXxg==", 1472 + "version": "0.4.0", 1473 + "resolved": "https://registry.npmjs.org/@foxxmd/string-sameness/-/string-sameness-0.4.0.tgz", 1474 + "integrity": "sha512-6O2A+VpmUYiQMtFVfBQHtrbinN7JqRKwUUgBDpAR7nVrYtjFCJSsj8DC2rFLiY81bW9o7FRU6SIuVOoRfBW2pw==", 1475 1475 "dependencies": { 1476 - "leven": "^3.0.0", 1477 - "string-similarity": "^4.0.4" 1476 + "dice-coefficient": "^2.1.1", 1477 + "leven": "^3.0.0" 1478 1478 }, 1479 1479 "engines": { 1480 1480 "node": ">=18.0.0", ··· 4093 4093 "wrappy": "1" 4094 4094 } 4095 4095 }, 4096 + "node_modules/dice-coefficient": { 4097 + "version": "2.1.1", 4098 + "resolved": "https://registry.npmjs.org/dice-coefficient/-/dice-coefficient-2.1.1.tgz", 4099 + "integrity": "sha512-vPTcHmOQAuGvU6eyBtj7QCBwDJh2I7QpbBU51lbgfv7592KjBl6dm0baRBSh9ekt2X91MNAz7OpJrXCIUtDzlw==", 4100 + "dependencies": { 4101 + "n-gram": "^2.0.0" 4102 + }, 4103 + "bin": { 4104 + "dice-coefficient": "cli.js" 4105 + }, 4106 + "funding": { 4107 + "type": "github", 4108 + "url": "https://github.com/sponsors/wooorm" 4109 + } 4110 + }, 4096 4111 "node_modules/didyoumean": { 4097 4112 "version": "1.2.2", 4098 4113 "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", ··· 6796 6811 "thenify-all": "^1.0.0" 6797 6812 } 6798 6813 }, 6814 + "node_modules/n-gram": { 6815 + "version": "2.0.2", 6816 + "resolved": "https://registry.npmjs.org/n-gram/-/n-gram-2.0.2.tgz", 6817 + "integrity": "sha512-S24aGsn+HLBxUGVAUFOwGpKs7LBcG4RudKU//eWzt/mQ97/NMKQxDWHyHx63UNWk/OOdihgmzoETn1tf5nQDzQ==", 6818 + "funding": { 6819 + "type": "github", 6820 + "url": "https://github.com/sponsors/wooorm" 6821 + } 6822 + }, 6799 6823 "node_modules/nanoid": { 6800 6824 "version": "3.3.7", 6801 6825 "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", ··· 9042 9066 "dependencies": { 9043 9067 "safe-buffer": "~5.2.0" 9044 9068 } 9045 - }, 9046 - "node_modules/string-similarity": { 9047 - "version": "4.0.4", 9048 - "resolved": "https://registry.npmjs.org/string-similarity/-/string-similarity-4.0.4.tgz", 9049 - "integrity": "sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==", 9050 - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info." 9051 9069 }, 9052 9070 "node_modules/string-width": { 9053 9071 "version": "4.2.3",
+1 -1
package.json
··· 50 50 "@fortawesome/free-solid-svg-icons": "^6.4.2", 51 51 "@fortawesome/react-fontawesome": "^0.2.0", 52 52 "@foxxmd/chromecast-client": "^1.0.4", 53 - "@foxxmd/string-sameness": "^0.2.0", 53 + "@foxxmd/string-sameness": "^0.4.0", 54 54 "@foxxmd/winston": "3.3.31", 55 55 "@kenyip/backoff-strategies": "^1.0.4", 56 56 "@react-nano/use-event-source": "^0.13.0",
+1 -1
src/backend/tests/utils/strings.test.ts
··· 111 111 112 112 for(const test of tests) { 113 113 const result = compareNormalizedStrings(test[0], test[1]); 114 - assert.isAtMost( result.highScore, 53, `Comparing: '${test[0]}' | '${test[1]}'`); 114 + assert.isAtMost( result.highScore, 58, `Comparing: '${test[0]}' | '${test[1]}'`); 115 115 } 116 116 }); 117 117