A lesser known Mastodon pro tip:
-
A lesser known Mastodon pro tip:
Want to mute a conversation, but the mute conversation button isn't appearing on the post?
The only way you can mute a conversation is on a post you have made in the conversation.
But the secret part - Say you want to mute it without actually participating in the conversation:
Reply to a post, set the visibility to "Private Mention", remove everyone's username from the post. Post it.
Then you can click "mute conversation" on THAT post, and it silently mutes you from the conversation.
There's no mute conversation button on someone else's post
Hit reply on the post - note by default it says public and includes the person's username
Change the post visibility to private
Make a junk post
(Continued)
-
There's no mute conversation button on someone else's post
Hit reply on the post - note by default it says public and includes the person's username
Change the post visibility to private
Make a junk post
(Continued)
Now it allows you to mute conversation
-
Now it allows you to mute conversation
jesstheunstill@infosec.exchange the inability to mute someone else's conversation seems to arbitrary. Maybe there's a technical reason behind it but there needn't be...
-
jesstheunstill@infosec.exchange the inability to mute someone else's conversation seems to arbitrary. Maybe there's a technical reason behind it but there needn't be...
@julian @JessTheUnstill After a brief dive into the mastodon API documentation, it seems to be a protocol limitation indeed. You (or rather your client program) do not get to see the conversation ID until you join that conversation, so until then, you do not have the correct piece of information to request muting of that conversation.
Some references:
https://docs.joinmastodon.org/methods/timelines/#home
https://docs.joinmastodon.org/methods/conversations/#get -
@julian @JessTheUnstill After a brief dive into the mastodon API documentation, it seems to be a protocol limitation indeed. You (or rather your client program) do not get to see the conversation ID until you join that conversation, so until then, you do not have the correct piece of information to request muting of that conversation.
Some references:
https://docs.joinmastodon.org/methods/timelines/#home
https://docs.joinmastodon.org/methods/conversations/#getticho@mas.to hey, I sort of disagree. While the protocol itself doesn't contain topic level information, it can be inferred from context.
This is how NodeBB achieves it. It also sends contextual information so it's explicitly available as well.
-
ticho@mas.to hey, I sort of disagree. While the protocol itself doesn't contain topic level information, it can be inferred from context.
This is how NodeBB achieves it. It also sends contextual information so it's explicitly available as well.
@julian While in general, I agree, you could implement some sort of heuristics, there is one huge difference - a NodeBB server is centralized and sees everything. With Mastodon, half of the posts in a conversation might not be visible to you, either because of being outright blocked, or the post simply not hitting your instance because of where the participants post from.
Any heuristic based on unrelated metadata would be inaccurate at best, but more often than not outright misleading.
-
@julian While in general, I agree, you could implement some sort of heuristics, there is one huge difference - a NodeBB server is centralized and sees everything. With Mastodon, half of the posts in a conversation might not be visible to you, either because of being outright blocked, or the post simply not hitting your instance because of where the participants post from.
Any heuristic based on unrelated metadata would be inaccurate at best, but more often than not outright misleading.
@julian This could theoretically be solved by simply adding the conversation id to each Status object in the timeline (and likely also any other post-like object that your client is receiving), but someone familiar with the entire protocol would need to look at this change, since it might bring compatibility issues.

-
@julian This could theoretically be solved by simply adding the conversation id to each Status object in the timeline (and likely also any other post-like object that your client is receiving), but someone familiar with the entire protocol would need to look at this change, since it might bring compatibility issues.

@ticho @julian An important thing to remember with AP is that the AP protocol itself is pretty loose. Mastodon is one particular implementation of it, and doesn't even absolutely comply with the spec. Hence why some of the other server softwares have more features or slight incompatibility with Mastodon. So I'd be more inclined to believe that the oddities of conversation threading are in the Mastodon implementation rather than the AP spec itself.
Yes, some pendantry, but it means fixing it is down to one development team, not all Fediverse implementations.
-
@ticho @julian An important thing to remember with AP is that the AP protocol itself is pretty loose. Mastodon is one particular implementation of it, and doesn't even absolutely comply with the spec. Hence why some of the other server softwares have more features or slight incompatibility with Mastodon. So I'd be more inclined to believe that the oddities of conversation threading are in the Mastodon implementation rather than the AP spec itself.
Yes, some pendantry, but it means fixing it is down to one development team, not all Fediverse implementations.
@JessTheUnstill @julian Indeed. I started my earlier dive with AP docs, only to realize that they're too generic for what I'm looking for, and that I'm better off digging through Mastodon docs specifically to find details about timelines and conversations.

-
@JessTheUnstill @julian Indeed. I started my earlier dive with AP docs, only to realize that they're too generic for what I'm looking for, and that I'm better off digging through Mastodon docs specifically to find details about timelines and conversations.

@ticho @JessTheUnstill @julian but, couldn’t the client offer the ability to mute a conversation you are not a part of by streamlining silently those very steps ?
If I’m part of a conversation I can choose to mute it because my server (hence my client) knows it’s particular ID, if I’m not part of it my client creates an empty private post as a reply and mutes normally from there.
It’s just a workaround, ofc, but I don’t see any reason for it not to work. -
@ticho @JessTheUnstill @julian but, couldn’t the client offer the ability to mute a conversation you are not a part of by streamlining silently those very steps ?
If I’m part of a conversation I can choose to mute it because my server (hence my client) knows it’s particular ID, if I’m not part of it my client creates an empty private post as a reply and mutes normally from there.
It’s just a workaround, ofc, but I don’t see any reason for it not to work.@Vive_Levant @JessTheUnstill @julian Absolutely it could!
Technically, it could be considered as abusing the API, but at least it would maybe motivate the developers to come up with a better solution.

Looks like there is a rather old and inactive feature request for this at https://github.com/mastodon/mastodon/issues/12308
-
A lesser known Mastodon pro tip:
Want to mute a conversation, but the mute conversation button isn't appearing on the post?
The only way you can mute a conversation is on a post you have made in the conversation.
But the secret part - Say you want to mute it without actually participating in the conversation:
Reply to a post, set the visibility to "Private Mention", remove everyone's username from the post. Post it.
Then you can click "mute conversation" on THAT post, and it silently mutes you from the conversation.
@JessTheUnstill how are you getting nonfictions for a thread you haven’t taken part in? Or are you just wanting to not see something?