Force beeper linkpreviews field in replies

This commit is contained in:
dan 2026-01-22 12:55:45 -08:00
parent 1a541a16f2
commit bdd4c2b149

View file

@ -3,6 +3,7 @@ package matrixbot
import (
"context"
"encoding/json"
"errors"
"fmt"
"html"
@ -214,7 +215,17 @@ func (b *Bot) sendReply(ctx context.Context, evt *event.Event, response string)
content.SetReply(evt)
}
_, err := b.client.SendMessageEvent(ctx, evt.RoomID, event.EventMessage, content)
payload, err := json.Marshal(content)
if err != nil {
return err
}
var contentMap map[string]any
if err := json.Unmarshal(payload, &contentMap); err != nil {
return err
}
contentMap["com.beeper.linkpreviews"] = []any{}
_, err = b.client.SendMessageEvent(ctx, evt.RoomID, event.EventMessage, contentMap)
return err
}
@ -416,8 +427,7 @@ func splitLinkLine(line string) (string, string, bool) {
}
func obfuscateURL(url string) string {
// Break client-side link preview parsers while preserving readability.
return strings.Replace(url, "://", ":\u2060//", 1)
return url
}
func isEncryptedInvite(evt *event.Event) bool {