• v2.3 74632c671c

    v2.3 Stable

    cadence released this 2024-08-19 15:18:33 +00:00 | 297 commits to main since this release

    This release adjusts m->d reply formatting, and replaces some internal dependencies with smaller ones. As always, please remember to run npm install after updating to any version.

    Changes to m->d reply formatting:

    • a6251e8 Use the new small text feature
    • 283cf66 Move reply previews to one line, and use non-emoji form of circled M character
    • 5c48645 m->d: Suppress embeds for links in reply preview
    • 2c3b653 m->d: Consistently add @ to bridged form of matrix mentions

    General fixes:

    • 5e4d539 Fix potential abuse of error retry system
    • 87cad6c Fix incorrect stack traces being displayed when a critical error occurs
    • 2a080b7 m->d: Fix garbled content when posting a message link followed by a mention

    Dependency changes:

    • 742d34f Fork turndown for Discord-like link escaping
    • 7e90052 Switch to new application service library
    • 0cf1d26 74632c6 Update dependencies
    Downloads
  • v2.2 541c5e1eb5

    v2.2 Stable

    cadence released this 2024-07-21 02:56:58 +00:00 | 310 commits to main since this release

    This release continues to improve reliability. As always, please remember to run npm install after updating to any version.

    Features:

    • 49598c7 Bulk message deletes, used by bots and user bans, are implemented
    • 541c5e1 Add include_user_id_in_mxid setting
      • You love how OOYE sim users are named @_ooye_sensible_username_here, don't you?
      • If you don't love that and you want the usernames to be more like @_ooye_12345678912345678_sensible_username_here, this change is for you.
      • Set ooye: include_user_id_in_mxid to true in registration.yaml to use this feature. It does not apply retroactively to already-created sim users.

    Improvements:

    • eb98af0 Move packages to npm registry because registry packages are updated more reliably than git packages
    • 149cee8 Keep trying to get data from the PluralKit API if it's slow the first time
    • 24a3b9b Refactor kstate resource uploading for increased code coverage

    Fixes:

    • a2f0bb7 No more random occurrences of "MESSAGE_UPDATE not delivered: AssertionError"
    • 9e51482 OOYE will automatically re-create any webhooks that were deleted by a Discord user
    • 8c506ed Sim users can now be demoted from administrator
    • 07a133e Fix links being corrupted when the link is at the start of a new line
    • 1f5865b Avoid sending ephemeral messages from Discord
    • b6b6599 Errors while redacting a message no longer crash the bot
    Downloads
  • v2.1 5f0e765934

    v2.1 Stable

    cadence released this 2024-03-25 12:11:13 +00:00 | 323 commits to main since this release

    This release kinda supports Discord forums, bridges embeds from anybody (even reflected to Matrix users), and manages permissions on Matrix a little better.

    If you do not like that it reflects Discord generated embeds from Matrix user messages back to Matrix, let me know and I'll remove that feature.

    Features:

    • 5f0e765934 Bridge forums as spaces
      • 642be26313 Enumerate child rooms with hierarchy endpoint
    • d01c888d02 Support embed generate MESSAGE_UPDATE events
    • 2fb68900c7 Support permissioned @everyone -> @room
    • 043f178d1e Map Discord member permissions to sim user PLs
    • 12d85c982e Allow Matrixers to @room if Discorders can too
    • f5ffc09fab Convert @room to @everyone using permissions

    Improvements:

    • 25cd8cb289 Use allowed_mentions instead of disableEveryone
    • cc9e1de49e Remove deep-equal dependency

    Fixes:

    Downloads
  • v2.0 e236a25da2

    v2.0 Stable

    cadence released this 2024-02-20 09:23:08 +00:00 | 352 commits to main since this release

    This release adds full support for the Discord bot PluralKit, bridging each PluralKit system member as a distinct user on Matrix-side. It also adds via parameters to room links, and some formatting has been fixed by community members including Wonder Collective - thank you!

    PluralKit features:

    • Each PK member is bridged as a distinct Matrix user
      • 11864f80cf This currently requires one message to "warm up", then all future messages will be handled seamlessly
    • The original Discord messages which are about to be deleted will not appear at all on Matrix-side
      • e49dc18e67 This uses a "speedbump" to "slow down" all messages in the chatroom
      • 6a06dc14ce Speedbump only takes effect in chatrooms where PluralKit is being used
    • 69922c4a14 PK member name/avatar changes are synced with the same Matrix sim user profile
    • f48c1f3f31 Replying to PK members from Matrix mentions the Discord user on Discord-side
    • 98477dc0f6 Mentioning PK members from Matrix mentions the member and Discord user on Discord-side
    • c7fb6fd52e PK's simulated embed replies are converted to native Matrix replies
    • 0e701b2d54 Compatible with PK members in threads
    • 3d87bd9da5 Compatible with server-specific PK member names

    Improvements:

    • 30afaa1e17 fd11e3fd10 All room links now have properly calculated via parameters, so can be used and shared in all clients
    • 355ebfe2af e999fcf819 56f959e9f3 m->d: spoiler reasons & reply-quote separation
    • 6c3164edd6 m->d: Emoji sprite sheet feature supports APNG emojis (but they're composited to a non-animated PNG)
    • e0d96cde19 d->m: Fallbacks for links to unbridged channels are more intuitive
    • 77b7772062 m->d: Since code blocks containing backticks are incompatible with Discord, they will be uploaded as a file instead. This preserves inline preview and highlighting.
    • d673296619 d->m: Plaintext event body now indicates embeds with pipe | instead of quote >
    • 3fb2c983e0 Optimised pngjs install

    Documentation:

    • 5ef5dbb2e8 Write more "add a new event type" documentation

    Fixes:

    • 7a9e1168fe m->d: Fix links where href and content are the same
    • 4591b5ae03 m->d: Fix glitched mention when Element disambigs
    • 369e0862e5 m->d: Replies to custom emoji show a correct preview
    • c084aa0156 cfc89c40f9 d->m: Fix the guessed @mentions feature messing up code or links

    Silly fixes:

    • 0e75c23aee d->m: Fix user's first message in channel being a thread starter reply
    • f79833c444 m->d: Only care about data-mx-spoiler on span
    • 7756a34a5f m->d: Gracefully handle replies to redacted event
    • 4286829b42 Update discord libraries - fixes some disconnection issues
    Downloads
  • v1.5.1 8591ea5c1f

    v1.5.1 Stable

    cadence released this 2024-01-20 10:13:39 +00:00 | 409 commits to main since this release

    This hotfix addresses a bug where OOYE was unusable when Synapse was not behind an nginx reverse proxy.

    Now, when running seed.js, it should warn you about the situation with this message:

    OOYE cannot stream uploads to Synapse. Please choose one of these workarounds:

    • Run an nginx reverse proxy to Synapse, and point registration.yaml's server_origin to nginx
    • Set content_length_workaround: true in registration.yaml (this will halve the speed of bridging d->m files)

    This is because Synapse needs the Content-Length header, which isn't set by OOYE's streamed uploads. Non-streamed uploads are slower. See the commits in this hotfix for precise details. (Use the Compare dropdown in Gitdab's left bar to compare against v1.5)

    Downloads
  • v1.5 8987107685

    v1.5 Stable

    cadence released this 2024-01-18 19:54:05 +00:00 | 413 commits to main since this release

    This release syncs pinned messages and emojis even if the bot was offline, supports alt text and bulk message deletion, and fixes many formatting bugs that were reported since the previous release.

    Features:

    • 8987107685 d->m: If messages were pinned while OOYE was offline or before OOYE was set up, OOYE will be able to find them and bridge them.
    • 9efd6a49b8 d->m: Similarly, if emojis or stickers were changed while OOYE was offline or before OOYE was set up, OOYE will be able to bridge those too.
    • 20bab453ef d->m: Moderation bots which bulk delete messages should now also delete them on Matrix.
    • 84d791cd8a m->d: Image description/alt text is now bridged. (Most Matrix clients don't support sending these. NeoChat partially supports them.)

    Improvements:

    • a67708269d m->d: The end of the reply preview may look slightly nicer to Discord users.
    • 60cf40680f cf25e1661b d->m: Image description/alt text is bridged better.
    • 024ff34cca m->d: After switching from matrix-appservice-discord or mx-puppet-discord to OOYE, mentioning a sim user owned by the old bridge will mention the intended Discord user.

    Fixes:

    • 83070dcf7e d->m: Some Matrix clients URL-encoded their mentions, which OOYE didn't understand. These are now supported.
    • ed7404ea19 d->m: Pinned messages are displayed in the correct order. Unless you're a nheko user.
    • d0a3c3ce29 m->d: Occasionally the reply preview would include the words "In reply to" for Discord users. Now it will show the message content like it should.
    • 8e3b674d90 Matrix: Editing a very long message to be shorter will no longer delete it from Matrix.
    • 4dcdd0287e OOYE setup: Conduit is probably supported better.
    • c8742f9512 m->d: Parity between plaintext events and formatted events.
    Downloads
  • v1.4 cd2e012b8e

    v1.4 Stable

    cadence released this 2023-11-25 10:09:28 +00:00 | 433 commits to main since this release

    This release adds a new feature to work around mentions, allows message links to jump into the past, and fixes some rare text formatting issues.

    Features:

    • 53a009c d->m: Users who aren't joined can be mentioned

    This feature is useful when you know a user exists on Discord-side, but you can't mention them because their sim hasn't been joined to Matrix-side yet, probably because OOYE hasn't seen them type in that room.

    To use this feature, on Matrix-side, write a plaintext @mention that names a Discord user. If you successfully named a user in the server, they will be added to Matrix-side and @mentioned on their own side, sending them a notification.

    Your message will still look like plaintext, but if you see that the sim user was invited, then you know that the mention did trigger correctly via the bridge.

    This is kind of a workaround - I would appreciate any suggestions for how to improve this workflow!

    Improvements:

    • 8d45210 d->m: Message links are guessed when unknown

    If you migrated from a different bridge to OOYE, d->m message links into the past (from before OOYE was set up) would not work correctly. Now they will! They will link to the correct Matrix message.

    While this is a "guess", it should be a correct guess 99% of the time :)

    • a542bbd d->m: List and heading formatting is now fully supported.
    • e73de60 m->d: If your rich text mention has a colon after it, Discord users won't see the colon.
    • afbbe0d Some embed formatting edge-cases fixed.

    Fixes:

    • 083f7bd Android didn't like how spoiler attachment links were formatted, and they couldn't be clicked. This works around the issue.
    • fa68b87 Some previous versions had a rare bug where OOYE could become disconnected from Discord-side. It should stay connected reliably now.
    Downloads
  • v1.3 040e987d03

    v1.3 Stable

    cadence released this 2023-10-14 10:34:02 +00:00 | 455 commits to main since this release

    This release fixes various bugs and inconsistencies to make things display more similarly on both sides of the bridge.

    Features:

    • 850de85 Add //thread command. Matrix users can use it to create a Discord-side thread.

    Improvements:

    • 44f90cb Global display names for Discord users are used on the bridged Matrix user.
    • d9d672b Role mentions now display really pretty.
    • c247526 Reactions are now consistently added to the bottom of message groups instead of sometimes being in the middle.

    Fixes:

    • 61ac535 Fixed a bug where some Discord replies in threads would throw an error.
    • 040e987 When removing reactions, enough reactions are now removed every time.
    • b7f90db (in generated reply previews) Fix a case where the preview could display as "undefined".
    • 999276e (in generated reply previews) Fix the the preview possibly showing & symbols.
    • 480c7a6 (in generated reply previews) The author line now uses the Matrix user's actual display name.
    • 1016fb1 d->m: Thread start context message is sent by the OOYE bot, to make threads seem less misleading.
    • 67305bb d->m: Bot embeds will now be edited on Matrix-side too.
    Downloads
  • v1.2 93fa5b2e9a

    v1.2 Stable

    cadence released this 2023-10-12 12:07:52 +00:00 | 466 commits to main since this release

    This release includes some minor features for communities.

    • New //privacy command changes the privacy level of Matrix-side between invite-only, linkable, and discoverable. Use //privacy to learn more.
    • Privacy levels are synced for the space and all rooms when a sync occurs.
    • Users in invite in registration will now be marked as administrator (PL 100.) This will take effect in new rooms when they are created, and existing rooms when the next sync occurs.
    • Pinned messages will sync from Discord to Matrix when the pins change. In the near future, I will improve this feature to work in both directions and possibly backfill old pins.
    • I rewrote the code for removing reactions and added tests. If you still encounter more issues removing reactions, please show the problem and explain how to reproduce it.

    You can use createSpace.syncSpaceFully(PUT_A_GUILD_ID_HERE) in the REPL to sync.

    Downloads
  • v1.1.1 fc44edf290

    v1.1.1 Stable

    cadence released this 2023-10-12 02:53:43 +00:00 | 483 commits to main since this release

    This is a hotfix to address an important bug.

    m->d: Fixed the profile data cache being corrupted when a Matrix user invites another Matrix user. The existing cache will be erased to ensure it is consistent. A new valid cache will gradually be re-created like normal.

    Downloads