Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/release-v0.6.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
giomfo committed Jan 25, 2016
2 parents cb1bcf0 + 62e2e97 commit 5c439e5
Show file tree
Hide file tree
Showing 50 changed files with 2,196 additions and 456 deletions.
26 changes: 26 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,29 @@
Changes in Matrix iOS SDK in 0.6.0 (2016-01-22)
===============================================

Improvements:
* MXSession: Switch on server sync v2 (Left room are handled but not stored for the moment).
* MXSession: Support room tags.
* MXSession: Improve the invitations management.
* MXRestClient: Support server change password API.
* MXRestClient: Support server search API.
* MXSDKOption: Add new option: enable/disable identicon use at SDK level.
* MXRoom: Add room comparator based on originServerTs value.
* MXRoom: Exclude the current user from the receipts list retrieved for an event.
* MXEvent: Add properties for receipt events to retrieve event ids or sender ids.
* MXEvent: Report server API changes (handle ‘unsigned’ dictionary).
* MXPublicRoom: Support worldReadable, guestCanJoin and avatarURL fields.
* MXHTTPClient: Accept path that already contains url parameters.
* MXJSONModels: Improve performance (Limit Mantle use).
* MXStore: Store the partial text message typed by the user.
* MXStore: Store messages which are being sent (unsent messages are then stored).

Bug fixes:
* MXRoom: Fix detection of the end of the back pagination. End of pagination is now detected when returned chunk is empty and both tokens (start/end) are equal.
* MXRoom: Generate a read receipt for the sender of an incoming message.
* MXRoom: Improve offline experience - Disable retry option on pagination requests when data are available from store. The caller is then able to handle messages from store without delay.
* MXSession: Load push rules from server before loading store data in order to highlight the bing events.

Changes in Matrix iOS SDK in 0.5.7 (2015-11-30)
===============================================

Expand Down
4 changes: 2 additions & 2 deletions 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.5.7"
s.version = "0.6.0"
s.summary = "The iOS SDK to build apps compatible with Matrix (http://www.matrix.org)"

s.description = <<-DESC
Expand All @@ -19,7 +19,7 @@ Pod::Spec.new do |s|

s.platform = :ios, "7.0"

s.source = { :git => "https://github.com/matrix-org/matrix-ios-sdk.git", :tag => "v0.5.7" }
s.source = { :git => "https://github.com/matrix-org/matrix-ios-sdk.git", :tag => "v0.6.0" }
s.source_files = "MatrixSDK", "MatrixSDK/**/*.{h,m}"
s.resources = "MatrixSDK/Data/Store/MXCoreDataStore/*.xcdatamodeld"

Expand Down
6 changes: 6 additions & 0 deletions MatrixSDK.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@
71DE22E01BC7C51200284153 /* MXReceiptData.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DE22DC1BC7C51200284153 /* MXReceiptData.m */; };
71DE22E11BC7C51200284153 /* MXReceiptData.h in Headers */ = {isa = PBXBuildFile; fileRef = 71DE22DD1BC7C51200284153 /* MXReceiptData.h */; };
A23A8594855481FEFA0E9A22 /* libPods-MatrixSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E1674C6FF8BBF074E7F76059 /* libPods-MatrixSDK.a */; };
F0C34CBB1C18C93700C36F09 /* MXSDKOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = F0C34CBA1C18C93700C36F09 /* MXSDKOptions.m */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
Expand Down Expand Up @@ -275,6 +276,8 @@
71DE22DC1BC7C51200284153 /* MXReceiptData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MXReceiptData.m; sourceTree = "<group>"; };
71DE22DD1BC7C51200284153 /* MXReceiptData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MXReceiptData.h; sourceTree = "<group>"; };
E1674C6FF8BBF074E7F76059 /* libPods-MatrixSDK.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-MatrixSDK.a"; sourceTree = BUILT_PRODUCTS_DIR; };
F0C34CB91C18C80000C36F09 /* MXSDKOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MXSDKOptions.h; sourceTree = "<group>"; };
F0C34CBA1C18C93700C36F09 /* MXSDKOptions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MXSDKOptions.m; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
Expand Down Expand Up @@ -480,6 +483,8 @@
32DC15CA1A8CF7AE006F9AD3 /* NotificationCenter */,
320DFDD619DD99B60068622A /* Utils */,
3245A74B1AF7B2930001D8A7 /* VoIP */,
F0C34CB91C18C80000C36F09 /* MXSDKOptions.h */,
F0C34CBA1C18C93700C36F09 /* MXSDKOptions.m */,
32C6F93219DD814400EA4E9C /* MatrixSDK.h */,
320DFDD419DD99B60068622A /* MXRestClient.h */,
320DFDD519DD99B60068622A /* MXRestClient.m */,
Expand Down Expand Up @@ -809,6 +814,7 @@
327E37B71A974F75007F026F /* MXLogger.m in Sources */,
320DFDE719DD99B60068622A /* MXHTTPClient.m in Sources */,
320DFDE119DD99B60068622A /* MXSession.m in Sources */,
F0C34CBB1C18C93700C36F09 /* MXSDKOptions.m in Sources */,
320DFDDC19DD99B60068622A /* MXRoom.m in Sources */,
3291D4D51A68FFEB00C3BA41 /* MXFileRoomStore.m in Sources */,
329FB1801A0B665800A5E88E /* MXUser.m in Sources */,
Expand Down
55 changes: 54 additions & 1 deletion MatrixSDK/Data/MXRoom.h
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,13 @@ typedef void (^MXOnRoomEvent)(MXEvent *event, MXEventDirection direction, MXRoom
*/
@property (nonatomic, readonly) MXRoomAccountData *accountData;

/**
The text message partially typed by the user but not yet sent.
The value is stored by the session store. Thus, it can be retrieved
when the application restarts.
*/
@property (nonatomic) NSString *partialTextMessage;

/**
The list of ids of users currently typing in this room.
This array is updated on each received m.typing event (MXEventTypeTypingNotification).
Expand Down Expand Up @@ -418,6 +425,42 @@ typedef void (^MXOnRoomEvent)(MXEvent *event, MXEventDirection direction, MXRoom
failure:(void (^)(NSError *error))failure;


#pragma mark - Outgoing events management
/**
Store into the store an outgoing message event being sent in the room.
If the store used by the MXSession is based on a permanent storage, the application
will be able to retrieve messages that failed to be sent in a previous app session.
@param event the MXEvent object of the message.
*/
- (void)storeOutgoingMessage:(MXEvent*)outgoingMessage;

/**
Remove all outgoing messages from the room.
*/
- (void)removeAllOutgoingMessages;

/**
Remove an outgoing message from the room.
@param outgoingMessageEventId the id of the message to remove.
*/
- (void)removeOutgoingMessage:(NSString*)outgoingMessageEventId;

/**
Update an outgoing message.
@param outgoingMessageEventId the id of the message to update.
@param outgoingMessage the new outgoing message content.
*/
- (void)updateOutgoingMessage:(NSString*)outgoingMessageEventId withOutgoingMessage:(MXEvent*)outgoingMessage;

/**
All outgoing messages pending in the room.
*/
- (NSArray<MXEvent*>*)outgoingMessages;


#pragma mark - Room tags operations
/**
Expand Down Expand Up @@ -538,11 +581,21 @@ typedef void (^MXOnRoomEvent)(MXEvent *event, MXEventDirection direction, MXRoom
- (BOOL)acknowledgeLatestEvent:(BOOL)sendReceipt;

/**
Returns the receipts list for an event.
Returns the receipts list for an event, excluding the receipt from the current user.
@param eventId The event Id.
@param sort YES to sort them from the latest to the oldest.
@return the receipts for an event in a dedicated room.
*/
- (NSArray*)getEventReceipts:(NSString*)eventId sorted:(BOOL)sort;

/**
Comparator to use to order array of rooms by their lastest originServerTs value.
Arrays are then sorting so that the oldest room is set at position 0.
@param otherRoom the MXRoom object to compare with.
@return a NSComparisonResult value: NSOrderedDescending if otherRoom is newer than self.
*/
- (NSComparisonResult)compareOriginServerTs:(MXRoom *)otherRoom;

@end
Loading

0 comments on commit 5c439e5

Please sign in to comment.