FreeTubeApp / FreeTube

An Open Source YouTube app for privacy
https://freetubeapp.io/
GNU Affero General Public License v3.0
13.28k stars 825 forks source link

[Bug]: 80% of videos get loaded as legacy #5370

Closed RevAngel7 closed 2 months ago

RevAngel7 commented 3 months ago

Guidelines

Describe the bug

  1. Have the setup for DASH video formats as preference
  2. Play some videos
  3. Realize, that most of the videos don't load DASH but lower resolution legacy format
  4. compare with youtube - DASH formats are available and work fine at high resolution

Expected Behavior

If DASH formats are available (e.g. via youtube directly) it should load these formats, not fall back to legacy low res.

Issue Labels

feature stopped working, race condition

FreeTube Version

v0.21.0 Beta

Operating System Version

Ubuntu 24.04

Installation Method

.deb

Primary API used

Local API

Last Known Working FreeTube Version (If Any)

v0.21.0 Beta

Additional Information

I guess youtube is getting wiser with blocking freetube out by providing lower resolution than selected (in my case 1080p) and only legacy video formats to freetube. There is no error message about loading a different format, because legacy is the "right" fallback if DASH cannot be loaded.

Expected behaviour would be that when DASH is selected as the preferred video format, that it loads that video. But I guess youtube found a way to prevent this somehow. Now I am watching videos that just look awful, cannot change (or view - "show video statistics" does not work also) the video resolution, but realize that it is half (720p) or below that by the looks of it.

I think it has not so much to do with version v0.21.0 Beta, because on release date I did not have these issues. My guess is that google / youtube reacted somehow, to mostly provide low res and legacy formats to freetube.

Am I the only one getting this? Or are there more users that realize these issues?

Nightly Build

RevAngel7 commented 3 months ago

By the way: sometimes the same video, not loading as DASH can be reloaded (F5 / Ctrl-R) and load as DASH, or then load as legacy low-res again.

absidue commented 3 months ago

This sounds like #5350.

efb4f5ff-1298-471a-8973-3d47447115dc commented 3 months ago

This sounds like #5350.

Indeed sounds like it.

@RevAngel7 could you check for red errors in the dev tools (ctrl + shift+ i).

  1. Launch FreeTube
  2. Open dev tools
  3. Go to a video to reproduce the bug
  4. Make a screenshot of the red errors
RevAngel7 commented 3 months ago

https://youtu.be/tHi7T04JRJU

shift-ctrl-i

video with error: Bildschirmfoto vom 2024-07-08 11-42-02

video OK after pressing ctrl-r:

Bildschirmfoto vom 2024-07-08 11-42-20

RevAngel7 commented 3 months ago

It's a 403 (forbidden) from youtube (not like https://github.com/FreeTubeApp/FreeTube/issues/5350 ) Today the rate dropped to a lower 20% from the 80% yesterday. So it is, I would guess, not client-sided but server-sided.

ArthurKun21 commented 2 months ago

I started having this problem too, and this is different from my own issue at #5350. Unlike my own issue which would stop randomly regardless of where in the video progress, I have been experiencing this issue when clicking a video and it would not play at all and display the error from the comment above https://github.com/FreeTubeApp/FreeTube/issues/5370#issuecomment-2213545046

RevAngel7 commented 2 months ago

I started having this problem too, and this is different from my own issue at #5350. Unlike my own issue which would stop randomly regardless of where in the video progress, I have been experiencing this issue when clicking a video and it would not play at all and display the error from the comment above #5370 (comment)

So you can get a 403 forbidden (from youtube) in mid-video when skipping (over the point of already preloaded) segments?

RevAngel7 commented 2 months ago

Hmm. Today FreeTube completely stopped working. For every video I tried to play. You will see invidious errors, but these are the fallback from the default used local API. DASH is preferred, 1080p, as usual.

https://youtu.be/VIPSm9EtDT8

CTRL-SHIFT-I

output:

Bildschirmfoto vom 2024-07-10 10-55-29

Bildschirmfoto vom 2024-07-10 10-56-46

RevAngel7 commented 2 months ago

Yeah, confirmed my above post by trying to restart the app and clicking new videos. 100% fail on about 50 videos. All the same error as shown above.

ArthurKun21 commented 2 months ago

did you saw the pinned issue?

RevAngel7 commented 2 months ago

Ah yes, that explains a lot. I will try the latest nightly then. Thanks for the heads up.

RevAngel7 commented 2 months ago

No luck there as well. When trying to install freetube_0.21.0-nightly-4558_amd64.deb with gdebi , I get an error message that a newer version is installed already.

Uninstalling the app and installing nightly 4558 worked tho.

Error stays the same for me:

https://youtu.be/VIPSm9EtDT8

CTRL-SHIFT-I output:

Bildschirmfoto vom 2024-07-10 11-21-53

RevAngel7 commented 2 months ago

And yes, the install worked in the end:

Bildschirmfoto vom 2024-07-10 11-24-15

efb4f5ff-1298-471a-8973-3d47447115dc commented 2 months ago

Fix isnt merged yet so nightly build wont solve anything right now.

Marking your comments regarding the pinned issue as off topic.

RevAngel7 commented 2 months ago

Ah, okay. Thank you for providing me with that information! I did not know that. (Trying to be more patient next time. Thank you guys for your work!)

efb4f5ff-1298-471a-8973-3d47447115dc commented 2 months ago

Is this issue still present on v0.21.1?

RevAngel7 commented 2 months ago

Wow, what happened to your name @efb4f5ff-1298-471a-8973-3d47447115dc (efb4f5ff-1298-471a-8973-3d47447115dc)? Nevermind.

Tested v0.21.1 with about 30 videos and none gave the issued behaviour. Thank you for your efficient work and all you have done for the project, to all people involved!

RevAngel7 commented 2 months ago

Of course, number 31...

403 error, as before. Here the video link and the error screenshot: https://youtu.be/lqoOUcJSOK0 Bildschirmfoto vom 2024-07-11 22-42-14

CTRL-R could resolve the problem, DASH was loaded.

RevAngel7 commented 2 months ago

https://youtu.be/DNeu4p9rQx0

Bildschirmfoto vom 2024-07-11 22-59-46

RevAngel7 commented 2 months ago

https://youtu.be/dUoag5oZKGU

Bildschirmfoto vom 2024-07-11 23-16-32

<div tabindex="-1" class="console-group console-group-messages" style="box-sizing: border-box; min-width: 0px; min-height: 0px; position: relative;"><div tabindex="-1" class="console-message-wrapper console-error-level" jslog="Item; context: console-message; track: click, keydown: ArrowUp|ArrowDown|ArrowLeft|ArrowRight|Enter|Space|Home|End" role="log" style="box-sizing: border-box; min-width: 0px; min-height: 0px; display: flex; flex-direction: column; margin: 4px; border-radius: 5px; --console-color-black: #000; --console-color-red: rgb(237 78 76); --console-color-green: rgb(1 200 1); --console-color-yellow: rgb(210 192 87); --console-color-blue: rgb(39 116 240); --console-color-magenta: rgb(161 66 244); --console-color-cyan: rgb(18 181 203); --console-color-gray: rgb(207 208 208); --console-color-darkgray: rgb(137 137 137); --console-color-lightred: rgb(242 139 130); --console-color-lightgreen: rgb(161 247 181); --console-color-lightyellow: rgb(221 251 85); --console-color-lightblue: rgb(102 157 246); --console-color-ightmagenta: #f5f; --console-color-lightcyan: rgb(132 240 255); --console-color-white: #fff; background-color: var(--sys-color-surface-error); --message-corner-rounder-background: var(--sys-color-surface-error); --console-color-lightmagenta: rgb(214 112 214);"><div class="console-row-wrapper" style="box-sizing: border-box; min-width: 0px; min-height: 0px; display: flex; flex-direction: row;"><div class="console-message" style="box-sizing: border-box; min-width: 0px; min-height: 17px; clear: right; position: relative; padding: 3px 22px 1px 0px; margin-left: 24px; flex: 1 1 auto; display: flex;"><span class="source-code" style="box-sizing: border-box; min-width: 0px; min-height: 0px; font-family: var(--source-code-font-family); white-space: pre-wrap; font-size: var(--source-code-font-size) !important; flex: 1 1 auto; line-height: 1.2;"><span class="console-message-text" style="box-sizing: border-box; min-width: 0px; min-height: 0px; color: var(--override-error-text-color) !important;">Failed to load resource: the server responded with a status of 403 ()</span></span></div></div></div><div tabindex="-1" class="console-message-wrapper console-from-api console-error-level console-selected" jslog="Item; context: console-message; track: click, keydown: ArrowUp|ArrowDown|ArrowLeft|ArrowRight|Enter|Space|Home|End" role="log" style="box-sizing: border-box; min-width: 0px; min-height: 0px; display: flex; flex-direction: column; margin: 4px; border-radius: 5px; --console-color-black: #000; --console-color-red: rgb(237 78 76); --console-color-green: rgb(1 200 1); --console-color-yellow: rgb(210 192 87); --console-color-blue: rgb(39 116 240); --console-color-magenta: rgb(161 66 244); --console-color-cyan: rgb(18 181 203); --console-color-gray: rgb(207 208 208); --console-color-darkgray: rgb(137 137 137); --console-color-lightred: rgb(242 139 130); --console-color-lightgreen: rgb(161 247 181); --console-color-lightyellow: rgb(221 251 85); --console-color-lightblue: rgb(102 157 246); --console-color-ightmagenta: #f5f; --console-color-lightcyan: rgb(132 240 255); --console-color-white: #fff; background-color: var(--sys-color-surface-error); --message-corner-rounder-background: var(--sys-color-surface-error); --console-color-lightmagenta: rgb(214 112 214);"><div class="console-row-wrapper" style="box-sizing: border-box; min-width: 0px; min-height: 0px; display: flex; flex-direction: row;"><div class="console-message" style="box-sizing: border-box; min-width: 0px; min-height: 17px; clear: right; position: relative; padding: 3px 22px 1px 0px; margin-left: 24px; flex: 1 1 auto; display: flex;"><devtools-icon role="presentation" name="cross-circle-filled" class="message-level-icon" aria-label="Error" style="flex: 1 1 auto; display: inline-block; width: 14px; height: 14px; color: var(--icon-error); vertical-align: sub; position: absolute; box-sizing: border-box; min-width: 0px; min-height: 0px; left: -17px; top: 2px; user-select: none;"><span style="display: block; width: 14px; height: 14px; background-color: currentcolor; mask: var(--icon-url) center /contain no-repeat; --icon-url: var(--image-file-cross-circle-filled);"></span></devtools-icon><div class="console-message-stack-trace-toggle" style="box-sizing: border-box; min-width: 0px; min-height: 0px; flex: 1 1 auto; display: flex; flex-direction: row; align-items: flex-start; margin-top: -1px;"><div class="console-message-stack-trace-wrapper" aria-label="renderer.js:2 VIDEOJS: ERROR: (CODE:4 MEDIA_ERR_SRC_NOT_SUPPORTED) The media could not be loaded, either because the server or network failed or because the format is not supported. qn Stack table expanded" style="box-sizing: border-box; min-width: 0px; min-height: 0px; flex: 1 1 auto; display: flex; flex-direction: column; align-items: stretch;"><div aria-expanded="true" tabindex="-1" style="box-sizing: border-box; min-width: 0px; min-height: 0px; outline-width: 0px; flex: 0 0 auto;"><devtools-icon role="presentation" name="triangle-down" class="console-message-expand-icon" style="flex-grow: 0; flex-shrink: 0; display: inline-block; width: 14px; height: 14px; color: var(--icon-default); vertical-align: baseline; position: relative; box-sizing: border-box; min-width: 0px; min-height: 0px; margin-bottom: -4px;"><span style="display: block; width: 14px; height: 14px; background-color: currentcolor; mask: var(--icon-url) center /contain no-repeat; --icon-url: var(--image-file-triangle-down);"></span></devtools-icon><span class="source-code" style="box-sizing: border-box; min-width: 0px; min-height: 0px; font-family: var(--source-code-font-family); white-space: pre-wrap; font-size: var(--source-code-font-size) !important; line-height: 1.2;"><span class="console-message-anchor" style="box-sizing: border-box; min-width: 0px; min-height: 0px; float: right; text-align: right; max-width: 100%; margin-left: 4px;"><button class="devtools-link text-button link-style" jslog="Link; track: click" role="link" tabindex="-1" title="app://bundle/renderer.js:2" style="box-sizing: border-box; min-width: 0px; min-height: 0px; font: inherit; margin: 0px; height: unset; border: none; border-radius: 2px; padding: 0px !important; color: var(--sys-color-primary); background: none; flex: 0 0 auto; white-space: nowrap; text-decoration: underline; outline-offset: 2px; outline: none; cursor: pointer; max-width: 100%; overflow: hidden; text-overflow: ellipsis; word-break: break-all;">renderer.js:2</button> </span><span class="console-message-text" style="box-sizing: border-box; min-width: 0px; min-height: 0px; color: var(--override-error-text-color) !important;">VIDEOJS: ERROR: (CODE:4 MEDIA_ERR_SRC_NOT_SUPPORTED) The media could not be loaded, either because the server or network failed or because the format is not supported. <div class="console-view-object-properties-section object-value-object source-code" style="flex: 1 1 auto; padding: 0px; --monospace-font-size: 11px; --monospace-font-family: &quot;Noto Sans Mono&quot;,&quot;DejaVu Sans Mono&quot;,monospace; --source-code-font-size: 11px; --source-code-font-family: &quot;Noto Sans Mono&quot;,&quot;DejaVu Sans Mono&quot;,monospace; box-sizing: border-box; min-width: 0px; min-height: 0px; font-family: var(--source-code-font-family); white-space: pre-wrap; font-size: var(--source-code-font-size) !important; position: relative; vertical-align: baseline; color: var(--override-error-text-color) !important; display: inline-block; overflow-wrap: break-word; max-width: 100%; line-height: 1.2;"><div class="tree-outline-disclosure tree-outline-disclosure-hide-overflow" style="box-sizing: border-box; min-width: 0px; min-height: 0px;"><ol class="tree-outline hide-selection-when-blurred source-code object-properties-section" role="tree" tabindex="-1" jslog="Tree" style="box-sizing: border-box; min-width: 0px; min-height: 0px; font-family: var(--source-code-font-family); white-space: pre-wrap; font-size: var(--source-code-font-size) !important; padding: 0px; margin: 0px; z-index: 0; position: relative; color: var(--sys-color-on-surface); display: flex; flex-direction: column; list-style-type: none;"><li title="" jslog="TreeItem; parent: parentTreeItem; track: click, keydown: ArrowUp|ArrowDown|ArrowLeft|ArrowRight|Backspace|Delete|Enter|Space|Home|End" role="treeitem" class="parent object-properties-section-root-element" aria-expanded="false" style="box-sizing: border-box; min-width: 0px; min-height: 16px; display: flex; flex-direction: row; text-overflow: ellipsis; white-space: nowrap; position: relative; align-items: center; user-select: text;"><slot style="box-sizing: border-box; min-width: 0px; min-height: 0px;"><span class="console-object" tabindex="-1" style="box-sizing: border-box; min-width: 0px; min-height: 0px; white-space: pre-wrap; word-break: break-all;">qn</span></slot></li></ol></div></div></span></span></div><div class="" role="group" style="box-sizing: border-box; min-width: 0px; min-height: 0px; flex: 0 0 auto;"><span class="monospace stack-preview-container width-constrained" style="display: inline-block; --monospace-font-size: 11px; --monospace-font-family: &quot;Noto Sans Mono&quot;,&quot;DejaVu Sans Mono&quot;,monospace; --source-code-font-size: 11px; --source-code-font-family: &quot;Noto Sans Mono&quot;,&quot;DejaVu Sans Mono&quot;,monospace; width: 500px; box-sizing: border-box; min-width: 0px; min-height: 0px; font-family: var(--monospace-font-family); font-size: var(--monospace-font-size) !important;">
  | (anonymous) | @ | renderer.js:2
-- | -- | -- | --

</span></div></div></div></div></div></div><div tabindex="-1" class="console-message-wrapper console-from-api console-error-level" jslog="Item; context: console-message; track: click, keydown: ArrowUp|ArrowDown|ArrowLeft|ArrowRight|Enter|Space|Home|End" role="log" style="box-sizing: border-box; min-width: 0px; min-height: 0px; display: flex; flex-direction: column; margin: 4px; border-radius: 5px; --console-color-black: #000; --console-color-red: rgb(237 78 76); --console-color-green: rgb(1 200 1); --console-color-yellow: rgb(210 192 87); --console-color-blue: rgb(39 116 240); --console-color-magenta: rgb(161 66 244); --console-color-cyan: rgb(18 181 203); --console-color-gray: rgb(207 208 208); --console-color-darkgray: rgb(137 137 137); --console-color-lightred: rgb(242 139 130); --console-color-lightgreen: rgb(161 247 181); --console-color-lightyellow: rgb(221 251 85); --console-color-lightblue: rgb(102 157 246); --console-color-ightmagenta: #f5f; --console-color-lightcyan: rgb(132 240 255); --console-color-white: #fff; background-color: var(--sys-color-surface-error); --message-corner-rounder-background: var(--sys-color-surface-error); --console-color-lightmagenta: rgb(214 112 214);"><div class="console-row-wrapper" style="box-sizing: border-box; min-width: 0px; min-height: 0px; display: flex; flex-direction: row;"><div class="console-message" style="box-sizing: border-box; min-width: 0px; min-height: 17px; clear: right; position: relative; padding: 3px 22px 1px 0px; margin-left: 24px; flex: 1 1 auto; display: flex;"><devtools-icon role="presentation" name="cross-circle-filled" class="message-level-icon" aria-label="Error" style="flex: 1 1 auto; display: inline-block; width: 14px; height: 14px; color: var(--icon-error); vertical-align: sub; position: absolute; box-sizing: border-box; min-width: 0px; min-height: 0px; left: -17px; top: 2px; user-select: none;"><span style="display: block; width: 14px; height: 14px; background-color: currentcolor; mask: var(--icon-url) center /contain no-repeat; --icon-url: var(--image-file-cross-circle-filled);"></span></devtools-icon><div class="console-message-stack-trace-toggle" style="box-sizing: border-box; min-width: 0px; min-height: 0px; flex: 1 1 auto; display: flex; flex-direction: row; align-items: flex-start; margin-top: -1px;"><div class="console-message-stack-trace-wrapper" aria-label="renderer.js:2 qn Stack table collapsed" style="box-sizing: border-box; min-width: 0px; min-height: 0px; flex: 1 1 auto; display: flex; flex-direction: column; align-items: stretch;"><div aria-expanded="false" tabindex="-1" style="box-sizing: border-box; min-width: 0px; min-height: 0px; flex: 0 0 auto;"><devtools-icon role="presentation" name="triangle-right" class="console-message-expand-icon" style="flex-grow: 0; flex-shrink: 0; display: inline-block; width: 14px; height: 14px; color: var(--icon-default); vertical-align: baseline; position: relative; box-sizing: border-box; min-width: 0px; min-height: 0px; margin-bottom: -4px;"><span style="display: block; width: 14px; height: 14px; background-color: currentcolor; mask: var(--icon-url) center /contain no-repeat; --icon-url: var(--image-file-triangle-right);"></span></devtools-icon><span class="source-code" style="box-sizing: border-box; min-width: 0px; min-height: 0px; font-family: var(--source-code-font-family); white-space: pre-wrap; font-size: var(--source-code-font-size) !important; line-height: 1.2;"><span class="console-message-anchor" style="box-sizing: border-box; min-width: 0px; min-height: 0px; float: right; text-align: right; max-width: 100%; margin-left: 4px;"><button class="devtools-link text-button link-style" jslog="Link; track: click" role="link" tabindex="-1" title="app://bundle/renderer.js:2" style="box-sizing: border-box; min-width: 0px; min-height: 0px; font: inherit; margin: 0px; height: unset; border: none; border-radius: 2px; padding: 0px !important; color: var(--sys-color-primary); background: none; flex: 0 0 auto; white-space: nowrap; text-decoration: underline; outline-offset: 2px; outline: none; cursor: pointer; max-width: 100%; overflow: hidden; text-overflow: ellipsis; word-break: break-all;">renderer.js:2</button> </span><span class="console-message-text" style="box-sizing: border-box; min-width: 0px; min-height: 0px; color: var(--override-error-text-color) !important;"><div class="console-view-object-properties-section object-value-object source-code expanded" style="flex: 1 1 auto; padding: 0px; --monospace-font-size: 11px; --monospace-font-family: &quot;Noto Sans Mono&quot;,&quot;DejaVu Sans Mono&quot;,monospace; --source-code-font-size: 11px; --source-code-font-family: &quot;Noto Sans Mono&quot;,&quot;DejaVu Sans Mono&quot;,monospace; box-sizing: border-box; min-width: 0px; min-height: 0px; font-family: var(--source-code-font-family); white-space: pre-wrap; font-size: var(--source-code-font-size) !important; position: relative; vertical-align: baseline; color: var(--override-error-text-color) !important; display: inline-block; overflow-wrap: break-word; max-width: 100%; line-height: 1.2;"><div class="tree-outline-disclosure tree-outline-disclosure-hide-overflow" style="box-sizing: border-box; min-width: 0px; min-height: 0px;"><ol class="tree-outline hide-selection-when-blurred source-code object-properties-section" role="tree" tabindex="-1" jslog="Tree" style="box-sizing: border-box; min-width: 0px; min-height: 0px; font-family: var(--source-code-font-family); white-space: pre-wrap; font-size: var(--source-code-font-size) !important; padding: 0px; margin: 0px; z-index: 0; position: relative; color: var(--sys-color-on-surface); display: flex; flex-direction: column; list-style-type: none;"><li title="" jslog="TreeItem; parent: parentTreeItem; track: click, keydown: ArrowUp|ArrowDown|ArrowLeft|ArrowRight|Backspace|Delete|Enter|Space|Home|End" role="treeitem" class="parent object-properties-section-root-element expanded" aria-expanded="true" style="box-sizing: border-box; min-width: 0px; min-height: 16px; display: flex; flex-direction: row; text-overflow: ellipsis; white-space: nowrap; position: relative; align-items: center; user-select: text;"><slot style="box-sizing: border-box; min-width: 0px; min-height: 0px;"><span class="console-object" tabindex="-1" style="box-sizing: border-box; min-width: 0px; min-height: 0px; white-space: pre-wrap; word-break: break-all;">qn<span class="object-state-note info-note" title="This value was evaluated upon first expanding. It may have changed since then." style="box-sizing: border-box; min-width: 0px; min-height: 0px; background-color: var(--sys-color-tonal-container); display: inline-block; width: 11px; height: 11px; color: var(--sys-color-on-tonal-container); text-align: center; border-radius: 3px; line-height: 13px; margin: 0px 6px; font-size: 9px;"></span></span></slot></li><ol class="children expanded" role="group" style="box-sizing: border-box; min-width: 0px; min-height: 0px; list-style-type: none; padding-left: 12px; display: block;"><li jslog="TreeItem; parent: parentTreeItem; track: click, keydown: ArrowUp|ArrowDown|ArrowLeft|ArrowRight|Backspace|Delete|Enter|Space|Home|End" role="treeitem" data-object-property-name-for-test="code" style="box-sizing: border-box; min-width: 0px; min-height: 16px; text-overflow: ellipsis; white-space: nowrap; position: relative; display: flex; align-items: center; user-select: text;"><span class="name-and-value" style="box-sizing: border-box; min-width: 0px; min-height: 0px; overflow: hidden; line-height: 16px; display: flex; white-space: nowrap;"><span class="name own-property" title="code" style="box-sizing: border-box; min-width: 0px; min-height: 0px; color: var(--sys-color-token-tag); flex-shrink: 0; font-weight: bold;">code</span><span class="separator" style="box-sizing: border-box; min-width: 0px; min-height: 0px; white-space: pre; flex-shrink: 0;">: </span><span class="object-value-number value" title="4" style="box-sizing: border-box; min-width: 0px; min-height: 0px; color: var(--override-primitive-dark-mode-color); --override-primitive-dark-mode-color: hsl(252deg 100% 75%);">4</span></span></li><li jslog="TreeItem; parent: parentTreeItem; track: click, keydown: ArrowUp|ArrowDown|ArrowLeft|ArrowRight|Backspace|Delete|Enter|Space|Home|End" role="treeitem" data-object-property-name-for-test="message" style="box-sizing: border-box; min-width: 0px; min-height: 16px; text-overflow: ellipsis; white-space: nowrap; position: relative; display: flex; align-items: center; user-select: text;"><span class="name-and-value" style="box-sizing: border-box; min-width: 0px; min-height: 0px; overflow: hidden; line-height: 16px; display: flex; white-space: nowrap;"><span class="name own-property" title="message" style="box-sizing: border-box; min-width: 0px; min-height: 0px; color: var(--sys-color-token-tag); flex-shrink: 0; font-weight: bold;">message</span><span class="separator" style="box-sizing: border-box; min-width: 0px; min-height: 0px; white-space: pre; flex-shrink: 0;">: </span><span class="object-value-string value" title="The media could not be loaded, either because the server or network failed or because the format is not supported." style="box-sizing: border-box; min-width: 0px; min-height: 0px; white-space: pre; unicode-bidi: -webkit-isolate; color: var(--sys-color-token-property-special);">"The media could not be loaded, either because the server or network failed or because the format is not supported."</span></span></li><li jslog="TreeItem; parent: parentTreeItem; track: click, keydown: ArrowUp|ArrowDown|ArrowLeft|ArrowRight|Backspace|Delete|Enter|Space|Home|End" role="treeitem" data-object-property-name-for-test="[[Prototype]]" class="parent selected" aria-expanded="false" tabindex="-1" aria-selected="true" style="box-sizing: border-box; min-width: 0px; min-height: 16px; text-overflow: ellipsis; white-space: nowrap; position: relative; display: flex; align-items: center; user-select: text;"><span class="name-and-value" style="box-sizing: border-box; min-width: 0px; min-height: 0px; overflow: hidden; line-height: 16px; display: flex; white-space: nowrap;"><span class="name synthetic-property" title="[[Prototype]]" style="box-sizing: border-box; min-width: 0px; min-height: 0px; color: var(--sys-color-token-subtle); flex-shrink: 0;">[[Prototype]]</span><span class="separator" style="box-sizing: border-box; min-width: 0px; min-height: 0px; white-space: pre; flex-shrink: 0;">: </span><span class="object-value-object value" title="Object" style="box-sizing: border-box; min-width: 0px; min-height: 0px;">Object</span></span></li></ol></ol></div></div></span></span></div></div></div></div></div></div><div tabindex="-1" class="console-message-wrapper console-error-level" jslog="Item; context: console-message; track: click, keydown: ArrowUp|ArrowDown|ArrowLeft|ArrowRight|Enter|Space|Home|End" role="log" style="box-sizing: border-box; min-width: 0px; min-height: 0px; display: flex; flex-direction: column; margin: 4px; border-radius: 5px; --console-color-black: #000; --console-color-red: rgb(237 78 76); --console-color-green: rgb(1 200 1); --console-color-yellow: rgb(210 192 87); --console-color-blue: rgb(39 116 240); --console-color-magenta: rgb(161 66 244); --console-color-cyan: rgb(18 181 203); --console-color-gray: rgb(207 208 208); --console-color-darkgray: rgb(137 137 137); --console-color-lightred: rgb(242 139 130); --console-color-lightgreen: rgb(161 247 181); --console-color-lightyellow: rgb(221 251 85); --console-color-lightblue: rgb(102 157 246); --console-color-ightmagenta: #f5f; --console-color-lightcyan: rgb(132 240 255); --console-color-white: #fff; background-color: var(--sys-color-surface-error); --message-corner-rounder-background: var(--sys-color-surface-error); --console-color-lightmagenta: rgb(214 112 214);"><div class="console-row-wrapper" style="box-sizing: border-box; min-width: 0px; min-height: 0px; display: flex; flex-direction: row;"><div class="console-message" style="box-sizing: border-box; min-width: 0px; min-height: 17px; clear: right; position: relative; padding: 3px 22px 1px 0px; margin-left: 24px; flex: 1 1 auto; display: flex;"><devtools-icon role="presentation" name="cross-circle-filled" class="message-level-icon" aria-label="Error" style="flex: 1 1 auto; display: inline-block; width: 14px; height: 14px; color: var(--icon-error); vertical-align: sub; position: absolute; box-sizing: border-box; min-width: 0px; min-height: 0px; left: -17px; top: 2px; user-select: none;"><span style="display: block; width: 14px; height: 14px; background-color: currentcolor; mask: var(--icon-url) center /contain no-repeat; --icon-url: var(--image-file-cross-circle-filled);"></span></devtools-icon><span class="source-code" style="box-sizing: border-box; min-width: 0px; min-height: 0px; font-family: var(--source-code-font-family); white-space: pre-wrap; font-size: var(--source-code-font-size) !important; flex: 1 1 auto; line-height: 1.2;"><span class="console-message-anchor" style="box-sizing: border-box; min-width: 0px; min-height: 0px; float: right; text-align: right; max-width: 100%; margin-left: 4px;"><button class="devtools-link text-button link-style" jslog="Link; context: script-location; track: click" role="link" tabindex="-1" title="app://bundle/renderer.js:2" style="box-sizing: border-box; min-width: 0px; min-height: 0px; font: inherit; margin: 0px; height: unset; border: none; border-radius: 2px; padding: 0px !important; color: var(--sys-color-primary); background: none; flex: 0 0 auto; white-space: nowrap; text-decoration: underline; outline-offset: 2px; outline: none; cursor: pointer; max-width: 100%; overflow: hidden; text-overflow: ellipsis; word-break: break-all;">renderer.js:2</button> </span><span class="console-message-text" style="box-sizing: border-box; min-width: 0px; min-height: 0px; color: var(--override-error-text-color) !important;">Uncaught (in promise) <span class="object-value-error source-code" style="box-sizing: border-box; min-width: 0px; min-height: 0px; font-family: var(--source-code-font-family); white-space: pre-wrap; font-size: var(--source-code-font-size) !important; line-height: 1.2;"><div style="box-sizing: border-box; min-width: 0px; min-height: 0px;">TypeError: Cannot read properties of null (reading 'ready')
<span style="box-sizing: border-box; min-width: 0px; min-height: 0px;">    at <button class="devtools-link text-button link-style" jslog="Link; context: script-location; track: click" role="link" tabindex="-1" title="app://bundle/renderer.js:2:1797353" style="box-sizing: border-box; min-width: 0px; min-height: 0px; font: inherit; margin: 0px; height: unset; border: none; border-radius: 2px; padding: 0px !important; color: var(--sys-color-primary); background: none; flex: 0 0 auto; white-space: nowrap; text-decoration: underline; outline-offset: 2px; outline: none; cursor: pointer; max-width: 100%; overflow: hidden; text-overflow: ellipsis; word-break: break-all;">renderer.js:2:1797353</button></span></div></span></span></span></div></div></div></div><div aria-hidden="true" style="box-sizing: border-box; min-width: 0px; min-height: 0px; height: 0px; color: transparent;"></div><div class="source-code" id="console-prompt" style="box-sizing: border-box; min-width: 0px; min-height: 0px; font-family: var(--source-code-font-family); white-space: pre-wrap; font-size: var(--source-code-font-size) !important; clear: right; position: relative; margin: 0px 22px 0px 20px;"><div class="widget" jslog="TextField; context: console-prompt; track: change, keydown: Enter|ArrowUp|ArrowDown|PageUp" style="box-sizing: border-box; min-width: 0px; min-height: 0px; position: relative; flex: 1 1 auto; contain: style;"><div class="console-prompt-editor-container" style="box-sizing: border-box; min-width: 0px; min-height: 21px;"><devtools-text-editor style="box-sizing: border-box; min-width: 0px; min-height: 0px;"><div class="cm-editor ͼ1 ͼ3 ͼ4 ͼ5 ͼ6" style="box-sizing: border-box; flex-direction: column; position: relative !important; display: flex !important; color: color: var(--sys-color-on-subtle); cursor: auto;"><div class="cm-announced" aria-live="polite" style="position: fixed; top: -10000px;"></div><div tabindex="-1" class="cm-scroller" style="font-family: var(--source-code-font-family); line-height: 1.4em; height: 23.3906px; overflow-x: auto; position: relative; z-index: 0; display: flex !important; align-items: flex-start !important; font-size: var(--source-code-font-size);"><div spellcheck="false" autocorrect="off" autocapitalize="off" translate="no" contenteditable="true" class="cm-content cm-lineWrapping" role="textbox" aria-multiline="true" aria-label="Console prompt" data-language="javascript" aria-autocomplete="list" style="margin: 0px; flex-grow: 2; flex-shrink: 1; display: block; white-space: break-spaces; overflow-wrap: anywhere; box-sizing: border-box; min-height: 100%; padding: 4px 0px; outline: none; word-break: break-word; caret-color: transparent !important; line-height: 1.4em; -webkit-user-modify: read-write-plaintext-only; tab-size: 4;"><div class="cm-line" style="display: block; padding: 0px 2px 0px 6px; caret-color: transparent !important;"><br></div></div><div class="cm-layer cm-layer-above cm-cursorLayer" aria-hidden="true" style="position: absolute; left: 0px; top: 0px; contain: size style; pointer-events: none; z-index: 150; animation-duration: 1200ms;"></div><div class="cm-layer cm-selectionLayer" aria-hidden="true" style="position: absolute; left: 0px; top: 0px; contain: size style; z-index: -2;"></div></div></div></devtools-text-editor></div><div class="console-eager-preview" style="box-sizing: border-box; min-width: 0px; min-height: 0px; padding-bottom: 2px; opacity: 0.6; position: relative;"><div class="console-eager-inner-preview" style="box-sizing: border-box; min-width: 0px; min-height: 0px; text-overflow: ellipsis; overflow: hidden; margin-left: 4px; height: 0px; white-space: nowrap; opacity: 0; color: rgb(227, 227, 227); font-family: &quot;Noto Sans Mono&quot;, &quot;DejaVu Sans Mono&quot;, monospace; font-size: 11px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(40, 40, 40); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"></div><devtools-icon role="presentation" name="chevron-left-dot" class="preview-result-icon" style="flex-grow: 0; flex-shrink: 0; display: inline-block; width: 16px; height: 16px; color: var(--icon-default); vertical-align: sub; position: absolute; box-sizing: border-box; min-width: 0px; min-height: 0px; left: -13px; top: -1px; opacity: 0; font-family: &quot;Noto Sans Mono&quot;, &quot;DejaVu Sans Mono&quot;, monospace; font-size: 11px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: pre-wrap; background-color: rgb(40, 40, 40); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><br class="Apple-interchange-newline">
RevAngel7 commented 2 months ago

It looks like this is not a phenomenon that touches this app only. This is a German new article from heise online:

https://www.heise.de/news/Fehler-403-Anti-Bot-Massnahme-von-Youtube-hebelt-Drittanbieter-Apps-aus-9798059.html

Translation into English: https://www-heise-de.translate.goog/news/Fehler-403-Anti-Bot-Massnahme-von-Youtube-hebelt-Drittanbieter-Apps-aus-9798059.html?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=de&_x_tr_pto=wapp

jojo2357 commented 2 months ago

I have been getting the same inconsistent behavior.

Relevant console screenshot image

Watching this video

I got there from the channel page, and I had seen the video before. Reloading the page loaded as a non legacy video

RevAngel7 commented 2 months ago

2024-07-25 zero functionality of freetube. Loading any video means you get a load-flip-loop between DASH and legacy and probably incidious. I cannot get you any screenshots or logs from that, because it is a load-error-switch-loop. I saw 403 errors when pressing shift-ctrl-i .

efb4f5ff-1298-471a-8973-3d47447115dc commented 2 months ago

see https://github.com/FreeTubeApp/FreeTube/issues/5456#issuecomment-2250623651

RevAngel7 commented 2 months ago

v0.21.2 Beta works again.

RevAngel7 commented 2 months ago

I am sorry to report that since yesterday I have zero functionality again. The previous workaround, to press CTRL-R to reload the video (more than a couple of tries may be necessary) does not work any more. At least it does not loop this time, but stops with an invidious error.

Bildschirmfoto vom 2024-08-02 09-54-45

efb4f5ff-1298-471a-8973-3d47447115dc commented 2 months ago

This issue IS fixed. We are going to do a release soon!

efb4f5ff-1298-471a-8973-3d47447115dc commented 2 months ago

For updates follow https://github.com/FreeTubeApp/FreeTube/issues/5502

RevAngel7 commented 2 months ago

OK, sorry. Maybe I just had to be a bit more patient without the information about the new release. Thanks for the heads up!

RevAngel7 commented 2 months ago

Functionality restored with version v0.21.3 Beta.