@@ -227,8 +227,12 @@ -(void)setStore:(id<MXStore>)store success:(void (^)())onStoreDataReady failure:
227
227
}
228
228
else
229
229
{
230
+ // Create self.myUser instance to expose the user id as soon as possible
231
+ _myUser = [[MXMyUser alloc ] initWithUserId: matrixRestClient.credentials.userId];
232
+ _myUser.mxSession = self;
233
+
230
234
NSLog (@" [MXSession] Total time to mount SDK data from MXStore: %.0f ms" , [[NSDate date ] timeIntervalSinceDate: startDate] * 1000 );
231
-
235
+
232
236
[self setState: MXSessionStateStoreDataReady];
233
237
234
238
// The SDK client can use this data
@@ -299,31 +303,19 @@ - (void)startWithMessagesLimit:(NSUInteger)messagesLimit
299
303
{
300
304
// Get data from the home server
301
305
// First of all, retrieve the user's profile information
302
- [matrixRestClient displayNameForUser: matrixRestClient.credentials.userId success: ^( NSString *displayname) {
306
+ [_myUser updateFromHomeserverOfMatrixSession: self success: ^{
303
307
304
- [matrixRestClient avatarUrlForUser: matrixRestClient.credentials.userId success: ^(NSString *avatarUrl) {
305
-
306
- // Create the user's profile
307
- _myUser = [[MXMyUser alloc ] initWithUserId: matrixRestClient.credentials.userId andDisplayname: displayname andAvatarUrl: avatarUrl];
308
- _myUser.mxSession = self;
309
-
310
- // And store him as a common MXUser
311
- [_store storeUser: _myUser];
312
-
313
- // Initial server sync
314
- [self serverSyncWithServerTimeout: 0 success: onServerSyncDone failure: ^(NSError *error) {
308
+ // And store him as a common MXUser
309
+ [_store storeUser: _myUser];
315
310
316
- [ self setState: MXSessionStateInitialSyncFailed];
317
- failure ( error);
311
+ // Initial server sync
312
+ [ self serverSyncWithServerTimeout: 0 success: onServerSyncDone failure: ^( NSError * error) {
318
313
319
- } clientTimeout: CLIENT_TIMEOUT_MS setPresence: nil ];
320
-
321
- } failure: ^(NSError *error) {
322
-
323
314
[self setState: MXSessionStateInitialSyncFailed];
324
315
failure (error);
325
-
326
- }];
316
+
317
+ } clientTimeout: CLIENT_TIMEOUT_MS setPresence: nil ];
318
+
327
319
} failure: ^(NSError *error) {
328
320
329
321
[self setState: MXSessionStateInitialSyncFailed];
0 commit comments