Start defining MXStore interface.
Created its first implementation: MXNoStore, the store that stores nothing.
Use MXStore to store tokens
[MXRestClient eventsFromToken] attacks a pagination API. Its callback response should be of MXPaginationResponse type as other such API rather than raw JSON dict.
Create another [MXRestClient messagesForRoom] that does not failed because of SYN-164
MXStore talks now with MXEvent objects.
As we assume the class MXEvent implements the NSCoding protocole, add a serialisation test
Defined the order of MXEvents in array.
Defined where the enumeration/pagination starts.
[MXRoom paginateBackMessages]: get messages from the store before making request to the hs
Use MXStore to store events
Improved MXNoStore role description. It stores no events but it indeed stores minimal information like tokens in memory to make the SDK able to work using it
Implement MXRoom.canPaginate with [MXStore hasReachedHomeServerPaginationEndForRoom]
Removed messages from MXRoom. We have MXStore now.
Started MXMemoryStore. Not yet tested. It was created to copy/past the old code that managed MXRoom.messages
Delegate MXRoom.lastMessage to the MXStore
Made lastMessage implementation simple
BF: MXStore must be informed of messages got in initialSync
Fixed testInviteByOtherInInitialSync.
The fake event created because of SPEC-54 needs to be provided to the MXStore
Added test for SYN-162 issue
Fixed testPaginateWhenReachingTheExactBeginningOfTheRoom
Added [initWithMatrixRestClient:andStore:]
Pagination: do not make a new pagination request if we have already hitted the beginning of the history