Skip to content

Instantly share code, notes, and snippets.

@Tyagdit

Tyagdit/GSoC_summary.md

Last active Sep 5, 2020
Embed
What would you like to do?
My GSoC 2020 Project Summary

Goals

The primary aim of the project was to port the opsdroid matrix connector from matrix-python-sdk to matrix-nio in order to add support for encryption. Besides these there were some side-goals as well. Heres the list of all the goals we set out with:

  • Port the connector to matrix-nio
  • Implement encryption support in the connector
  • Create a new matrix database module for opsdroid based on the older module using matrix-nio
  • Add support for unused matrix events
  • Add homeserver lookup using .well-known API request
  • Add device verification for the opsdroid bot

Project

This is everything I worked on in the course of the project

Port to matrix-nio

We had help from Michael Albert with this PR which I helped review and optimize.

Tweaks to the New Connector

The new connector needed some tweaks and corrections as described in this issue.

Encryption Support for the Matrix Connector

Adding encryption support was the main objective of the GSoC project. Porting to matrix-nio was the first step in achieving this.

Optional Dependencies for Opsdroid

An unexpected side effect of introducing encryption support was the need for providing options to the user as to what modules to install due to difficulty in installing one of the dependencies.

Matrix Database Module

The database opsdroid module was supposed to be a simple project but turned out to be much more challenging than expected.

Extras

Along the way, some small problems arose which needed solving.

Leftovers

Some goals that could not be achieved.

  • Add support for unused matrix events
  • Add homeserver lookup using .well-known API request
  • Add device verification for the opsdroid bot
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment