Skip to content

Commit

Permalink
Merge branch 'release/0.19.1/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
manuroe committed Jun 21, 2021
2 parents f50d30a + f098c8c commit 7747208
Show file tree
Hide file tree
Showing 45 changed files with 1,595 additions and 950 deletions.
42 changes: 42 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,45 @@
Changes in 0.19.1 (2021-06-21)
=================================================

✨ Features
*

🙌 Improvements
* MXRoomLastMessage: Use MXKeyProvider methods to encrypt/decrypt last message dictionary.
* VoIP: Change hold direction to send-only.
* Encrypted Media: Remove redundant and undocumented mimetype fields from encrypted attachments (vector-im/element-ios/issues/4303).
* MXRecoveryService: Expose checkPrivateKey to validate a private key (vector-im/element-ios/issues/4430).
* VoIP: Use headphones and Bluetooth devices when available for calls.

🐛 Bugfix
* MXSession: Fix app that can fail to resume (vector-im/element-ios/issues/4417).
* MXRealmCryptoStore: Run migration once before opening read-only Realms (vector-im/element-ios/issues/4418).
* VoIP: Handle offers when peer connection is stable (vector-im/element-ios/issues/4421).
* MXEventTimeline: Fix regression on clear cache where the last message of an encrypted room is not encrypted.
* MXBackgroundSyncService: Make credentials public (vector-im/element-ios/issues/3695).
* MXCredentials: Implement equatable & hashable methods (vector-im/element-ios/issues/3695).

⚠️ API Changes
* MXRoomSummary: `lastMessageEvent` property removed for performance reasons (vector-im/element-ios/issues/4360).
* MXRoomSummary: All properties about lastMessage are moved into `lastMessage` property.
* MXSession: Does not compute anymore last events for every room summaries by default. Use -[MXSession eventWithEventId:inRoom:success:failure:] method to load the last event for a room summary.
* MXRoom: Added method for seding voice messages (vector-im/element-ios/issues/4090).
* MXMediaManager: Added `mimeType` param to download encrypted media methods (vector-im/element-ios/issues/4303).
* MXEncryptedContentFile: `mimetype` parameter removed (vector-im/element-ios/issues/4303).
* MXEncryptedAttachments: `mimetype` parameters removed from encrypt attachment methods (vector-im/element-ios/issues/4303).

🗣 Translations
*

🧱 Build
* build.sh: Include debug symbols when building XCFramework

Others
*

Improvements:


Changes in 0.19.0 (2021-06-02)
=================================================

Expand Down
2 changes: 1 addition & 1 deletion MatrixSDK.podspec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|

s.name = "MatrixSDK"
s.version = "0.19.0"
s.version = "0.19.1"
s.summary = "The iOS SDK to build apps compatible with Matrix (https://www.matrix.org)"

s.description = <<-DESC
Expand Down
18 changes: 18 additions & 0 deletions MatrixSDK.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1310,6 +1310,10 @@
EC054973260123BE0047ECD7 /* MXRoomAccountDataUpdating.h in Headers */ = {isa = PBXBuildFile; fileRef = EC054972260123BE0047ECD7 /* MXRoomAccountDataUpdating.h */; settings = {ATTRIBUTES = (Public, ); }; };
EC054974260123BE0047ECD7 /* MXRoomAccountDataUpdating.h in Headers */ = {isa = PBXBuildFile; fileRef = EC054972260123BE0047ECD7 /* MXRoomAccountDataUpdating.h */; settings = {ATTRIBUTES = (Public, ); }; };
EC0C51752559388C00F2CC66 /* MXStopwatch.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECB5D98B2552C9B4000AD89C /* MXStopwatch.swift */; };
EC2EACFD266625170038B61F /* MXRoomLastMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = EC2EACFB266625170038B61F /* MXRoomLastMessage.h */; settings = {ATTRIBUTES = (Public, ); }; };
EC2EACFE266625170038B61F /* MXRoomLastMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = EC2EACFB266625170038B61F /* MXRoomLastMessage.h */; settings = {ATTRIBUTES = (Public, ); }; };
EC2EACFF266625170038B61F /* MXRoomLastMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = EC2EACFC266625170038B61F /* MXRoomLastMessage.m */; };
EC2EAD00266625170038B61F /* MXRoomLastMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = EC2EACFC266625170038B61F /* MXRoomLastMessage.m */; };
EC383BA2253DE4B1002FBBE6 /* MXBackgroundSyncService.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC383BA1253DE4B1002FBBE6 /* MXBackgroundSyncService.swift */; };
EC383BA5253DE6C9002FBBE6 /* MXSyncResponseStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC383BA4253DE6C9002FBBE6 /* MXSyncResponseStore.swift */; };
EC383BA8253DE6EE002FBBE6 /* MXSyncResponseFileStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC383BA7253DE6EE002FBBE6 /* MXSyncResponseFileStore.swift */; };
Expand Down Expand Up @@ -1474,6 +1478,8 @@
EC8A53E925B1BCC6004E0802 /* MXThirdpartyProtocolsResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = EC8A53D525B1BCC6004E0802 /* MXThirdpartyProtocolsResponse.h */; settings = {ATTRIBUTES = (Public, ); }; };
ECAE7AEC24ED75F1002FA813 /* MXHTTPAdditionalHeadersUnitTests.m in Sources */ = {isa = PBXBuildFile; fileRef = ECAE7AEB24ED75F1002FA813 /* MXHTTPAdditionalHeadersUnitTests.m */; };
ECB5D98C2552C9B4000AD89C /* MXStopwatch.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECB5D98B2552C9B4000AD89C /* MXStopwatch.swift */; };
ECB6FA8E267CFF4300A941E4 /* MXCredentialsUnitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECB6FA8D267CFF4300A941E4 /* MXCredentialsUnitTests.swift */; };
ECB6FA8F267CFF4300A941E4 /* MXCredentialsUnitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECB6FA8D267CFF4300A941E4 /* MXCredentialsUnitTests.swift */; };
ECD623FF25D3DCC900DC0A0B /* MXOlmDecryption.h in Headers */ = {isa = PBXBuildFile; fileRef = 327187831DA7D0220071C818 /* MXOlmDecryption.h */; settings = {ATTRIBUTES = (Public, ); }; };
ECF29BCC264194AE0053E6D6 /* MXCallAssertedIdentityEventContent.h in Headers */ = {isa = PBXBuildFile; fileRef = ECF29BCB264194AE0053E6D6 /* MXCallAssertedIdentityEventContent.h */; settings = {ATTRIBUTES = (Public, ); }; };
ECF29BCD264194AE0053E6D6 /* MXCallAssertedIdentityEventContent.h in Headers */ = {isa = PBXBuildFile; fileRef = ECF29BCB264194AE0053E6D6 /* MXCallAssertedIdentityEventContent.h */; settings = {ATTRIBUTES = (Public, ); }; };
Expand Down Expand Up @@ -2220,6 +2226,8 @@
EC05478025FF99450047ECD7 /* MXRoomAccountDataUpdater.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MXRoomAccountDataUpdater.h; sourceTree = "<group>"; };
EC05478125FF99450047ECD7 /* MXRoomAccountDataUpdater.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MXRoomAccountDataUpdater.m; sourceTree = "<group>"; };
EC054972260123BE0047ECD7 /* MXRoomAccountDataUpdating.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MXRoomAccountDataUpdating.h; sourceTree = "<group>"; };
EC2EACFB266625170038B61F /* MXRoomLastMessage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MXRoomLastMessage.h; sourceTree = "<group>"; };
EC2EACFC266625170038B61F /* MXRoomLastMessage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MXRoomLastMessage.m; sourceTree = "<group>"; };
EC383BA1253DE4B1002FBBE6 /* MXBackgroundSyncService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MXBackgroundSyncService.swift; sourceTree = "<group>"; };
EC383BA4253DE6C9002FBBE6 /* MXSyncResponseStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MXSyncResponseStore.swift; sourceTree = "<group>"; };
EC383BA7253DE6EE002FBBE6 /* MXSyncResponseFileStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MXSyncResponseFileStore.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -2306,6 +2314,7 @@
EC8A53D525B1BCC6004E0802 /* MXThirdpartyProtocolsResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MXThirdpartyProtocolsResponse.h; sourceTree = "<group>"; };
ECAE7AEB24ED75F1002FA813 /* MXHTTPAdditionalHeadersUnitTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MXHTTPAdditionalHeadersUnitTests.m; sourceTree = "<group>"; };
ECB5D98B2552C9B4000AD89C /* MXStopwatch.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MXStopwatch.swift; sourceTree = "<group>"; };
ECB6FA8D267CFF4300A941E4 /* MXCredentialsUnitTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MXCredentialsUnitTests.swift; sourceTree = "<group>"; };
ECF29BCB264194AE0053E6D6 /* MXCallAssertedIdentityEventContent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MXCallAssertedIdentityEventContent.h; sourceTree = "<group>"; };
ECF29BD2264194BB0053E6D6 /* MXCallAssertedIdentityEventContent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MXCallAssertedIdentityEventContent.m; sourceTree = "<group>"; };
ECF29BDD264195320053E6D6 /* MXAssertedIdentityModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MXAssertedIdentityModel.h; sourceTree = "<group>"; };
Expand Down Expand Up @@ -2464,6 +2473,8 @@
32C235711F827F3800E38FC5 /* MXRoomOperation.m */,
321B413D1E09937E009EEEC7 /* MXRoomSummary.h */,
321B413E1E09937E009EEEC7 /* MXRoomSummary.m */,
EC2EACFB266625170038B61F /* MXRoomLastMessage.h */,
EC2EACFC266625170038B61F /* MXRoomLastMessage.m */,
329D3E601E251027002E2F1E /* MXRoomSummaryUpdater.h */,
329D3E611E251027002E2F1E /* MXRoomSummaryUpdater.m */,
32E226A41D06AC9F00E6CA54 /* MXPeekingRoom.h */,
Expand Down Expand Up @@ -3427,6 +3438,7 @@
EC383BC12542F251002FBBE6 /* MatrixSDKTests-Bridging-Header.h */,
B1660F1B260A20B900C3AA12 /* MXSpaceServiceTest.swift */,
B1F939F426289F2600D0E525 /* MXSpaceChildContentTests.swift */,
ECB6FA8D267CFF4300A941E4 /* MXCredentialsUnitTests.swift */,
);
path = MatrixSDKTests;
sourceTree = "<group>";
Expand Down Expand Up @@ -4145,6 +4157,7 @@
3291D4D41A68FFEB00C3BA41 /* MXFileRoomStore.h in Headers */,
32CF439D2371AF9500907C56 /* MXWellknownIntegrations.h in Headers */,
320BBF431D6C81550079890E /* MXEventsEnumeratorOnArray.h in Headers */,
EC2EACFD266625170038B61F /* MXRoomLastMessage.h in Headers */,
3297912723A93D4B00F7BB9B /* MXKeyVerification.h in Headers */,
32261B8A23C74A230018F1E2 /* MXDeviceTrustLevel.h in Headers */,
B11BD44C22CB56E80064D8B0 /* MXReplyEventParts.h in Headers */,
Expand Down Expand Up @@ -4659,6 +4672,7 @@
189CC082265E361D00BE1FD8 /* MXLog.h in Headers */,
B14EF33D2397E90400758AF0 /* MXRealmMediaScanStore.h in Headers */,
B14EF3402397E90400758AF0 /* MXKeyBackupVersionTrust.h in Headers */,
EC2EACFE266625170038B61F /* MXRoomLastMessage.h in Headers */,
320B3935239FA56900BE2C06 /* MXKeyVerificationByDMRequest.h in Headers */,
3A108A9925810F62005EEBE9 /* MXAesKeyData.h in Headers */,
B14EF3412397E90400758AF0 /* MXOutgoingRoomKeyRequestManager.h in Headers */,
Expand Down Expand Up @@ -5169,6 +5183,7 @@
32CEEF4523AD2A6C0039BA98 /* MXCrossSigningKey.m in Sources */,
327E9AF02289C61100A98BC1 /* MXAggregations.m in Sources */,
B18B0E4A25FB783B00E32151 /* MXSpaceCreationParameters.swift in Sources */,
EC2EACFF266625170038B61F /* MXRoomLastMessage.m in Sources */,
EC8A539525B1BC77004E0802 /* MXUserModel.m in Sources */,
3252DCAF224BE5D40032264F /* MXKeyVerificationManager.m in Sources */,
323E0C5C1A306D7A00A31D73 /* MXEvent.m in Sources */,
Expand Down Expand Up @@ -5360,6 +5375,7 @@
324DD2BB246C3ADE00377005 /* MXCryptoSecretStorageTests.m in Sources */,
B19A30D82404335D00FB6F35 /* MXQRCodeDataUnitTests.m in Sources */,
32B477852638133C00EA5800 /* MXAggregatedEditsUnitTests.m in Sources */,
ECB6FA8E267CFF4300A941E4 /* MXCredentialsUnitTests.swift in Sources */,
3A108E6725826F52005EEBE9 /* MXKeyProviderUnitTests.m in Sources */,
B11BD45C22CB8ABC0064D8B0 /* MXReplyEventParserUnitTests.m in Sources */,
ECAE7AEC24ED75F1002FA813 /* MXHTTPAdditionalHeadersUnitTests.m in Sources */,
Expand Down Expand Up @@ -5683,6 +5699,7 @@
B14EF2722397E90400758AF0 /* MXDiscoveredClientConfig.m in Sources */,
B19A30A1240424BD00FB6F35 /* MXQRCodeTransaction.m in Sources */,
B14EF2732397E90400758AF0 /* MXRealmEventScan.m in Sources */,
EC2EAD00266625170038B61F /* MXRoomLastMessage.m in Sources */,
EC60ED88265CFD0700B39A4E /* MXRoomsSyncResponse.m in Sources */,
B14EF2742397E90400758AF0 /* MXDeviceListOperationsPool.m in Sources */,
B18B0E4B25FB783B00E32151 /* MXSpaceCreationParameters.swift in Sources */,
Expand Down Expand Up @@ -5786,6 +5803,7 @@
B1E09A212397FCE90057C069 /* DirectRoomTests.m in Sources */,
32AF9293241112850008A0FD /* MXCryptoSecretShareTests.m in Sources */,
B1E09A462397FD990057C069 /* MXMediaScanStoreUnitTests.m in Sources */,
ECB6FA8F267CFF4300A941E4 /* MXCredentialsUnitTests.swift in Sources */,
B1E09A292397FD080057C069 /* MXLoggerUnitTests.m in Sources */,
B1E09A492398028D0057C069 /* MXSelfSignedHomeserverTests.m in Sources */,
32B0E3E523A384D40054FF1A /* MXAggregatedReferenceTests.m in Sources */,
Expand Down
2 changes: 1 addition & 1 deletion MatrixSDK/Background/MXBackgroundSyncService.swift
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public enum MXBackgroundSyncServiceError: Error {
}

private let processingQueue: DispatchQueue
private let credentials: MXCredentials
public let credentials: MXCredentials
private let syncResponseStoreManager: MXSyncResponseStoreManager
private var store: MXStore
private let cryptoStore: MXBackgroundCryptoStore
Expand Down
28 changes: 28 additions & 0 deletions MatrixSDK/Contrib/Swift/Data/MXRoom.swift
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,34 @@ public extension MXRoom {
return __sendAudioFile(localURL, mimeType: mimeType, localEcho: &localEcho, success: currySuccess(completion), failure: curryFailure(completion), keepActualFilename: false)
}

/**
Send a voice message to the room.
- parameters:
- localURL: the local filesystem path of the file to send.
- mimeType: (optional) the mime type of the file. Defaults to `audio/ogg`.
- localEcho: a pointer to a MXEvent object.
This pointer is set to an actual MXEvent object
containing the local created event which should be used to echo the message in
the messages list until the resulting event come through the server sync.
For information, the identifier of the created local event has the prefix
`kMXEventLocalEventIdPrefix`.
You may specify nil for this parameter if you do not want this information.
You may provide your own MXEvent object, in this case only its send state is updated.
- completion: A block object called when the operation completes.
- response: Provides the event id of the event generated on the home server on success.
- returns: a `MXHTTPOperation` instance.
*/

@nonobjc @discardableResult func sendVoiceMessage(localURL: URL, mimeType: String?, localEcho: inout MXEvent?, completion: @escaping (_ response: MXResponse<String?>) -> Void) -> MXHTTPOperation {
return __sendVoiceMessage(localURL, mimeType: mimeType, localEcho: &localEcho, success: currySuccess(completion), failure: curryFailure(completion), keepActualFilename: false)
}

/**
Set the topic of the room.
Expand Down
5 changes: 3 additions & 2 deletions MatrixSDK/Contrib/Swift/JSONModels/MXEvent.swift
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ public enum MXEventType: Equatable, Hashable {

/// Types of messages
public enum MXMessageType: Equatable, Hashable {
case text, emote, notice, image, audio, video, location, file
case text, emote, notice, image, audio, voiceMessage, video, location, file
case custom(String)

public var identifier: String {
Expand All @@ -151,6 +151,7 @@ public enum MXMessageType: Equatable, Hashable {
case .notice: return kMXMessageTypeNotice
case .image: return kMXMessageTypeImage
case .audio: return kMXMessageTypeAudio
case .voiceMessage: return kMXMessageTypeVoiceMessage
case .video: return kMXMessageTypeVideo
case .location: return kMXMessageTypeLocation
case .file: return kMXMessageTypeFile
Expand All @@ -159,7 +160,7 @@ public enum MXMessageType: Equatable, Hashable {
}

public init(identifier: String) {
let messages: [MXMessageType] = [.text, .emote, .notice, .image, .audio, .video, .location, .file]
let messages: [MXMessageType] = [.text, .emote, .notice, .image, .audio, .voiceMessage, .video, .location, .file]
self = messages.first(where: { $0.identifier == identifier }) ?? .custom(identifier)
}
}
Expand Down
4 changes: 0 additions & 4 deletions MatrixSDK/Crypto/Data/MXEncryptedAttachments.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,11 @@ extern NSString *const MXEncryptedAttachmentsErrorDomain;
@interface MXEncryptedAttachments : NSObject

+ (void)encryptAttachment:(MXMediaLoader *)uploader
mimeType:(NSString *)mimeType
localUrl:(NSURL *)url
success:(void(^)(MXEncryptedContentFile *result))success
failure:(void(^)(NSError *error))failure;

+ (void)encryptAttachment:(MXMediaLoader *)uploader
mimeType:(NSString *)mimeType
data:(NSData *)data
success:(void(^)(MXEncryptedContentFile *result))success
failure:(void(^)(NSError *error))failure;
Expand All @@ -43,7 +41,6 @@ extern NSString *const MXEncryptedAttachmentsErrorDomain;
callback
@param uploader A valid, ready to use media loader
@param mimeType The mime type of the file
@param dataCallback a block called when more data is required.
This will be called repeatedly until it returns nil.
It is more efficient if this block returns the same
Expand All @@ -52,7 +49,6 @@ extern NSString *const MXEncryptedAttachmentsErrorDomain;
@param failure a block called when the operation fails.
*/
+ (void)encryptAttachment:(MXMediaLoader *)uploader
mimeType:(NSString *)mimeType
dataCallback:(NSData *(^)(void))dataCallback
success:(void(^)(MXEncryptedContentFile *result))success
failure:(void(^)(NSError *error))failure;
Expand Down
8 changes: 2 additions & 6 deletions MatrixSDK/Crypto/Data/MXEncryptedAttachments.m
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ @implementation MXEncryptedAttachments
#pragma mark encrypt

+ (void)encryptAttachment:(MXMediaLoader *)uploader
mimeType:(NSString *)mimeType
localUrl:(NSURL *)url
success:(void(^)(MXEncryptedContentFile *result))success
failure:(void(^)(NSError *error))failure
Expand All @@ -46,7 +45,7 @@ + (void)encryptAttachment:(MXMediaLoader *)uploader

}

[MXEncryptedAttachments encryptAttachment:uploader mimeType:mimeType dataCallback:^NSData *{
[MXEncryptedAttachments encryptAttachment:uploader dataCallback:^NSData *{

return [fileHandle readDataOfLength:4096];

Expand All @@ -56,14 +55,13 @@ + (void)encryptAttachment:(MXMediaLoader *)uploader
}

+ (void)encryptAttachment:(MXMediaLoader *)uploader
mimeType:(NSString *)mimeType
data:(NSData *)data
success:(void(^)(MXEncryptedContentFile *result))success
failure:(void(^)(NSError *error))failure
{
__block bool dataGiven = false;

[MXEncryptedAttachments encryptAttachment:uploader mimeType:mimeType dataCallback:^NSData *{
[MXEncryptedAttachments encryptAttachment:uploader dataCallback:^NSData *{

if (dataGiven) return nil;

Expand All @@ -74,7 +72,6 @@ + (void)encryptAttachment:(MXMediaLoader *)uploader
}

+ (void)encryptAttachment:(MXMediaLoader *)uploader
mimeType:(NSString *)mimeType
dataCallback:(NSData *(^)(void))dataCallback
success:(void(^)(MXEncryptedContentFile *result))success
failure:(void(^)(NSError *error))failure
Expand Down Expand Up @@ -168,7 +165,6 @@ + (void)encryptAttachment:(MXMediaLoader *)uploader
MXEncryptedContentFile *encryptedContentFile = [[MXEncryptedContentFile alloc] init];
encryptedContentFile.v = @"v2";
encryptedContentFile.url = url;
encryptedContentFile.mimetype = mimeType;
encryptedContentFile.key = encryptedContentKey;
encryptedContentFile.iv = [MXBase64Tools base64ToUnpaddedBase64:[iv base64EncodedStringWithOptions:0]];
encryptedContentFile.hashes = @{
Expand Down
6 changes: 0 additions & 6 deletions MatrixSDK/Crypto/Data/MXEncryptedContentFile.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
See below an example of these data:
{
"url": "mxc://…",
"mimetype": "video/mp4",
"key": {
"alg": "A256CTR",
"ext": true,
Expand Down Expand Up @@ -53,11 +52,6 @@
*/
@property (nonatomic) NSString *url;

/**
The mimetype of the content.
*/
@property (nonatomic) NSString *mimetype;

/**
The Key object.
*/
Expand Down
Loading

0 comments on commit 7747208

Please sign in to comment.