The initial plan was to develop further bridges but since a lot of the community were already focussing efforts there, the Matrix.org team set me alternate tasks I could choose from. I was given the task to develop a way for Matrix to be indexable by search engines, as Riot.im is a really heavy React application that is not crawler friendly, so a client which had no client side scripting was desired. I was also tasked with squashing bugs and some substantial changes or fixes in riot-web, outlined below. The reason this was needed is that riot-web (riot.im) is a very heavy React web application, and the Google crawler simply is unable to index it.

Publications mentioning some of my work done during GSoC:

Most of my GSoC time was spent squashing bugs in the riot-web stack, matrix-react-sdk, matrix-js-sdk and a couple of other places. All major changes were merged into the origin repository, some are still pending merging at the time of writing. Large changes I made in the riot-web webapp include:

  • Adding Piwik analytics, so that the devs can see how their app is being used and interacted with. This was done in a completely anonymous fashion with the ability to opt-out to appease the privacy protecting users. [1] [2]
  • Adding support for Screen Sharing in Firefox, previously this was limited to Chromium. [1]
  • Adding support for choosing which microphone and webcam you would want Riot to use for VoIP calls. [1]
  • Adding the ability to hide specific events from the applications timeline which some people consider to be cluttering, this one was definitely much harder than it would seem, as hiding events naively simply would not work as it would break the rendering of compound elements like Membership Event Lists and also break Read Markers and Read Receipts. [1] [2]
  • Many others…

Matrix-Static

Originally called, riot-static, is a project that allows people to peek into public Matrix rooms from any dumb web browser, as it uses no javascript whatsoever. Almost everything in this repository is my own work. There are a few closed PRs that my Mentor and I used for review comments. The repository has most recent code in the develop branch. The master branch is the current release. https://github.com/t3chguy/matrix-static
Whilst it is in a working state, considered stable and even deployed at https://view.matrix.org/, there are a bunch of open issues which are feature requests/todo items which I plan and intend to do after GSoC. During the design and creation of matrix-static I learnt a lot about Go, Matrix and threaded programming.