Today’s @steemitblog post is brought to you by the Steemit Applications team. In this post, we’ll highlight some of the projects we’ve been working on over the past few weeks.Hivemind
Getting Hivemind ready for production continues to be a major focus. Hive will enable communities on Steem, and provide a more efficient means for data retrieval for all Steem DApps. Much of the work for communities has been going on behind the scenes with design meetings and planning. We are also fine-tuning Hive so it runs optimally and can support large amounts of traffic in production.Parallel Transaction Batches
Hive has been updated to more efficiently process bulk requests by adding the ability to retrieve batches of transactions in parallel.
(Hivemind issue 71)Improved Error Handling
Improvements have also been made to Hive which will enable it to more effectively handle scenarios where the upstream steemd node may have fallen behind, and to optimize the handling of errors.
(Hivemind issue 120, Hivemind issue 123, and Hivemind issue 126)Fix Comment Counts
An issue was fixed where Hive was not correctly representing the number of comments a post had received.
(Hivemind issue 115)Improved Testing
Test coverage has increased and the groundwork for automated sync testing has been implemented. This will help ensure that new changes introduced to Hive do not break existing behavior, making it easier for devs to contribute and review code.
(Hivemind issue 140)New Notifications System - Yotifications!
We are continuing work on a new notifications system that will be called “Yotifications.”
Yotifications will be a new addition to the Steem stack that will make it easier than ever for developers to integrate notifications into their Steem app. This new notifications system will support multiple types of notifications, including: account updates, comment and post replies, feed updates, new follows, mentions, power downs, token transfers (send and receive), resteems, new rewards, and votes.
Yotifications will include options to send the notifications via multiple delivery mechanisms such as condenser (steemit.com) pop-ups, as well as email notifications. Users will be able to configure the notifications that they receive as well as how (and how often) they receive them via their settings. Once Yotifications are complete, notifications won’t only get better on steemit.com, they’ll also get better across the ever-growing Steem ecosystem.
(Condenser issue 2102, Condenser issue 2103, Condenser issue 2928, Yo issue 109, Yo issue 107, Yo issue 108, and Yo issue 27)Improving Developer Tools
Work has progressed on developer tool libraries jussi and steem-js.Jussi
Jussi is a critical piece of software for the Steem development stack. It is a “reverse proxy” service that allows us and developers to map various API calls to different Steem blockchain servers to optimally distribute the load. It is a critical component that ensures the quality of Steem-related services remains high. It is especially useful for developers and node operators.
An error was fixed with the improper caching of data. A change was also made to enable the account_history_api_plugin.
(Jussi issue 193 and Jussi issue 197)Steem JS
steem-js is a library used by application developers to interface with the Steem blockchain. An update was made by community developer @netuoso to properly support the witness update operation when using the null signing key.
(Steem-js issue 267)Condenser (steemit.com) Posting Editor Advanced Options
Community developer @eonwarped submitted a change to give users an “advanced options” page on the posting editor where they can change their payout for the post to non-default options.
(Condenser pull request 2880)Fix Invalid Image Data Handling
An issue was fixed where other platforms saving invalid image data for a post could cause a user’s profile on steemit.com to not display.
(Condenser issue 2923 and Condenser issue 2939)Feature Flags
We have implemented a system that will allow us to enable and disable specific functionality for subsets of users. One of the main benefits of this will be the ability to perform “A/B testing” on various improvements to measure their effect. With this functionality we will also be able to test the rollout of new features with a small set of users before enabling it for all users across the site. When the new Yotifications is rolled out, it will be done using this new feature flag system.
(Condenser issue 2613)Fixed 100% Voting Issue
An issue was fixed where voting with 100% voting power would lead to an error for some users.
(Condenser issue 2926)Improved Security of Stolen Account Recovery
In order to prevent a stolen account from continuing to power down to an attacker’s account after the stolen account is recovered, condenser will now restore the default ‘vesting route’ (where the power down is directed to) to the primary account holder’s account when the recovery takes place.
(Condenser issue 2835)Fix BlockTrades Menu Link
An issue was fixed where clicking on the BlockTrades link from the main menu while not logged in would pass an undefined value to the BlockTrades interface.
(Condenser issue 2794)Welcome Page Updates
Several updates were made to the “Welcome Page” by community developer @guiltyparties.
Condenser issue 2857)Community Contributions
We welcome community contributions and are working hard to improve our processes to ensure community suggestions and PRs are regularly reviewed and considered for production.Steemit is Hiring
Steemit is hiring. If you’re a talented software engineer who loves the challenges of building cutting-edge DApps for cryptocurrency (and especially for Steem), then we want to hire you.
More information can be found in this recent post or on our jobs site: https://jobs.lever.co/steemit.
Thanks for reading!
Steemit Applications Team