Compare commits
1 Commits
pages
...
5281880e56
| Author | SHA1 | Date | |
|---|---|---|---|
| 5281880e56 |
2
.gitignore
vendored
@@ -4,3 +4,5 @@ result
|
|||||||
|
|
||||||
.jekyll-cache/
|
.jekyll-cache/
|
||||||
_site/
|
_site/
|
||||||
|
|
||||||
|
assets/css/index.css
|
||||||
|
|||||||
0
assets/assets/css/.gitkeep
Normal file
@@ -990,11 +990,6 @@ article > p > a {
|
|||||||
bottom: 0px;
|
bottom: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mx-auto {
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mt-2 {
|
.mt-2 {
|
||||||
margin-top: 0.5rem;
|
margin-top: 0.5rem;
|
||||||
}
|
}
|
||||||
@@ -1040,6 +1035,10 @@ article > p > a {
|
|||||||
height: 1.5rem;
|
height: 1.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.h-full {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
.h-8 {
|
.h-8 {
|
||||||
height: 2rem;
|
height: 2rem;
|
||||||
}
|
}
|
||||||
@@ -1052,6 +1051,10 @@ article > p > a {
|
|||||||
height: 3rem;
|
height: 3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.min-h-screen {
|
||||||
|
min-height: 100vh;
|
||||||
|
}
|
||||||
|
|
||||||
.w-full {
|
.w-full {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
@@ -1064,6 +1067,14 @@ article > p > a {
|
|||||||
width: 3rem;
|
width: 3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.max-w-none {
|
||||||
|
max-width: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex-grow {
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
|
||||||
.grow {
|
.grow {
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
}
|
}
|
||||||
@@ -1270,10 +1281,6 @@ article > p > a {
|
|||||||
.md\:h-16 {
|
.md\:h-16 {
|
||||||
height: 4rem;
|
height: 4rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.md\:max-w-prose {
|
|
||||||
max-width: 65ch;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 1024px) {
|
@media (min-width: 1024px) {
|
||||||
@@ -1285,217 +1292,221 @@ article > p > a {
|
|||||||
width: 50%;
|
width: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg {
|
.lg\:w-3\/4 {
|
||||||
font-size: 1.125rem;
|
width: 75%;
|
||||||
line-height: 1.7777778;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(p):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl {
|
||||||
margin-top: 1.3333333em;
|
font-size: 1.25rem;
|
||||||
margin-bottom: 1.3333333em;
|
line-height: 1.8;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where([class~="lead"]):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(p):not(:where([class~="not-prose"] *)) {
|
||||||
font-size: 1.2222222em;
|
margin-top: 1.2em;
|
||||||
line-height: 1.4545455;
|
margin-bottom: 1.2em;
|
||||||
margin-top: 1.0909091em;
|
|
||||||
margin-bottom: 1.0909091em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(blockquote):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where([class~="lead"]):not(:where([class~="not-prose"] *)) {
|
||||||
margin-top: 1.6666667em;
|
font-size: 1.2em;
|
||||||
margin-bottom: 1.6666667em;
|
line-height: 1.5;
|
||||||
padding-left: 1em;
|
margin-top: 1em;
|
||||||
|
margin-bottom: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(h1):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(blockquote):not(:where([class~="not-prose"] *)) {
|
||||||
font-size: 2.6666667em;
|
margin-top: 1.6em;
|
||||||
|
margin-bottom: 1.6em;
|
||||||
|
padding-left: 1.0666667em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lg\:prose-xl :where(h1):not(:where([class~="not-prose"] *)) {
|
||||||
|
font-size: 2.8em;
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
margin-bottom: 0.8333333em;
|
margin-bottom: 0.8571429em;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(h2):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(h2):not(:where([class~="not-prose"] *)) {
|
||||||
font-size: 1.6666667em;
|
font-size: 1.8em;
|
||||||
margin-top: 1.8666667em;
|
margin-top: 1.5555556em;
|
||||||
margin-bottom: 1.0666667em;
|
margin-bottom: 0.8888889em;
|
||||||
|
line-height: 1.1111111;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lg\:prose-xl :where(h3):not(:where([class~="not-prose"] *)) {
|
||||||
|
font-size: 1.5em;
|
||||||
|
margin-top: 1.6em;
|
||||||
|
margin-bottom: 0.6666667em;
|
||||||
line-height: 1.3333333;
|
line-height: 1.3333333;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(h3):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(h4):not(:where([class~="not-prose"] *)) {
|
||||||
font-size: 1.3333333em;
|
margin-top: 1.8em;
|
||||||
margin-top: 1.6666667em;
|
margin-bottom: 0.6em;
|
||||||
margin-bottom: 0.6666667em;
|
line-height: 1.6;
|
||||||
line-height: 1.5;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(h4):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(img):not(:where([class~="not-prose"] *)) {
|
||||||
margin-top: 1.7777778em;
|
margin-top: 2em;
|
||||||
margin-bottom: 0.4444444em;
|
margin-bottom: 2em;
|
||||||
line-height: 1.5555556;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(img):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(video):not(:where([class~="not-prose"] *)) {
|
||||||
margin-top: 1.7777778em;
|
margin-top: 2em;
|
||||||
margin-bottom: 1.7777778em;
|
margin-bottom: 2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(video):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(figure):not(:where([class~="not-prose"] *)) {
|
||||||
margin-top: 1.7777778em;
|
margin-top: 2em;
|
||||||
margin-bottom: 1.7777778em;
|
margin-bottom: 2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(figure):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(figure > *):not(:where([class~="not-prose"] *)) {
|
||||||
margin-top: 1.7777778em;
|
|
||||||
margin-bottom: 1.7777778em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lg\:prose-lg :where(figure > *):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(figcaption):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(figcaption):not(:where([class~="not-prose"] *)) {
|
||||||
font-size: 0.8888889em;
|
font-size: 0.9em;
|
||||||
line-height: 1.5;
|
line-height: 1.5555556;
|
||||||
margin-top: 1em;
|
margin-top: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(code):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(code):not(:where([class~="not-prose"] *)) {
|
||||||
font-size: 0.8888889em;
|
font-size: 0.9em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(h2 code):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(h2 code):not(:where([class~="not-prose"] *)) {
|
||||||
font-size: 0.8666667em;
|
font-size: 0.8611111em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(h3 code):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(h3 code):not(:where([class~="not-prose"] *)) {
|
||||||
font-size: 0.875em;
|
font-size: 0.9em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(pre):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(pre):not(:where([class~="not-prose"] *)) {
|
||||||
font-size: 0.8888889em;
|
font-size: 0.9em;
|
||||||
line-height: 1.75;
|
line-height: 1.7777778;
|
||||||
margin-top: 2em;
|
margin-top: 2em;
|
||||||
margin-bottom: 2em;
|
margin-bottom: 2em;
|
||||||
border-radius: 0.375rem;
|
border-radius: 0.5rem;
|
||||||
padding-top: 1em;
|
padding-top: 1.1111111em;
|
||||||
padding-right: 1.5em;
|
padding-right: 1.3333333em;
|
||||||
padding-bottom: 1em;
|
padding-bottom: 1.1111111em;
|
||||||
padding-left: 1.5em;
|
padding-left: 1.3333333em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(ol):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(ol):not(:where([class~="not-prose"] *)) {
|
||||||
margin-top: 1.3333333em;
|
margin-top: 1.2em;
|
||||||
margin-bottom: 1.3333333em;
|
margin-bottom: 1.2em;
|
||||||
padding-left: 1.5555556em;
|
padding-left: 1.6em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(ul):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(ul):not(:where([class~="not-prose"] *)) {
|
||||||
margin-top: 1.3333333em;
|
margin-top: 1.2em;
|
||||||
margin-bottom: 1.3333333em;
|
margin-bottom: 1.2em;
|
||||||
padding-left: 1.5555556em;
|
padding-left: 1.6em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(li):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(li):not(:where([class~="not-prose"] *)) {
|
||||||
margin-top: 0.6666667em;
|
margin-top: 0.6em;
|
||||||
margin-bottom: 0.6666667em;
|
margin-bottom: 0.6em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(ol > li):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(ol > li):not(:where([class~="not-prose"] *)) {
|
||||||
padding-left: 0.4444444em;
|
padding-left: 0.4em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(ul > li):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(ul > li):not(:where([class~="not-prose"] *)) {
|
||||||
padding-left: 0.4444444em;
|
padding-left: 0.4em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(.lg\:prose-lg > ul > li p):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(.lg\:prose-xl > ul > li p):not(:where([class~="not-prose"] *)) {
|
||||||
margin-top: 0.8888889em;
|
margin-top: 0.8em;
|
||||||
margin-bottom: 0.8888889em;
|
margin-bottom: 0.8em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(.lg\:prose-lg > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(.lg\:prose-xl > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
|
||||||
margin-top: 1.3333333em;
|
margin-top: 1.2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(.lg\:prose-lg > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(.lg\:prose-xl > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
|
||||||
margin-bottom: 1.3333333em;
|
margin-bottom: 1.2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(.lg\:prose-lg > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(.lg\:prose-xl > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
|
||||||
margin-top: 1.3333333em;
|
margin-top: 1.2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(.lg\:prose-lg > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(.lg\:prose-xl > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
|
||||||
margin-bottom: 1.3333333em;
|
margin-bottom: 1.2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"] *)) {
|
||||||
margin-top: 0.8888889em;
|
margin-top: 0.8em;
|
||||||
margin-bottom: 0.8888889em;
|
margin-bottom: 0.8em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(hr):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(hr):not(:where([class~="not-prose"] *)) {
|
||||||
margin-top: 3.1111111em;
|
margin-top: 2.8em;
|
||||||
margin-bottom: 3.1111111em;
|
margin-bottom: 2.8em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(hr + *):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(hr + *):not(:where([class~="not-prose"] *)) {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(h2 + *):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(h2 + *):not(:where([class~="not-prose"] *)) {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(h3 + *):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(h3 + *):not(:where([class~="not-prose"] *)) {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(h4 + *):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(h4 + *):not(:where([class~="not-prose"] *)) {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(table):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(table):not(:where([class~="not-prose"] *)) {
|
||||||
font-size: 0.8888889em;
|
font-size: 0.9em;
|
||||||
line-height: 1.5;
|
line-height: 1.5555556;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(thead th):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(thead th):not(:where([class~="not-prose"] *)) {
|
||||||
padding-right: 0.75em;
|
padding-right: 0.6666667em;
|
||||||
padding-bottom: 0.75em;
|
padding-bottom: 0.8888889em;
|
||||||
padding-left: 0.75em;
|
padding-left: 0.6666667em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(thead th:first-child):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(thead th:first-child):not(:where([class~="not-prose"] *)) {
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(thead th:last-child):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(thead th:last-child):not(:where([class~="not-prose"] *)) {
|
||||||
padding-right: 0;
|
padding-right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(tbody td, tfoot td):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(tbody td, tfoot td):not(:where([class~="not-prose"] *)) {
|
||||||
padding-top: 0.75em;
|
padding-top: 0.8888889em;
|
||||||
padding-right: 0.75em;
|
padding-right: 0.6666667em;
|
||||||
padding-bottom: 0.75em;
|
padding-bottom: 0.8888889em;
|
||||||
padding-left: 0.75em;
|
padding-left: 0.6666667em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"] *)) {
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"] *)) {
|
||||||
padding-right: 0;
|
padding-right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(.lg\:prose-lg > :first-child):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(.lg\:prose-xl > :first-child):not(:where([class~="not-prose"] *)) {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg\:prose-lg :where(.lg\:prose-lg > :last-child):not(:where([class~="not-prose"] *)) {
|
.lg\:prose-xl :where(.lg\:prose-xl > :last-child):not(:where([class~="not-prose"] *)) {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
BIN
assets/assets/img/badges/IzzyOnDroid.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
assets/assets/img/badges/codeberg.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
assets/assets/img/favicon.ico
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
assets/assets/img/logo.png
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
assets/assets/img/moxxy-muc-demo.gif
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
assets/assets/img/screenshots/1.png
Normal file
|
After Width: | Height: | Size: 73 KiB |
BIN
assets/assets/img/screenshots/2.png
Normal file
|
After Width: | Height: | Size: 528 KiB |
2
feed.xml
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.1">Jekyll</generator><link href="https://moxxy.org/feed.xml" rel="self" type="application/atom+xml" /><link href="https://moxxy.org/" rel="alternate" type="text/html" /><updated>2024-01-01T01:08:20+01:00</updated><id>https://moxxy.org/feed.xml</id><title type="html">Moxxy</title><entry><title type="html">GSoC report - Moxxy MUC implementation</title><link href="https://moxxy.org/posts/2023-08-20-Moxxy-MUC-GSoC-Final-Report.html" rel="alternate" type="text/html" title="GSoC report - Moxxy MUC implementation" /><published>2023-08-20T00:00:00+02:00</published><updated>2023-08-20T00:00:00+02:00</updated><id>https://moxxy.org/posts/Moxxy-MUC-GSoC-Final-Report</id><content type="html" xml:base="https://moxxy.org/posts/2023-08-20-Moxxy-MUC-GSoC-Final-Report.html"><h1 id="gsoc-final-report-xmpp-standards-foundation---moxxy-implement-group-chats">GSoC Final Report: XMPP Standards Foundation - Moxxy: Implement Group Chats</h1>
|
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.1">Jekyll</generator><link href="https://moxxy.org/feed.xml" rel="self" type="application/atom+xml" /><link href="https://moxxy.org/" rel="alternate" type="text/html" /><updated>2023-12-31T23:01:49+01:00</updated><id>https://moxxy.org/feed.xml</id><title type="html">Moxxy</title><entry><title type="html">GSoC report - Moxxy MUC implementation</title><link href="https://moxxy.org/posts/2023-08-20-Moxxy-MUC-GSoC-Final-Report.html" rel="alternate" type="text/html" title="GSoC report - Moxxy MUC implementation" /><published>2023-08-20T00:00:00+02:00</published><updated>2023-08-20T00:00:00+02:00</updated><id>https://moxxy.org/posts/Moxxy-MUC-GSoC-Final-Report</id><content type="html" xml:base="https://moxxy.org/posts/2023-08-20-Moxxy-MUC-GSoC-Final-Report.html"><h1 id="gsoc-final-report-xmpp-standards-foundation---moxxy-implement-group-chats">GSoC Final Report: XMPP Standards Foundation - Moxxy: Implement Group Chats</h1>
|
||||||
|
|
||||||
<p><strong>Project:</strong> Moxxy - Implement Group Chats<br />
|
<p><strong>Project:</strong> Moxxy - Implement Group Chats<br />
|
||||||
<strong>Organization:</strong> XMPP Standards Foundation<br />
|
<strong>Organization:</strong> XMPP Standards Foundation<br />
|
||||||
|
|||||||