/
/
# What does this implement/fix? The home page has an "In progress" row built from the playlog. Nothing told clients when that log changed, so a card could keep sitting in the row after the item was finished, marked played, or synced back from another app, until the page was reloaded. The server now sends an event whenever an item's playlog entry changes, so a client can refresh just the rows that are built on played state. - new event sent when an item is marked played or reported as played, when it is marked unplayed, and when an artist or podcast is credited by a played track or episode - the frequent progress reports while something is playing write nothing to the playlog, so they stay quiet - the payload carries the item uri, media type, fully played flag and seconds played - tests for each of the above Note this needs the models change to be released first, so mypy and CI will fail here until the pin is bumped. Frontend change follows. **Related issue (if applicable):** - models change music-assistant/models#381 - follow up to music-assistant/frontend#2624 - related discussion https://github.com/orgs/music-assistant/discussions/6158 ## Types of changes - [ ] Bugfix (non-breaking change which fixes an issue) — `bugfix` - [ ] New feature (non-breaking change which adds functionality) — `new-feature` - [x] Enhancement to an existing feature — `enhancement` - [ ] New music/player/metadata/plugin provider — `new-provider` - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) — `breaking-change` - [ ] Refactor (no behaviour change) — `refactor` - [ ] Documentation only — `documentation` - [ ] Maintenance / chore — `maintenance` - [ ] CI / workflow change — `ci` - [ ] Dependencies bump — `dependencies` ## Checklist - [x] The code change is tested and works locally. - [x] `pre-commit run --all-files` passes. (mypy fails until the models release lands and the pin is bumped) - [x] `pytest` passes, and tests have been added/updated under `tests/` where applicable. - [x] For changes to shared models, the companion PR in `music-assistant/models` is linked. - [x] For changes affecting the UI, the companion PR in `music-assistant/frontend` is linked. - [x] I have read and complied with the project's [AI Policy](https://github.com/music-assistant/.github/blob/main/AI_POLICY.md) for any AI-assisted contributions. - [ ] I have [raised a PR against the documentation repository](https://github.com/music-assistant/music-assistant.io/blob/main/CONTRIBUTING.md) targeting the main or beta branch as appropriate. --------- Co-authored-by: Marvin Schenkel <[email protected]>