FreeTubeApp / FreeTube

An Open Source YouTube app for privacy
https://freetubeapp.io/
GNU Affero General Public License v3.0
13.51k stars 839 forks source link

[Feature Request]: Hide videos based on title (using regex) #4573

Open ticmaisdev opened 9 months ago

ticmaisdev commented 9 months ago

image

Guidelines

Problem Description

Currently, we are able to hide videos from channels based on:

But I judge this to not be as broad as it should be.

Proposed Solution

My suggestion is making it possible so that users can use regular expressions to hide videos based on:

Alternatives Considered

Currently, we are able to hide videos from channels based on:

  1. exact channel name
  2. channel ID

But I judge this to not be as broad as it should be.

My personal use cases would be for:

It's very frustrating to be disrupted from work because autoplay ends up on one of these videos playing the same song in a loop. Not to talk about those channels making huge playlists of songs that I only really enjoy listening to a couple them.

I don't think this should be difficult to implement, considering that we already have:

Issue Labels

ease of use improvement, improvement to existing feature, new optional setting

Additional Information

I've made a poll and majority of people agreed upon this new feature:

check poll results

ticmaisdev commented 9 months ago

By the way, the following feature is broken. It only ever hide the videos, but autoplay won't skip them.

image

kommunarr commented 9 months ago

By the way, the following feature is broken. It only ever hide the videos, but autoplay won't skip them.

This issue will be fixed with #4202 (https://github.com/FreeTubeApp/FreeTube/pull/4202/commits/80688c5f4e69926f078d37b7ffd61cc73837f8b7).

kommunarr commented 9 months ago

Re-opening this as the implemented solution does not handle regex. I'd be interested if anyone knows of a program with a similar feature implemented (stored blocklist that can contain regex or non-regex strings) — there are some non-trivial UX decisions for implementing this feature properly.

ticmaisdev commented 9 months ago

@jasonhenriquez I understand this can get a little bit complex. it's understandable if you've got higher priority tasks. also: I'm sorry for not being able to help with code.

following, there is wireframe from where you guys might get some insights from. it's based on these tools:

Untitled-2024-01-11-1037

I'll try to make something more elaborate on Figma, ASAP

excalidraw.zip

kommunarr commented 9 months ago

Thanks for the provided resources @ticmaidev and @Alexander-Wilms. I like the use of the regex string as the identifier. It would also allow for a quick dynamic way to check if each tag is a regex string without having to add an object property identifier representing which strings are regex versus non-regex. Comments aren't in scope for this feature, but there are ways to add de facto commenting inside of regex strings for those who absolutely need it.