1
0
Fork 0
mirror of https://github.com/mautrix/discord.git synced 2026-05-15 13:46:55 -04:00
Commit graph

223 commits

Author SHA1 Message Date
Skip R
654e3fd898 auth: remove channel 2026-03-26 20:19:24 -07:00
Skip R
82b1645e00 auth: add initial sketch 2026-03-26 20:18:16 -07:00
Skip R
c88ffbc9ba directmedia: reimplement in-memory URL cache 2026-03-23 21:58:05 -07:00
Skip R
dd2c2ec0c9 directmedia: sketch implementation 2026-03-20 02:39:40 -07:00
Skip R
744ba4190b msgconv/from-discord: improve look of backfilled user joins 2026-03-18 23:59:25 -07:00
Skip R
8270a9462d handlediscord: bridge live user joins as membership events 2026-03-18 23:58:50 -07:00
Skip R
134c5ed446 capabilities: more explicitly advertise support for all file types 2026-03-18 23:54:55 -07:00
Skip R
b71744a287 chatinfo: support configurable channel name template 2026-03-18 22:43:25 -07:00
Skip R
672f4b8c23 handlediscord: make sure all parent spaces exist before their children
Using `QueueRemoteEvent` to blindly fire off the resyncing of spaces as
well as their child rooms effectively races, resulting in the child
rooms lacking a `network` in their `m.bridge` state.

To fix this, synchronously ensure that the spaces exist before bridging
their children.

This patch also makes it so that empty categories (categories that are
literally empty as well as categories exclusively consisting of channels
that can't be viewed by the user) are no longer bridged.
2026-03-18 22:38:06 -07:00
Skip R
c1b90ef84e downgrade log level of "Computed visibility of guild channel" logs
These are really noisy.
2026-03-18 22:19:50 -07:00
Skip R
f041f78c09 msgconv/from-matrix: support voice messages 2026-03-17 10:20:31 -07:00
Skip R
f796e4cef6 msgconv/from-discord: tweak incoming call message 2026-03-12 19:26:58 -07:00
Skip R
961a89beba msgconv/formatter: escape role and channel names 2026-03-12 18:59:59 -07:00
Skip R
a2c65ee47c msgconv/formatter: fix inbound mention handling
* Check for user logins as well as fetching a ghost. This fixes
  mentioning other Matrix users (when split portals are off), or
  yourself.
* Escape display names.
* Gracefully fail when failing to locate any useful information.
2026-03-12 18:56:54 -07:00
Skip R
1dce5fa9ff msgconv/from-matrix: don't send allowed_mentions for now 2026-03-12 18:18:31 -07:00
Skip R
2b3b058750 msgconv/from-matrix: convert user pills 2026-03-12 18:17:18 -07:00
Skip R
cb9bf5b04b handlediscord: sync group dm membership changes 2026-03-11 19:48:14 -07:00
Skip R
7363538bae sync private channel deletions that occur while the bridge is offline 2026-03-11 19:13:51 -07:00
Skip R
3ae8e8d585 router: log when creating an uncertain route 2026-03-11 19:13:07 -07:00
Skip R
1534b2b984 handlediscord: handle CHANNEL_DELETE 2026-03-11 19:11:51 -07:00
Skip R
6959888bbd msgconv: change animated sticker mime type
This matches with what Beeper Desktop expects.
2026-03-11 17:33:02 -07:00
Skip R
03fb7bc83e handlediscord: sync gateway-created dm channels 2026-03-11 11:16:10 -07:00
Skip R
02b35812ab userinfo: make sure we're logged in 2026-03-10 23:12:10 -07:00
Skip R
4f2dc2bf30 provisioning: check for logged in state 2026-03-10 23:01:48 -07:00
Skip R
edcad997ac client: don't set a up session if we lack a token entirely 2026-03-10 23:01:24 -07:00
Skip R
cd1f9ddd85 connector: check for nil session before disconnecting 2026-03-10 22:59:28 -07:00
Skip R
51473cf210 connector: check if we're logged out much more 2026-03-10 22:58:40 -07:00
Skip R
2e7e39a91c properly handle our credentials becoming invalidated
Further support cancellation (via concurrent Disconnect call) while
we're "sleeping" in connectRetrying. This is sorta half baked because we
don't handle cancellation post-Open, which should really be added so we
can avoid the sync.
2026-03-10 22:08:35 -07:00
Skip R
261d041ebb client: refuse to connect if token is empty
This is in preparation of us intentionally emptying the token if our
credentials become invalid.
2026-03-10 22:05:52 -07:00
Skip R
a06b09f201 handlediscord: add error constants 2026-03-10 22:04:07 -07:00
Skip R
2cd22e0100 properly handle 40002 errors 2026-03-10 21:04:23 -07:00
Skip R
9719c6d1d5 add proper support for remote profiles 2026-03-06 21:54:15 -08:00
Skip R
833085bd95 usercache: add self user to cache 2026-03-06 19:57:57 -08:00
Skip R
3f5993e6e4 provisioning: deeply delete portals when unbridging 2026-03-05 18:46:31 -08:00
Skip R
0c0aa7e212 handlematrix: implement bridgev2.MuteHandlingNetworkAPI
(When used with Beeper, this is only effectively invoked when the bridge
is being used locally.)
2026-03-05 16:30:43 -08:00
Skip R
1bb9b0c244 chatinfo: bridge discord mute state to matrix
Note that mute_only_on_create in the config seems to default to true.
When that is the case, the remote mute state only makes a difference
during initial portal creation.
2026-03-05 16:29:41 -08:00
Skip R
35dcea1f03 client,handlediscord: keep track of user guild settings
These contain information about mutes, notification settings, etc.
2026-03-05 16:28:21 -08:00
Skip R
25cf272ca1 events: remove unused field that made the linter mad 2026-03-04 20:51:04 -08:00
Skip R
03d733da42 router: cope with database failures, making routing infallible
Even if the DB is dead for some reason, we should still be able to route
from in-memory data.
2026-03-04 20:47:45 -08:00
Skip R
4c14457c52 lint 2026-03-04 20:43:34 -08:00
Skip R
7e01e8aec3 dbmeta: stash discord channel type in portal metadata 2026-03-04 20:42:02 -08:00
Skip R
55501bf50f handlediscord: avoid queueing remote events for unbridged channels
This avoids the implicit creation of portals that have zero-valued
metadata. Other methods like GetPortalByKey also do this.
2026-03-04 20:42:00 -08:00
Skip R
3c53f7ed2d connector: fix forward backfill heuristic 2026-03-04 20:37:45 -08:00
Skip R
a2933d989b msgconv: do not create stub portals when formatting channel mentions 2026-03-04 20:23:23 -08:00
Skip R
cfe1d24d19 connector: handle receivers correctly and consolidate thread routing
* The split_portals config option is finally respected.
* This should prevent future room duplication when migrating from the
  pre-bridgev2 version of the bridge, as we'll finally address guild
  channels properly (that is, without a Receiver set, unless
  split_portals is true).
2026-03-04 19:15:46 -08:00
Skip R
786a6712fd backfill: implement bridgev2.BackfillingNetworkAPIWithLimits
This lets DMs backfill properly when the user scrolls to the top of the
room in a Beeper client.
2026-03-03 22:18:10 -08:00
Skip R
8e51cf25aa msgconv: populate reply information even when target isn't in db
We can't rely on the reply target to be in the database because that
won't be true during backwards backfill. Populate it more eagerly.
2026-03-03 22:12:49 -08:00
Skip R
c1f82b9157 backfill: set MarkRead if all messages in a batch are read 2026-03-03 21:25:29 -08:00
Skip R
1ead5baf2f client: handle read states 2026-03-03 21:23:49 -08:00
Skip R
5d9e2373d9 msgconv/from-discord: propagate reply log to context 2026-03-03 20:13:12 -08:00