Commit Graph

325 Commits

Author SHA1 Message Date
Tulir Asokan
0366578ab4 Don't fail if parent portal doesn't exist yet 2022-05-29 11:32:28 +03:00
Tulir Asokan
49b5f77a03 Disable autojoining threads 2022-05-29 00:32:02 +03:00
Tulir Asokan
a7c969b7bc Fix handling replies 2022-05-29 00:27:49 +03:00
Tulir Asokan
5892f7049e Allow starting threads from Matrix and fix some things 2022-05-29 00:22:00 +03:00
Tulir Asokan
d797541cdc Add DM rooms to space 2022-05-28 23:41:34 +03:00
Tulir Asokan
91dbc83b5d Break a bunch of stuff 2022-05-28 23:03:24 +03:00
Tulir Asokan
575f684a54 Send bridge info when creating room 2022-05-27 16:19:54 +03:00
Tulir Asokan
d822d87057 Fix discordgo version 2022-05-27 16:01:06 +03:00
Tulir Asokan
264a790e05 Add/remove variation selectors in reactions 2022-05-27 15:59:16 +03:00
Tulir Asokan
4c7829c304 Update database schema and fix things 2022-05-27 15:58:09 +03:00
Tulir Asokan
8c66a064e1 Fix channel names getting corrupted on own message 2022-05-23 23:18:10 +03:00
Tulir Asokan
17288f3d04 Log startup errors and only try to start users who have a token 2022-05-23 23:17:42 +03:00
Tulir Asokan
888731cec2 Switch to spaces in .sql files 2022-05-23 20:01:03 +03:00
Tulir Asokan
a40ad4d10f Fix db upgrade file name 2022-05-22 22:54:07 +03:00
Tulir Asokan
972cc18e26 Fix link in readme 2022-05-22 22:50:29 +03:00
Tulir Asokan
dfb278fbd4 Add ROADMAP.md with approximate current state 2022-05-22 22:19:59 +03:00
Tulir Asokan
9f9f7ca4fd Switch startup, config, commands and db migrations to mautrix-go systems 2022-05-22 22:16:42 +03:00
Tulir Asokan
cf5384d908 Merge remote-tracking branch 'beeper/main' 2022-05-21 00:13:33 +03:00
Tulir Asokan
bd03e80b52 Add pre-commit with CI and issue templates 2022-05-20 23:46:15 +03:00
Tulir Asokan
b8990c1898 Move to mautrix 2022-05-20 16:37:41 +03:00
Tulir Asokan
7da4defd05 Add arm64 builds to CI 2022-05-20 15:32:19 +03:00
Gary Kramlich
1a660806cb Fix a crash caused uncached open graphs previews
If the discord open graph stuff has a cached preview it'll pass it along on the
initial MessageCreate message. However, if it doesn't, it'll later send a
MessageUpdate with the new embed and a message that doesn't have an author set
as it's coming from the server.
2022-05-02 12:40:19 -05:00
Gary Kramlich
2ae56ad0ed Fix an issue where the bot would think e2be dms were the management rooms 2022-05-02 11:31:51 -05:00
Gary Kramlich
fe94078194 Avoid a null pointer deference 2022-05-02 11:31:14 -05:00
Gary Kramlich
0afd95398b Fix the help on guilds unbridge 2022-05-02 09:53:54 -05:00
Gary Kramlich
7d9826fc2d Make sure we use the configured format string on room name updates
Refs #37
2022-05-02 09:44:12 -05:00
Gary Kramlich
3a1cb2fc78 Make sure we've acquired the room lock before checking the mxid 2022-05-02 09:29:38 -05:00
Gary Kramlich
59ea003f51 Properly handle group dm name updates.
Refs #37
2022-04-29 07:32:28 -05:00
Gary Kramlich
218854a427 Update our dependencies 2022-04-29 01:28:51 -05:00
Sumner Evans
43f6d2eaa7 editorconfig: add 2022-04-27 22:03:01 -06:00
Gary Kramlich
bf5ba9360e Merge branch 'fix-shared-rooms-query' into 'main'
sqlstatestore: fix query for FindSharedRooms

See merge request beeper/discord!6
2022-04-28 04:02:46 +00:00
Sumner Evans
fdb219bb82 sqlstatestore: fix query for FindSharedRooms
There were missing spaces in the string concatenation
2022-04-27 22:00:07 -06:00
Gary Kramlich
7630e8a7a9 Add the encryption section to example-config.yaml 2022-04-27 22:47:04 -05:00
Gary Kramlich
fc51c6e94e Sync puppets when they send a message
Fixes #30, Fixes #34
2022-04-27 13:48:36 -05:00
Gary Kramlich
8ce5af2fb5 Merge branch 'sumner/bri-2580' into 'main'
async media: add ability to upload media asynchronously

See merge request beeper/discord!5
2022-04-27 18:23:12 +00:00
Gary Kramlich
d788565d2b Fix replies from the management room
This was accidentally broken when implementing e2be.
2022-04-27 13:16:11 -05:00
Sumner Evans
a695b045c8 async media: add ability to upload media asynchronously
Requires a homeserver with MSC2246 support
2022-04-27 11:50:28 -06:00
Gary Kramlich
c5f58afe71 End to bridge encryption implementation
So far this is passing my basic tests, but could use some testing from people
that are much more familiar with how this is supposed to work.

Refs #27
2022-04-27 12:43:12 -05:00
Gary Kramlich
145c0cc2cb Wire up replies.
Refs #29
2022-04-22 09:58:36 -05:00
Gary Kramlich
58aed46f13 Fix an issue when trying to create a matrix room
It doesn't make sense to create a matrix room for an edit/redaction/reaction
if we don't have the original message. Also we can't as we don't always have
all of the information. So now we don't try to create the room unless it's a
message being created.
2022-04-22 07:23:13 -05:00
Gary Kramlich
28d2e6fe38 Fix message editing from double puppets 2022-04-20 06:10:26 -05:00
Gary Kramlich
47463fa220 Fix reactions from double puppets.
Fixes #31
2022-04-20 05:29:38 -05:00
Sumner Evans
7b936700ee ci: automatically update both STABLE and NIGHTLY on dev environment 2022-04-18 18:49:50 -06:00
Gary Kramlich
be1acdde09 Implement redactions for guild messages.
Fixes #31
2022-04-18 16:54:07 -05:00
Gary Kramlich
619dd9aef8 Fix a bug where guilds weren't being saved
During a refactor the guild.Upsert somehow got removed and I didn't notice it
because my test account was synced. So to avoid this in the future we output
the number of guilds the database knows, the number discord says we have and
then how many the database has after we purge guilds the user has left.

refs #8
2022-04-14 18:57:54 -05:00
Gary Kramlich
7ec86340c3 Add commands for managing guild bridging
guilds status will list the guild names, their ids, and whether or not the
guild is bridged.

guilds bridge <guildID> will bridge the guild with the given ID. If you add the
--entire flag, it will create a portal for each channel on the guild.

guilds unbridge <guildID> will stop bridging the guild with the given ID and
remove all portals for that guild.

Refs #8
2022-04-14 12:44:33 -05:00
Gary Kramlich
b66556ad99 Add provisioning api for bridging guilds
This isn't exactly the same as the puppet bridge, basically it removes the
puppetID from the url and just works against the logged in user.

There is a known errata right now where some times all channels aren't left
when unbridging a guild. I figured it's more important to get some more testing
on this while I try to figure that out in the mean time.

Also when you call /guilds/:guildID/joinentire, it joins each channel serially.
I tried to make this concurrent but I maxed out the rate limit. We can do this
in the future, but again, rather get this into everyone's hands sooner rather
than later. I also did the same thing with unbridge and had to revert for the
same reasons.

Refs #8
2022-04-14 12:03:44 -05:00
Gary Kramlich
3629d7807c Implement channel name formatting and handle channel updates 2022-04-11 11:35:35 -05:00
Gary Kramlich
defcfad701 Update our dependencies 2022-04-07 14:25:52 -05:00
Gary Kramlich
8dda382ac3 Redact the qrcode when done.
The QRCode is only good for 2 minutes, so when we're done, it's done.

Fixes #24
2022-04-07 14:03:05 -05:00