Skip to content

Commit f72d833

Browse files
authored
Fix unhandled callback when the session is nil. (matrix-org#1833)
1 parent c91b556 commit f72d833

File tree

2 files changed

+24
-15
lines changed

2 files changed

+24
-15
lines changed

MatrixSDK/Data/MXRoomState.m

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -120,23 +120,31 @@ + (void)loadRoomStateFromStore:(id<MXStore>)store
120120
{
121121
[store stateOfRoom:roomId success:^(NSArray<MXEvent *> * _Nonnull stateEvents) {
122122
if (!stateEvents.count) {
123-
MXLogWarning(@"[MXRoomState] loadRoomStateFromStore(%@): No state events stored, loading from api", logId);
123+
MXLogWarning(@"[MXRoomState] loadRoomStateFromStore(%@): No state events stored, loading from API", logId);
124124

125-
[matrixSession.matrixRestClient stateOfRoom:roomId success:^(NSArray *JSONData) {
126-
NSArray<MXEvent *> *events = [MXEvent modelsFromJSON:JSONData];
127-
MXLogDebug(@"[MXRoomState] loadRoomStateFromStore(%@): Loaded %lu events from api", logId, events.count);
128-
129-
[roomState handleStateEvents:events];
130-
onComplete(roomState);
131-
} failure:^(NSError *error) {
132-
NSDictionary *details = @{
133-
@"log_id": logId ?: @"unknown",
134-
@"error": error ?: @"unknown"
135-
};
136-
MXLogErrorDetails(@"[MXRoomState] loadRoomStateFromStore: Failed to load any events from api", details);
137-
125+
if (!matrixSession)
126+
{
127+
MXLogError(@"[MXRoomState] loadRoomStateFromStore: Missing session, unable to load from API")
138128
onComplete(roomState);
139-
}];
129+
}
130+
else
131+
{
132+
[matrixSession.matrixRestClient stateOfRoom:roomId success:^(NSArray *JSONData) {
133+
NSArray<MXEvent *> *events = [MXEvent modelsFromJSON:JSONData];
134+
MXLogDebug(@"[MXRoomState] loadRoomStateFromStore(%@): Loaded %lu events from api", logId, events.count);
135+
136+
[roomState handleStateEvents:events];
137+
onComplete(roomState);
138+
} failure:^(NSError *error) {
139+
NSDictionary *details = @{
140+
@"log_id": logId ?: @"unknown",
141+
@"error": error ?: @"unknown"
142+
};
143+
MXLogErrorDetails(@"[MXRoomState] loadRoomStateFromStore: Failed to load any events from API", details);
144+
145+
onComplete(roomState);
146+
}];
147+
}
140148
} else {
141149
MXLogDebug(@"[MXRoomState] loadRoomStateFromStore(%@): Initializing with %lu state events", logId, stateEvents.count);
142150

changelog.d/pr-1833.bugfix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix unhandled callback when the session is nil.

0 commit comments

Comments
 (0)