Wip - #1803
Open
Breezyslasher wants to merge 4 commits into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Check if this PR fulfills these requirements:
Types of changes
Description
Repair
plugin.video.netflixagainst the current Netflix websiteNetflix reshaped its member API over 2026: Falcor paths that the add-on has
asked for years now answer
404, several features moved to persisted GraphQLqueries on a different host, and the sign-in flow gained an identity check that
the add-on had no way to answer. The add-on was effectively unusable — it could
not sign in, and once signed in most menus were empty.
This branch follows the current website call by call. Every change was derived
from a HAR capture of the real site and verified against a Kodi debug log from
the device, not from guesswork.
68 commits,
1.23.6+matrix.20→1.23.6+matrix.94, 40 files changed(+2246 / −237) on top of the imported upstream add-on.
Sign-in and identity verification
chooses the e-mail code option, prompts for the code (saying how many
digits it expects), and closes the screen in the same order the website does.
a hardcoded URL.
session, so the settings pages and the check screens are not served different
content than the login was.
longer needs a stored password at all; where a password was previously
mandatory the add-on now tries the session cookies first and only falls back
to the password if the cookies are refused.
Profiles, PIN and parental controls
endpoint is gone), and the result is reported to the user.
identity-check flow — the add-on asks Netflix whether the lock needs identity
confirmation instead of assuming.
previously had no route.
read and saved with the routing header the save requires.
Menus and browsing
request shapes the website uses.
aborts the listing — handled everywhere such a row is read.
labels, and four of those were wrong:
currentTitleswas labelled"Alphabetical order (A-Z)",
mostViewedwas labelled "Recommendations"(colliding with the real Recommendations menu, so two identical folders
appeared and one served popular titles), and
newReleaseandnetflixOriginalshad no label at all — which silently dropped them from themenu entirely. Each now carries the label its own settings toggle already
advertised.
fall back to the browse page, then to the previous path; log the status the
bare root returns, and stop spending requests probing page identifiers that
were never roots.
Titles, metadata and artwork
video.
keep it — the field moved and the old location returns nothing for some titles.
request per page.
field nothing in the grid displays.
My List, reminders and ratings
current mutations.
read without the retired path, and the "love" rating the website has was
added (with the rating dialog updated to match).
Search
Resilience and speed
rather than failing the whole listing.
404/412) are remembered, so the samedoomed request is not paid for again in the same session — this also stopped
refusals from making the session look expired.
context and browser identity the website sends.
one listing.
Verification
Every change in this branch was exercised on a real device (Kodi on Linux,
Widevine L3) and confirmed from the debug log. As of
matrix.94:Chunked request will be executed with auth data: {'auth_scheme': 'NETFLIXID'},manifest 242 ms, license 113 ms,
License update successful, playback startevent accepted.
Known limitations
locopath answers404and the browsepage no longer carries a root id anywhere, so the main menu uses built-in
labels. Everything works; the menu entries just don't take their names from
Netflix's own row titles.
metadata path (
404) and the genre metadata field list (412, retried witha lighter field set).