-
Notifications
You must be signed in to change notification settings - Fork 411
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
Comment Moderation - time based bans #6872
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Checking with Mark based on your notes. I also had a time based ban not work, he's looking into it. Aside from blocked list showing the time based ban, can also show it on the channel page where we show a channel is blocked. |
infinite-persistence
force-pushed
the
ip/block.timeout.master
branch
from
August 13, 2021 08:20
3ea1b41
to
520a155
Compare
3ea1b41 to 520a155Minor tweaks and improvements:
|
infinite-persistence
force-pushed
the
ip/block.timeout.master
branch
from
August 20, 2021 07:32
520a155
to
30c19fe
Compare
520a155 to 30c19fe
|
kauffj
reviewed
Aug 23, 2021
infinite-persistence
force-pushed
the
ip/block.timeout.master
branch
from
August 28, 2021 12:56
30c19fe
to
c6237a6
Compare
infinite-persistence
force-pushed
the
ip/block.timeout.master
branch
from
September 2, 2021 03:50
c6237a6
to
1e8fdf5
Compare
## Issue 6712 Comment Moderation - time based bans ## Approach - Consolidated the 3 types of blocking buttons in the comment content menu (i.e. Block, Moderator Block, Admin Block) into 1 regular Block button. - Show a modal when Block is clicked. - Let user choose the blocklist. - Let user choose the timeout duration (this PR's impetus).
- 'humanize-duration' is used because 'moment''s humanizer sucks.
infinite-persistence
force-pushed
the
ip/block.timeout.master
branch
from
September 3, 2021 09:08
1e8fdf5
to
a49db3c
Compare
The main reason to do this is because we are doing extra comment filtering using our blocklist (so that we don't see people we blocked regardless on who's content we are at), but we are also using a cached blocklist so we don't know when a Timeout will be lifted to allow new livestream messages. We will need Commentron Issue-80 to truly fix this. For the case of when we are the owner of the content, we don't run the extra filtering (since it is equivalent to Commentron's filtering), hence the issue doesn't exist. Any new livestream messages received through websocket won't be locally filtered.
## Preamble - The app-side uses a cached blocklist, so when a Timeout expires, it doesn't know that the ban has been lifted. - Meanwhile, we are doing extra comment filtering using this blocklist (so that we don't see comments that we have blocked, regardless of whose claim we are viewing). ## Issue In a livestream, if a new message from an ex-offender comes in after their ban has been lifted, we do get the websocket message but it's being filtered out locally as mentioned above. So, the msg ended up being visible for everyone except the owner. ## Fix (band aid) - Don't run the extra filter if the claim we are viewing is ours -- commentron would have filtered it for us anyways, and is the right logic to use even before this Timeout feature is introduced. - For the case of Timeout, this only serves as a band-aid until Commentron Issue 80 is available for us to detect the ban has been lifted. This is because it doesn't handle the case where I am a viewer and I decided to timeout someone for a few minutes. Because I am not the owner of the claim, the offender will continue to be blocked due to the same issue mentioned above.
infinite-persistence
force-pushed
the
ip/block.timeout.master
branch
from
September 3, 2021 14:38
a49db3c
to
bf8ab2e
Compare
rafael-xmr
pushed a commit
that referenced
this pull request
Sep 7, 2021
commit b2ec92e Author: saltrafael <a657ee92-7eb9-46eb-97d2-6735799df838@aleeas.com> Date: Tue Sep 7 07:19:54 2021 -0300 Better handle paid content on playlists commit 7291a2f Author: saltrafael <a657ee92-7eb9-46eb-97d2-6735799df838@aleeas.com> Date: Mon Sep 6 09:21:21 2021 -0300 Fix and improve code commit 802b473 Author: saltrafael <a657ee92-7eb9-46eb-97d2-6735799df838@aleeas.com> Date: Tue Sep 7 07:31:31 2021 -0300 Add snack bar notification commit 124aa90 Author: infinite-persistence <inf.persistence@gmail.com> Date: Tue Sep 7 16:03:05 2021 +0800 Fix Duration widget error-message logic - It didn't remove the error msg when the input is cleared. - It didn't update to the latest error msg if one already existed. commit 6a5ea5d Author: infinite-persistence <inf.persistence@gmail.com> Date: Tue Sep 7 16:10:40 2021 +0800 Vertically center 'icon--help' (redo) A better fix with extra specificity, since the main issue was with form-fields only. The previous fix was too wide and broke other areas with column flex. commit a6ece46 Author: infinite-persistence <inf.persistence@gmail.com> Date: Tue Sep 7 14:40:59 2021 +0800 Vertically center 'icon--help' Reasons: - Better symmetry. - When used on a form-field label, the off-centeredness causes an extra offset at the top. Since the icon goes away when there is an input error, the form-field shifts a bit. (An alternative is to use a smaller icon, but I think size 16 is the best for legibility). commit a227e6a Author: infinite-persistence <inf.persistence@gmail.com> Date: Tue Sep 7 10:25:38 2021 +0800 i18n + vjs i18n fixes - Reverted #7004 as it ended up preventing the rest of the components from being localized when there is an error. Replaced that with a `setLabel` that simply checks if the component exists before setting the label. - Fix "Autoplay Next On" not localized on initial load -- it was only localized when the setting changes. It is unfortunate that we need to also set the label in an additional `useEffect` instead of just using vjs events, but so be it. commit aceb8b8 Author: saltrafael <76502841+saltrafael@users.noreply.github.com> Date: Mon Sep 6 14:33:53 2021 -0300 Fix autoplay not saving (#7028) * Fix autoplay not saving * Bump redux commit f246992 Author: saltrafael <76502841+saltrafael@users.noreply.github.com> Date: Mon Sep 6 11:06:07 2021 -0300 Fix auto downloads (#7021) commit 95278f1 Merge: 91ef545 f8e9047 Author: infinite-persistence <inf.persistence@gmail.com> Date: Fri Sep 3 23:53:49 2021 +0800 #7015 Allow moderators to perform Timeout as well. commit f8e9047 Author: infinite-persistence <inf.persistence@gmail.com> Date: Fri Sep 3 23:33:04 2021 +0800 Allow moderators to perform Timeout as well. commit 04f3dfb Author: infinite-persistence <inf.persistence@gmail.com> Date: Fri Sep 3 23:28:09 2021 +0800 Corrected logic that was bypassing the muted list. commit 91ef545 Author: jessopb <36554050+jessopb@users.noreply.github.com> Date: Fri Sep 3 11:29:23 2021 -0400 Fix stale recsys and fix watchman uncaught promise when videoPlayer is not initialized (#7014) * do not set stale recsys id * no watchman send if videoplay not initialized commit 03d56d1 Merge: 049fb28 bf8ab2e Author: infinite-persistence <inf.persistence@gmail.com> Date: Fri Sep 3 22:42:26 2021 +0800 #6872 Comment Moderation - time based bans commit bf8ab2e Author: infinite-persistence <inf.persistence@gmail.com> Date: Fri Sep 3 15:43:01 2021 +0800 Run the extra app-side comment filter only if the claim is not ours. ## Preamble - The app-side uses a cached blocklist, so when a Timeout expires, it doesn't know that the ban has been lifted. - Meanwhile, we are doing extra comment filtering using this blocklist (so that we don't see comments that we have blocked, regardless of whose claim we are viewing). ## Issue In a livestream, if a new message from an ex-offender comes in after their ban has been lifted, we do get the websocket message but it's being filtered out locally as mentioned above. So, the msg ended up being visible for everyone except the owner. ## Fix (band aid) - Don't run the extra filter if the claim we are viewing is ours -- commentron would have filtered it for us anyways, and is the right logic to use even before this Timeout feature is introduced. - For the case of Timeout, this only serves as a band-aid until Commentron Issue 80 is available for us to detect the ban has been lifted. This is because it doesn't handle the case where I am a viewer and I decided to timeout someone for a few minutes. Because I am not the owner of the claim, the offender will continue to be blocked due to the same issue mentioned above. commit 804edd3 Author: infinite-persistence <inf.persistence@gmail.com> Date: Fri Sep 3 16:47:06 2021 +0800 Restrict "Timeout" feature to content owners The main reason to do this is because we are doing extra comment filtering using our blocklist (so that we don't see people we blocked regardless on who's content we are at), but we are also using a cached blocklist so we don't know when a Timeout will be lifted to allow new livestream messages. We will need Commentron Issue-80 to truly fix this. For the case of when we are the owner of the content, we don't run the extra filtering (since it is equivalent to Commentron's filtering), hence the issue doesn't exist. Any new livestream messages received through websocket won't be locally filtered. commit 0c1554e Author: infinite-persistence <inf.persistence@gmail.com> Date: Fri Aug 20 15:18:54 2021 +0800 Blocklist Page: show the timeout ban duration - 'humanize-duration' is used because 'moment''s humanizer sucks. commit 663376e Author: infinite-persistence <inf.persistence@gmail.com> Date: Fri Aug 20 09:04:48 2021 +0800 Block timeout was changed from "hours" to "seconds" in Commentron commit a05ccdd Author: infinite-persistence <inf.persistence@gmail.com> Date: Thu Aug 12 15:10:44 2021 +0800 Comment Moderation - time based bans ## Issue 6712 Comment Moderation - time based bans ## Approach - Consolidated the 3 types of blocking buttons in the comment content menu (i.e. Block, Moderator Block, Admin Block) into 1 regular Block button. - Show a modal when Block is clicked. - Let user choose the blocklist. - Let user choose the timeout duration (this PR's impetus). commit 049fb28 Author: jessopb <36554050+jessopb@users.noreply.github.com> Date: Thu Sep 2 18:39:40 2021 -0400 recsys v0.2 (#6977) * recsys wip better logging fix floating player popout playing uri bug with recsys lint add empty entries to create use beacon; fire on visibilitychange cleanup, not record recs if not seen ifweb recsys beacon recsys handle embeds, cleanup use history.listen to trigger events fix recsys embed bug bugfix more default data cleaner cleaner * remove tentative * disable recsys debug logging commit 64cbd4a Author: saltrafael <76502841+saltrafael@users.noreply.github.com> Date: Thu Sep 2 17:05:32 2021 -0300 Expanded Playback and List controls (#6921) * Dont show countdown on Lists * Add Repeat icon * Add Shuffle icon * Add Replay Icon * Add Replay Option to autoplayCountdown * Add Loop Control for Lists * Add Shuffle control for Lists * Improve View List Link and Fetch action * Add Play Button to List page * Add Shuffle Play Option on List Page and Menus * Fix Modal Remove Collection I18n * CSS: Fix Large list titles * Fix List playback on Floating Player * Add Theater Mode to its own class and fix bar text display * Add Play Next VJS component * Add Play Next Button * Add Play Previous VJS Component * Add Play Previous Button * Add Autoplay Next Button * Add separate control for autoplay next in list * Bump redux * Update CHANGELOG.md commit 061e4dd Author: infinite-persistence <64950861+infinite-persistence@users.noreply.github.com> Date: Thu Sep 2 09:38:58 2021 -0700 vjs: hide errors when updating i18n (#7004) ## Issue 6989 console errors and warnings are getting out of hand! ## Notes This method was previously criticized in 5643. But given that no better solution has been submitted after a long while, nor is there a new solution for doing i18n, I'm reviving it again. It'll be no worse from the status quo. Despite try-catch being overkill, I think the code-clarity outweighs the performance issues (if any, in the first place). Also, we are only suppressing the error in a very specialized function which even if it fails, will simply be a no-op and the GUI falling back to English. commit a0f164c Author: infinite-persistence <inf.persistence@gmail.com> Date: Thu Sep 2 20:50:03 2021 +0800 Add streamer badge https://lbryians.slack.com/archives/C01LTTCEURW/p1629489255028900
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Dev Notes
https://www.notion.so/lbry/Comment-Timeout-83a2834a888f41be998c91abcd92e908
Ticket
Closes #6712 Comment Moderation - time based bans
Approach