Watch
1
0
Fork
You've already forked mautrix-discord
0
mirror of https://github.com/mautrix/discord.git synced 2026-08-23 20:34:56 -04:00
Commit graph mautrix-discord/pkg/connector/client.go
Author SHA1 Message Date
Nick Mills-Barrett
21861dd60b
connector: add config options to customize stranger DMs blocking 2026-08-12 20:27:36 +01:00
Skip R
295957290f connector: don't explode if Session.User is nil after Open 2026-07-15 20:46:16 -07:00
Skip R
3de7b918ac connector: defer full sync until we have good vitals 2026-07-15 18:28:32 -07:00
Skip R
317876a0b6 refine comments 2026-07-15 16:37:44 -07:00
Skip R
5abc733383 connector: comments 2026-07-13 23:41:46 -07:00
Skip R
d052403358 report account vital signals as bridge state, preventing usage when bad 2026-07-13 23:25:49 -07:00
Skip R
6faac571bb connector: consider news channels to be bridgeable 2026-07-08 09:11:21 -07:00
Skip R
892aede394 auth/machine: turn into a resumable state machine 2026-07-07 17:12:35 -07:00
Skip R
3762fb09f6 doc: elucidate utility of ensurePortal 2026-07-02 13:03:23 -07:00
Skip R
1d50d4b16d client: examine guild bridgedness when reporting channel bridgeability 2026-07-02 13:03:17 -07:00
Skip R
025d24eb6c client: refactor shouldBridgeChannel logic into method 2026-07-02 10:58:59 -07:00
Skip R
012b9293e5 connector: resync all existing private portals upon connect 2026-07-02 05:18:56 -07:00
Skip R
97ae7f687f client: wipe guild settings when receiving a full snapshot
Note: introducing this tentatively, not due to observed behavior.
2026-06-19 21:34:57 -07:00
Skip R
ce30aaa726 client: wipe read states when receiving a full snapshot
Note: introducing this tentatively, not due to observed behavior.
2026-06-19 21:34:57 -07:00
Skip R
e928815109 handlediscord: unify post-READY state handling path
Consistently update in-memory state after connecting.
2026-06-19 21:34:57 -07:00
Skip R
55ef8e6adf client: delete spaces corresponding to guilds the user has left 2026-06-19 20:57:51 -07:00
Skip R
b820bdc214 handlediscord: poke portal backfill when reconnecting
Previously, this would only happen once in the entire process lifetime
of the bridge.
2026-06-19 20:54:37 -07:00
Skip R
184ce82bbe handlediscord: update user cache synchronously
Do not rely on goroutine scheduling.
2026-06-19 20:50:36 -07:00
Skip R
5eb78e86e4 client: RLock the state while we clone private channel data 2026-06-19 20:47:33 -07:00
Skip R
41ae5735b9 handlediscord: resync ghosts on READY 2026-06-16 19:07:19 -07:00
Skip R
3bcefc06e8 connector: always TLS cloak, even without a proxy configured 2026-06-12 11:59:36 -07:00
Skip R
ffe5bc86af migrate to coder WebSocket and apply TLS cloak to gateway 2026-06-12 11:44:30 -07:00
Skip R.
185a12a48e
[bridgev2] first pass at proxy support (#228) 2026-06-12 03:05:01 -07:00
Skip R
37156a3ba2 connector: log amount of dms synced 2026-05-13 01:36:32 -07:00
Skip R
80a46e1fa7 connector: stop using RecipientIDs
This field is undocumented and the gateway doesn't always send it with
good data.
2026-04-20 20:36:09 -07:00
Skip R
d58edf7b65 handlediscord: respect friend nicknames 2026-04-08 23:53:31 -07:00
Skip R
af4cf49217 make method receiver names more consistent 2026-04-06 20:45:01 -07:00
Skip R
d138c12bbd connector: handle live relationship updates
discordgo should really be doing this
2026-03-31 01:13:37 -07:00
Skip R
d20451cea8 analytics: make last send attempt relationship type readable 2026-03-31 01:12:48 -07:00
Skip R
e824270244 analytics: send on auth invalidated
also simplify the call sites a bit
2026-03-31 00:18:52 -07:00
Skip R
6ccb507298 analytics: send when account requires verification 2026-03-31 00:16:51 -07:00
Skip R
1d77d59fd5 analytics: send when getting CAPTCHA challenge from discord
to help us find out which endpoints like to serve challenges
2026-03-31 00:15:49 -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
7363538bae sync private channel deletions that occur while the bridge is offline 2026-03-11 19:13:51 -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
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
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
1ead5baf2f client: handle read states 2026-03-03 21:23:49 -08:00
Skip R
55c0272903 handlediscord: initial pass at threads support 2026-02-27 06:44:09 -08:00
Skip R
ea3052e567 handlediscord: sync roles from guilds 2026-02-27 06:44:09 -08:00
Skip R
91f8d2b269 support custom emojis 2026-02-17 19:45:12 -08:00