Skip to content

Add Parental Control toggle to disable channel link from videos#8502

Open
ozrendev wants to merge 17 commits intoFreeTubeApp:developmentfrom
ozrendev:toggle-disable-channel-link-video
Open

Add Parental Control toggle to disable channel link from videos#8502
ozrendev wants to merge 17 commits intoFreeTubeApp:developmentfrom
ozrendev:toggle-disable-channel-link-video

Conversation

@ozrendev
Copy link
Copy Markdown
Contributor

@ozrendev ozrendev commented Jan 9, 2026

Pull Request Type

  • Bugfix
  • Feature Implementation
  • Documentation
  • Other

Related issue

closes #8375

Description

Adds a toggle under Parental Control that allows the user to disable the channel link from video thumbnails.

Testing

Go to Settings -> Parental Control -> Enabled "Disable Channel Link on Videos"
View any video thumbnail and see that channel link can't be clicked and no longer appears as a link

Additional context

The original issue called for also hiding the "Channels" button in the side bar, but I feel like this should be a separate PR since I think it makes the most sense to be another toggle under "Distraction Free -> Side Bar"
I'm not 100% sure on this, so wanted to add this here for feedback?

@github-actions github-actions bot added the PR: waiting for review For PRs that are complete, tested, and ready for review label Jan 9, 2026
@FreeTubeBot FreeTubeBot enabled auto-merge (squash) January 9, 2026 10:35
@github-actions
Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot added PR: merge conflicts / rebase needed and removed PR: waiting for review For PRs that are complete, tested, and ready for review labels Jan 21, 2026
@efb4f5ff-1298-471a-8973-3d47447115dc
Copy link
Copy Markdown
Member

The original issue called for also hiding the "Channels" button in the side bar, but I feel like this should be a separate PR since I think it makes the most sense to be another toggle under "Distraction Free -> Side Bar"
I'm not 100% sure on this, so wanted to add this here for feedback?

indeed best to kept separate and add it to the Side bar

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 8, 2026

This PR is stale because it has been open 14 days with no activity. Remove stale label or comment or this will be closed in 14 days.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 9, 2026

Conflicts have been resolved. A maintainer will review the pull request shortly.

defaultViewingMode: 'default',
defaultVideoFormat: 'dash',
disableSmoothScrolling: false,
disableChannelLink: false,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think this name is quite ambiguous coz I can clearly see channel links in watch page...
Need something more specific

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

How about something like disableChannelLinkOnVideoThumbnail?

Hide Uploader on Watch page: Hide Uploader on Watch page
Show Family Friendly Only: Show Family Friendly Only
Hide Search Bar: Hide Search Bar
Disable Channel Link on Videos : Disable Channel Link on Vidoes
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is not copy and paste!? (key > value)
Also got the same issue on where does this apply (basically the same as above)

Suggested change
Disable Channel Link on Videos : Disable Channel Link on Vidoes
Disable Channel Link on Videos : Disable Channel Link on Videos

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Oops, my bad! Same as above too, Disable Channel Link on Video Thumbnails?

@efb4f5ff-1298-471a-8973-3d47447115dc
Copy link
Copy Markdown
Member

So im not really sure if this even needs to be implemented. Isnt it possible to limit this kind of access with our existing settings?

Just and FYI for the team below is the usecase listed in the issue

I want to limit my child's access to the back catalogue of the channels I am subscribed to. You can limit the number of videos in the subscription list but clicking on the channel name or going to the channels tab allows you unrestricted access to all of the videos

@ozrendev
Copy link
Copy Markdown
Contributor Author

So im not really sure if this even needs to be implemented. Isnt it possible to limit this kind of access with our existing settings?

Just and FYI for the team below is the usecase listed in the issue

I want to limit my child's access to the back catalogue of the channels I am subscribed to. You can limit the number of videos in the subscription list but clicking on the channel name or going to the channels tab allows you unrestricted access to all of the videos

How would you limit it with existing settings? I had a look but couldn't find a way to do it so I'm curious to test it out.

I think overall the toggle can be useful, ie for kids controls, extra control for stopping binge watching a whole channel's content? But having an option to also hide the channel in the sidebar would be necessary I think, am happy to open another PR for that.

@PikachuEXE
Copy link
Copy Markdown
Member

I think Hide Uploader on Watch page is the closes we have for toggling that
But it hides not just disable the link on watch page (and also it said watch page only...)
But I can't think of a better option to group these 2 together (or even should they be grouped

Is there another option this "link hiding" can fall under? Or do we need the new option to be used for more behaviour (which might be implemented yet? Discuss~

@ozrendev
Copy link
Copy Markdown
Contributor Author

I think Hide Uploader on Watch page is the closes we have for toggling that But it hides not just disable the link on watch page (and also it said watch page only...) But I can't think of a better option to group these 2 together (or even should they be grouped

Is there another option this "link hiding" can fall under? Or do we need the new option to be used for more behaviour (which might be implemented yet? Discuss~

Can you please clarify which page you are describing when you say Watch Page? This PR should be active when you search and see a list of videos, or when viewing a video and seeing the "recommended" videos in the side bar. I am happy with whichever wording, either Hide or Disable is fine - I would say "disable" because you can still see the channel name but not click the link, but either is fine in my opinion.

I think the option for toggling hide/show link here should stay in Parental Controls, since it's a restrictive option that limits function, like most other toggles in that category. The option for hiding the "Channel" button in the Side Bar would make more sense to me to be grouped with Distraction Free -> Side Bar (with the rest of the side bar button toggles)

@PikachuEXE
Copy link
Copy Markdown
Member

Hide Uploader on Watch page is an existing option, not a suggestion for naming this new option, just to be clear

Watch Page should mean watch video page (coz what else can be watched)

If this new option applies to all "video boxes" then I dunno what to name it yet.
Disable Channel Link on Videos sounds fine but I am not sure if the link in the watch page should be disabled too or not (are there other places with channel links tied to video(s)? dunno)

@ozrendev
Copy link
Copy Markdown
Contributor Author

ozrendev commented Feb 16, 2026

Ah okay, thanks for making it clear!

Yeah I see what you mean. The component name is ft-list-video, but I'd call those thumbnails so maybe something like Disable Channel Link on Video Thumbnails or Disable Link on Thumbnails to keep it short?

@PikachuEXE
Copy link
Copy Markdown
Member

Actually I think this option can (not sure should) be used to disable channel link in watch page

(bottom left
image

From #8375

I want to limit my child's access to the back catalogue of the channels I am subscribed to. You can limit the number of videos in the subscription list but clicking on the channel name or going to the channels tab allows you unrestricted access to all of the videos

I know we can hide channel name on watch page, but maybe disabling the link and still showing the channel link with this option is good too?

I know we have #7514 but disable might be a better implementation

@ozrendev
Copy link
Copy Markdown
Contributor Author

I know we can hide channel name on watch page, but maybe disabling the link and still showing the channel link with this option is good too?

I know we have #7514 but disable might be a better implementation

Yeah, I feel like since there is already an option under Parental Controls, the user could just toggle both in order to achieve this. I like the granular approach to locking down little bits at a time, so you can very finely tune the level of control.

But disabling the channel link also makes sense, especially for this option and it's more clear that ALL channel links will be disabled by the toggle. My preference would go to the first option using both toggles, but I think both are good approaches.

What do some of the other reviewers think about these approaches?

auto-merge was automatically disabled March 11, 2026 11:42

Head branch was pushed to by a user without write access

Co-authored-by: PikachuEXE <git@pikachuexe.net>
@FreeTubeBot FreeTubeBot enabled auto-merge (squash) March 11, 2026 11:42
@efb4f5ff-1298-471a-8973-3d47447115dc
Copy link
Copy Markdown
Member

Sorry for the late response. Reading everything back and maybe we should combine this feature with the hide watch page one? Meaning that the watch page one will be visible but can't be clicked and no longer appears as link?

@PikachuEXE
Copy link
Copy Markdown
Member

Agreed and the old setting should be migrated (if too difficult I can do the setting migration in a separate PR
Though in this PR the channel link on watch page should be disabled
Also the translation typo not fixed yet~

auto-merge was automatically disabled March 12, 2026 11:39

Head branch was pushed to by a user without write access

showToast(t('Video.Video has been removed from your saved list'))
}

const disableChannelLinks = computed(() => store.getters.getDisableChannelLinks)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
const disableChannelLinks = computed(() => store.getters.getDisableChannelLinks)
const enableChannelLinks = computed(() => !store.getters.getDisableChannelLinks)

v-if="!hideUploader"
>
<RouterLink
v-if="!disableChannelLinks"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I am not a fan of double negative

Suggested change
v-if="!disableChannelLinks"
v-if="enableChannelLinks"

>
</RouterLink>
<img
v-if="disableChannelLinks"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
v-if="disableChannelLinks"
v-else

v-if="!hideUploader"
>
<RouterLink
v-if="!disableChannelLinks"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

ditto

{{ channelName }}
</RouterLink>
<div
v-if="disableChannelLinks"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

ditto

gap: 4px;
}

.revertCursor {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I haven't tested this yet so not sure if this is really needed

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I changed this to use initial instead - it just stops the cursor staying as pointer

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Found link to channel:

VirtualBoxVM_xx5lhPvWuW.mp4

I think this one is out of scope but i can also go to a channel like this, thoughts?:

VirtualBoxVM_5fa7WpAHh1.mp4

Some weird behavior:

VirtualBoxVM_H5SzL68MKg.mp4
VirtualBoxVM_UnGasCycM6.mp4
VirtualBoxVM_2Y77JLTiu8.mp4
VirtualBoxVM_5fa7WpAHhl.mp4

@PikachuEXE
Copy link
Copy Markdown
Member

Since #8375 is asking for blocking access to channel, not just via videos
I think channel links anywhere should be blocked

auto-merge was automatically disabled March 13, 2026 12:13

Head branch was pushed to by a user without write access

@FreeTubeBot FreeTubeBot enabled auto-merge (squash) March 13, 2026 12:13
@ozrendev
Copy link
Copy Markdown
Contributor Author

Hopefully the new commit should solve that weird behavior. Also made it clearer by removing the double negatives.

Will have a look at disabling channel links from those other places. Let me know if you find anywhere else it can be accessed

auto-merge was automatically disabled March 20, 2026 11:11

Head branch was pushed to by a user without write access

@FreeTubeBot FreeTubeBot enabled auto-merge (squash) March 20, 2026 11:11
auto-merge was automatically disabled March 20, 2026 11:34

Head branch was pushed to by a user without write access

@FreeTubeBot FreeTubeBot enabled auto-merge (squash) March 20, 2026 11:34
@ozrendev
Copy link
Copy Markdown
Contributor Author

I've pushed changes for both Playlists and Posts.

Since the original issue was relating to subscribed channels, I feel that Posts are in scope. The user might want to limit access, but still have all Subscriptions options enabled.

I think that covers most video related channelLinks. The question is where to stop, as you could potentially still access the uploader's channel if you have comments enabled and the uploader has commented on the video. But I feel like this is a stretch and out of scope, since at that point you would probably just disable comments anyway. What do you think?

auto-merge was automatically disabled March 20, 2026 12:16

Head branch was pushed to by a user without write access

@FreeTubeBot FreeTubeBot enabled auto-merge (squash) March 20, 2026 12:16
@efb4f5ff-1298-471a-8973-3d47447115dc
Copy link
Copy Markdown
Member

Hmm i see your point but i also can see a parent giving their child educational content so and sometimes with that there are helpful comment from the author itself or clarifications. So i would tend to say its in scope.

Also i found the last one

VirtualBoxVM_NoeF0tzA9M.mp4

This is definitely out of scope 😄

VirtualBoxVM_4W2Kqu67Qe.mp4

Hide Uploader on Watch page: Hide Uploader on Watch page
Show Family Friendly Only: Show Family Friendly Only
Hide Search Bar: Hide Search Bar
Disable Channel Link on Videos : Disable Channel Link on Videos
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Probably should be renamed now because it doesnt apply only on videos

auto-merge was automatically disabled March 29, 2026 08:32

Head branch was pushed to by a user without write access

@FreeTubeBot FreeTubeBot enabled auto-merge (squash) March 29, 2026 08:32
@ozrendev
Copy link
Copy Markdown
Contributor Author

As I was making the above changes, the manually copying/pasting depending on enableChannelLinks seemed a bit tedious and prone to error/future edits. I went looking for a solution and found this workaround for <router-view>

I just made commit c46623f so that it's easier to show the difference in context. What does everyone think? Keep it or revert back to previous method?

auto-merge was automatically disabled March 29, 2026 08:35

Head branch was pushed to by a user without write access

@FreeTubeBot FreeTubeBot enabled auto-merge (squash) March 29, 2026 08:35
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.

[Feature Request]: Remove/limit access to channels.

3 participants