Adjust some things

This commit is contained in:
Tulir Asokan
2022-05-31 00:34:21 +03:00
parent 06dbb3612c
commit 25d85962e4
6 changed files with 14 additions and 20 deletions

2
go.mod
View File

@@ -11,7 +11,7 @@ require (
github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e
github.com/yuin/goldmark v1.4.12
maunium.net/go/maulogger/v2 v2.3.2
maunium.net/go/mautrix v0.11.1-0.20220530120827-7eec0bd4d3c4
maunium.net/go/mautrix v0.11.1-0.20220530212627-b15517460fdb
)
require (

4
go.sum
View File

@@ -58,5 +58,5 @@ maunium.net/go/mauflag v1.0.0 h1:YiaRc0tEI3toYtJMRIfjP+jklH45uDHtT80nUamyD4M=
maunium.net/go/mauflag v1.0.0/go.mod h1:nLivPOpTpHnpzEh8jEdSL9UqO9+/KBJFmNRlwKfkPeA=
maunium.net/go/maulogger/v2 v2.3.2 h1:1XmIYmMd3PoQfp9J+PaHhpt80zpfmMqaShzUTC7FwY0=
maunium.net/go/maulogger/v2 v2.3.2/go.mod h1:TYWy7wKwz/tIXTpsx8G3mZseIRiC5DoMxSZazOHy68A=
maunium.net/go/mautrix v0.11.1-0.20220530120827-7eec0bd4d3c4 h1:/A03e5QOu8nTi6QChiEr0Udg2YE6alB7ZNJwYdHqDQk=
maunium.net/go/mautrix v0.11.1-0.20220530120827-7eec0bd4d3c4/go.mod h1:CiKpMhAx5QZFHK03jpWb0iKI3sGU8x6+LfsOjDrcO8I=
maunium.net/go/mautrix v0.11.1-0.20220530212627-b15517460fdb h1:MTY4bW0yhg8bHszMSNymTrHvIRdiDjcnQKC8qSbt5BE=
maunium.net/go/mautrix v0.11.1-0.20220530212627-b15517460fdb/go.mod h1:CiKpMhAx5QZFHK03jpWb0iKI3sGU8x6+LfsOjDrcO8I=

View File

@@ -21,6 +21,7 @@ import (
"sync"
log "maunium.net/go/maulogger/v2"
"maunium.net/go/mautrix"
"maunium.net/go/mautrix/event"
"maunium.net/go/mautrix/id"
@@ -265,15 +266,14 @@ func (guild *Guild) UpdateAvatar(iconID string) bool {
}
guild.AvatarSet = false
guild.Avatar = iconID
guild.AvatarURL = id.ContentURI{}
if guild.Avatar != "" {
var err error
guild.AvatarURL, err = uploadAvatar(guild.bridge.Bot, discordgo.EndpointGuildIcon(guild.ID, iconID))
if err != nil {
guild.log.Warnln("Failed to reupload avatar %s: %v", iconID, err)
guild.log.Warnfln("Failed to reupload guild avatar %s: %v", guild.Avatar, err)
return true
}
} else {
guild.AvatarURL = id.ContentURI{}
}
if guild.MXID != "" {
_, err := guild.bridge.Bot.SetRoomAvatar(guild.MXID, guild.AvatarURL)

View File

@@ -1401,16 +1401,15 @@ func (portal *Portal) UpdateGroupDMAvatar(iconID string) bool {
}
portal.Avatar = iconID
portal.AvatarSet = false
portal.AvatarURL = id.ContentURI{}
if portal.Avatar != "" {
uri, err := uploadAvatar(portal.MainIntent(), discordgo.EndpointGroupIcon(portal.Key.ChannelID, portal.Avatar))
if err != nil {
portal.log.Warnln("Failed to reupload avatar:", err)
portal.log.Warnfln("Failed to reupload channel avatar %s: %v", portal.Avatar, err)
return true
} else {
portal.AvatarURL = uri
}
} else {
portal.AvatarURL = id.ContentURI{}
}
portal.updateRoomAvatar()
return true

View File

@@ -206,16 +206,16 @@ func (puppet *Puppet) UpdateAvatar(info *discordgo.User) bool {
if puppet.Avatar == info.Avatar && puppet.AvatarSet {
return false
}
avatarChanged := info.Avatar != puppet.Avatar
puppet.Avatar = info.Avatar
puppet.AvatarSet = false
puppet.AvatarURL = id.ContentURI{}
if puppet.Avatar == "" {
// TODO should we just use discord's default avatars?
puppet.AvatarURL = id.ContentURI{}
} else {
// TODO should we just use discord's default avatars for users with no avatar?
if puppet.Avatar != "" && (puppet.AvatarURL.IsEmpty() || avatarChanged) {
url, err := uploadAvatar(puppet.DefaultIntent(), info.AvatarURL(""))
if err != nil {
puppet.log.Warnln("Failed to reupload user avatar:", err)
puppet.log.Warnfln("Failed to reupload user avatar %s: %v", puppet.Avatar, err)
return true
}
puppet.AvatarURL = url

View File

@@ -454,7 +454,6 @@ func (user *User) Connect() error {
user.Session = session
// Add our event handlers
user.Session.AddHandler(user.readyHandler)
user.Session.AddHandler(user.connectedHandler)
user.Session.AddHandler(user.disconnectedHandler)
@@ -482,7 +481,6 @@ func (user *User) Connect() error {
func (user *User) Disconnect() error {
user.Lock()
defer user.Unlock()
if user.Session == nil {
return ErrNotConnected
}
@@ -490,9 +488,7 @@ func (user *User) Disconnect() error {
if err := user.Session.Close(); err != nil {
return err
}
user.Session = nil
return nil
}
@@ -507,14 +503,13 @@ func (user *User) bridgeMessage(guildID string) bool {
return true
}
user.log.Debugfln("Cgnoring message for non-bridged guild %s", guildID)
user.log.Debugfln("Ignoring message for non-bridged guild %s", guildID)
return false
}
func (user *User) readyHandler(_ *discordgo.Session, r *discordgo.Ready) {
user.log.Debugln("Discord connection ready")
// Update our user fields
if user.DiscordID != r.User.ID {
user.DiscordID = r.User.ID
user.Update()