diff --git a/pkg/connector/attachments.go b/pkg/connector/attachments.go index fe2ccc3..cec764e 100644 --- a/pkg/connector/attachments.go +++ b/pkg/connector/attachments.go @@ -27,8 +27,9 @@ import ( "strconv" "github.com/bwmarrin/discordgo" - "go.mau.fi/mautrix-discord/pkg/attachment" "maunium.net/go/mautrix/bridgev2" + + "go.mau.fi/mautrix-discord/pkg/attachment" ) func downloadDiscordAttachment(cli *http.Client, url string, maxSize int64) ([]byte, error) { diff --git a/pkg/connector/client.go b/pkg/connector/client.go index 4d3e333..42fed05 100644 --- a/pkg/connector/client.go +++ b/pkg/connector/client.go @@ -27,12 +27,13 @@ import ( "github.com/bwmarrin/discordgo" "github.com/rs/zerolog" - "go.mau.fi/mautrix-discord/pkg/discordid" - "go.mau.fi/mautrix-discord/pkg/msgconv" "maunium.net/go/mautrix/bridgev2" "maunium.net/go/mautrix/bridgev2/database" "maunium.net/go/mautrix/bridgev2/networkid" "maunium.net/go/mautrix/bridgev2/status" + + "go.mau.fi/mautrix-discord/pkg/discordid" + "go.mau.fi/mautrix-discord/pkg/msgconv" ) type DiscordClient struct { @@ -109,9 +110,7 @@ func (cl *DiscordClient) connect(ctx context.Context) error { log := zerolog.Ctx(ctx) log.Info().Msg("Opening session") - cl.Session.EventHandler = func(event any) { - go cl.handleDiscordEvent(event) - } + cl.Session.EventHandler = cl.handleDiscordEventSync err := cl.Session.Open() for attempts := 0; errors.Is(err, discordgo.ErrImmediateDisconnect) && attempts < 2; attempts += 1 { diff --git a/pkg/connector/connector.go b/pkg/connector/connector.go index cf3a1fd..ba1fd09 100644 --- a/pkg/connector/connector.go +++ b/pkg/connector/connector.go @@ -19,8 +19,9 @@ package connector import ( "context" - "go.mau.fi/mautrix-discord/pkg/msgconv" "maunium.net/go/mautrix/bridgev2" + + "go.mau.fi/mautrix-discord/pkg/msgconv" ) type DiscordConnector struct { diff --git a/pkg/msgconv/embed.go b/pkg/msgconv/embed.go index 79c1f96..9f63f7d 100644 --- a/pkg/msgconv/embed.go +++ b/pkg/msgconv/embed.go @@ -37,7 +37,8 @@ const discordLinkPattern = `https?://[^<\p{Zs}\x{feff}]*[^"'),.:;\]\p{Zs}\x{feff // don't contain < or whitespace anywhere, and don't end with "'),.:;] // // Zero-width whitespace is mostly in the Format category and is allowed, except \uFEFF isn't for some reason -var discordLinkRegex = regexp.MustCompile(discordLinkPattern) +// FIXME(skip): This will be unused until we port `escapeDiscordMarkdown`. +// var discordLinkRegex = regexp.MustCompile(discordLinkPattern) var discordLinkRegexFull = regexp.MustCompile("^" + discordLinkPattern + "$") func isActuallyLinkPreview(embed *discordgo.MessageEmbed) bool { diff --git a/pkg/msgconv/formatter_tag.go b/pkg/msgconv/formatter_tag.go index 3252a8f..cc107a9 100644 --- a/pkg/msgconv/formatter_tag.go +++ b/pkg/msgconv/formatter_tag.go @@ -31,10 +31,11 @@ import ( "github.com/yuin/goldmark/renderer" "github.com/yuin/goldmark/text" "github.com/yuin/goldmark/util" - "go.mau.fi/mautrix-discord/pkg/discordid" "maunium.net/go/mautrix/bridgev2" "maunium.net/go/mautrix/bridgev2/networkid" "maunium.net/go/mautrix/id" + + "go.mau.fi/mautrix-discord/pkg/discordid" ) type astDiscordTag struct { diff --git a/pkg/msgconv/from-discord.go b/pkg/msgconv/from-discord.go index 63156b3..95519a3 100644 --- a/pkg/msgconv/from-discord.go +++ b/pkg/msgconv/from-discord.go @@ -26,12 +26,13 @@ import ( "github.com/bwmarrin/discordgo" "github.com/rs/zerolog" - "go.mau.fi/mautrix-discord/pkg/attachment" - "go.mau.fi/mautrix-discord/pkg/discordid" "maunium.net/go/mautrix/bridgev2" "maunium.net/go/mautrix/bridgev2/networkid" "maunium.net/go/mautrix/event" "maunium.net/go/mautrix/format" + + "go.mau.fi/mautrix-discord/pkg/attachment" + "go.mau.fi/mautrix-discord/pkg/discordid" ) func (mc *MessageConverter) ToMatrix( diff --git a/pkg/msgconv/msgconv.go b/pkg/msgconv/msgconv.go index 89c9012..7d51f84 100644 --- a/pkg/msgconv/msgconv.go +++ b/pkg/msgconv/msgconv.go @@ -19,8 +19,9 @@ package msgconv import ( "context" - "go.mau.fi/mautrix-discord/pkg/attachment" "maunium.net/go/mautrix/bridgev2" + + "go.mau.fi/mautrix-discord/pkg/attachment" ) type MessageConverter struct {