Commits
Convert to json-equivalent object, and back, without needing json stringify/parse
feat(docs): Implement rich config exploration and interaction
* Use cf-json-schema-viz for schema viewer
* Use modern-react-json-editor for editing
feat: Implement pagination fetching for component listen data
fix(plex): Also read MBIDs from `guid` field
https://github.com/FoxxMD/multi-scrobbler/issues/430#issuecomment-4035670777
Some items on Plex store the MBID in the `guid` field in the `Metadata`
response, not in the `Guid` field. This change checks the `guid` field
as a fallback if the `Guid` field is not set.
* Check queue before adding so that previously cached or re-discovered plays from a source are not added multiple times to the queue (should only be unique plays)
* Add timestamp heuristic to dupe matching -- if score is *close* to matching and timestamp is *exact* then nudge it into a match
* Use p-retry to standard retry behavior
* Simplify/remove other own-rolled retry logic
* Fix superagent request instantiation
* Requests are mutable, cannot be retried once executed. Need to make a new request for each retry
Move most activity checks to TRACE log level to reduce noise at DEBUG level