code-charity / code-charity/youtube

🐞Shorts auto-scroll

Open
#3,901 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Bug good first issue help wanted up-for-grabs
Dominant language
JavaScript
Stars
4.6k
Forks
996
Avg merge
2d 15h
Merged PRs (30d)
7

Description

Concise Description

Even when auto-scroll is turned off, the shorts right at the end of them play the next one instead of stopping.

Browser/s

Firefox

Other Browser:

No response

'Steps to reproduce' - Which of our features is required for the bug to happen?

Not sure.

Since when?

5/29/2026

Does the bug still happen when you log out of YouTube?

No

..No? Then please paste your yt.config_.EXPERIMENT_FLAGS. Twice (With the error & Without)

Content-Security-Policy warnings 5
MouseEvent.mozPressure is deprecated. Use PointerEvent.pressure instead. m=kevlar_base_module,kevlar_main_module,kevlar_base_sync_mod_chunk:7357:60
MouseEvent.mozInputSource is deprecated. Use PointerEvent.pointerType instead. m=kevlar_base_module,kevlar_main_module,kevlar_base_sync_mod_chunk:7357:60
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js:684:19934
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js:684:20104
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js:684:30936
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js:684:32967
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js:684:36141
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js:684:38315
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js:684:46714
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js:684:56583
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval:684:36141
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval:684:32967
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval:684:38315
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval:684:30936
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 684 > eval:1:122
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 684 > eval line 1 > eval:1:122
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 684 > eval:1:90
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 684 > eval line 1 > eval:1:90
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 684 > eval:1:104
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 684 > eval line 1 > eval:1:104
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval:684:19934
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval:684:20104
Fingerprinting Protection is altering screen.availWidth and screen.availHeight. These values may not match your actual screen dimensions. This protection helps prevent websites building a fingerprint that can be used to track users. Learn more: https://support.mozilla.org/kb/firefox-protection-against-fingerprinting m=kevlar_base_module,kevlar_main_module,kevlar_base_sync_mod_chunk:6976:500
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 684 > eval line 1 > eval:1:124
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 684 > eval line 1 > eval:1:92
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 684 > eval line 1 > eval:1:106
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 684 > eval line 1 > eval line 1 > eval:1:92
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 684 > eval line 1 > eval line 1 > eval:1:124
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 684 > eval line 1 > eval line 1 > eval:1:106
Ignoring unsupported entryTypes: longtask. content.js:30:34318
Will-change memory consumption is too high. Budget limit is the document surface area multiplied by 3 (895671 px). Occurrences of will-change over the budget will be ignored. www.youtube.com
Content-Security-Policy: Ignoring “'unsafe-inline'” within script-src: nonce-source or hash-source specified RotateCookiesPage
Content-Security-Policy: The page’s settings blocked an inline script (script-src-elem) from being executed because it violates the following directive: “script-src 'nonce-oVVOedkYCzBFcEbut7Q7GA' 'unsafe-inline'”. Consider using a hash ('sha256-HaSJE+rPb1IV0bhHWOr69i45s1jsmy8l4AFLFOPApp0=') or a nonce. 26e59f7e-3d47-45e4-bfdc-5c097fc68db9:19:51
Content-Security-Policy: The page’s settings blocked an inline script (script-src-elem) from being executed because it violates the following directive: “script-src 'nonce-oVVOedkYCzBFcEbut7Q7GA' 'unsafe-inline'”. Consider using a hash ('sha256-D2n30IJNslOwK+GpftoFr3VIOQY+c1tUFfZw6iZqOhI=') or a nonce. content.js:74:196
Unable to check top-level optout: Permission denied to access property "document" on cross-origin object content.js:555:17
A resource is blocked by OpaqueResponseBlocking, please check browser console for details. IdentityRotateCookiesHttp
The resource at “https://i.ytimg.com/generate_204” preloaded with link preload was not used within a few seconds. Make sure all attributes of the preload tag are set correctly. www.youtube.com
Uncaught TypeError: TrustedTypePolicyFactory.createPolicy: Tried to create a second default policy
playerFitToWinButton moz-extension://5fad5ba4-6ee5-424b-b2f2-4f7804c1c7bd/js&css/web-accessible/www.youtube.com/player.js:1154
initPlayer moz-extension://5fad5ba4-6ee5-424b-b2f2-4f7804c1c7bd/js&css/web-accessible/functions.js:417
moz-extension://5fad5ba4-6ee5-424b-b2f2-4f7804c1c7bd/js&css/web-accessible/init.js:280
dispatchEvent https://www.youtube.com/s/_/ytmainappweb/_/js/k=ytmainappweb.kevlar_base.en_US.a-P64rBdIeI.es5.O/am=AAAAACAAYAhA/d=1/br=1/rs=AGKMywG-dqdy6e5O0lcI-ep1Oyuick0HBA/m=kevlar_base_module,kevlar_main_module,kevlar_base_sync_mod_chunk:14069
fireEvent https://www.youtube.com/s/_/ytmainappweb/_/js/k=ytmainappweb.kevlar_base.en_US.a-P64rBdIeI.es5.O/am=AAAAACAAYAhA/d=1/br=1/rs=AGKMywG-dqdy6e5O0lcI-ep1Oyuick0HBA/m=kevlar_base_module,kevlar_main_module,kevlar_base_sync_mod_chunk:14067
N https://www.youtube.com/s/_/ytmainappweb/_/js/k=ytmainappweb.kevlar_base.en_US.a-P64rBdIeI.es5.O/am=AAAAACAAYAhA/d=1/br=1/rs=AGKMywG-dqdy6e5O0lcI-ep1Oyuick0HBA/m=kevlar_base_module,kevlar_main_module,kevlar_base_sync_mod_chunk:14058
9348_onFulfilled https://www.youtube.com/s/_/ytmainappweb/_/js/k=ytmainappweb.kevlar_base.en_US.a-P64rBdIeI.es5.O/am=AAAAACAAYAhA/d=1/br=1/rs=AGKMywG-dqdy6e5O0lcI-ep1Oyuick0HBA/m=kevlar_base_module,kevlar_main_module,kevlar_base_sync_mod_chunk:6118
LsE https://www.youtube.com/s/_/ytmainappweb/_/js/k=ytmainappweb.kevlar_base.en_US.a-P64rBdIeI.es5.O/am=AAAAACAAYAhA/d=1/br=1/rs=AGKMywG-dqdy6e5O0lcI-ep1Oyuick0HBA/m=kevlar_base_module,kevlar_main_module,kevlar_base_sync_mod_chunk:6129
ayR https://www.youtube.com/s/_/ytmainappweb/_/js/k=ytmainappweb.kevlar_base.en_US.a-P64rBdIeI.es5.O/am=AAAAACAAYAhA/d=1/br=1/rs=AGKMywG-dqdy6e5O0lcI-ep1Oyuick0HBA/m=kevlar_base_module,kevlar_main_module,kevlar_base_sync_mod_chunk:6128
executeCallbacks_ https://www.youtube.com/s/_/ytmainappweb/_/js/k=ytmainappweb.kevlar_base.en_US.a-P64rBdIeI.es5.O/am=AAAAACAAYAhA/d=1/br=1/rs=AGKMywG-dqdy6e5O0lcI-ep1Oyuick0HBA/m=kevlar_base_module,kevlar_main_module,kevlar_base_sync_mod_chunk:6127
Xc_ https://www.youtube.com/s/_/ytmainappweb/_/js/k=ytmainappweb.kevlar_base.en_US.a-P64rBdIeI.es5.O/am=AAAAACAAYAhA/d=1/br=1/rs=AGKMywG-dqdy6e5O0lcI-ep1Oyuick0HBA/m=kevlar_base_module,kevlar_main_module,kevlar_base_sync_mod_chunk:1047
player

Content-Security-Policy warnings 5
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js:7500:19934
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js:7500:20104
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js:7500:30936
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js:7500:32967
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js:7500:36141
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js:7500:38315
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js:7500:46714
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js:7500:56583
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval:7500:36141
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval:7500:32967
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval:7500:38315
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval:7500:30936
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 7500 > eval:1:104
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 7500 > eval line 1 > eval:1:104
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 7500 > eval:1:122
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 7500 > eval line 1 > eval:1:122
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 7500 > eval:1:90
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 7500 > eval line 1 > eval:1:90
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval:7500:19934
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval:7500:20104
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 7500 > eval line 1 > eval:1:106
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 7500 > eval line 1 > eval:1:124
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 7500 > eval line 1 > eval:1:92
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 7500 > eval line 1 > eval line 1 > eval:1:92
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 7500 > eval line 1 > eval line 1 > eval:1:124
unreachable code after return statement pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 7500 > eval line 1 > eval line 1 > eval:1:106
Fingerprinting Protection is altering screen.availWidth and screen.availHeight. These values may not match your actual screen dimensions. This protection helps prevent websites building a fingerprint that can be used to track users. Learn more: https://support.mozilla.org/kb/firefox-protection-against-fingerprinting pgjr4VDHT-UCwKX2iHqTLg8vsIOJu5R42hpEzZFNouM.js line 2 > eval line 7500 > eval line 1 > eval line 1 > eval:1:88
Ignoring unsupported entryTypes: longtask. content.js:30:34318
MouseEvent.mozPressure is deprecated. Use PointerEvent.pressure instead. m=kevlar_base_module,kevlar_main_module,kevlar_base_sync_mod_chunk:7357:60
MouseEvent.mozInputSource is deprecated. Use PointerEvent.pointerType instead. m=kevlar_base_module,kevlar_main_module,kevlar_base_sync_mod_chunk:7357:60
Will-change memory consumption is too high. Budget limit is the document surface area multiplied by 3 (895671 px). Occurrences of will-change over the budget will be ignored. www.youtube.com
Content-Security-Policy: Ignoring “'unsafe-inline'” within script-src: nonce-source or hash-source specified RotateCookiesPage
Content-Security-Policy: The page’s settings blocked an inline script (script-src-elem) from being executed because it violates the following directive: “script-src 'nonce-RJzo6pampheQCwzTp1h3AQ' 'unsafe-inline'”. Consider using a hash ('sha256-HaSJE+rPb1IV0bhHWOr69i45s1jsmy8l4AFLFOPApp0=') or a nonce. 26e59f7e-3d47-45e4-bfdc-5c097fc68db9:19:51
Content-Security-Policy: The page’s settings blocked an inline script (script-src-elem) from being executed because it violates the following directive: “script-src 'nonce-RJzo6pampheQCwzTp1h3AQ' 'unsafe-inline'”. Consider using a hash ('sha256-tMlJNc25qZvObyJCEjLMsnCO3dBaO23pftYXukFcYmo=') or a nonce. content.js:74:196
Unable to check top-level optout: Permission denied to access property "document" on cross-origin object content.js:555:17
A resource is blocked by OpaqueResponseBlocking, please check browser console for details. IdentityRotateCookiesHttp
The resource at “https://i.ytimg.com/generate_204” preloaded with link preload was not used within a few seconds. Make sure all attributes of the preload tag are set correctly. www.youtube.com
Cookie “ST-dglgq8” is invalid because its size is too big. Max size is 4096 B.

Are any errors or related log-messages shown in the Browser-Console? (F12)

Yes

Tested as the only active extension? (incognito mode or another browser users):

Yes

Expected preferred behavior:

No response

ImprovedTube Version

No response

Your Settings (From the Extension's -Hamburger menu > Settings > Backup & reset > Export settings)

No response

Your YouTube-Document

No response

OS / Device:

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No repository file, test, or entry point is named. Start by reproducing the issue in Firefox with Shorts auto-scroll disabled, then trace the extension's Shorts navigation and playback handling; done means the final Short stops instead of starting the next one when auto-scroll is off.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.