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

Lists updates: curate lists and blocklists #1689

Merged
merged 67 commits into from
Nov 1, 2023
Merged

Lists updates: curate lists and blocklists #1689

merged 67 commits into from
Nov 1, 2023

Conversation

pfrazee
Copy link
Collaborator

@pfrazee pfrazee commented Oct 12, 2023

This PR:

  • Introduces non-moderation User Lists which can be used to drive feeds
  • Renames Mute Lists to Mod Lists and adds the option to mute or block them
  • Adds the ability to pin User Lists like feeds

Technical updates:

  • Updated the list model to distinguish between curatelist and modlist
  • Reworked pinned feed management to abstract over feedgens and curatelists
  • Added handling of users blocked by lists
  • Created a general-purpose Tabs component for creating tabbed interfaces with headers
  • Used the tabs component to rework the ProfileList and ProfileFeed screens; consequently both have gotten a UI rework
  • Added a new modal for finding and adding people to lists

Still todo:

  • Integration tests
  • New analytics events
  • Moderation labels on lists blocked by backend, filed an issue

@pfrazee pfrazee marked this pull request as ready for review October 31, 2023 19:54
@pfrazee pfrazee changed the title Lists updates: curate lists and blocklists [WIP] Lists updates: curate lists and blocklists Oct 31, 2023
Copy link
Member

@estrattonbailey estrattonbailey left a comment

Choose a reason for hiding this comment

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

Works great! No visible issues so far, so pumped for this. Just submitting a partial review, will keep on it tomorrow ✌️

bskyweb/cmd/bskyweb/server.go Outdated Show resolved Hide resolved
src/Navigation.tsx Show resolved Hide resolved
src/lib/analytics/types.ts Show resolved Hide resolved
src/lib/api/feed/merge.ts Show resolved Hide resolved
src/lib/async/accumulate.ts Show resolved Hide resolved
src/lib/hooks/useDesktopRightNavItems.ts Show resolved Hide resolved
Comment on lines +123 to +128
list.cacheAddMember(profile)
}
},
onRemove(listUri: string) {
if (listUri === list.uri) {
list.cacheRemoveMember(profile)
Copy link
Member

Choose a reason for hiding this comment

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

Can these optimistic updates happen in the actual add/remove methods? Just feels odd to have them over here separate.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

That modal uses a different set of ListModels that aren't shared by the one showing the user, unfortunately

Copy link
Member

Choose a reason for hiding this comment

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

Seems to work great 👍


const onPressAvi = React.useCallback(() => {
if (
avatar // TODO && !(view.moderation.avatar.blur && view.moderation.avatar.noOverride)
Copy link
Member

Choose a reason for hiding this comment

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

TODO?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

yeah we'll come back to it when mod labels get added to lists or feeds

Copy link
Member

@estrattonbailey estrattonbailey left a comment

Choose a reason for hiding this comment

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

*slow chant of paul paul paul paul PAULPAULPAUL*

Co-authored-by: Eric Bailey <git@esb.lol>
@pfrazee pfrazee merged commit f57a8cf into main Nov 1, 2023
4 checks passed
@pfrazee pfrazee deleted the lists-updates branch November 1, 2023 23:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants