Skip to content
Open
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
13 changes: 10 additions & 3 deletions SignalServiceKit/Messages/Attachments/V2/AttachmentStream.swift
Original file line number Diff line number Diff line change
Expand Up @@ -87,12 +87,19 @@ public class AttachmentStream {
/// will instead be inferred from the file contents) and made url-safe AND user-friendly. If nil, a random file name is used.
public func makeDecryptedCopy(filename: String?) throws -> URL {
var pathExtension: String = {
if let pathExtension = MimeTypeUtil.fileExtensionForMimeType(mimeType) {
if
case .file = contentType,
// Generic file MIME types are often lossy (e.g. .srt -> text/plain -> .txt),
// so preserve the sender's filename extension when available.
let filename,
let pathExtension = (filename as NSString).pathExtension.nilIfEmpty
{
return pathExtension
} else if let pathExtension = MimeTypeUtil.fileExtensionForMimeType(mimeType) {
return pathExtension
} else if
let filename,
let filenameUrl = URL(string: filename),
let pathExtension = filenameUrl.pathExtension.nilIfEmpty
let pathExtension = (filename as NSString).pathExtension.nilIfEmpty
{
return pathExtension
} else {
Expand Down