papatutuwawa.pages.polynom.me/posts/2023-05-06-Groupchat-GSoC-Project.html

103 lines
5.3 KiB
HTML
Raw Normal View History

2023-12-31 22:03:00 +00:00
<!doctype html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="/assets/css/index.css" rel="stylesheet" />
<link rel="shortcut icon" href="/assets/img/favicon.ico" sizes="32x32" />
<link href="/feed.xml" type="application/atom+xml" rel="alternate" title="Moxxy Blog" />
<!-- Begin Jekyll SEO tag v2.8.0 -->
<title>Moxxys First GSoC Project! | Moxxy</title>
<meta name="generator" content="Jekyll v4.3.1" />
<meta property="og:title" content="Moxxys First GSoC Project!" />
<meta name="author" content="Ikjot Singh Dhody" />
<meta property="og:locale" content="en_GB" />
<meta name="description" content="Hello readers!" />
<meta property="og:description" content="Hello readers!" />
<link rel="canonical" href="https://moxxy.org/posts/2023-05-06-Groupchat-GSoC-Project.html" />
<meta property="og:url" content="https://moxxy.org/posts/2023-05-06-Groupchat-GSoC-Project.html" />
<meta property="og:site_name" content="Moxxy" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2023-05-06T00:00:00+02:00" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="Moxxys First GSoC Project!" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"Ikjot Singh Dhody"},"dateModified":"2023-05-06T00:00:00+02:00","datePublished":"2023-05-06T00:00:00+02:00","description":"Hello readers!","headline":"Moxxys First GSoC Project!","mainEntityOfPage":{"@type":"WebPage","@id":"https://moxxy.org/posts/2023-05-06-Groupchat-GSoC-Project.html"},"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://moxxy.org/assets/img/logo.png"},"name":"Ikjot Singh Dhody"},"url":"https://moxxy.org/posts/2023-05-06-Groupchat-GSoC-Project.html"}</script>
<!-- End Jekyll SEO tag -->
</head>
<body>
<div class="flex flex-col">
<div class="relative h-16 inset-x-0 inset-y-0 px-4 shadow-md grid place-items-center">
<div class="flex flex-row items-center w-full">
<!-- The Moxxy logo -->
<a href="/index.html">
<img src="/assets/img/logo.png" class="w-12 h-12 p-2" />
</a>
<a href="/index.html">
<span class="font-bold">Moxxy</span>
</a>
<!-- Spacer -->
<div class="grow"></div>
<a href="/posts.html" class="px-2 text-sky-400">Blog</a>
<a href="/developers.html" class="px-2 text-sky-400">Developers</a>
<a href="https://codeberg.org/moxxy/moxxy" class="px-2 text-sky-400">Source</a>
</div>
</div>
<div class="w-full md:max-w-prose mt-2 mx-auto">
<div class="px-8">
<h1 class="text-3xl">Moxxy's First GSoC Project!</h1>
<span>Posted by <span class="italic">Ikjot Singh Dhody</span> on 06.05.2023</span>
<article class="mt-5 prose lg:prose-lg">
<p>Hello readers!</p>
<p>As we know, Moxxy is an experimental IM for XMPP built using Flutter. While it does have a great set of features as described <a href="https://moxxy.org/">here</a>, it currently lacks support for group chats (or Multi-User-Chats). A great piece of news is that Google has accepted my proposal to add support for multi user chats in Moxxy.</p>
<p>To implement multi user chats in Moxxy, the <a href="https://xmpp.org/extensions/xep-0045.html">XEP-0045</a> standard will be followed and implemented. The project will run in two phases, since the major changes required will be in the <a href="https://codeberg.org/moxxy/moxxmpp">moxxmpp</a> and <a href="https://codeberg.org/moxxy/moxxy">Moxxy</a> codebases. First, XEP-0045 support will be added to moxxmpp with all the handlers, events and routines required to cleanly integrate the same with Moxxy. The second phase will be the UI changes in the Moxxy Flutter application, that builds upon the existing, reusable infrastructure.</p>
<p>The usecases planned to be implemented are listed below (subject to changes before the coding period begins):</p>
<ul>
<li>Join a room</li>
<li>Leave a room</li>
<li>Change availability status</li>
<li>View member list</li>
<li>Send/receive a message to/from all occupants</li>
<li>Send/receive a private message to/from a specific occupant</li>
</ul>
<p>Some extra usecases are planned in case time permits:</p>
<ul>
<li>Change nickname</li>
<li>Kick an occupant (if user has such a permission)</li>
<li>Ban an occupant (if user has such a permission)</li>
<li>Grant/revoke membership (if user has such a permission)</li>
</ul>
<p>The coding period for this project will begin on May 29. In case of any queries/interest, please join the following - <a href="xmpp:dev@muc.moxxy.org?join">xmpp:dev@muc.moxxy.org?join</a>.</p>
</article>
</div>
</div>
</div>
<footer class="h-8 w-full flex flex-row justify-center">
<span class="text-sm text-center">
Made with &lt;3 by
<a class="text-sky-400" href="https://polynom.me" target="_blank" rel="noopener noreferrer">PapaTutuWawa</a>
using <a class="text-sky-400" href="https://tailwindcss.com/" target="_blank" rel="noopener noreferrer">TailwindCSS</a>,
<a class="text-sky-400" href="https://jekyllrb.com/" target="_blank" rel="noopener noreferrer">Jekyll</a> and
<a class="text-sky-400" href="https://heroicons.com/">heroicons</a>.
</span>
</footer>
</body>
</html>