In my previous post on decentralized blacklists, several people mentioned they would also like the ability to follow another account’s mute list, something I was planning to do eventually.
A user currently has the ability to “mute” accounts, so posts and comments for that account don’t show up when the user is browsing. But they don’t have the ability to follow an existing mute list that someone else has created.
But it turns out we need this feature sooner rather than later, as I later learned that there already exists a global mute list for handling accounts that do massive comment spamming, and that list should also be replaced by an opt-in mute lists using the “follow API” method, to create a level playing field.
This means that instead of one group of people controlling who gets muted across the Hive web sites, users will be able to make their own choices about who has the best mute lists (or if they just want to use their own list).
Also, another important benefit of this change is it will improve performance of many Hive API calls, since it will speed up the processing of any API calls which are affected by muting.
The rest of this post is aimed at programmers who want to make use of the new API functions, so non-programmers probably don’t want to read the post past this point...but please feel free to comment on the functionality itself below the post.
Updates to the “follow” API method to support following a mute list
Note: There’s already a post that describes our initial changes to the follow API, and that’s probably worth a review before reading the latest changes below.
To support following a mute list, we updated the allowed values for the “what” parameter:
blog
ignore
blacklist
unblacklist
follow_blacklist
unfollow_blacklist
follow_muted
unfollow_muted
The last two values allow for following and unfollowing another account’s mute list.
Follow API method updated to allow adding multiple accounts using array syntax.
Previously the following parameter only took a single parameter, now you can optionally pass an array of account names instead. For example,
["follow",{"follower":"jes2850","following":["netuoso","blocktrades"],"what":["unfollow_muted"]}]
would make jes2850 stop following the mute lists of both netuoso and blocktrades, instead of requiring two separate calls.
This functionality is particularly useful for user interfaces that want to enable a user to do batch following, muting, or blacklisting, as it can dramatically reduce the number of API calls required.
New API call to get paginated account names from a follow list
When a UI wants to display the list of accounts for a user, it can use the new API call:
bridge.get_follow_list(observer, follow_type, starting_account, limit)
where
- observer is the account to get the list for
- follow_type is one of
blacklisted
follow_blacklist
muted
follow_muted
- starting_account and limit are used for pagination in the standard way
Condenser (e.g. https://hive.blog) being updated to support the new follow API-level
We’re also doing a major overhaul to condenser, both to allow for advanced display and filtering of follow lists and to allow for batch entry of accounts to follow/blacklist/mute. One of the goals of the update is to unify the way all the different types of follow lists are displayed/edited as much as possible, to keep usage as simple as possible.