Mini Player and Fit to Window not working.
Bug Report:
The custom miniplayer is no longer working for some reason I can get it to work by toggling the setting for it but as soon as I refresh it stops working.
The Fit to Window button no longer shows up at all thus I can't even activate it. I assume it is working otherwise.
- Steps to reproduce this: (Might only happen with a certain feature of our's enabled?) I installed the extension fresh on brave browser to see if I could reproduce on brave and with default settings and it looks like the fit to window button it back but the miniplayer issue did not change. So it should just be activate the miniplayer and see if it works and it shouldn't.
as for Fit to window it seems like it is a purely firefox issue I tried it on firefox base and mercury, not sure about other forks though. I imagine it is just install it on firefox activate the setting and see if it works.
- Since when?: When YouTube changed something? Through our update? today 8/14/24, it was working fine yesterday.
-
Browser:
firefox but tested on brave as said above. -
Are any errors shown in the Browser-Console?: (
F12-key, thenconsole-tab) yes so many here is a snippet: Uncaught ReferenceError: trustedTypes is not defined playerFitToWinButton moz-extension://2b114f85-8c7d-4280-b6af-1712801590ff/js&css/web-accessible/www.youtube.com/player.js:809 videoPageUpdate moz-extension://2b114f85-8c7d-4280-b6af-1712801590ff/js&css/web-accessible/functions.js:285moz-extension://2b114f85-8c7d-4280-b6af-1712801590ff/js&css/web-accessible/init.js:140 dispatchEvent https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:7378 fireEvent https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:7376 e https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:7368 6687_onFulfilled https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:1039 Rka https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:1049 Nka https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:1049 executeCallbacks_ https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:1048 kka https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:985 promise callbackgka https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:984 Bi https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:983 Oka https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:1046 Kka https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:1037 Jka https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:1041 then https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:1033 loadData https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:27340 VI https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:11032 cJ https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:11201 IFb https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:11205 Ca https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:43 next https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:45 raa https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:52 raa https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:51 r https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:52 IFb https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:11203 job https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:1936 c https://www.youtube.com/s/desktop/ff62cad7/jsbin/desktop_polymer.vflset/desktop_polymer.js:1917 S https://www.youtube.com/s/desktop/ff62cad7/jsbin/scheduler.vflset/scheduler.js:45 V https://www.youtube.com/s/desktop/ff62cad7/jsbin/scheduler.vflset/scheduler.js:54 P https://www.youtube.com/s/desktop/ff62cad7/jsbin/scheduler.vflset/scheduler.js:47 requestIdleCallback handlerg.start https://www.youtube.com/s/desktop/ff62cad7/jsbin/scheduler.vflset/scheduler.js:55 wa https://www.youtube.com/s/desktop/ff62cad7/jsbin/scheduler.vflset/scheduler.js:52 O https://www.youtube.com/s/desktop/ff62cad7/jsbin/scheduler.vflset/scheduler.js:49 setTimeout handlerg.start https://www.youtube.com/s/desktop/ff62cad7/jsbin/scheduler.vflset/scheduler.js:55 S https://www.youtube.com/s/desktop/ff62cad7/jsbin/scheduler.vflset/scheduler.js:50 requestAnimationFrame https://www.youtube.com/s/desktop/ff62cad7/jsbin/web-animations-next-lite.min.vflset/web-animations-next-lite.min.js:96 requestAnimationFrame https://www.youtube.com/s/desktop/ff62cad7/jsbin/web-animations-next-lite.min.vflset/web-animations-next-lite.min.js:96 start https://www.youtube.com/s/desktop/ff62cad7/jsbin/scheduler.vflset/scheduler.js:55 V https://www.youtube.com/s/desktop/ff62cad7/jsbin/scheduler.vflset/scheduler.js:54 P https://www.youtube.com/s/desktop/ff62cad7/jsbin/scheduler.vflset/scheduler.js:47 requestIdleCallback handlerg.start https://www.youtube.com/s/desktop/ff62cad7/jsbin/scheduler.vflset/scheduler.js:55 V https://www.youtube.com/s/desktop/ff62cad7/jsbin/scheduler.vflset/scheduler.js:54 S https://www.youtube.com/s/desktop/ff62cad7/jsbin/scheduler.vflset/scheduler.js:50 requestAnimationFrame https://www.youtube.com/s/desktop/ff62cad7/jsbin/web-animations-next-lite.min.vflset/web-animations-next-lite.min.js:96 requestAnimationFrame https://www.youtube.com/s/desktop/ff62cad7/jsbin/web-animations-next-lite.min.vflset/web-animations-next-lite.min.js:96 start https://www.youtube.com/s/desktop/ff62cad7/jsbin/scheduler.vflset/scheduler.js:55 Ja https://www.youtube.com/s/desktop/ff62cad7/jsbin/scheduler.vflset/scheduler.js:68 Y https://www.youtube.com/s/desktop/ff62cad7/jsbin/scheduler.vflset/scheduler.js:67 setTimeout handlerIa https://www.youtube.com/s/desktop/ff62cad7/jsbin/scheduler.vflset/scheduler.js:67 Ja https://www.youtube.com/s/desktop/ff62cad7/jsbin/scheduler.vflset/scheduler.js:68 bt https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:1816 hPa https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:4841 XB https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:10978 Fe https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:10972 vV https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:5251 Es https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:10726 Es https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:10529 Z https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:4756 promise callbackgOa https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:4759 Z https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:4756 promise callbackgOa https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:4759 Z https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:4756 promise callbackgOa https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:4759 Z https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:4756 promise callbackgOa https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:4759 Z https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:4756 promise callbackgOa https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:4759 Y https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:4754 promise callback*g.k.start https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:10596 hOa https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:4758 uT https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:4763 OT https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:4834 LSa https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:5248 MSa https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:5236 initialize https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:10951 ZXa https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:5841 XXa https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:5801 MW https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:5796 then https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:8339 MW https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:5796 WXa https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:5794 VO https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:11263 LW https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:5791 $Xa https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:5803 O_ https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:6964 e6a https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:6958 E_ https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:6923 create https://www.youtube.com/s/player/53afa3ce/player_ias.vflset/en_US/base.js:12457 playerBootstrap https://www.youtube.com/watch?v=k1sVjN2F43k:20 https://www.youtube.com/watch?v=k1sVjN2F43k:21
clicking on the link for the error on the fit to window button brings me to this code snippet: line 804 in player.js
ImprovedTube.playerFitToWinButton = function () {
if (this.storage.player_fit_to_win_button === true && (/watch\?/.test(location.href))) {
let tempContainer = document.createElement("div");
// Create a Trusted Type policy
const policy = trustedTypes.createPolicy('default', { // <- error on this line here on trusted types not defined
createHTML: (string) => string,
});
also brings me to line 285 in functions.js as well as line 140 in init.js
doesn't seem to be any errors pertaining to the miniplayer though.
-
Does the bug not happen when you log out of YouTube? Then please copy your experiment flags list twice (with & without the error to compare). Enter:
yt.config_.EXPERIMENT_FLAGSinto the Browser console on youtube (F12-Key - Or find it in the html source(ctrl+U)
doesn't matter if I am logged in or not.
I feel like the Fit to window bug should be relatively easy but I am sorry I couldn't be more help on the miniplayer.
OPTIONAL (usually): -->
- ImprovedTube Version (Written in the Extension header & your Browser's store) couldn't find version but the last update was appearently Aug 9 2024 for me which makes me wonder how Fit to window was working for me at all for the last few days if the error was a not defined error.
- Tested as only active extension or in incognito mode?: yes the bug still appears.
- Your Settings (From the Extension's
⋮-Hamburger menu > Settings > Backup & reset > Export settings (You can remove any Blocklist, History Analyzer data - or paste the following in the Browser-Console and hit enter:(function({analyzer, blocklist, ...a}){return JSON.stringify(a)})(ImprovedTube.storage)) Uncaught ReferenceError: ImprovedTube is not defineddebugger eval code:1 got this error for this command. not familiar with java script or browser consoles so I have no idea how to fix that. but I installed it fresh and all my data looked like it was purged so just the -Fit to Window and -Custom miniplayer should be the only ones besides default. - YouTube-Document: (
F12copy the whole root element: <html> (alternative: CTRL+U) (https://github.com/code-charity/youtube/wiki/Contributing#Test ) - OS / Device: Linux Mint Desktop
an added note: the miniplayer setting persists until you do a full refresh so I am assuming that it might have something to do with when the setting is applied. It seems like the setting is applied properly when you toggle the setting but it doesn't on the initialization of the extension. This is just my best guess though.
Before the latest update Fit to windows had stopped working on chromium browsers due to requiring use of trusted type policy, this is not required on non-chromium browsers like firefox. Latest update to the extension had fixed it for chromium browser but it does't work on firefox. I have a fix that could work but don't know how to test on firefox.
Checked the code, few hours ago fix has been added already.
alright @SabalM is there a way to add that now while I wait for next months update?
It would have been easy to do on chromium browsers. I'm not sure on firefox.
Piggybacking off this; so do we just have to wait for the next update for the fit to window feature to work on firefox?
by the way with the recent update fit to window is still not working due to a different error. svg is not defined.
this.createPlayerButton({
id: 'it-fit-to-win-player-button',
child: svg, // <- right here
opacity: 0.85,
position: "right",
onclick: function () {
this is on line 825 of player.js in the www.youtube.com directory of the repo
hi and thanks! @Korygauger @SabalM @junvm sorry i didnt notice this thread before