From 96138359574d6d8ee89fb79fe0068e0137ee185f Mon Sep 17 00:00:00 2001 From: ownaginatious Date: Sat, 16 Sep 2023 22:56:26 -0700 Subject: [PATCH] Handle extensionless video attachments properly --- portal.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/portal.go b/portal.go index 9919676c..07d9a03d 100644 --- a/portal.go +++ b/portal.go @@ -1366,13 +1366,19 @@ func (portal *Portal) handleMatrixMediaDirect(url id.ContentURI, file *event.Enc } } + mimeType := mimetype.Detect(data).String() + + // iMessage clients do not seem to understand a video is a video if the extension is missing. + if len(strings.Split(filename, ".")) == 1 && strings.HasPrefix(mimeType, "video/") { + filename = fmt.Sprintf("%s.%s", filename, mimeType[len("video/"):]) + } + var dir, filePath string dir, filePath, err = imessage.SendFilePrepare(filename, data) if err != nil { portal.log.Errorfln("failed to prepare to send file: %w", err) return } - mimeType := mimetype.Detect(data).String() isVoiceMemo := false _, isMSC3245Voice := evt.Content.Raw["org.matrix.msc3245.voice"]