Skip to content

Big update add alot of expflags#60

Open
legoskid wants to merge 128 commits into
ytm15:mainfrom
legoskid:cors2
Open

Big update add alot of expflags#60
legoskid wants to merge 128 commits into
ytm15:mainfrom
legoskid:cors2

Conversation

@legoskid

@legoskid legoskid commented Dec 4, 2025

Copy link
Copy Markdown
Contributor

I am going to add the features requested here: https://www.reddit.com/r/oldyoutubelayout/s/oxpOOIq7CZ @ErikaXGH
I also put in a new invidious url which is 10x better, but however it's not niche as yt.omada.cafe because it's listed as an official instance so who knows what could happen later

I'm also going to add this and i'm leaving this here so i don't forget:
Expflag to move the comments page to the details page (bottom left) on iPad instead of the side (collapsing comments expflag on phone)
Expflag to show @ names on comments (unfortunately with the ratelimits on the CORS proxy its not possible to go and request each channel name which what happens now)
Expflag to turn off the highlight on a pinned comment
Expand the description of the custom invidious url expflag

Also maybe fix #57 if it is not fixed by the time i finish all that (pls edit perms i'm carrying (but i also see you editing my code so i'm sorry if it is too low quality))

Update I'm also going to add in these too:

  • bigger hitbox for the video slider
  • Function to change the invidious url to blank to reset it, which will be useful because everyone's still going to be on the old url when this gets merged
  • Fix the subscriptions icon, it always had square borders not rounded
    (Credit to ios reminders app)

And @ErikaXGH @CIIOIIIILLLLLLLLLLLLLLLL gave me the suggestions to add a inbox and camera button so I'm doing that too (And someone wanted the new library icon)

  • Subscriptions icon change
  • Ytm15 Offline Library?

Add sections to the settings page, like “how to add ytm2015 as a webapp” and maybe even some fake ones like “send feedback” or “Your data in YouTube”

W combo, the cors proxy has the best ratelimits and the invidious instance has a non-disabled popular page
I accidentally did a open file search instead of a current project search in kate
@ErikaXGH

ErikaXGH commented Dec 6, 2025

Copy link
Copy Markdown

Thank you @legoskid also I forgot to mention to add the camera icon as a alternative icon.

@CIIOIIIILLLLLLLLLLLLLLLL

Copy link
Copy Markdown

Will you also add the exp flags to replace notifications to inbox

@legoskid

legoskid commented Dec 8, 2025

Copy link
Copy Markdown
Contributor Author

Will you also add the exp flags to replace notifications to inbox

Thanks for the idea

@legoskid

legoskid commented Dec 8, 2025

Copy link
Copy Markdown
Contributor Author

Thank you @legoskid also I forgot to mention to add the camera icon as a alternative icon.

For the cast button? I can do that too but if there becomes another misc thing to add then the cast and camera icons will become seperate

Reddit post expflag 1
I'm doing this in my nwea testing lol
@CIIOIIIILLLLLLLLLLLLLLLL

Copy link
Copy Markdown

I wish there was an exp flag to fix the ios problem of it using the built in player instead of the ytm15 player

@CIIOIIIILLLLLLLLLLLLLLLL

Copy link
Copy Markdown

also someone requested this #26

@ytm15

ytm15 commented Dec 9, 2025 via email

Copy link
Copy Markdown
Owner

@legoskid

legoskid commented Dec 9, 2025

Copy link
Copy Markdown
Contributor Author

I wish there was an exp flag to fix the ios problem of it using the built in player instead of the ytm15 player

I have the same probem on ios 16 iphone, but on a ios 15 ipad it doesn't show the ios player, but the fullscreen doesn't work. i'm probably not the one to fix this since you need a real phone to debug this and I'm working on this project solely when i'm in school and i'm bored so i can't just pull out my phone (and i definitely can't show a webserver on the local network because the school wifi blocks it

@CIIOIIIILLLLLLLLLLLLLLLL

Copy link
Copy Markdown

Also fix the light mode icon colors to 5F5F5F and dark mode icon colors to 8F8F8F

@legoskid

Copy link
Copy Markdown
Contributor Author

Also fix the light mode icon colors to 5F5F5F and dark mode icon colors to 8F8F8F

Whered you get these colors

(bottom left) on iPad instead of the side
correct || to &&
@CIIOIIIILLLLLLLLLLLLLLLL

Copy link
Copy Markdown

Also fix the light mode icon colors to 5F5F5F and dark mode icon colors to 8F8F8F

Whered you get these colors

Those are the actual colors of the youtube icons, I just used a website

@ErikaXGH

Copy link
Copy Markdown

Are you going to do the download and save buttons?

@ErikaXGH

Copy link
Copy Markdown

It's dead😭

@ErikaXGH

Copy link
Copy Markdown

No updates?

@Yacine-Book

Yacine-Book commented Dec 11, 2025 via email

Copy link
Copy Markdown
Collaborator

@CIIOIIIILLLLLLLLLLLLLLLL

Copy link
Copy Markdown

Message to legoskid: remind me when you're done with the final pull request, so I can merge it with YTm15 later

On Fri, 12 Dec 2025, 02:02 Xx_Toughgamerdude_xX, @.> wrote: ErikaXGH left a comment (ytm15/ytm15.github.io#60) <#60 (comment)> No updates? — Reply to this email directly, view it on GitHub <#60 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/A4C7Q6X2STOFMUGKQU7RGXT4BHZX5AVCNFSM6AAAAACOC23MK6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTMNBUGE2TCNZTGM . You are receiving this because you are subscribed to this thread.Message ID: @.>

Hes not done yet, he still got a few more things to do

@CIIOIIIILLLLLLLLLLLLLLLL

Copy link
Copy Markdown

[
IMG_3367
]whats this layout?

@legoskid

Copy link
Copy Markdown
Contributor Author

No updates?

Yo dam i just had a day off of school yesterday and like i said i always update this during class since it's boring doing it at home (Weird flex i unenrolled my chromebook it is still going strong for 1 year thats how im doing this)

@legoskid

Copy link
Copy Markdown
Contributor Author

Also fix the light mode icon colors to 5F5F5F and dark mode icon colors to 8F8F8F

Whered you get these colors

Those are the actual colors of the youtube icons, I just used a website

And I fact checked this myself with old youtube screenshots so yeah its correct and i just pushed it

@legoskid

Copy link
Copy Markdown
Contributor Author

[ IMG_3367 ]whats this layout?

There was always supposed to be a share button there so maybe it was turned off by OS doesn't support it or what country that screenshot was taken it

@legoskid

Copy link
Copy Markdown
Contributor Author

Are you going to do the download and save buttons?

Yes

@ytm15

ytm15 commented May 7, 2026 via email

Copy link
Copy Markdown
Owner

@legoskid

legoskid commented May 8, 2026

Copy link
Copy Markdown
Contributor Author

I really hope there won't be more additions to this PR, it's filled with enough modifications and expflags imo

On Fri, 8 May 2026, 01:08 Entinty1999, @.> wrote: Entinty1999 left a comment (ytm15/ytm15.github.io#60) <#60 (comment)> If you mean this for what I've been doing with YTm15, yes, I haven't done anything yet but I do have future plans for after this pull request gets merged (Yes, one of them is player flags) … <#m_-815400037010157291_> On Fri, 8 May 2026, 00:45 Entinty1999, @.> wrote: Entinty1999 left a comment (ytm15/ytm15.github.io#60 <#60>) <#60 (comment) <#60 (comment)>> Yeah, I've been busy with a few other things so for now, I'll merge the new expflags tomorrow … <#m_6046779729525835915_> On Tue, May 5, 2026 at 10:34 PM Entinty1999 @.> wrote: Entinty1999 left a comment (ytm15/ytm15.github.io#60 <#60> <#60 <#60>>) <#60 <#60> (comment) <#60 (comment) <#60 (comment)>>> Fr. Did you add the newer icons for the video player? @Yacine-Book https://github.com/Yacine-Book https://github.com/Yacine-Book https://github.com/Yacine-Book https://github.com/Yacine-Book https://github.com/Yacine-Book https://github.com/Yacine-Book https://github.com/Yacine-Book said he would work on video player expflags after this is merged, so it is not in here yet Still hasn't been merged That’s the point. It won’t be worked on until AFTER it’s merged — Reply to this email directly, view it on GitHub <#60 <#60> (comment) <#60 (comment) <#60 (comment)>>>, or unsubscribe https://github.com/notifications/unsubscribe-auth/BG72T5ZWJFLAWWWUDRQ2LRL4ZI64FAVCNFSM6AAAAACOC23MK6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DGOBSGM3TSNZTGY https://github.com/notifications/unsubscribe-auth/BG72T5ZWJFLAWWWUDRQ2LRL4ZI64FAVCNFSM6AAAAACOC23MK6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DGOBSGM3TSNZTGY https://github.com/notifications/unsubscribe-auth/BG72T5ZWJFLAWWWUDRQ2LRL4ZI64FAVCNFSM6AAAAACOC23MK6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DGOBSGM3TSNZTGY https://github.com/notifications/unsubscribe-auth/BG72T5ZWJFLAWWWUDRQ2LRL4ZI64FAVCNFSM6AAAAACOC23MK6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DGOBSGM3TSNZTGY . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you commented.Message ID: <ytm15/ytm15. @. > Wow, so this is it? No more additions? (I know I'm 2 days late, but you're 1 day late lol) — Reply to this email directly, view it on GitHub <#60 (comment) <#60 (comment)>>, or unsubscribe https://github.com/notifications/unsubscribe-auth/BG72T56FVFVCJDMIB6FS4TL4ZT7XJAVCNFSM6AAAAACOC23MK6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DIMBRGM4TQNRZHA https://github.com/notifications/unsubscribe-auth/BG72T56FVFVCJDMIB6FS4TL4ZT7XJAVCNFSM6AAAAACOC23MK6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DIMBRGM4TQNRZHA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you commented.Message ID: <ytm15/ytm15. @. > By "no more additions" I mean no more additions to this PR — Reply to this email directly, view it on GitHub <#60 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/BG72T5ZSFNUWUWXNYA7RFX34ZUCMLAVCNFSM6AAAAACOC23MK6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DIMBRGUZTSNRQGE . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you commented.Message ID: <ytm15/ytm15. @.>

I won't

@legoskid

Copy link
Copy Markdown
Contributor Author

Dead chat again

@ErikaXGH

Copy link
Copy Markdown

21 days ago💀 I'll revive the chat. Can you please add the new video icons in the video player please.

@ytm15

ytm15 commented May 15, 2026 via email

Copy link
Copy Markdown
Owner

@ytm15

ytm15 commented May 15, 2026 via email

Copy link
Copy Markdown
Owner

@legoskid

legoskid commented May 24, 2026

Copy link
Copy Markdown
Contributor Author

Yo, not related but can ONE PERSON only post this to r/oldyoutubelayout on my behalf because my post didn't get approved and the mods are non-existant
image

(My reddit username is JaxonReddit-_-)

Switch to Images / Video

Set flair as "showcase"

download and attach this video: https://litter.catbox.moe/wq0dunhvif1upvn9.mp4

Add body text (Switch to markdown):

**Notes**

This was forked off of halohash/2016tv which is a fork of erievs's 2016YouTubeTV (Familiar?)

**Oh my god who the hell cares?**

You can throw websites into an APK converter right but this TV interface, and the rest of them was designed to run on Cobalt.

**Give download**

Just hold on for a sec I need to make it so you get put straight into the old interface as currently launching it as shown in the video tries to take you to modern YouTube.

@legoskid

Copy link
Copy Markdown
Contributor Author

Yo, not related but can ONE PERSON only post this to r/oldyoutubelayout on my behalf because my post didn't get approved and the mods are non-existant image

(My reddit username is JaxonReddit-_-)

Switch to Images / Video

Set flair as "showcase"

download and attach this video: https://litter.catbox.moe/wq0dunhvif1upvn9.mp4

Add body text (Switch to markdown):

**Notes**

This was forked off of halohash/2016tv which is a fork of erievs's 2016YouTubeTV (Familiar?)

**Oh my god who the hell cares?**

You can throw websites into an APK converter right but this TV interface, and the rest of them was designed to run on Cobalt.

**Give download**

Just hold on for a sec I need to make it so you get put straight into the old interface as currently launching it as shown in the video tries to take you to modern YouTube.

Nevermind, the video link already expired

@ErikaXGH

Copy link
Copy Markdown

It's been... 1 month... when are they going to merge it?

@ytm15

ytm15 commented May 30, 2026 via email

Copy link
Copy Markdown
Owner

@CIIOIIIILLLLLLLLLLLLLLLL

Copy link
Copy Markdown

@ErikaXGH @ytm15 @Yacine-Book BAD NEWS, THE SITES GOT INFECTED BY POLYFILL.IO MALWARE

@Yacine-Book

Copy link
Copy Markdown
Collaborator

I'm just hearing this now. Don't worry, I took off the use of polyfill.js from the app. At the time when I first used it (2024) there was no malware

@CIIOIIIILLLLLLLLLLLLLLLL

Copy link
Copy Markdown

I'm just hearing this now. Don't worry, I took off the use of polyfill.js from the app. At the time when I first used it (2024) there was no malware

its still there, take it out, EVERY SINGLE PAGE

@ytm15

ytm15 commented Jun 5, 2026 via email

Copy link
Copy Markdown
Owner

Copilot AI review requested due to automatic review settings June 5, 2026 20:12

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

This PR adds several new UI/UX “experimental flags” and related UI elements across Watch/Home/Header/Settings, plus introduces a local “Library” (saved videos) and a stub Subscriptions page.

Changes:

  • Adds Watch actions (share/save/download), like-count compact formatting, optional comment section layout, and an “Autoplay” toggle placeholder.
  • Extends Settings with new routes (Feedback/Install) and many new expflags, plus clipboard-based save/load of localStorage flags.
  • Adds Library rendering from localStorage and a Subscriptions placeholder page, alongside header/pivot-bar icon/branding variants and new notification/offline UI.

Reviewed changes

Copilot reviewed 13 out of 30 changed files in this pull request and generated 20 comments.

Show a summary per file
File Description
app/watch.js Adds share/save/download buttons, compact count formatting, autoplay toggle UI, and comment-section placement option
app/home.js Adds Library route rendering and Subscriptions placeholder page; tweaks header title logic and tab selection
app/header.js Adds branding variants, cast icon variants, optional hamburger button, and account-icon menu button
app/settings.js Adds Feedback/Install routes, clipboard save/load, and many new expflags/options
app/2015ytm.js Adds new expflag initialization, comment UI tweaks, compact formatting in comments, notifications/offline + hamburger-menu helpers
app/channel.js Switches some channel API calls to POST with URL-encoded body; adjusts auth header usage in places
app/playlists.js Makes Invidious auth header conditional via expflag
app/player.js Improves thumbnail selection + handles a 403 payload; minor cleanup
app/player.css Expands progress bar hit area with a pseudo-element
app/2015YTm.css Adds styles for new flags/features (notifications, offline bar, hamburger menu, etc.)
app/index.html Adds an external polyfill bundle from cdnjs
app/Material Spinner/spinner.js Tweaks iOS spinner styling
app/*.svg Adds new SVG assets for UI icons
README.md Adds self-hosting instructions and mentions older browser compatibility goal

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread app/home.js Outdated
Comment thread app/home.js Outdated
Comment thread app/home.js Outdated
Comment thread app/home.js Outdated
Comment thread app/home.js Outdated
Comment thread app/player.css
Comment on lines +179 to +186
.progress::after {
content: '';
position: absolute;
top: -10px;
bottom: -10px;
left: -10px;
right: -10px;
}
Comment thread app/index.html
<script name="header" src="header.js"></script>

<!-- <script src='https://polyfill.io/v3/polyfill.js'></script> -->
<script src='https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js?version=4.8.0&features=Array.prototype.%40%40iterator%2CArray.prototype.at%2CArray.prototype.copyWithin%2CArray.prototype.entries%2CArray.prototype.fill%2CArray.prototype.find%2CArray.prototype.findIndex%2CArray.prototype.findLast%2CArray.prototype.findLastIndex%2CArray.prototype.flat%2CArray.prototype.flatMap%2CArray.prototype.keys%2CArray.prototype.sort%2CArray.prototype.toReversed%2CArray.prototype.toSorted%2CArray.prototype.includes%2CArray.prototype.toSpliced%2CArray.prototype.values%2CArray.prototype.with%2CArrayBuffer.isView%2CArrayBuffer%2CMath.sinh%2CMath.tanh%2CMath.trunc%2CMediaQueryList.prototype.addEventListener%2CMutationObserver%2CNode.prototype.contains%2CNode.prototype.getRootNode%2CNode.prototype.isConnected%2CNode.prototype.isSameNode%2CNodeList.prototype.%40%40iterator%2CNodeList.prototype.forEach%2CObject.assign%2CObject.isFrozen%2CObject.isSealed%2CEvent%2CReflect%2CReflect.apply%2CReflect.construct%2CReflect.defineProperty%2CReflect.deleteProperty%2CReflect.get%2CReflect.has%2CReflect.isExtensible%2CReflect.ownKeys%2CReflect.preventExtensions%2CReflect.set%2CReflect.setPrototypeOf%2CRegExp.prototype.%40%40matchAll%2CRegExp.prototype.flags%2CResizeObserver%2CString.prototype.endsWith%2CString.prototype.padStart%2CString.prototype.repeat%2CString.prototype.replaceAll%2CString.prototype.startsWith%2CString.prototype.trim%2CString.prototype.trimEnd%2CString.prototype.trimStart%2CString.raw%2CSymbol%2Cperformance.now%2CrequestAnimationFrame%2CrequestIdleCallback%2Cscreen.orientation%2CsetImmediate%2Csmoothscroll%2CstructuredClone%2C%7Ehtml5-elements%2CArray.from'></script>
Comment thread app/2015YTm.css
Comment thread app/settings.js Outdated
Comment thread app/settings.js Outdated
@legoskid

legoskid commented Jun 5, 2026

Copy link
Copy Markdown
Contributor Author

Copilot, Why are you wasting my money I did not ask for you to be here

(But I might as well fix what it said)

Entinty1999 added a commit to YTm15-BETA-org/YTm15-BETA-org.github.io that referenced this pull request Jun 7, 2026
Apparently Polyfill.js had malware and Yacine released an update to YTm15 to remove it. However, since the merging of ytm15#60 is imminent, the Vanilla Mirror on YTm15 BETA has been temporarily removed.
@ErikaXGH

ErikaXGH commented Jun 7, 2026

Copy link
Copy Markdown

Okay now the watchpage does not work in all videos:Screenshot_20260607_015215_YouTube.jpg

@legoskid

legoskid commented Jun 7, 2026

Copy link
Copy Markdown
Contributor Author

Okay now the watchpage does not work in all videos:Screenshot_20260607_015215_YouTube.jpg

Fixed

@CIIOIIIILLLLLLLLLLLLLLLL

Copy link
Copy Markdown

Okay now the watchpage does not work in all videos:Screenshot_20260607_015215_YouTube.jpg

Fixed

btw this fixed the music videos not having a watchpage

@Entinty1999

Copy link
Copy Markdown

Okay now the watchpage does not work in all videos:Screenshot_20260607_015215_YouTube.jpg

Fixed

btw this fixed the music videos not having a watchpage

Huh, interesting

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Underlined links even when APP_UNDERLINE_BUTTONS is disabled

7 participants