aboutsummaryrefslogtreecommitdiffstats
path: root/netflix-immersive.user.js
AgeCommit message (Collapse)Author
2021-08-15Increase version v0.0.1 -> v0.1.0Teddy Wing
2021-08-14Add notes about possibly obsolete codeTeddy Wing
2021-08-14Hide distractions when Seamless controls are addedTeddy Wing
Seamless controls can be added during the end credits of a series episode. When those controls are added, the "Back to Browse" button appears as well as the mouse cursor. A transparent promo background also appears. Hide the "Back to Browse" button and promo background in CSS. Add a new `seamless` module to handle hiding the mouse cursor. Listen for the addition of the `.SeamlessControls--container` element, which means Seamless controls were activated. At this point, force the cursor to be hidden. Show it again when the user moves the mouse.
2021-08-14fullscreen_credits: Log when credit handling happensTeddy Wing
This allows us to confirm in the logs that we started handling credits.
2021-08-14fullscreen_credits.ts: Hide controls after clicking minimised videoTeddy Wing
Now that the controls are shown and hidden by being added to and removed from the DOM (instead of with CSS classes as before), we need a different method to hide player controls after clicking on the minimised video to maximise it and enable the controls again. Here, we add CSS that hides the controls (and the "Back to Browse" button, which also appears in sync with them) so that they don't appear after the script auto-maximises the video. Four seconds seemed to be about enough time for the player to automatically hide them, at which point we need to remove the styles so that the controls can be accessed by users.
2021-08-14fullscreen_credits.ts: Start getting credits working again after updateTeddy Wing
Netflix updater their player UI in early August 2021. This caused my credits handling to stop working. Haven't tested it for series episodes, only movies so far. This gets fullscreen credits mostly working again. The only thing wrong now is that the player controls appear for a few seconds when the credits are re-maximised. * Since the player element changed, we have to watch a different element now. We can still use class names to partially revert the minimisation. * The `<video>` element has inline styles that minimise it. We need to override these now to make it fullscreen. * Promos are now in `.OriginalsPostPlay-BackgroundTrailer`, which is rendered in front of the video, so this element must be hidden. * In order to click the minimised video, we have to click the `<div>` inside it which the click event is now bound to. * Added some ideas for hiding the player when the minimised video is clicked, but haven't solved that part yet. The problem there is that previously, the controls were always present in the DOM, and hidden with a class. Now, they're added to and removed from the DOM when shown and hidden.
2021-08-14Update copyright year for 2021Teddy Wing
2021-08-14styles.ts: Add new age rating CSS classTeddy Wing
New css class for age ratings. The old one appears not to be used any more. Changed as a result of an early August 2021 player UI overhaul.
2021-08-14index.ts: Add initialising logTeddy Wing
Write a log message upon initialisation so we can confirm the script is running.
2020-05-24index.ts: Reinitialise when the page changesv0.0.1Teddy Wing
Netflix doesn't reload when you change pages, so our listeners don't get reinitialised. This means, when you watch one video, then click the "Back to Browse" button to go back to the /browse page, and select another video, Immersive won't work on the newly-loaded video. Ensure the plugin works in this case by reinitialising when the `popstate` changes.
2020-05-16userscript-header.txt: @match all Netflix URL pathsTeddy Wing
When the `/watch` page was opened from a Netflix `/browse` or `/title` page, the user script wouldn't be loaded. This is because the navigation happens via JavaScript, so Greasemonkey can't load the script. Ensure the script is always loaded by matching all Netflix URL paths.
2020-05-10fullscreen_credits: Remove `attributeOldValue` on mutation observerTeddy Wing
Don't need the old attribute value. I had added this originally to be able to print the values to the console for development. Now it's no longer needed.
2020-05-10Hide the cursor when credits playTeddy Wing
When the credits start playing, we click on the player, giving it the `active` class, and causing the mouse cursor to appear. The cursor should remain hidden.
2020-05-10styles: Hide the white border that appears around creditsTeddy Wing
A white border appears around the frame while the credits are in minimised mode. This is visible on the top and left sides of the frame. Since we automatically click on the video, the white border only appears for a second or less, but it's still visually jarring, all the more because it shifts the position of the video. Remove the white border, ensuring it never appears.
2020-05-09styles: Set !importantTeddy Wing
The age advisory ratings weren't properly hidden. Probably due to CSS specificity. Add `!important` to ensure that the elements we want to hide are always hidden.
2020-05-09Add documentation commentsTeddy Wing
2020-05-09styles: Make the styles() function the default exportTeddy Wing
2020-05-08Add license (GNU GPLv3+)Teddy Wing
2020-05-08Rename project to "Immersive"Teddy Wing
Sounds better than "No Skip", and also reflects the fact that we want to remove anything that hinders immersion while watching a video, not just skipped credits.