This year I attended my first ever conference, Akademy, the annual world summit of KDE.
(You can find people by name here)
I presented a talk on Ruqola [link to the video] and was amazed to see the reaction and support I (and Ruqola) received.
OAuth is an open standard for access delegation, commonly used as a way for Internet users to grant websites or applications access to their information on other websites but without giving them the passwords.
Whenever a user logs in using his Google, Facebook, GitHub (or any other site) account, he sees a popup as this one-
For managing network, I had to handle any kind of network condition that may arise. It took 80% time planning out the design of the code and the rest for implementing.
First we (Ruphy and I) thought of having a queue for caching the messages which are not sent to the server (due to any reason) [Link to the code]. But this design had problems with it.
My first task was to extend the data models. I had to represent the message object and room object to have a 1:1 correspondence with the Rocket.Chat internally. Then I added support for sending images over the network. The functionality goes like this- let the user select an image from a file, upload it, encode it to base64 to send it over the network, recieve it at the other end, decode it from base64, save the file on a local cache and then finally display it to the client. The backend works perfectly; I’ll get to the front end after July. Here is a link to the code where this part was accomplished.
The first month is for community bonding. I had previously known WikiToLearn peeps so my community bonding included knowing people from KDE and other organizations. The common GSoC groups made the members aware of how diverse students,from 72 countries, will be working with a record 201 open source organizations this summer. That’s a huge number. During this time I, along with my mentors, Riccardo Iaconelli and Gabriele Lazzaro Falasca, planned out our timeline, set up the phabricator and made our etherpad notes. We decided to first tackle the backend and then the front end. And we were set to roll.
From May30,2017 the coding period started.
I have been working on Ruqola since January this year. My first task was to add notifications support on desktop app. Since I was new to Qt/QML and Rocket.Chat, it took me quite a while to get familiar with the code base and technology. Finally my PR (my first PR ever) got merged into the original code for Ruqola. That felt very satisfying.