Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Parental control additional settings #6757

Open
wants to merge 4 commits into
base: development
Choose a base branch
from

Conversation

that-one-arab
Copy link

@that-one-arab that-one-arab commented Feb 5, 2025

Title

Pull Request Type

  • Bugfix
  • Feature Implementation
  • Documentation
  • Other

Related issue

Description

This PR handles adding addition parental control related options, to offer more customization to the user and enhance their experience.

It adds the following options

  • hideCreateNewProfileButton: Hides the create new profile button in the profile tab, to prevent user from creating a new profile
  • hideVideoChannelInfo: Hides the channel information (channel name, logo) and the video actions (like, download, share, etc...)

Screenshots

Before

image

After

image

Testing

I tested the code by:

  • Disabling/enabling the new option
  • Visiting the respective effected place/page and seeing if the disabled/enabled behavior behaves as expected.

For an example: enabling the "Hide Create New Profile Button" option would hide the create new profile button in the profile settings page.

I did the above process for each newly added option

Desktop

  • OS: Ubuntu
  • OS Version: 20.04
  • FreeTube version: 0.22

Additional context

@FreeTubeBot FreeTubeBot enabled auto-merge (squash) February 5, 2025 14:54
@github-actions github-actions bot added the PR: waiting for review For PRs that are complete, tested, and ready for review label Feb 5, 2025
@that-one-arab that-one-arab changed the title Feature: Parental control Feature: Parental control additional settings Feb 5, 2025
@absidue
Copy link
Member

absidue commented Feb 5, 2025

Please remove the Hide Announcements setting that this PR adds, as its functionality is already covered by the existing, more powerful Check for Updates and Check for Latest Blog Posts settings.

Some advice on how to fill in the template if you plan on doing more pull requests in the future:
The current description is quite generic and doesn't give us any more information than what we can extrapolate from the title. Ideally the description should tell us what the pull request does without having to read the code and run the code to figure it out, so explaining what settings you added and why you added those specific settings. The testing section should contain information on how to test the PR (e.g. turn on x setting) and what to expect as a result of performing those steps (e.g. something changed).

@absidue absidue added PR: changes requested and removed PR: waiting for review For PRs that are complete, tested, and ready for review labels Feb 5, 2025
auto-merge was automatically disabled February 5, 2025 19:18

Head branch was pushed to by a user without write access

@that-one-arab that-one-arab force-pushed the feature_parental_control branch from abec655 to e8d81ba Compare February 5, 2025 19:18
@FreeTubeBot FreeTubeBot enabled auto-merge (squash) February 5, 2025 19:19
auto-merge was automatically disabled February 5, 2025 19:25

Head branch was pushed to by a user without write access

@FreeTubeBot FreeTubeBot enabled auto-merge (squash) February 5, 2025 19:25
@that-one-arab
Copy link
Author

Please remove the Hide Announcements setting that this PR adds, as its functionality is already covered by the existing, more powerful Check for Updates and Check for Latest Blog Posts settings.

Some advice on how to fill in the template if you plan on doing more pull requests in the future: The current description is quite generic and doesn't give us any more information than what we can extrapolate from the title. Ideally the description should tell us what the pull request does without having to read the code and run the code to figure it out, so explaining what settings you added and why you added those specific settings. The testing section should contain information on how to test the PR (e.g. turn on x setting) and what to expect as a result of performing those steps (e.g. something changed).

@absidue Thank you for your feedback. I removed the " Hide Announcements" setting and I amended the PR description to better describe itself. Please let me know if I need to adjust anything else

My regards.

@efb4f5ff-1298-471a-8973-3d47447115dc

In my opinion the functionality of the parental control hideCreateNewProfileButton isnt very restrictive. I would want to suggest we should hide the option for a child to go to the Profile Manager (Alt -> Navigate -> Profile Manager option should also be hidden if we implement this). I would like to hear from other first before we start implementing this.

I dont really understand what the purpose is of removing everything on the watch page. We have allot of individual toggles that almost recreates what you are doing.

FreeTube_8ACBYy3oCt

You are restricting a child to see:

  1. Title
  2. Publish date
  3. Channel icon
  4. Playlist buttons
  5. Download button
  6. Media formats button

I dont really see why 1,2,3 and 5 need to be removed. Please elaborate on why everything on why a parent would want to hide everything on this list.

@that-one-arab
Copy link
Author

In my opinion the functionality of the parental control hideCreateNewProfileButton isnt very restrictive. I would want to suggest we should hide the option for a child to go to the Profile Manager (Alt -> Navigate -> Profile Manager option should also be hidden if we implement this). I would like to hear from other first before we start implementing this.

I dont really understand what the purpose is of removing everything on the watch page. We have allot of individual toggles that almost recreates what you are doing.

FreeTube_8ACBYy3oCt

You are restricting a child to see:

  1. Title
  2. Publish date
  3. Channel icon
  4. Playlist buttons
  5. Download button
  6. Media formats button

I dont really see why 1,2,3 and 5 need to be removed. Please elaborate on why everything on why a parent would want to hide everything on this list.

@efb4f5ff-1298-471a-8973-3d47447115dc Thank you for your feedback.

I don't mind the suggestion regarding hideCreateNewProfileButton, please let me know if I should go and implement this.

As for the restrictions on the watch page, my initial philosophy was to restrict a child from doing things in the watch page other than watching a video, this includes things like visiting the channel's page (through the channel icon) and clicking on buttons that do not relate to watching the video (favorting, adding to playlist, changing media format)

Upon review I think removing video title and publish date are unnecessary though... If you find it suitable I can revert those 2 back.

Please let me know your feedback again and how we should proceed with this PR.

@efb4f5ff-1298-471a-8973-3d47447115dc

To be honest i really need to hear from the others first before we decide on what todo here.

@PikachuEXE
Copy link
Collaborator

To me it should be disabling

  • Profile updates (switching should be fine right?)
  • Playlist updates (on watch page only?? Seems strange)

Things I found strange/not understanding the reasons for disabling:

  • Visit channel page on watch page
  • Change media format on watch page

Also I wonder Hide Subscription Button actually implies profiles should not be updated

@that-one-arab
Copy link
Author

To me it should be disabling

  • Profile updates (switching should be fine right?)
  • Playlist updates (on watch page only?? Seems strange)

Things I found strange/not understanding the reasons for disabling:

  • Visit channel page on watch page
  • Change media format on watch page

Also I wonder Hide Subscription Button actually implies profiles should not be updated

To describe my use case: my initial need was to create a playlist for my little bro so he can watch videos, but he's the easily distracted and curious type. I needed a solution to have him watch the playlist I created without always monitoring him to check if he stumbled on other videos. This is my reason for hiding channel page info on watch page.

As for the changing media format, I thought this option is too complicated for a child to understand so I thought we could hide it too, but this is easily arguable and I am open to suggestions about reverting it back.

This is my first time using the FreeTube client so there might be places I'm not completely aware of, that's why I was unfamiliar with some of the options until you helped me to discover them to amend my PR

@absidue @efb4f5ff-1298-471a-8973-3d47447115dc @PikachuEXE Please let me know how we should go about with this PR, if you have suggestions on making modifications to it I'll be happy to make them.

@PikachuEXE
Copy link
Collaborator

If you are trying to disable any channel page visit, it should be another option (and it's would be complicated that should done in another PR
Changing media format just seems odd to me (as a distraction)

Overall profile updates & playlist updates are no doubt should be able to be restricted and can be done in this PR (and already complicated not sure if you want to split them up to you
Other stuff I think should be done in other PRs

@that-one-arab
Copy link
Author

@PikachuEXE In this case, how about I only ship hiding the create new profile button? Is this something we all have a consensus on?

@PikachuEXE
Copy link
Collaborator

I think like #6757 (comment) said
It should be disabling profile management instead of just profile creation (which is part of it

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