[RELEASE/FIX] Fix ban-unlinks, actually get 0.2.

This commit is contained in:
LDA 2024-11-08 17:43:41 +01:00
commit dddf1680a0
2 changed files with 11 additions and 7 deletions

View file

@ -13,10 +13,10 @@ commit done between releases.
*There is currently no beta releases of Parsee* *There is currently no beta releases of Parsee*
## Alpha ## Alpha
### v0.2.0[star-of-hope] <8/11/2024?> ### v0.2.0[star-of-hope] <8/11/2024>
Fixes some media metadata things, replaces the build system, Fixes some media metadata things, replaces the build system,
tries out avatar support some more and speeds up Parsee a tad tries out avatar support some more, MUC contexts, and speeds
bit. up Parsee just a bit. MbedTLS support is still highly unstable.
#### New things #### New things
- Start dealing with some basic PEP and vCard-based avatar - Start dealing with some basic PEP and vCard-based avatar
support from both sides. support from both sides.
@ -50,6 +50,8 @@ size on the fly, or having extensions being able to postprocess
the stanza). the stanza).
- Parsee now stops when a stream error is received, instead of - Parsee now stops when a stream error is received, instead of
being in a limbo state. being in a limbo state.
- The format for links has been changed to be slighlty *less*
annoying.
#### Deprecated features #### Deprecated features
- The old `build.c` and `Makefile`s used for building are removed, - The old `build.c` and `Makefile`s used for building are removed,

View file

@ -163,6 +163,8 @@ PresenceStanza(ParseeData *args, XMLElement *stanza, XMPPThread *thr)
int power_level = 0; int power_level = 0;
char *parsee = ParseeMXID(args); char *parsee = ParseeMXID(args);
char *parsee_j = ParseeJID(args); char *parsee_j = ParseeJID(args);
char *muc = ParseeTrimJID(HashMapGet(stanza->attrs, "from"));
char *parsee_muc = StrConcat(3, muc, "/", "parsee");
Free(trim); Free(trim);
if (!item) if (!item)
@ -206,15 +208,12 @@ PresenceStanza(ParseeData *args, XMLElement *stanza, XMPPThread *thr)
if (!StrEquals(HashMapGet(stanza->attrs, "to"), parsee_j) && if (!StrEquals(HashMapGet(stanza->attrs, "to"), parsee_j) &&
IsStatus(110)) IsStatus(110))
{ {
char *muc = ParseeTrimJID(HashMapGet(stanza->attrs, "from"));
char *usr = HashMapGet(stanza->attrs, "to"); char *usr = HashMapGet(stanza->attrs, "to");
/* Ask for voice in a visitor self-presence. We do not notify /* Ask for voice in a visitor self-presence. We do not notify
* the user, as an error MUST occur, which is handled and * the user, as an error MUST occur, which is handled and
* logged out. */ * logged out. */
XMPPRequestVoice(args->jabber, usr, muc); XMPPRequestVoice(args->jabber, usr, muc);
Free(muc);
} }
} }
@ -270,7 +269,8 @@ PresenceStanza(ParseeData *args, XMLElement *stanza, XMPPThread *thr)
} }
} }
if (StrEquals(type, "unavailable") && if (StrEquals(type, "unavailable") &&
StrEquals(dst, parsee_j) && IsStatus(301)) (StrEquals(jid, parsee_muc) || StrEquals(jid, parsee_j))
&& IsStatus(301))
{ {
char *chat_id = ParseeGetFromRoomID(args, room); char *chat_id = ParseeGetFromRoomID(args, room);
@ -287,7 +287,9 @@ PresenceStanza(ParseeData *args, XMLElement *stanza, XMPPThread *thr)
} }
end_item: end_item:
Free(muc);
Free(from); Free(from);
Free(parsee_muc);
Free(decode_from); Free(decode_from);
Free(real_matrix); Free(real_matrix);
Free(matrix_user_pl); Free(matrix_user_pl);