• v3.4 c55e6c6115

    v3.4 Stable

    cadence released this 2026-02-14 07:20:19 +00:00 | 12 commits to main since this release

    In celebration of Discord's recent self-immolation, here's version 3.4.

    It supports full polls bridging in both directions, room upgrades and room v12, and better support for the Conduit family (including the recently revived Conduit).

    If you are using the Conduit, you must switch to the "next" branch. Stable releases (aka "latest" tag) do not work, because they do not contain this commit, which OOYE relies on. Conduit Downloads/Containers

    If you get a message like "Old versions of glob are not supported" or a big wall with "Missing: glob@11.1.0 from lock file", do this to fix:

    1. Check npm -v and get npm version 11 or later (try npm i -g npm)
    2. npm install --save-dev
    3. npm ci

    For more help installing or updating, see the docs. Thanks for choosing Out Of Your Element.
    And thanks to the contributors who made this release possible.

    Features

    • Polls, in both directions
    • Room upgrades and room version 12
    • e3e38b9 45285a4 Components v2 support
    • 35e9c9e Add ability to unlink spaces
      • Thank you Elliu for working on this!
    • 44208b6 Add /ping Discord command
      • This can be used to ping (@mention) a Matrix user from Discord side
      • Using this command is not required, you can also just best effort write @the person's name and it will work
      • 15aa6ed c73800f c01e347 e66822e Accuracy improvements to the text mention scanning system
    • 653e38a 6032ba4 Bridge Matrix media spoilers
      • Requires a compatible client. I don't know which clients those are.
    • 17251c6 4202584 8ea29d6 Suppress link embeds where applicable (Discord parity)
    • 92a6095 Improve output of Matrix info command
      • Better information, better formatted
      • Also available by reacting red question mark (Discord side only; helps those used to PluralKit)
      • Let me know if you have more suggestions that would improve this
    • 5a401a1 When an auxiliary m.notice is deleted, instead of deleting the Discord message, suppress its embeds

    Changes

    • c0d8275 Fix m->d emoji sprite sheets looking enormous on mobile Discord only
      • Thank you to first-time contributor Abdul for working on this change!
    • c7e8d4d Storage is 15% more efficient now, wow!
    • 5e4b99a Remove reply fallback for same-room replies (and update tests accordingly)
      • This change comes from Emma!
    • b52b2de Add custom format for Klipy GIF conversion
    • 5002f30 Convert emojihax to real emoji d->m
    • b16d731 Include guild name in emoji pack name
      • This looks better in some clients, notably Commet.
    • 0dc9293 bf9f6b3 c0bbdfd d7f5f8b 08323f4 b5143bf Changes to self-service space invite detection and homeserver compatibility
      • If you moderate a room, even if you didn't personally invite the OOYE bot, you should still be able to use the self-service space linking controls
    • f287806 Disallow Discord users from using smalltext formatting (breaks Discord parity)
    • 536ab56 Better d->m spoilers
      • Remove spoiler text entirely from plaintext body, so you're less likely to see it in notifications or room previews
      • 2563a47 If the spoiler contains a link, consider its embed to be a spoiler (Discord parity)
    • cd0b8bf Add script to easily reset web password if you forgot it
    • ddc7387 Send forwarded messages as m.text, not m.notice
    • b5596b2 Fetch referenced_message for reply fallback if unavailable
    • 345b7d6 Merge attachments with message when possible
    • 02d62c0 Only show video embeds when they have extra info

    Fixes

    • 2496f4c Fix retrying own events as non-moderator
    • 014a87e af9e2d8 228766c Wrangle embed generation rules
    • c8b0f23 Ensure m->d reactions get bridged when they were added really really fast
    • 1741bc0 Fix animated emojis that were originally uploaded as webp format
    • 261bb1b Adjust for future changes to Discord permissions
    • 696a45f MAS compatibility
    • 231b261 Fix topic diffing from original creation
    • 04d2602 Pre-upload icons before diffing
    • 8e0fe29 Web accessibility
    • 29d08df Fix Discord replies to multipart Matrix messages
    • a488c15 Fix confusion between eventsToSend and unchangedEvents
    • c472388 Room create event must be included to diff
    • 6200d0b Fix selective kstate failing on missing events
    • 5aa112f Better detect reply rep in reply fallback
    • 238e911 Fix m->d double-escaping Matrix mentions
    • 279e379 The database really works better if you query it
      • The highly anticipated sequel to 0f24994
    • fca4c75 Fix speedbump+retrigger interactions
    • f5d50fc Properly stop PluralKit users typing after sending
    • 0ed3ef6 0d574c1 Fix PluralKit replies
    • dbfa9d0 Sync PK member profile on first message
    • 6df931f Check if we got rugpulled while sending
      • Fixes a SSR race condition in database access that was observed with PluralKit a couple of times
    • 6b4123b e54536d More accurate intent flags check in setup
    • ed76dbd Wait for Discord connection before listening m->d
    • 33eef25 Fix setup not listening for events at all
    • 7ebe8aa Fix backfill script
    • fba50e9 Fix getPermissions misunderstanding the @everyone role (only matters for really silly guilds)
    • 3d3671e Fix inviting users on one of the Conduits (only matters if you lost your database)

    Code quality and documentation

    • 20453aa res.json type fixes
    • 239568a Fully remove failed experiment
    • 4bc7e79 Refactor private chat creation
    • 092a4cf Add traefik documentation
    • 8661aa7 Remove unused orm function
    • 0d15865 kstate fixes and code coverage
    • 045fdfd General code coverage
    • 513e671 Formally remove discord_path from room avatars
    • 505c41a More code coverage
    • 03e9fc4 Room upgrades technical information
    • 756e8e2 Make registration more consistent
    • 90fcbd0 Update Discord libraries
    • 0dd8958 Update dependencies
    • aa7222c Print d->m errors when there is no room
    • 64369f1 Fix test
    • d1b0fa4 Add tests for emoji sheet; style and nits
    • c8b2071 Move poll-star-avatar file endpoint
    • c490965 Fix typecheck
    • 314f37f Add newline at end of registration to help shells
    • 14de436 Add docker policy
    Downloads