batuhan içöz
89ac3632ec
Preserve Discord bridge state codes and retry logic
2026-02-02 19:44:21 +01:00
batuhan içöz
30752fa48b
Improve Discord bridge state handling
2026-02-02 19:34:57 +01:00
Skip R
8c02a80f85
connector/login: return browser login method as the first one
...
clients will prefer it
2026-02-01 21:10:33 -08:00
Skip R
92352ce603
discordid: remove all ID-related casts
...
In the same vein as mautrix-whatsapp, -slack and others, do not make
assumptions about how the ID is represented in the connector code. Let
the discordid package be entirely responsible.
2026-02-01 21:09:17 -08:00
Tulir Asokan
e7554b212f
msgconv/attachments: don't fail if mimeless file has less than 512 bytes
2026-01-28 17:37:34 +02:00
Tulir Asokan
7d26eae8e5
login: fix flow IDs
2026-01-28 17:21:19 +02:00
Tulir Asokan
f3a797d5e5
main: update version number
2026-01-28 17:21:19 +02:00
Tulir Asokan
d89746d099
msgconv: clean up reuploading attachments to Matrix
2026-01-28 17:21:19 +02:00
Skip R
1a3144d2d0
msgconv/from-discord: bridge replies
2026-01-27 22:29:55 -08:00
Skip R
b8a01bf9d4
msgconv/from-discord: use a tagged switch instead of if
2026-01-27 19:12:26 -08:00
Skip R
578030a9dd
msgconv/from-discord: only complain about portal when we can't find it
2026-01-27 19:11:57 -08:00
Skip R
2f8de6635a
msgconv/from-discord: refactor forwarded message conversion
2026-01-27 19:10:58 -08:00
Skip R
9b3ead7186
doc: add WIP caution to readme
2026-01-26 11:33:13 -08:00
Skip R
138c77c34e
provisioning: sketch out implementation
...
for now, this is completely unauthenticated
2026-01-26 11:33:13 -08:00
Skip R
5e0f9b909a
connector: break out guild bridging logic into method
2026-01-26 11:33:13 -08:00
Skip R
b4fdd8b9ed
connector: don't crash upon less than 10 private channels
2026-01-26 11:33:13 -08:00
Skip R
689f8b9998
mautrix-go@v0.26.2
2026-01-26 11:33:13 -08:00
Skip R
7849c09443
connector: send bridge state updates on gateway events
...
This also makes the account properly appear in client settings after
provisioning.
2026-01-20 16:08:16 -08:00
Skip R
5b7a7a430c
connector: fix log messages when downloading guild avatars
2026-01-15 15:53:17 -08:00
Skip R
ac338ee722
msgconv: correctly bridge attachments and embeds
...
`URL` needs to be set if the room/attachment is unencrypted; otherwise,
`File` needs to be set.
2026-01-14 18:07:15 -08:00
Skip R
bdbfd661a2
msgconv: don't set EncryptedFile if there isn't one
...
FIXME: This probably isn't proper handling, but this is enough to
prevent panics.
2026-01-13 14:50:35 -08:00
Skip R
3d59a0eb3f
login/remoteauth: tolerate multiple attempts to cancel
...
This will otherwise panic.
2026-01-13 14:50:12 -08:00
Skip R
e38998e68b
connector: don't store config as pointer
2026-01-13 14:49:15 -08:00
Skip R
f5292e6a7d
connector: first pass at bridging guilds
...
For each guild specified in the config, create a space and bridge all
contained text channels that the user has permissions to view.
* Finally add a custom config struct where we accept a list of guild IDs
to bridge. This is intended to be temporary as we flesh out the proper
interfaces for managing which guilds to bridge.
* Defined a custom meta type for portals that holds the containing guild
ID of the channel (if any).
* Transferred the responsibility of building a channel's ChatInfo and
ChatMemberList to the DiscordChatResync event itself.
2026-01-09 19:57:17 -08:00
Skip R
86544bc7af
relocate dbmeta models to discordid
...
While we're about to introduce more metadata structs, it seems like
mautrix-slack keeps these in slackid, so let's keep ours in discordid.
2026-01-09 17:13:15 -08:00
Skip R
fdcfb2b083
chore: bump copyright year
2026-01-08 16:56:13 -08:00
Skip R
bfebeeb7e5
handlematrix: bridge outgoing typing events
2026-01-08 16:49:27 -08:00
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