implement naive, incomplete backfill

This commit is contained in:
Skip R
2025-11-24 15:07:21 -08:00
parent aecc5234e6
commit c15fd3fc82
2 changed files with 138 additions and 0 deletions

View File

@@ -22,6 +22,7 @@ import (
"github.com/bwmarrin/discordgo"
"github.com/rs/zerolog"
"maunium.net/go/mautrix/bridgev2"
"maunium.net/go/mautrix/bridgev2/database"
"maunium.net/go/mautrix/bridgev2/networkid"
)
@@ -33,6 +34,7 @@ type DiscordChatResync struct {
var (
_ bridgev2.RemoteChatResyncWithInfo = (*DiscordChatResync)(nil)
_ bridgev2.RemoteChatResyncBackfill = (*DiscordChatResync)(nil)
_ bridgev2.RemoteEventThatMayCreatePortal = (*DiscordChatResync)(nil)
)
@@ -63,3 +65,10 @@ func (d *DiscordChatResync) GetChatInfo(ctx context.Context, portal *bridgev2.Po
func (d *DiscordChatResync) ShouldCreatePortal() bool {
return true
}
func (d *DiscordChatResync) CheckNeedsBackfill(ctx context.Context, latestBridged *database.Message) (bool, error) {
if latestBridged == nil {
return true, nil
}
return latestBridged.ID < networkid.MessageID(d.channel.LastMessageID), nil
}