Don't reload roomview on offline connectivity check (#29243)
* Don't reload roomview on offline connectivity check Doesn't look like this was a regression as far as I can see, but you did have to switch rooms while offline for it to start happening. There's no use reloading the room until we're online again. Fixes https://github.com/element-hq/element-web/issues/29072 * Add regression test * Move it down the file to avoid changing the snapshots
This commit is contained in:
@@ -693,6 +693,31 @@ describe("RoomView", () => {
|
||||
expect(defaultDispatcher.dispatch).toHaveBeenCalledWith({ action: Action.RoomLoaded });
|
||||
});
|
||||
|
||||
// Regression test for https://github.com/element-hq/element-web/issues/29072
|
||||
it("does not force a reload on sync unless the client is coming back online", async () => {
|
||||
cli.isInitialSyncComplete.mockReturnValue(false);
|
||||
|
||||
const instance = await getRoomViewInstance();
|
||||
const onRoomViewUpdateMock = jest.fn();
|
||||
(instance as any).onRoomViewStoreUpdate = onRoomViewUpdateMock;
|
||||
|
||||
act(() => {
|
||||
// As if a connectivity check happened (we are still offline)
|
||||
defaultDispatcher.dispatch({ action: "MatrixActions.sync" }, true);
|
||||
// ...so it still should not force a reload
|
||||
expect(onRoomViewUpdateMock).not.toHaveBeenCalledWith(true);
|
||||
});
|
||||
|
||||
act(() => {
|
||||
// set us to online again
|
||||
cli.isInitialSyncComplete.mockReturnValue(true);
|
||||
defaultDispatcher.dispatch({ action: "MatrixActions.sync" }, true);
|
||||
});
|
||||
|
||||
// It should now force a reload
|
||||
expect(onRoomViewUpdateMock).toHaveBeenCalledWith(true);
|
||||
});
|
||||
|
||||
describe("when there is a RoomView", () => {
|
||||
const widget1Id = "widget1";
|
||||
const widget2Id = "widget2";
|
||||
|
||||
Reference in New Issue
Block a user