Posts

Hivemind API being updated to allow following mute lists

avatar of @blocktrades
25
@blocktrades
·
0 views
·
3 min read

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.