elk-zone / elk

A nimble Mastodon web client
https://elk.zone
MIT License
5.5k stars 565 forks source link

Crazy List Ideas #1586

Open boehs opened 1 year ago

boehs commented 1 year ago

Follow up on #372

Ideas:

stackblitz[bot] commented 1 year ago

Solve in StackBlitz Codeflow Start a new pull request in StackBlitz Codeflow.

prohr commented 1 year ago

To clarify, my proposal wasn't ever to bulk unfollow everyone on a list. That'd be icky.

In the current Mastodon model, the fact that I read posts from people I follow via named lists is private to me. How those lists are organized, what I call them, how often they're used -- only my client + I know any of that. List information is stored on the server, but nothing about that feature federates. None of that would change with this proposal.

As far as ActivityPub is concerned, I'd still continue to follow everyone on these lists. Their posts would get delivered to both:

The only proposed change is that, on the client side, any posts from accounts on filtered lists (or exclusive lists or whatever you call it) wouldn't be shown on the home feed. They'd only be shown on the list (rather than in both places).

This user-friendly, privacy-protecting behavior is just a UX enhancement to help me segregate which posts I read where. Think of it as yet another "don't show me this twice" feature + nothing more.

prohr commented 1 year ago

As proposed, this behavior would be controlled by a per-list setting for maximum flexibility. If you don't believe the feature would be generally useful, default it to "show me this twice" behavior. Alternatively, it might be easier to explain if you just had a global setting, so either all lists work this way or they don't.

The bolder, more opinionated choice would be to just insist that lists should've always worked this way, period. After all, we don't have a setting to allow folks to opt out of connecting replies + threads together in the main TL, because the old behavior of separating them into individual disconnected posts was crazy.

ghost commented 1 year ago

Just came here because I would love that too. Hide accounts from specific lists on the home timeline, less clutter from news accounts or some cute animal picture bots for example, but still having the option to read all their toots in the list.

canadaduane commented 1 year ago

I have a specific use case to share that might be valuable?

prohr commented 1 year ago

That's correct. Muting is a server-side feature which keeps unwanted posts from being delivered to the client at all. Hence there's no way for the client to selectively undo muting for lists. (And there never will be. Remember that muting is a politer way of blocking where the other person doesn't know you're ignoring them.)

To meet your use case, you need a feature like the one I described. As far as the user is concerned, posts show on the list, but not in the main feed. Essentially it's a filter which excludes them from cluttering up the main feed because they'll be visible on a list instead.

Note that there's currently no such filtering logic to leverage on the server side, but this can certainly be implemented on the client side as follows:

  1. Maintain a data structure containing the set of accounts who get routed to lists.

  2. For the home feed, skip posts from any account in that set.

  3. For lists, display all posts.

As I described earlier, the main policy decision is contained within step

  1. Should all lists work this way, or is UX needed to persist a per-list setting, so that some lists do + others don't?

PS: Is the proposed behavior well-understood enough that it should be split out as a separate issue, or do the Elk maintainers still think it counts as "crazy"?

On Sat, Mar 25, 2023, 2:28 AM Duane Johnson @.***> wrote:

I have a specific use case to share that might be valuable?

  • I follow several bots that post frequently
  • They have begun drowning out my people
  • I can mute the bots
  • I can add the bots to a list
  • But so far, I don't think I can read posts from muted follows, even if those posts are in a list?

— Reply to this email directly, view it on GitHub https://github.com/elk-zone/elk/issues/1586#issuecomment-1483740933, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADHCPEQMJ5Z2FDI22XCA4L3W52GBBANCNFSM6AAAAAAUP2ZWWI . You are receiving this because you were mentioned. Message ID: @.***>

VagrantVulpine commented 1 year ago

This is an amazing idea. If it's ever implemented it would not only be extremely useful, but I think it'd server to really help Elk stand out from the crowd too.