github FoxxMD/multi-scrobbler 0.10.2

18 hours ago

What's New?

teal.fm Scrobble Client/Source

teal.fm is a social discovery and web viewing service for scrobbles stored/available on the ATProto network/your repository in a PDS (Personal Data Server).

This release includes a Client and Source implementation for teal.fm. #378

The teal.fm website is still in development and does not have a public release yet but you can start scrobbling, now, and your data wil be ready to use when they launch publicly.

Rocksky Client Fixes and Source

A fix for the previously-released Rocksky client #391 is included, as well as a brand-new implementation for both the Client and a new Source.

Notable QoL Improvements

  • Now Playing functionality is now more temporally-accurate for downstream scrobbler clients and in the UI #395
  • Subsonic Sources now have repeat detection implemented so your tracks are scrobbled mutliple times when you play them over and over again #375

Documentation Overhaul

Some of you may have already noticed but the docs at foxxmd.github.io/multi-scrobbler have been reworked to improve readability and add more information:

  • The monolithic configuration page has been split into separate pages/sections:
  • Scrobble Clients/Sources include a matrix of supported features and clearer breakdowns of what each feature means + configuration
  • Components have been refactored into reusable snippets which will make future documentation easier
  • The URL pattern for the entire site has been simplified by removing the docs/ prefix
    • All old pages should redirect to new pages, but if they don't please open an issue

Full Changelog

Bug Fixes

  • (endpointlz) Return expected OK response body #380
  • (listenbrainz) Use duration_ms if duration not provided
  • (listenbrainz) Fix interfaces for submit/listen and consolidate
  • (rocksky) Add scrobble to deadletter when ignored
  • (tealfm) Fix scrobble play date context
  • (No Category) Fix Source/Client data types
  • (No Category) Improve timing and update frequency to match scrobbler behavior #395

Documentation

  • (endpointlz) Add navidrome url setup instructions
  • (tealfm) Add docs
  • (No Category) Move landing page to docs to simply url structure
  • (No Category) Add commonly used components to global scope
  • (No Category) Move Source configs to own files
  • (No Category) Add client own files
  • (No Category) Reorganize doc contents
  • (No Category) Improved linking on config/landing and configuration type refinement
  • (No Category) Change installation to category doc link
  • (No Category) Update kitchensink
  • (No Category) Improve sources documentation
  • (No Category) Add redirects for old pages
  • (No Category) Add subsonic guidance for lz scrobbling

Features

  • (endpointlz) Add more logging for invalid routes
  • (jellyfin) Add frontend url override as env #374
  • (listenbrainz) Use end-of-string token and wildcard route to better log malformed LZ endpoint routes
  • (listenbrainz) Add request body to logging for debugging
  • (rocksky) Implement Rocksky Source/Client
  • (subsonic) Add basic repeat detection based on listened duration #375
  • (tealfm) Implement app password auth
  • (tealfm) Massage handle for users who don't read docs
  • (No Category) Implement working tealfm client
  • (No Category) Make ATProto handle transform usable by RockSky and teal.fm

Miscellaneous Tasks

  • (frontend) Update sass package and vite config to remove deprecation warnings
  • (No Category) Update schema

Refactor

  • (frontend) Update tailwind and move generation into vite
  • (frontend) Migrate tailwind config to v4
  • (listenbrainz) Move parsing functions out of static
  • (listenbrainz) Consolidate lz endpoint submit parsing into lz response parsing
  • (tealfm) Move common functionality to api client

Testing

  • (No Category) Use zizmor to fix and audit image publish action
  • (No Category) Harden remaining workflows using zizmor

Don't miss a new multi-scrobbler release

NewReleases is sending notifications on new releases.