- Fix page top margin as certain elements seem to ignore the CSS properties completely (Issue #88)
- Bind toggle to
keydown
instead ofkeyup
so that pressingCtrl+W
to close a tab does not trigger the YTWP toggle when you then focus on a Youtube tab.
- Bind to
yt-page-data-fetched
andyt-navigate-finish
to fix the back button not cleaning up the window view sinceyt-navigate-start
does not always fire (Issue #72 and #76) - Bind
keyup
notkeypress
(which is deprecated). Also cancel event duringkeydown
. This fixes thew
key also changing the caption box style. It should also fix changing the toggle key toEscape
(Issue #71)
- Attempt to fix
ytd-watch-grid
papercuts (Issue #81)
- Attempt to fix
ytd-watch-grid
(Issue #81)
- Fix video container getting shifted again after YT update caused by new
full-bleed-player
layout. Thanks again @Vamael for the fix. (Issue #79)
- Fix video container getting shifted after YT update caused by new
full-bleed-player
layout. Thanks @Vamael for the fix. (Issue #79)
- Fix video container getting shifted after YT update (Issue #77)
- Fix nav moving around when guide is open.
- Added
background-color: black
to#movie_player
so it looks better in light mode.
- Fix theater mode toggle.
ytd-watch-flexy
DOM is weird. (Issue #75) - Listen for
yt-navigate-start
andyt-navigate-finish
events.
- Add quick boolean toggle for enableOnLoad (Issue #67 and #69)
- Fix video cropping caused by object-fit:cover (Issue #70)
- Make it easy to change script toggle keybinding as it'll need to change (Issue #71)
- Fix toggling theater mode as YouTube moved the button into the settings cog menu (Issue #66)
- Disable script when an unavailable video is detected
- Remove some logging
- Resize the video faster by styling the
#player-wrap
element.
- Fix scrollbar not being hidden in Chrome.
- Bind
w
key to toggle off script on current page. - Prep toggle code for firefox extension.
- Fix autogenerated gaming channel "live channels" page like https://www.youtube.com/channel/UCZtmNrG53nmbq-Ww2VJrxEQ/live (Issue #46)
- Support
/user/channelName/live
url paths like https://www.youtube.com/user/pokemon/live (Issue #29)
- Fix hidden video bug when fullscreen (Issue #43)
- Fix miniplayer video getting positioned offscreen.
- Add experimental support for hiding scrollbar in Firefox v63. Go to
about:config
and setlayout.css.scrollbar-width.enabled
totrue
, then restart Firefox.
- Fix the current video thumbnail not showing up when autoplay is disabled.
- Fix the black bg showing a white section when the miniplayer is active.
- Support (one of) the new "flexy" youtube interface.
- Slightly fix the playlist area positioning in the old youtube layout.
- Use a 32px icon so that it looks better in various browser extensions.
- Support YouTube's experimental MiniPlayer Bar.
- Fix onScroll event not triggering in firefox.
- Fix script not loading error when the page has only loaded halfway.
- Use !important to fix compatibility with Youtube+ on the old Youtube layout.
- Fix the autocomplete popup when the video is still visible.
- Fix the positioning of the search box's autocomplete popup (it was previously hidden).
- Attempt to cleanup the player every 2.5sec instead of every 1sec, as well as the first 150 frames on page load.
- Constantly attempt to enter Theater mode every second if we don't enter it right away.
- Support entering theater mode in the old layout.
- Focus on video on page load.
- Support Youtube+'s successor script (Iridium)'s "Video always visible" feature.
- Fix seekbar resizing when the window is less than ___px wide.
- Fix scrolling jitter on load caused by the search box getting focus.
- Toggle theater mode to fix the progressbar since it works consistently.
- Fix videos on channel pages when first visiting a video page.
- Enable script on
/c/ChannelName/live
and/channel/ChannelId/live
pages.
- Fix update loop not starting.
- Don't start another fix loop when one is in progress.
- Reattempt fix 10 more times on page load (shit solution but it works).
- Fix regex checks in FF v54.
- Attempt to fix resizing the progressbar after a few vidoes have played.
- Fix detection for video -> video page changes.
- Keep track of the player size instead of querying the element every time it's looked up (which is a lot).
- Finish the last regex for applying the control bar fix on page load, control bar should now work in firefox.
- Patch the player with a newer method to retrieve the app instance. Works for Chrome, but firefox needs one more regex update. Will push a final fix for firefox later today.
- Undo the update for the control bar since it can cause a second instance of the player.
- Quick update for the control bar monkey patch. We need to reinit the player so it's slightly slower than normal. Unfortunately the list of players isn't exposed anymore.
- Fix the info card button in the top right. Example of button: https://www.youtube.com/watch?v=XGu-WCyiaEY
- Make it easy to edit the script to set the player to a fixed height.
- Fix Material UI bug. Don't use pubsub anymore since Material UI keeps fucking around with it's API. Just use a periodic timer.
- TempFix for detecting page transition for the Material UI. Check the URL every 500ms and see if it's changed. A proper fix will come when I find a better solution.
- Fix high CPU usage caused by binding listeners over and over due to an error (and my bad code).
- Don't run on
/shared
pages anymore.
- Fix content positioning in the Material Design css.
- Fix some error spam caused by the pubsub/pubsub2 subscribe() function getting moved.
- Update CSS to support new beta of the Material Design layout (tested by adding
&f6=4
to thePREFS
cookie).
- Support
/shared
pages.
- Hide the scrollbar on video pages (webkit browsers).
- No longer promote Stylish to hide scrollbars now that the extension spies on you by default.
- Add support for the Material Design UI experiment.
- Rewrite the previous fix since it caused problems.
- Fix empty space when closing the share widget.
- Fix seekbar fix regex.
- Don't run script in youtube.com video iframes, or iframes on youtube.com. Now compatible with "Simple YouTube MP3 Button".
- Fix videos on channel pages when first visiting a video url.
- Force width to 100% on the
#player-api
element to fix compatibility with Youtube+.
- Prevent script from running on channel pages.
- Proper fix for the player ui not resizing before being clicked.
- Tempfix the player ui not resizing before being clicked.
- Tempfix the player ui not resizing before being clicked.
- Stop duplicating the stylesheet every page.
- Target
body[data-spf-name="watch"]
if spf is enabled so the player remains the same size when changing video.
- Fix a few errors.
- Fix the autoplay UI not being shown.
- Cleanup cached varibles when changing pages. Should fix the seekbar width breaking after a few videos.
- Make compatible with Youtube+'s "Player always visible when reading comments" feature.
- Trigger resizing the player controls after patching it's size function.
- Fix the Skip Ad UI getting hidden.
- Reenable the html5 seekbar fix since apparently the problem is unrelated to my script.
- Disable the html5 seekbar fix (for now). My technique appears to break everything (comment loading/autoplay/buttons) on occasion.
- Fix playlist widget overlaying sidebar.
- Fix html5 seekbar.
- Fix playlist overlaying the rest of the sidebar.
- Fix playlist overlaying the video description when using Youtube+.
- Make script slightly compatible with Youtube+ after clicking another video.
- Update HTML5 fix for the old player.
Objects.keys(obj.constructor.prototype)
was skipping the property, so usedfor (var k in obj){}
.
- Make script slightly compatible with Youtube+
- Fix player offset when the window is really small.
- Update HTML5 fix for old player.
- Fix removing transition on the masthead. YT Center has another rule with
!important
. - Fix the playlist widget getting hidden beneath the player.
- Update HTML5 fix.
- Remove transition on the masthead.
- Fix the height on new
.html5-video-container
element.
- Update HTML5 fix.
- Prevent offset on
.player-api
when in theater mode.
- Update HTML5 fix regexes.
- Hide the
#placeholder-player
element.
- Update HTML5 fix regexes.
- Update HTML5 fix regexes.
- Update HTML5 fix regexes.
- Fix double audio bug after clicking a video on the homepage/search page.
- No longer reloading the html5 player to get the
playerInstance
. We are instead creating an unused dummyplayerInstance
to get the reference to it's constructor, which has a static list of the list of activeplayerInstances
. - Reattempt to subscribe to
pubsub
events 1 second later if we get an error.
- Fix double audio due to not doing a null check.
- Hide
Skip navigation
text that overlays the video.
- Search with regex for function that need replacing in HTML5 player.
- Update HTML5 fix variables and check in case things have changed.
- New HTML5 player fix method which should fix any weird video => video navigation bugs.
- Update to the new "detailpage" variable for the HTML5 fix.
- Update to the new "detailpage" variable for the HTML5 fix.
- Fix bug when visiting a non /watch page first before navigation to the watch video page.
- Update to the new "detailpage" variable for the HTML5 fix.
- Remote undoing the HTML5 player fix before navigating to a new video as it isn't needed.
- Re fix the progress bar scaling issue.
- Undo the HTML5 player fix before navigating to a new video in order to also load the video description / comments.
- Fix a second video player getting loaded when running this script along Youtube Center, this reintroduces the progressbar bug for users with YT Center. Please use the dev build of YT Center until the author pushes the fix to the main build.
- Fix HTML5 progress bar not resizing. Thanks to YePpHa for re-solving this bug in YoutubeCenter Issue #1083.
- Completely hide the Player controls on the HTML5 player since we're reloading the player anyways.
- Fix HTML5 progress bar not resizing. Thanks to YePpHa for solving this bug in YoutubeCenter. [Screenshot]
- Fix the player getting right aligned in some cases. [Screenshot]
- Prevent the script from running twice on the same page.
- Remove poorly done HTML5 fix. The HTML5 progress bar will remain unfixed until a Youtube update provides the ability to resize it.
- Use CSS absolutly positioning to move the player. This should fix playback restarting while moving the player.
- Attempt to fix the html5 player. The seek bar & annotations might not scale properly.
- Remove debugging code that broke the script due to a raise in javascript execution security.
- Style
#watch7-sidebar {top: 0 !important; }
to fix the sidebar overlapping the player. - Fix the guide from being off position when viewing the video.
- Style the new
#player-mole-container
element. It had a height of 0, which was hiding the player.
- [Link] BugFix: On the HTML5 player, resizing it to a non standard width will cause the cursor in the seek bar to not line up. In order to fix this, the script now removes the
.watch-small
,.watch-medium
or.watch-large
from the#player
element.
- Hook into the
appbar-guide-delay-load
event. It should be called on every single page however, unlike the other events... - Fix another regression from rewriting the script: check if the script is on a
/watch?
page before runnning.
- Re add code to move the playlist as not all users might have updated to the new UI.
- Check the previous player state before moving to decide to autoplay or not.
- Fix issue where video would bug when playing videoes in a row.
- Refactored script.
- Autoplay videos as moving the player pauses the video.
- Automatically uncheck relevant YT Center settings for the user. This is done during the
player-added
event simply because it (should) be after YT Center is up and running.
- Create a placeholder to mark where the player was, so we can move it back there during a SPF navigation.
- Hook into the
init-watch
anddispose-watch
events rather than the ones used before (player-added
andnavigate
).
- Minor CSS update to fix padding below the playlist tray caused by todays update.
- [Thread] Update the fixed header so it doesn't overlay the video.
- Go back to moving the #player element rather than #player-api as the playlist bar is no longer attached above it.
- Remove references to
-legacy
. - Check the
window.location.href
for/watch?
to run the script. The old way no longer works (checking for#player-api
) as it's now pregenerated even on the homepage. - Add debugging ouput to the console.
- Move the Video Manager bar into
#watch7-content
so that it fits in seemlessly [Screenshot].
- The script now moves the playlist bar and tray. The playlist tray is moved into the sidebar element.
- General cleanup of unused styling.
- Don't remove the script selector from the body element during AJAX navigation as it looks weird if you notice the removal of this scripts styling. Youtube will removes it later (at a proper time) anyways.
- Only hide the horizontal scrollbar when fully scrolled to the top.
- [Thread] Update for today's Youtube update.
#player-api
→#player-api-legacy
.
- [Thread] Bug Fix for users using Youtube Center. Had to override the height on the
#player
element.
- [Thread] Bug Fix for users using Firefox. The
#player-api
element had afloat: left;
on it. The UI in general doesn't seem to have had the update Chrome does (no fixed header + guide).
- [Thread] Wrap an exception caused by the
window.yt
not yet existing when the script gets run in NinjaKit on Safari. Will possibly cause this bug to resurface when using safari.
- Fix bug in Firefox/Greasemonkey where the script would break trying to get the
window.yt
object reference by changing all references towindow
tounsafeWindow
.
- Run the script slightly earlier at the
player-added
event. - The horizontal scrollbar is now hidden until the video is no longer visible.
- Fix bug where the playlist tray was overlapping the video.
- Fix bug where the script was run twice on page load.
-
I managed to find a proper place to hook into Youtube's new AJAX technique. Wrapping
window.history.pushState
didn't seem to work. On a further look, it also seems like I should have tried wrappingreplaceState
as well. Instead of wrappingytspf.config
like Youtube Center, I've foundyt.pubsub.instance_.subscribe(eventName, callback)
. The bugs listed in 1.17 are fixed.- Listen to the
navigate
event which is triggered before the page loads through AJAX in order to perform a cleanup (delete the video player as it's out of position). - Listen to the
player-ready
event in order to move the player.
- Listen to the
Youtube's latest update now loads new pages through ajax (and also when you click a Youtube link in Google).
- Temporarily move the main selector used to identify the script
body.ytwp-window-player
tohtml.ytwp-window-player body
. Navigating to a new page through ajax will clear all classes attached to the body element.
Until I've managed to hook into Youtube's new SPF/Ajax technique, the following bugs will be prevalent.
- Visiting the homepage, then clicking a video won't cause the script to run.
- Visiting the homepage (or any other url) will still show the last video above the page.
- Use unsafeWindow.addEventListener(...) instead of window.onresize = function(){...}. window.addEventListener was broken in the recent version of Tampermonkey, but should work now.
- Use absolute positioning on the guide until the user has scrolled past the video completely.
- Do checks for if the video is in view (for switching to the fixed header) when the window is resized.
- Minor refactor on the last update and removed a debugging
console.log()
.
- Use absolute positioning on the fixed header until the user has scrolled past the video completely. It will add the class
ytwp-viewing-video
to the body element when doing so.
- Remove some whitespace from some large areas of whitespace caused by branded pages (Example).
- Resize the playlist tray to the same width as the sidebar.
- Inject the completed stylesheet instead of updating as the script runs.
- Fix edge case missed in the last version. There was another rule that affected the padding-left when the guide was collapsed and under the small page width media query.
- Fix padding on the playlist bar when using 'Center Page' in YT Center.
- Removed
padding
andmargin-top
override on#player
. - Adjusted selectors for the sidebar due to the shifting of element/classes.
- Change all occurance of
#playlist-main-container
to#playlist
. - Use
!important
when settingsmargin-top
on the sidebar due to it being set at element level (only on non-playlist pages). - Fix styling margins on the sidebar on pages with the playlist bar.
- Updated for Youtube's new layout.
#watch7-video-container
became#player
,#watch7-video
became#player-api
. - The fixed Feedback button code was removed (no longer there).
- Raised the
z-index
of the#watch7-creator-bar
due to the#guide
overlaying it and making the buttons unclickable. This is most likely a side effect of the last patch because the#watch7-creator-bar
was a child of#watch7-video-container
and therafor was no longer moved with the video (speculation). The creator bar currently looks like so.
- Script is now only run on the /watch page.
- Removed whitespace margin leftover from moving the video.
- The script now moves the
#watch7-video
instead of the#watch7-video-container
element due to Youtube's new update which will move the#watch7-playlist-container
element above the#watch7-video-container
element. An example of this new bug can be seen here. - Fixed typo in local variable name.
- Refactored code to inject overriding CSS instead of applying styling to the elements themselves.
- Deleted the Feedback element altogether.
- Fixed compatibility with YT Center. (Forum Post)
- Fixed styling of the Video Manager bar when browsing your own videos. (Forum Post) (Example)
- Added css class to the
body
tag so people can style around this effects of this script. Usebody.ytwp-window-player
with your selector(s). - Overwrote the smooth resizing of the video player.
- Fixed the video getting resized when opening the guide (Example).
- Moved the fixed Feedback element to the bottom of the page (Example).
- Fix styling on pages with a playlist bar by:
- Moving down the related videos with the small video player
- Fixing the width of the playlist bar and un-hiding the toggle playlist button in large video mode.
- Update script metadata.