From 701e8444beb67031bd4e82c507925e357cae23a8 Mon Sep 17 00:00:00 2001 From: Ryan ZHAO Date: Wed, 11 Nov 2020 15:44:11 +1100 Subject: [PATCH] fix open group avatar issue --- .../src/Loki/API/Open Groups/PublicChatAPI.swift | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/SignalServiceKit/src/Loki/API/Open Groups/PublicChatAPI.swift b/SignalServiceKit/src/Loki/API/Open Groups/PublicChatAPI.swift index 1661414bc..71ff23253 100644 --- a/SignalServiceKit/src/Loki/API/Open Groups/PublicChatAPI.swift +++ b/SignalServiceKit/src/Loki/API/Open Groups/PublicChatAPI.swift @@ -388,7 +388,11 @@ public final class PublicChatAPI : DotNetAPI { if oldProfilePictureURL != info.profilePictureURL || groupModel.groupImage == nil { storage.setProfilePictureURL(info.profilePictureURL, forPublicChatWithID: publicChatID, in: transaction) if let profilePictureURL = info.profilePictureURL { - let url = server.hasSuffix("/") ? "\(server)\(profilePictureURL)" : "\(server)/\(profilePictureURL)" + var sanitizedServerURL = server + var sanitizedProfilePictureURL = profilePictureURL + while sanitizedServerURL.hasSuffix("/") { sanitizedServerURL.removeLast(1) } + while sanitizedProfilePictureURL.hasPrefix("/") { sanitizedProfilePictureURL.removeFirst(1) } + let url = "\(sanitizedServerURL)/\(sanitizedProfilePictureURL)" FileServerAPI.downloadAttachment(from: url).map2 { data in let attachmentStream = TSAttachmentStream(contentType: OWSMimeTypeImageJpeg, byteCount: UInt32(data.count), sourceFilename: nil, caption: nil, albumMessageId: nil) try attachmentStream.write(data)