vdb86 5 Posted 49 minutes ago Posted 49 minutes ago Hi all, I'd like to share a server plugin I've been working on and get some testers before requesting a catalog listing. **Status Sync - Live** propagates watched/played state in real time from one "source" profile to one or more "target" profiles. The use case it was built for: a shared "family" profile marks a movie or episode watched, and everyone's profiles are updated automatically, while each person's own private viewing is never touched. It is server-side only - there is no client or context-menu UI. **What it does** - Watches `IUserDataManager.UserDataSaved` for played / mark-played / rating changes, and `ISessionManager.PlaybackStopped` for resume position (written only on stop, never on pause). - Propagates at the leaf level (movies / episodes / audio); the server rolls up season and series counts on its own. - Optional toggles: propagate unwatch, copy exact play count, propagate favorites / likes, last-played date handling, and a dry-run mode that logs intended writes without changing anything. - Optional library filter and "respect target parental controls". **Guarantees** - One-directional only: source -> targets. - No feedback loops and non-transitive: it reacts only to events from a configured source, and every write it makes is recorded in a short re-entrancy guard so its own writes are ignored. `A -> B` plus `B -> C` never becomes `A -> C`. - Never touches `library.db` directly - all reads/writes go through `IUserDataManager`. - Self-targeting is rejected on save. **Requirements** - Emby Server 4.8.x. **Install** 1. Copy `StatusSyncLive.dll` into your plugins folder: - Windows: `%AppData%\Emby-Server\programdata\plugins` - Linux: `/var/lib/emby/plugins` - Docker: `/config/plugins` 2. Restart Emby Server. 3. Open Dashboard -> Plugins -> Status Sync - Live -> Settings. It also shows up as its own entry in the dashboard's left navigation. **Configure** Turn it on with the master Enabled switch, pick a Source profile and your Target selection (all other users, or an explicit list), choose which item types to include, and set the live toggles to taste. Start with Dry run on if you want to watch the log before it writes anything. **Beta note** DLL is attached to this post. I'd love feedback on stability and on the propagation behaviour across different library setups. Please share your server version and anything in the log prefixed with `[StatusSync]` if something looks off. Thanks! StatusSyncLive.dll
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now