Skip R
4fb0cdb847
login: relocate shared login finalization logic into embedded struct
...
All of the login methods need to do (effectively) the same thing once we
have a token, so refactor this out into something we can reuse.
2026-01-07 20:11:04 -08:00
Skip R
b764f489de
login: implement logging in via browser
2026-01-07 18:52:52 -08:00
Skip R
8a28fa0f95
connector: share session construction logic
...
So we can't forget to set up the logging handler.
2026-01-07 18:51:32 -08:00
Skip R
4314aa9206
handlematrix: simplify read receipt bridging
2026-01-06 18:10:50 -08:00
Skip R
761a850a50
handlematrix: bridge outgoing read receipts
2026-01-06 18:10:50 -08:00
Skip R
ca1168bfc2
clean up stray zerolog import
2026-01-06 16:49:10 -08:00
Skip R
e71075cd0d
handlematrix: bridge outgoing message attachments
2026-01-05 22:29:26 -08:00
Skip R
cbfbe65619
login/remoteauth: lowercase Errorf
2025-12-18 19:43:30 -08:00
Skip R
c015148b63
login/remoteauth: simplify copy
2025-12-18 19:40:49 -08:00
Skip R
1fb161f379
lint
2025-12-18 19:37:42 -08:00
Skip R
b18d908489
login: implement remoteauth (QR code login)
2025-12-18 19:36:33 -08:00
Skip R
099b464f84
client: refactor boot logic into SetUp method
...
This method only has heartbeat session population logic for now, so it's
actually a no-op during provisioning. However, there's probably some
value in "mandating" that clients call this shortly after construction,
so we have a chance to run any setup logic that we might need in the
future.
This _feels_ unidiomatic...?
2025-12-18 19:34:50 -08:00
Skip R
2075a4b853
client: don't nil out discordgo.Session when disconnecting
...
I don't have the logs anymore unfortunately, but I witnessed a
(seemingly?) rare nil dereference _within discordgo's event handling
code_ after Disconnect on the client was called (caused by SIGINT). My
thinking is that this caused the Session to get garbage collected, so
the method receiver became nil out from under it.
To let discordgo clean up after itself, keep a reference to it in the
client.
2025-12-18 19:31:40 -08:00
Skip R
776ddd7c96
login: make complete step id a constant
2025-12-18 19:31:30 -08:00
Skip R
2c669413cc
login/token: remove misleading comment about LoadUserLogin
...
This comment seems to imply that specifying this function is a shortcut
of sorts, when it's actually required and mautrix-go doesn't fallback to
the connector in the way described.
2025-12-18 19:30:34 -08:00
Skip R
0c82f6551d
login: move token login to own file, rename
...
To make room for other login flows.
2025-12-18 18:28:19 -08:00
Skip R
d79406e05b
handlematrix: clean up stale comment
2025-12-17 19:17:36 -08:00
Skip R
7a19f09683
handlematrix: bridge outgoing message redactions
2025-12-17 19:04:54 -08:00
Skip R
e030c9548c
handlematrix: bridge outgoing reactions
2025-12-17 18:51:36 -08:00
Skip R
2cacd4ec81
msgconv: bridge outgoing replies
2025-12-17 18:23:08 -08:00
Skip R
09414cb59d
handlediscord: drop messages lacking an author
...
DiscordMessage's GetSender is dereferencing nil sometimes and I'm not
sure why.
2025-12-17 18:04:37 -08:00
Skip R
d82b74fb29
handlematrix: handle basic matrix rich text messages
...
Added the necessary room capabilities, too. Support for replies,
editing, deletion, and attachments are forthcoming.
2025-12-16 18:37:35 -08:00
Skip R
60171b4fca
lint
2025-12-11 19:56:31 -08:00
Skip R
ab82f8b131
backfill: document why we aren't backfilling reactions (for now)
2025-12-11 19:50:25 -08:00
Skip R
506f42f93b
bridge basic emoji reactions from gateway to matrix
2025-12-11 19:24:19 -08:00
Skip R
25b73bd7cb
handlediscord: bail if we're in the middle of provisioning
2025-12-11 18:34:47 -08:00
Skip R
d464cb8b66
bridge discord messages to matrix
2025-12-11 18:22:36 -08:00
Skip R
7b32aad13f
attachments: remove trace logging
...
This was for debugging in development only. Also, bridges default to the
DEBUG level, so this would not be logged at all unless you intentionally
modified your logging configuration.
2025-11-26 18:29:00 -08:00
Skip R
b5e6db06f8
msgconv: port most of attachment and text message bridging
...
* Created a separate discordid package to avoid import cycles.
* Implemented attachment bridging. We still need to implement direct
media, but this will do for now.
* Corrected how encrypted files (e.g. embed images and attachments) were
bridged. Previously, the URL field would be empty.
Still a lot of missing pieces. Thoughts:
* Mentions to roles and custom emoji are not rendered properly. We need
to maintain our own DB.
* We might not need the "attachments" leaf package anymore? It's just
there to avoid an import cycle.
Bridging actual events (i.e. wiring up discordgo's event handlers) is
probably next.
2025-11-26 18:13:07 -08:00
Skip R
86e18c1f7d
msgconv: port the majority of embed and attachment bridging
...
We still need to implement direct media support, so for now we encrypt
and reupload to Matrix. Notably remaining is conversion to HTML.
2025-11-26 15:18:29 -08:00
Skip R
17fed9aca5
msgconv: initial impl of ToMatrix, porting convertDiscordTextMessage
2025-11-25 18:01:31 -08:00
Skip R
66d9ca6394
backfill: set ConvertedMessagePart.Type for call/guild join
2025-11-25 16:19:12 -08:00
Skip R
45dae8fafb
backfill: set ConvertedMessagePart.Type
2025-11-25 16:10:31 -08:00
Skip R
5fa9645012
connector/id: actually use user as UserLogin
2025-11-25 16:10:04 -08:00
Skip R
114df5f2a2
tidy
2025-11-25 15:09:35 -08:00
Skip R
31c1cdda0c
connector: sort recent private channels properly
2025-11-25 15:09:20 -08:00
Skip R
56f05bc02c
backfill: make messages actually have IDs
2025-11-25 15:08:33 -08:00
Skip R
f8b65fe1f0
clarify comment
2025-11-25 14:31:42 -08:00
Skip R
61ef0c1051
connector: limit the amount of private channels initially synced
...
Otherwise, we'll hit the ratelimit pretty easily.
2025-11-25 14:28:28 -08:00
Skip R
ab68fae8dd
connector: fix UserLogin lifecycle during provisioning
...
Bridge provisioning would crash because we wouldn't thread the necessary
database models through.
2025-11-25 14:27:36 -08:00
Skip R
063b9d00dd
connector/login: rename variable
2025-11-25 13:49:38 -08:00
Skip R
8c8f029e11
connector: do not forward backfill empty rooms
...
We'll quickly hit ratelimits if we have a bunch of empty rooms, since
forward backfilling apparently doesn't go through the queue.
2025-11-25 13:49:02 -08:00
Skip R
ae98d58dbe
connector: set CanBackfill on rooms
2025-11-25 13:48:48 -08:00
Skip R
c15fd3fc82
implement naive, incomplete backfill
2025-11-25 11:10:20 -08:00
Skip R
aecc5234e6
remove test aggressive updates
2025-11-25 11:09:31 -08:00
Skip R
1c599a33bc
add aggressive info updating for dev
2025-11-24 13:23:46 -08:00
Skip R
91edeb6054
connector/userinfo: implement user avatars
2025-11-24 13:23:29 -08:00
Skip R
1442b356f2
sync channel avatars
2025-11-24 13:08:02 -08:00
Skip R
f04a8658d9
always add self when creating DM portals
...
Clients will leave rooms automatically when they realize that they
aren't actually members of the channel.
2025-11-24 13:07:24 -08:00
Skip R
4e41c2f227
sync private channels and their members
2025-11-24 12:42:27 -08:00