Skip to content

Conversation

@Duell10111
Copy link
Contributor

As reaction to the block of the classic TV OAuth authentication on non TV endpoints, I tried to add Helper classes with TV Client optimization.
Related issue: #803
As I am not an expert of the Innertube API and the Youtube.js library, feel free to optimize or bring up suggestions of this PR.
Therefore this PR is created as draft. :)

Additionally regarding TV endpoints, I added a new function to adapt watched time for videos added to the watch list (history). (Issue: #825)

Further for the TV client I added a helper function to get the continuation of HorizontalList as needed for the TV Homefeed. :)

@Duell10111
Copy link
Contributor Author

Regarding the failing test, locally it works. ;)

Copy link
Collaborator

@absidue absidue left a comment

Choose a reason for hiding this comment

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

This pull request is absolutely massive, it would definitely be a lot more sensible to split it out into multiple smaller ones, especially because it contains some changes that have nothing to do with the TV nodes like the watch history stuff.

Here are a list of things that definitely need to change before it could be considered mergable (not sure it if should be considering that it adds lots of nodes and bloat that many users of the library probably won't even need) but it definitely should be split up into multiple pull requests.

@absidue
Copy link
Collaborator

absidue commented Jan 15, 2025

Additionally please change the commit messages to say feat instead of chore, release please looks at the commit messages so if this were to be merged, then it would get logged as a chore and not a feature implementation.

@Duell10111
Copy link
Contributor Author

Thanks @absidue @LuanRT for all the suggestions I can split the PR into multiple and do the other changes as mentioned.
I am a bit unsure when I can do this, because I have not much time until next week.
But I will do this once I got time. :)

@LuanRT
Copy link
Owner

LuanRT commented Jan 29, 2025

@Duell10111 This PR is quite large, so I'll be helping you with it very soon. I'm also interested in getting OAuth working again, but we may need to make improvements in a few places.

@Duell10111
Copy link
Contributor Author

@Duell10111 This PR is quite large, so I'll be helping you with it very soon. I'm also interested in getting OAuth working again, but we may need to make improvements in a few places.

Thank you, I would be glad to get help.
Feel free to optimize or adapt it as you think. :D

@Duell10111 Duell10111 force-pushed the tv-endpoints-adaption branch 2 times, most recently from ef1c19d to 1b77fbb Compare March 22, 2025 15:16
@Duell10111 Duell10111 marked this pull request as ready for review March 22, 2025 16:57
@sgebr01
Copy link

sgebr01 commented May 5, 2025

Is there anything I could help with here to get some progress?

@github-actions
Copy link
Contributor

github-actions bot commented Jul 5, 2025

This PR has been automatically marked as stale because it has not had recent activity. Remove the stale label or comment or this will be closed in 2 days

@github-actions github-actions bot added the Stale label Jul 5, 2025
@Duell10111 Duell10111 force-pushed the tv-endpoints-adaption branch 2 times, most recently from 628c1df to 3e304b5 Compare July 5, 2025 09:54
@Duell10111
Copy link
Contributor Author

Can we do sth to get this merged? @LuanRT

Copy link
Collaborator

@absidue absidue left a comment

Choose a reason for hiding this comment

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

As these apply to multiple places I'll mention them here:

  • Please remove the commented out code.
  • Parser.parseArray() never returns null so please remove null from the types on the properties that you assign the results of Parser.parseArray() to.
  • Please replace all uses of the first() helper method with [0], it isn't used throughout the rest of the codebase anymore and only still exists because it is known to be used by users of YouTube.js.
  • Please move the 4 parser classes with the Tv prefix into a src/parser/classes/tv subfolder, as YouTube's naming of them indicates that they are TV client specific.

Comment on lines 89 to 92
async addToWatchHistory(): Promise<Response> {
return super.addToWatchHistory();
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

As this is meant to be TV specific, you should probably pass the relevant parameters.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added the TV Client params

@absidue absidue removed the Stale label Jul 5, 2025
@LuanRT LuanRT added enhancement New feature or request priority: medium labels Jul 18, 2025
@absidue
Copy link
Collaborator

absidue commented Jul 25, 2025

@Duell10111 FYI there are still some open points from my last review (pinging you because your last commit was 20 days ago).

@Duell10111 Duell10111 force-pushed the tv-endpoints-adaption branch from c8f68a5 to 3ad1592 Compare July 27, 2025 13:40
@github-actions github-actions bot removed the tests label Jul 27, 2025
@Duell10111
Copy link
Contributor Author

@absidue Your open points should be handled now. :)

@github-actions

This comment was marked as outdated.

@github-actions github-actions bot added the Stale label Oct 30, 2025
@LuanRT LuanRT removed the Stale label Oct 30, 2025
@Duell10111 Duell10111 force-pushed the tv-endpoints-adaption branch from a8243a6 to 1bf63f6 Compare October 30, 2025 15:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants