Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions pkg/message/service/message_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -477,6 +477,10 @@ func (m *messageService) DeleteMessageEveryone(data *MessageStruct, instance *in
m.loggerWrapper.GetLogger(instance.Id).LogError("[%s] Error validating message fields", instance.Id)
return "", "", errors.New("invalid phone number")
}
// The chat JID lands inside the revoke's protocolMessage Key: with the "+"
// prefix CreateJID adds, receiving devices look up a chat that doesn't
// exist and silently ignore the revoke. See utils.CanonicalJID.
recipient = utils.CanonicalJID(recipient)

m.loggerWrapper.GetLogger(instance.Id).LogInfo("Revoking message %s from %s", data.MessageID, recipient)

Expand Down Expand Up @@ -505,6 +509,9 @@ func (m *messageService) EditMessage(data *EditMessageStruct, instance *instance
m.loggerWrapper.GetLogger(instance.Id).LogError("[%s] Error validating message fields", instance.Id)
return "", "", errors.New("invalid phone number")
}
// Same as DeleteMessageEveryone: the JID lands inside the edit's
// protocolMessage Key, so the "+" prefix makes recipients ignore it.
recipient = utils.CanonicalJID(recipient)

resp, err := client.SendMessage(
context.Background(),
Expand Down
4 changes: 4 additions & 0 deletions pkg/user/service/user_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,10 @@ func (u *userService) GetAvatar(data *GetAvatarStruct, instance *instance_model.
if !ok {
return nil, errors.New("invalid phone number")
}
// GetProfilePictureInfo runs a usync IQ against the JID as-is; the "+"
// prefix CreateJID adds to phone numbers makes it query a nonexistent user
// and time out (~75s). See utils.CanonicalJID.
jid = utils.CanonicalJID(jid)

u.loggerWrapper.GetLogger(instance.Id).LogInfo("[%s] Requesting avatar for JID: %s, Preview: %v", instance.Id, jid, data.Preview)

Expand Down