Hey everyone, especially #mastodev #mastoadmin and my Planeteers, I've got a request!

I recently 99% finished a Mastodon feature to allow follow requests at two different levels, giving follow requests three different options: Authorize, Semi-Authorize, and Reject.

I picked the "filter" icon from FontAwesome (see image for example) for lack of other suitable ideas, but if you have a better idea, please let me know!

(Code is here: https://github.com/TheInventrix/mastodon/tree/softfollow - thread below for more details)

TheInventrix/mastodon

fork for Toot Planet. Contribute to TheInventrix/mastodon development by creating an account on GitHub.

The Semi-Authorize option is to allow a person to receive your public and unlisted posts into their Home timeline, without giving them access to your locked posts.

Currently, this maintains privacy and compatibility with standard Mastodon et al. instances by passing a Reject response with a semi-authorize option, so that instances without the option will reject the request instead of giving the account full access to your posts.

There are two minor issues I have not worked out yet.

(cont.)

(cont. amendment)

The two issues have been fixed! *salutes*

@InspectorCaracal Ooh, I like this.

(I'd also like semi-follow tbh - there's actually some people that I follow that... I'm not interested in their locked posts, but I followed them based on their public posts.)

@bhtooefr That's not a bad idea! If I can figure out how to work it into the interface, I'll probably add it, but you can toss my code at any other instance admins or devs if you want to suggest they try your idea, too. :3
@InspectorCaracal Thank you so much! Though 'allow semifollow by default' would be nice, I'm not sure how the UI for that would work.
@keiyakins That was my original plan but it turned out to be a lot more difficult to implement. 😅
@keiyakins The short version of why that doesn't really work is that following someone destroys the follow request, so if you wanted to be able to have a default follow that still left a follow request to be either dismissed or changed to fully authorized, you'd need to basically rewrite the entire following system - and that likely wouldn't be compatible with other mastodon instances.
HA-HA! I found it! I found the place where it updates the follow requests list after taking action on a follow request, there's one of the two final issues down.

aw heck yes, I found the spot I missed that's merging locked posts into the home timeline, too, so that'll be issue number 2 fixed!

Now all I need is feedback on whether the icon I picked is terrible or decent or other suggestions.....

If you want to help me figure out the best icon for Semi-Authorizing a follow request (or confirm that my choice was the best one, I guess?), here's the whole list of available icons:

https://fontawesome.com/v4.7.0/icons/

Font Awesome Icons

Font Awesome, the iconic font and CSS framework

@InspectorCaracal great feature! I'd lean toward low-vision (indicating partial visibility) or one of the RSS icons (indicating a public feed) imo
@boodoo ah! Low vision is a good idea, thank you!
@InspectorCaracal that's me!!!
@monorail that's you! :D (you are not in my follow requests anymore, though xD)
@InspectorCaracal Thank you for this, I think this is a good feature that should've been in mastodon in the first place.
@tonf You're welcome! If you want to link it to your instance's admin (unless that's you!) they can add it in :3
@InspectorCaracal Heh, I'm definitely not the admin. Doubt it'll be a thing on this instance either, and for that matter I don't know if I'll stay here. But I appreciate what you did.

@InspectorCaracal Yes I love this. Dreamwidth separates friending people into "subscribe" and "grant access" and I've never been satisfied with anything less granular since. I often want to be able to do only one or the other!

Thank you for making progress here.

@Cobalt @InspectorCaracal I, too, have been hoping someone would make a change like this for ages and am really glad to see progress on it!