Commit graph

225 commits

Author SHA1 Message Date
Bohdan Horbeshko
cca759f255 Prevent nil crashes on TelegramSession instances 2026-03-28 16:39:59 -04:00
Bohdan Horbeshko
0e6fbc652f Merge branch 'muc' into calls
( and finished Caps support, sorry for the mess :-' )
2026-03-25 13:29:33 -04:00
Bohdan Horbeshko
ade944a9d6 Ping XEP-0363 link back for files uploaded in MUCs 2025-12-06 08:11:59 -05:00
Bohdan Horbeshko
cd71818577 Merge branch 'master' into muc 2025-10-19 13:36:56 -04:00
Bohdan Horbeshko
78a4305872 Respond to urn:xmpp:time (XEP-0202) queries 2025-10-18 16:42:40 -04:00
Bohdan Horbeshko
89d368abbb Yet another MAM logic rewrite: assume request order by RSM before/after, do not consider RSM limitation themselves as incompleteness 2025-09-19 12:44:35 -04:00
Bohdan Horbeshko
15f62b619d Fix complete flag logic: it marks if RSM/result covers full range, not if the output range touches the end 2025-09-18 16:51:08 -04:00
Bohdan Horbeshko
a6d848194d Merge branch 'master' into muc 2025-09-16 10:08:47 -04:00
Bohdan Horbeshko
140cf7fa4a Keep two chat caches to avoid unnecessary presences 2025-09-16 08:15:42 -04:00
Bohdan Horbeshko
b33cc3c75c Disallow non-BMP characters in occupant nicknames 2025-08-28 09:49:14 -04:00
Bohdan Horbeshko
7c9ea42f99 Fix id clash for OOB caption messages 2025-08-27 12:32:12 -04:00
Bohdan Horbeshko
bfb1786a42 Additional request for loading last messages 2025-08-26 13:10:20 -04:00
Bohdan Horbeshko
b9109d48d5 That MAM implementation was utterly broken 2025-08-24 08:17:08 -04:00
Bohdan Horbeshko
a17b4892fc Fix calculating reply end offset 2025-08-23 07:28:08 -04:00
Bohdan Horbeshko
84a6484e86 Cut off excessive message in last-page MAM queries more reliably 2025-08-22 07:26:34 -04:00
Bohdan Horbeshko
983c0102a4 Fix MUC member nickname changes 2025-08-16 09:32:23 -04:00
Bohdan Horbeshko
17f617e15d Always set "complete" attribute for empty history responses 2025-08-15 12:49:18 -04:00
Bohdan Horbeshko
4fb3886aab Fix some MAM bugs 2025-08-15 04:31:27 -04:00
Bohdan Horbeshko
12ac2fb5dd MAM support in MUCs 2025-08-12 17:29:13 -04:00
Bohdan Horbeshko
47179e9c77 Move to new MUC on upgrading basic group to supergroup 2025-07-31 12:51:25 -04:00
Bohdan Horbeshko
ca75d38169 Occupants LRU: cached reverse id-by-nickname lookups 2025-07-31 10:10:27 -04:00
Bohdan Horbeshko
3a18e9dc80 Occupants LRU refactoring: key -> id 2025-07-31 10:07:23 -04:00
Bohdan Horbeshko
0e8d34aafa Validate MUC nicknames via resourceprep 2025-07-30 12:59:13 -04:00
Bohdan Horbeshko
5ec8eab64b Send 170 status code when joining supergroups (assuming they are public and basic groups are not) 2025-07-25 17:21:38 -04:00
Bohdan Horbeshko
b1a67f6f4e Join/leave a temporary occupant for edit messages with an unrecognized nickname too 2025-07-25 16:30:46 -04:00
Bohdan Horbeshko
cb6eaef16f Fix crash on bumping non-existent occupant 2025-07-25 08:22:38 -04:00
Bohdan Horbeshko
f9be86b5db Bump MUC occupants and send unavailable presences for ones removed from LRU 2025-07-24 12:34:05 -04:00
Bohdan Horbeshko
f3eeba7273 Upgrade MUC occupants map to LRU 2025-07-23 17:03:19 -04:00
Bohdan Horbeshko
e2c5c78882 Fix crash when joining an inaccessible group 2025-07-22 14:34:18 -04:00
Bohdan Horbeshko
a52bede7f9 Call OpenChat/CloseChat on MUC join/leave to achieve receiving supergroup updates 2025-07-22 14:25:29 -04:00
Bohdan Horbeshko
422ac9dea6 Support retrieving chat administrators/owner in supergroups 2025-07-22 13:53:19 -04:00
Bohdan Horbeshko
10fc1d26ef Enable MUC support for supergroups 2025-07-22 13:51:55 -04:00
Bohdan Horbeshko
9ee13bf582 Send service messages to connected full JIDs rather than one bare JID wherever possible 2025-07-20 14:46:58 -04:00
Bohdan Horbeshko
b959f91a60 Transform mentions into MUC nicknames in incoming messages 2025-07-13 05:43:59 -04:00
Bohdan Horbeshko
29e66a21d7 Send announcement messages from a temporary MUC occupant && fix edit/delete message regression for non-MUCs 2025-07-06 23:11:54 -04:00
Bohdan Horbeshko
b5129906e3 Invite to MUC when added to it 2025-07-06 20:44:26 -04:00
Bohdan Horbeshko
19d602a99b Assure all MUC presences are sent to a full JID 2025-07-06 14:43:03 -04:00
Bohdan Horbeshko
f5a6cbf199 Fix ID-less occupant nickname when missing from group members list 2025-07-05 13:57:27 -04:00
Bohdan Horbeshko
3b01b1de70 Support /history command in MUCs 2025-07-05 12:43:38 -04:00
Bohdan Horbeshko
5c4c722cdc Ping back outgoing commands in MUCs 2025-07-04 16:08:11 -04:00
Bohdan Horbeshko
d6582a888f Add MUC-to-legacy migrator 2025-07-03 13:48:37 -04:00
Bohdan Horbeshko
65cc9b1551 Kick from MUCs instead of unsubscribing in commands 2025-07-03 13:47:22 -04:00
Bohdan Horbeshko
9721e60b0a Send a MUC invitation when a new group is created 2025-07-02 12:55:58 -04:00
Bohdan Horbeshko
2b5bb43bdd Send an invite to MUC on /add wherever applicable 2025-07-01 16:01:43 -04:00
Bohdan Horbeshko
d665dbdcc4 Fix command responses in MUCs 2025-07-01 15:35:34 -04:00
Bohdan Horbeshko
35ec6d44cd Adapt avatar hash updates for MUCs 2025-06-30 20:48:30 -04:00
Bohdan Horbeshko
4b2ae50f67 Allow listing MUC owners 2025-06-30 10:44:54 -04:00
Bohdan Horbeshko
a01e864d71 Advertise MUC avatars via XEP-0486 2025-06-29 17:01:16 -04:00
Bohdan Horbeshko
d5c1d6ff2a Return 403 on join if banned from a group 2025-06-28 07:49:04 -04:00
Bohdan Horbeshko
6d24823bb3 Assure all MUC presences have affiliation/role/realJID 2025-06-25 13:14:54 -04:00