GSoC 2021 Final Report: Modernizing Chat-O-Matic (Caya)

Blog post by JadedCtrl on Thu, 2021-08-19 22:02

GSoC’s coming to an end, so it’s time for a final update: An overview of what I’ve been working on this summer.

Project

My project was to “modernize” and write a libpurple add-on for Caya, a multi-protocol chat program. Ultimately, I hard-forked Caya into Chat-O-Matic at the request of a previous maintainer― with the name being suggested by win8linux. :-)

“Modernization” here means three things: Allowing multiple accounts in use at once, re-orienting the program to support multi-user chats, and giving add-ons some more flexibility.

GSoC 2021 Progress Update 2: Modernizing Cardie (Caya)

Blog post by JadedCtrl on Fri, 2021-07-09 11:58

Looks like it’s time for me to clutter the blog again!

To start: Since the last update, Caya has been hard-forked and renamed to “Cardie” (short for “cardinal”), which at least fits the “bird theme” of libpurple clients.

… And the name’s fitting, since it’s now a fairly functional libpurple client. :-)

libpurple support

There are a few features not implemented yet, which keeps it behind the XMPP add-on in terms of functionality, but the core is there: Configuring and managing accounts for any protocol, joining/creating/leaving rooms, chatting, sending/receiving your own status, room invitations, managing roster, purple-side chat commands, etc.

GSoC 2021 Progress Update 1: Modernizing Caya

Blog post by JadedCtrl on Mon, 2021-06-07 09:19

It’s the end of the first GSoC period, so it’s about time I clutter the blog again!

A good few changes have been made to Caya― most obviously support for multi-user rooms and some UI changes. Multi-protocol add-ons are now supported, the program is oriented around “Conversations” rather than “Contacts,” basic moderation (kicking, banning, muting) works, etc.

The protocol API’s expanded because of these general changes, and I don’t think it could be called “stable” for another couple weeks at least― I still need to document it, and some of the new additions might still be consolidated into others.

GSoC 2021 Project: Modernizing Caya

Blog post by JadedCtrl on Thu, 2021-05-20 09:46

Introduction

Hi! I’m Jaidyn Levesque (jadedctrl on IRC and elsewhere), a 2nd year Computer Science student. I’ve been using *nixes for several years now, and just moved over to Haiku as my main OS a little over a year ago. I’m lucky enough to be a mentee this summer, and I’m excited to get started!


Project

My GSoC project is to modernize Caya, a multi-protocol chat program. “Modernize” here means a couple different things: General updates, multi-user chats, and libpurple support. Caya is oriented around two-member chats, whose protocol is arbitrary, with protocol support being done through add-ons. It hasn’t seen much activity in the past few years, so my first goal is to get it running on modern Haiku. Afterwards, chats will be abstracted to allow for multiple users, enabling protocols like IRC to be implemented. The last goal, libpurple support, will involve writing a generic libpurple protocol for Caya.