hicli/sync: skip linkifying for messages with no special characters

This commit is contained in:
Tulir Asokan 2024-10-25 23:42:20 +03:00
parent 8a34618a70
commit 15d696ae09

View file

@ -383,10 +383,19 @@ func (h *HiClient) calculateLocalContent(ctx context.Context, dbEvt *database.Ev
inlineImages = nil inlineImages = nil
} }
} else { } else {
var builder strings.Builder hasSpecialCharacters := false
builder.Grow(len(content.Body) + builderPreallocBuffer) for _, char := range content.Body {
linkifyAndWriteBytes(&builder, []byte(content.Body)) if char == '<' || char == '>' || char == '&' || char == '.' || char == ':' {
sanitizedHTML = builder.String() hasSpecialCharacters = true
break
}
}
if hasSpecialCharacters {
var builder strings.Builder
builder.Grow(len(content.Body) + builderPreallocBuffer)
linkifyAndWriteBytes(&builder, []byte(content.Body))
sanitizedHTML = builder.String()
}
wasPlaintext = true wasPlaintext = true
} }
return &database.LocalContent{ return &database.LocalContent{