Comments (11)
i think I've found the relevant code.
jellyfin-plugin-trakt/Trakt/ScheduledTasks/SyncFromTraktTask.cs
Lines 208 to 226 in d753444
Before matching on season and then episode, it should check for external IDs and match on those. This will be more accurate and support dvd order and absolute ordering. If no match is found then existing code should be used to match on season and episode IndexNumbers
from jellyfin-plugin-trakt.
The Get Watched call this plugin uses gets the full watched history for a trakt user. From what I can tell this call only returns season and episode index numbers (aired order), no ids (tvdb, imdb, etc). This is why history is matched the way it currently is.
Get History does return ids for episodes. It does not return all history by default, there are start and end parameters.
I'm not sure why this was implemented in this fashion (history vs. watched).
Smallest impact on JF code base would be to get Trakt to returns ids with Get Watched. But IDK if they would do that.
Sync could be re-written (for episodes) to pull from Get History instead.
Thoughts?
from jellyfin-plugin-trakt.
I tried to find a way to properly handle this but up until now I haven't found a sane way to do this.
Another problem with the Get History
approach would be that we'd need to check each episode separatly (this will hammer the API) and we'd need to already have the Trakt ids available locally for properly lookup too...
from jellyfin-plugin-trakt.
I think this could also be related to a problem with specials being marked as unplayed because theyre listed on TVDB, but not listed as specials on Trakt. It mostly seems to happen with things like Movies that get categorized as Movies on trakt, but specials on TVDB.
South Park is a good example of it with their "Post Covid" specials that are listed as specials, whereas on Trakt they are listed as Movies and not included in the 'TV Series' listing at all.
from jellyfin-plugin-trakt.
That's nothing we can properly handle tbh.
Trakt switched to tmdb as main metadata provider.
from jellyfin-plugin-trakt.
Could it be possible to just ignore syncing items that don't exist on trakt, within a series?
from jellyfin-plugin-trakt.
I'm really tempted to drop the fallback to syncing by season and episode number (this would achieve what you request) because it's so damn unreliable.
from jellyfin-plugin-trakt.
Make that an option if you do, don't drop it entirely. I worked on the fallback code and I don't want it deleted.
from jellyfin-plugin-trakt.
Which thing is unreliable?
I have a PR in progress that addresses the specials/movie problem but it's not quite ready.
from jellyfin-plugin-trakt.
Your PR should be fine since we match on IDs (and I do like that). Matching on season and episode number is unreliable because they can be so extremly different between metadata services and if you don't adher to tmdb by default you get messed up playback tracking on trakt. Especially special naming and sorting is totally unreliable by number.
from jellyfin-plugin-trakt.
Scrobbling in my PR isn't the problem. It's manually marking as watched/unwatched. Trakt returns exactly what was provided when sending back what it didn't find. JF assumes this is always a episode object, but when it's a series/season/episode structure that is needed when doing SxE and deserializes it incorrectly. (I think that is the case, I know it is a problem with deserialization. Haven't worked on this in a bit)
from jellyfin-plugin-trakt.
Related Issues (20)
- Import stuck on 0.0% HOT 5
- Watch state does not sync correctly leaving all watched shows in a half watched state HOT 1
- Add lists to collection HOT 3
- Sync two jellyfin accounts to one trakt account
- Sends duplicate data, exhausting trakt.tv API limits HOT 2
- Plugin-Api connection seems to stop working after a few minutes HOT 1
- Can't Authorize Device: 500 - Internal Server Error HOT 3
- Jellyfin marking series episodes 2x HOT 4
- Something went wrong . HOT 1
- Handling multiple users HOT 1
- Flooded with error: "Event details incomplete. Cannot process current media" HOT 3
- Episodes are marked unwatched if the season is missing from Trakt
- [Jellyfin Trakt plugin] still creates 100x duplicate watch history HOT 16
- Wrong episode is scrobbled (production order) HOT 2
- Cannot load plugin on Jellyfin 10.9.0 HOT 1
- Plugin Broken under Jellyfin 10.8.13
- Ff
- please add comprehensive logging, or point me where to enable one HOT 3
- Update README.md
- Trakt sync speed issue
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jellyfin-plugin-trakt.