v26.04.1
Fixed
- Backfill on Synapse now respects
max_initial_messagesinstead of stopping
at one Teams page. The internal pagination loop also counts only
bridgeable messages toward the target so non-chat events don't shrink it. - Multi-part messages (text + attachment, etc.) get distinct part IDs so
they no longer collide on bridgev2's(message_id, part_id)UNIQUE
constraint, which was aborting forward backfill mid-stream. - Inline Teams emoticons (
:wink:etc.) render as Unicode in the message
body instead of being split out as standalonem.imageparts. - Messages that convert to nothing (empty HTML shells, system events) are
skipped viabridgev2.ErrIgnoringRemoteEventinstead of being posted as
blankm.textplaceholders. - History messages now populate
parent_id(thread reply target) and
reactionsfromproperties.emotionsandconversationLink. - Reactions are deduped by (key, MRI) when parsing emotions so Teams's
per-emoji history (multiple add/remove cycles) doesn't replay as
duplicate Matrix reaction events. RichText/UriObject(inline images and screenshots) is now treated as
a chat message type and bridged.- DM portal invites carry
is_direct: trueso Element auto-marks them as
direct chats without requiring double-puppeting.
Full Changelog: https://github.com/YourSandwich/mautrix-teams/commits/v26.04.1