diff --git a/src/sliding-sync-sdk.ts b/src/sliding-sync-sdk.ts index aab0ea45f..233c0c31d 100644 --- a/src/sliding-sync-sdk.ts +++ b/src/sliding-sync-sdk.ts @@ -293,13 +293,16 @@ export class SlidingSyncSdk { this.processRoomData(this.client, room, roomData); } - private onLifecycle(state: SlidingSyncState, resp: MSC3575SlidingSyncResponse, err?: Error): void { + private onLifecycle(state: SlidingSyncState, resp?: MSC3575SlidingSyncResponse, err?: Error): void { if (err) { logger.debug("onLifecycle", state, err); } switch (state) { case SlidingSyncState.Complete: this.purgeNotifications(); + if (!resp) { + break; + } // Element won't stop showing the initial loading spinner unless we fire SyncState.Prepared if (!this.lastPos) { this.updateSyncState(SyncState.Prepared, { diff --git a/src/sliding-sync.ts b/src/sliding-sync.ts index 712564e9d..da6419c96 100644 --- a/src/sliding-sync.ts +++ b/src/sliding-sync.ts @@ -323,7 +323,7 @@ export enum SlidingSyncEvent { export type SlidingSyncEventHandlerMap = { [SlidingSyncEvent.RoomData]: (roomId: string, roomData: MSC3575RoomData) => void; [SlidingSyncEvent.Lifecycle]: ( - state: SlidingSyncState, resp: MSC3575SlidingSyncResponse | null, err: Error, + state: SlidingSyncState, resp: MSC3575SlidingSyncResponse | null, err: Error | null, ) => void; [SlidingSyncEvent.List]: ( listIndex: number, joinedCount: number, roomIndexToRoomId: Record,