๐ Bug Fixes =========== - Crash on incoming BoB request (91f8ccd) - Use correct JID for presence errors on user nickname change attempt in MUC (d4baceb) - Unregistration when there are participants (49fc781) โ๏ธ Revert ========= - Fix: iq privileges for all namespaces (92ef339)
๐ Features ========== - Option to strip leading emojis in adhoc command names (2145f07) - Use URIs for adhoc command nodes (f0e6183) ๐ Bug Fixes =========== - "title" before "instructions" in data forms (1e07827) - Compatibility with postgresql (84b1a3e) - Remove orphans when removing attachments (63a7986) ๐ Documentation =============== - Mention raver's docker hub page (c326e6e) ๐งช Testing ========= - Un-hardcode avatar hash and size in one test case (ae22032)
๐ Features ========== - Delete group from the DB (1290f18) ๐ Bug Fixes =========== - Entrypoint for `python -m slidge` (23430c6) - Entrypoint in pyproject.toml (9cbf0ac) - Remove unused config option (bb59fdd) - New threads from XMPP (7063fe3) - Legacy networks where MESSAGE_IDS_ARE_THREAD_IDS (443a968) - Not null constraint failed on user un-registration (513b13f) - Unique constraint failed with MARK_ALL_MESSAGES (67405db) - Leave group via adhoc or chat command (df7d9d1) - Destroy locks when exception is thrown (57da953) - Use specific XMPPError raised in update_info() (fea2d18) - Correction of messages with attachments (db2168f) - Data URI of thumbhashes (68b2b64) - Crash on leave group adhoc command (fd97232) - Remove group from DB after leave group command (4f55a90) - Remove group from DB after IBR remove (8bf5be2) - Remove bogus unique constraints on room table, for good (7be925b) - *(mam)* Update instead of adding message with same legacy ID (3780b8c) ๐ Refactor ========== - Inheritance between ContentMessageMixin and AttachmentMixin (ea0aaef) ๐งช Testing ========= - Print stanza on assertion error (8f05c2c) - Improve console output (48e2ff6) - Catch iq timeout on slow platforms (bcf011a)
๐ Features ========== - Handle XMPP BOB/HTML-IM as sticker (5d99b56) ๐ Bug Fixes =========== - Ignore carbon argument when self != contact (b829c92) - Legacy message ID type for message correction in MUCs (632a614) - Parse mentions and link previews only for text messages (31f49b4) - Use typing.Sequence instead of .Collection for search, registration and table results (b599de6) - Carbon retraction not being ignored (3a39ece) ๐ Refactor ========== - Split huge method (6c07727) - Move handle_muc_admin_query to session_dispatcher.py (3b30a43) - Break session_dispatcher.py into several modules (9267a4a) - Merge XMPP presence handlers into single module (5e85fd1) - Merge VCard and VCard-temp handlers (f623056) - Centralise registration-related handler in a single module (f9e1b95) - Move MAM handlers with other XMPP events handlers (504494c) - Move ping handler with other handlers (9c083fb) - Move caps filter in dispatcher (d75169f) - Move search handler in dispatcher (8c60c97) - Move disco handler in dispatcher (219c46b) - Move get_muc_from_stanza to dispatcher module (f653a3a) - Move groupchat error handler in dispatcher module (9d2895a) - Move delivery receipt custom handling to slixfix module (85d30d2) - Rename gateway module to "dispatcher" (74eaeb0) - Harmonise getting slidge session from incoming stanza (b9dc4ed) - Regroup all XMPP message stanza handlers (87960e7) โก Performance ============= - Do not instantiate all contacts when attempting to get a _known_ contact (02511bb) - Load only room names and JIDs for disco#items on the component (7668778) - Ignore MDS events for JIDs not handled by slidge earlier (f5a955a) ๐งช Testing ========= - Cover MARK_ALL_MESSAGES (6576a25) โ๏ธ Miscellaneous Tasks ====================== - Update pre-commit hook (67ddde4)
Update external links for PyPI since XMPP URIs are not allowed
๐ Features ========== - BREAKING CHANGE! Replace blurhash with thumbhash (828478b) - Use XMPP URIs to reply to chat commands (357010c) ๐ Bug Fixes =========== - Legacy module config that depends on dynamic default of core config (a8d06e3) - Remove resource parts from users' JIDs (77d282a) - Decouple avatar SHA and legacy unique ID (30932a8) - Broadcast avatar metadata from contact bare JID on user's available presence (47359fb) - BREAKING CHANGE! Store contact client type in DB (c4a5517) - Unset user avatar hash when they unset their avatar (0a49c75) โก Performance ============= - Less python objects instantiations and SQL queries on user's available presence (9fafcac) - *(sql)* Use join to select participant's contact (3585bea) - Reduce LegacyMUCs instantiation when listing participants (b2fa9b0) - *(sql)* Avoid useless UPDATE on contact instantiation (4700995) ๐จ Styling ========= - Remove duplicated import (c2a352c) โ๏ธ Miscellaneous Tasks ====================== - Update aiohttp (fe75e37) - Fix superduper mock legacy module (a991e29) Build ===== - Add some classifiers and external links for PyPI (84e6eca)
๐ Features ========== - Guess attachment extension when no file name is given (ebb2ba1) ๐ Bug Fixes =========== - Do not broadcast presences of non-friends (d2ff515)
๐ Bug Fixes ============ - Participant_by_contact() for modules that do not use the canonical Contact.update_info() (11ea542)
๐ Bug Fixes ============ - Setting initial contact attribute outside Contact.update_info() (5c8d885)
๐ Features =========== - Add version of legacy module in "server info" command (8a96385) ๐ Bug Fixes ============ - Migration of user store from 0.1 (56ce0a8) - Update xmpp id->legacy id mapping on msg correction (939dfe1) - Backfill when several slidge users are part of the same legacy group (89babe0) - Avatars set with URL alone (no unique ID) (be520bd) - Presence error when no avatar for contact (799e0e2) - Crash on startup for legacy modules with no group support (fb3c85b) - Key error on roster push after Roster.fill() (f45b5a4) - Setting the user's MUC nickname outside LegacyMUC.update_info() (dafcc53) - Do not fetch on-demand full VCard4 on vcard-temp request (d927d76) - Moderation of multi-attachment messages (faa0421) - Update "unique" ID of already-known avatar with a different ID (1f1102b) ๐ Refactor =========== - Simplify logic of Roster.by_jid() and .by_legacy_id() (4ab7a65) - Simplify logic of Bookmarks.get_by_jid() and .by_legacy_id() (34b2e9d)