[MOD] Clean up basic things...

This commit is contained in:
LDA 2024-07-21 21:13:25 +02:00
commit 3c495a8a81
2 changed files with 37 additions and 25 deletions

View file

@ -1,4 +1,4 @@
XEPs current supported are in src/XMPPThread.c, at the IQ disco advertising. XEPs current supported are in src/XMPPThread, at the IQ disco advertising.
Somewhat implemented XEPs: Somewhat implemented XEPs:
~ https://xmpp.org/extensions/xep-0085.html ~ https://xmpp.org/extensions/xep-0085.html
@ -10,32 +10,33 @@ Somewhat implemented XEPs:
IM platforms I won't mention), so this doesn't sound too bad to do IM platforms I won't mention), so this doesn't sound too bad to do
HALF-IMPLEMENTED: Removing reacts won't work. HALF-IMPLEMENTED: Removing reacts won't work.
~ https://xmpp.org/extensions/xep-0184.html ~ https://xmpp.org/extensions/xep-0184.html
Only Matrix->XMPP as of now Only Matrix->XMPP as of now. Requesting data from Matrix ASes without
/sync seems like a non-option as of now, which _sucks_.
~ https://xmpp.org/extensions/xep-0050.html
Ad-hoc commands that bridge maintainers can deal with XMPP-style are
also a nice to have.
There are commands, but not a lot of them as of now, and localisation
is missing.
~ https://xmpp.org/extensions/xep-0421.html
Using the occupant ID in semi-anonymous MUCs is a desirable property.
I dont know of a lot of places that don't use the occupant ID anymore
within Parsee.
~ https://xmpp.org/extensions/xep-0425.html
As mentionned in #2, moderation _needs_ to be done.
For future XEPs: For future XEPs:
- https://xmpp.org/extensions/xep-0421.html
Using the occupant ID in semi-anonymous MUCs is a desirable property.
- https://xmpp.org/extensions/xep-0118.html
Informations on what a user is listening to. Matrix doesn't have
good support for status, to be frank. Clients (including KappaChat)
should consider having more support for those, rather than it being
stuck as a FluffyChat/Nheko feature for the good of the entire
federation.
As such, if _any_ client devs hear this, please consider adding these,
(especially if you're a smElement employee!)
- https://xmpp.org/extensions/xep-0080.html
Doxxing people over two protocols is great!
- https://xmpp.org/extensions/xep-0449.html - https://xmpp.org/extensions/xep-0449.html
Stickers are great. Matrix and XMPP somewhat has support for them, so Stickers are great. Matrix and XMPP somewhat has support for them, so
might be a nice-to-have, and also to push over XMPP support. might be a nice-to-have, and also to push over XMPP support.
A minor issue with that is pack management. XMPP requires a pack field A minor issue with that is pack management. XMPP requires a pack field
which is used along PEP, it seems, and meanwhile Matrix has ''support'' which is used along PEP, it seems, and meanwhile Matrix has ''support''
for packs too, tracking them is between "annoyance" and "yeah, no.". for packs too, tracking them is between "annoyance" and "yeah, no.".
- https://xmpp.org/extensions/xep-0050.html - https://xmpp.org/extensions/xep-0080.html
Ad-hoc commands that bridge maintainers can deal with XMPP-style are Doxxing people over two protocols is great! Sadly works over PEP it seems,
also a nice to have. so I can't think of a good analogy tbf, also I hate dealing with PEP tbf.
- https://xmpp.org/extensions/xep-0425.html - https://xmpp.org/extensions/xep-0118.html
As mentionned in #2, moderation _needs_ to be done. I feel like polluting Matrix status(which more clients should implement)
sounds like a bad idea. When are we getting _extensible statuses_?
ON STANDBY BECAUSE THESE HAVE BEEN TERRIBLE TO DEAL WITH AND WHO KEEPS WRITING ON STANDBY BECAUSE THESE HAVE BEEN TERRIBLE TO DEAL WITH AND WHO KEEPS WRITING
THESE I WANT TO SEND THEM A NICE, BRIGHT GIFT: THESE I WANT TO SEND THEM A NICE, BRIGHT GIFT:

View file

@ -2,6 +2,7 @@
#include <Cytoplasm/Memory.h> #include <Cytoplasm/Memory.h>
#include <Cytoplasm/Str.h> #include <Cytoplasm/Str.h>
#include <Cytoplasm/Log.h>
#include <Matrix.h> #include <Matrix.h>
#include <AS.h> #include <AS.h>
@ -183,13 +184,10 @@ MessageStanza(ParseeData *args, XMLElement *stanza, XMPPThread *thr)
* ISSUE. * ISSUE.
* *
* I HATE THIS. I NEED TO FIND A BETTER WAY. */ * I HATE THIS. I NEED TO FIND A BETTER WAY. */
if (!chat) if (!chat && strncmp(HashMapGet(stanza->attrs, "to"), "parsee@", 7))
{
if (strncmp(HashMapGet(stanza->attrs, "to"), "parsee@", 7))
{ {
goto end; goto end;
} }
}
if (mroom_id && !XMPPIsParseeStanza(stanza)) if (mroom_id && !XMPPIsParseeStanza(stanza))
{ {
@ -199,18 +197,30 @@ MessageStanza(ParseeData *args, XMLElement *stanza, XMPPThread *thr)
{ {
char *parsee = ParseeJID(args); char *parsee = ParseeJID(args);
char *trim = ParseeTrimJID(from);
XMLElement *ps;
/* Subscribe to the sender's metadata node. */ /* Subscribe to the sender's metadata node. */
XMLElement *ps = CreatePubsubRequest( ps = CreatePubsubRequest(
parsee, decode_from, "urn:xmpp:avatar:metadata" parsee, decode_from, "urn:xmpp:avatar:metadata"
); );
pthread_mutex_lock(&jabber->write_lock); pthread_mutex_lock(&jabber->write_lock);
XMLEncode(jabber->stream, ps); XMLEncode(jabber->stream, ps);
StreamFlush(jabber->stream); StreamFlush(jabber->stream);
pthread_mutex_unlock(&jabber->write_lock); pthread_mutex_unlock(&jabber->write_lock);
XMLFreeElement(ps); XMLFreeElement(ps);
ps = CreatePubsubRequest(
parsee, trim, "urn:xmpp:avatar:metadata"
);
pthread_mutex_lock(&jabber->write_lock);
XMLEncode(jabber->stream, ps);
StreamFlush(jabber->stream);
pthread_mutex_unlock(&jabber->write_lock);
XMLFreeElement(ps);
Free(parsee); Free(parsee);
Free(trim);
} }
pthread_mutex_lock(&thr->info->chk_lock); pthread_mutex_lock(&thr->info->chk_lock);
@ -350,6 +360,7 @@ MessageStanza(ParseeData *args, XMLElement *stanza, XMPPThread *thr)
ParseePushAllStanza(args, stanza, e_d->data); ParseePushAllStanza(args, stanza, e_d->data);
} }
} }
end: end:
Free(mroom_id); Free(mroom_id);
mroom_id = NULL; mroom_id = NULL;