Dev Update April 2019

After many months of solid dev team effort, we are finally a few weeks away from the launch of Streamr’s redesigned online portal and real-time tools for prototyping and analysing data. If the testing phase conducted by around a dozen community members goes smoothly next week, the portal, now called Core, should be open to full public access between the fourth and fifth week of May. It will be launched initially as a beta version, with the plan being to gather additional feedback from general users so Streamr’s core devs can make time for tweaks and fine-tuning.

Once it is released, you will immediately notice that the design has been changed to give users a far better experience. It will be much easier to use various components of Streamr, such as canvases, streams, purchased products and more. The old Editor has been rebuilt too. Expect a blog post in the very near future which will provide in-depth insight into all the new changes introduced to the Core App.

Dev Update April 2019
Streamr Core Unified Views

From the Network side, development is progressing very well. Both Network layer and Broker Nodes are in-progress. The team is continuing tests with larger sizes, more complex scenarios and tracking metrics to improve it. On the Broker Node side, one focus for last month has been around a local storage strategy; one of the incredibly useful components for the overall Network. As development on the Core app starts to wind down, more resources have been allocated to Community Products development. An initial alpha version has been completed and is under testing. The expectation is that we should be in line with the launch prospect by the end of this year.

Thanks for reading, as always. Below is our regular list of updates.

Network

  • Resend requests at L1 (local storage), L2 (ask neighbour nodes), and L3 (ask storage node)
  • Support multiple local storage strategies
  • Write up technical documentation on storage nodes, resend logic, and overall architecture of software
  • Upgrade Broker to work with new Network version for basic pub/sub-support
  • Refactor Broker to use adapter pattern
  • Improve speed and reduce flaky-ness of integration tests
  • Investigate websocket readyState.CLOSING issue
  • Add NPM publishing to Travis CI
  • Register storage node to Tracker
  • In memory storage for the Network
  • Electron network runner with latest network inside
  • Added examples and updated documentation
  • MQTT adapter for the Network

Ethereum

  • Continuing work on Community Products
  • Monoplasma integration with Etherlime
  • Supporting Ethereum feature development in core

Core App (Engine, Editor, Marketplace)

  • Test and provide bugs reports and UX improvement suggestions
  • Module search styling and other improvements
  • Drag and drop module inserting
  • Styling fixes
  • Dashboard Toolbar Styling
  • Sidebar refactoring, show keyboard shortcuts
  • Fix list views, make stream list rows clickable
  • Solidity module fixes
  • Ethereum contract input
  • Module search minimising
  • Workaround webpack out of memory issue
  • Fix canvas starting bugs
  • Module drag to add style refinements
  • Module search style refinements
  • Updated react /react-dom
  • Fixed bug with module hash being out of range
  • Fixed bad canvas, data breaking canvas list rendering
  • Ongoing canvas async work
  • Migrated login, signup, register and password pages from cookie-based sessions to session token provided by StreamrClient
  • Updated flow to the latest version and made our code fully compatible with it
  • Wrote an non-intrusive, reusable text input wrapper that comes with a bunch of non-standard event handlers
  • Created a proper inline text editor which, on a certain interaction, e.g. double-click, lets you modify previously static text
  • Refactored Module’s ports. The new version is coded using React’s hooks, matches the designs all the way down to a single pixel, and supports all offered input types
  • Went through the first round of fixing login failure messages
  • Created the Onboarding component. It’s a list of helpful documentation links displayed on all listing pages
  • Implemented a resize constraining mechanism for Modules in which the actual content of a Module dictates its minimum size

API & Clients

  • Develop and release cli-tools (previously known as listen-to-stream) for interacting with Streamr streams via terminal. Supports listening, publishing, creating, and listing streams. Link to public repo.
  • Streamr-client-javascript: fix issues related to publishing messages (pull request #54)

DevOps

  • Setup beta environment for Core app
  • Improve staging environment to use new paths

If you’re a dev interested in the Streamr stack, you can join our community run dev forum here.

Stay up to date

Get the latest Streamr news and articles delivered to your inbox