disappearing images: implement

Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
This commit is contained in:
Sumner Evans
2024-06-19 13:11:35 -06:00
parent 7963e52405
commit 2df6f73098
3 changed files with 8 additions and 4 deletions
-1
View File
@@ -48,7 +48,6 @@ func ParseDirectMediaInfo(mediaID networkid.MediaID) (info DirectMediaInfo, err
err = fmt.Errorf("invalid media ID")
return
}
fmt.Printf("%v\n", mediaID)
info.PeerType, err = PeerTypeFromByte(mediaID[1])
if err != nil {
return
+1 -1
View File
@@ -53,7 +53,7 @@ func DownloadPhoto(ctx context.Context, client downloader.Client, media *tg.Mess
ThumbSize: largest.GetType(),
}
// TODO convert to streaming
// TODO convert to streaming?
var buf bytes.Buffer
storageFileTypeClass, err := downloader.NewDownloader().Download(client, &file).Stream(ctx, &buf)
if err != nil {
+7 -2
View File
@@ -3,11 +3,13 @@ package msgconv
import (
"context"
"fmt"
"time"
"github.com/gotd/td/tg"
"github.com/rs/zerolog"
"go.mau.fi/util/exmime"
"maunium.net/go/mautrix/bridgev2"
"maunium.net/go/mautrix/bridgev2/database"
"maunium.net/go/mautrix/bridgev2/networkid"
"maunium.net/go/mautrix/event"
"maunium.net/go/mautrix/id"
@@ -61,9 +63,12 @@ func (mc *MessageConverter) ToMatrix(ctx context.Context, portal *bridgev2.Porta
if err != nil {
return nil, err
}
if _, ok := media.GetTTLSeconds(); ok {
// TODO set the ttl on the converted message
if ttl, ok := media.GetTTLSeconds(); ok {
filename = "disappearing_image" + exmime.ExtensionFromMimetype(mimeType)
cm.Disappear = database.DisappearingSetting{
Type: database.DisappearingTypeAfterSend,
Timer: time.Duration(ttl) * time.Second,
}
} else {
filename = "image" + exmime.ExtensionFromMimetype(mimeType)
}