website/blog/groupchat-gsoc-project/index.html

83 lines
4.0 KiB
HTML
Raw Normal View History

<!doctype html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="https://moxxy.org/css/index.css" rel="stylesheet" />
<link rel="shortcut icon" href="https://moxxy.org/img/favicon.ico" sizes="32x32" />
<link href="https://moxxy.org/feed.xml" type="application/atom+xml" rel="alternate" title="Moxxy Blog" />
<meta property="og:description" content="" />
<meta property="og:title" content="Moxxy&#x27;s First GSoC Project!" />
<title>Moxxy&#x27;s First GSoC Project!</title>
</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="https://moxxy.org/">
<img src="https://moxxy.org/img/logo.png" class="w-12 h-12 p-2" />
</a>
<a href="https://moxxy.org/">
<span class="font-bold">Moxxy</span>
</a>
<!-- Spacer -->
<div class="grow"></div>
<a href="/blog/" class="px-2 text-sky-400">Blog</a>
<a href="https://moxxy.org/developers/" class="px-2 text-sky-400">Developers</a>
<a href="https:&#x2F;&#x2F;codeberg.org&#x2F;moxxy&#x2F;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&#x27;s First GSoC Project!</h1>
<span>Posted by <span class="italic">Ikjot Singh Dhody</span> on 2023-05-06</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>
<span id="continue-reading"></span>
<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>