fix: Incorrect error shown to user when connection limit is reached (#5695)

This commit is contained in:
Tom Moor
2023-08-16 15:39:56 -04:00
committed by GitHub
parent fd600ced09
commit 5f00b4f744
6 changed files with 89 additions and 30 deletions

View File

@@ -135,13 +135,10 @@ function MultiplayerEditor({ onSynced, ...props }: Props, ref: any) {
});
provider.on("close", (ev: MessageEvent) => {
if ("code" in ev.event && ev.event.code === 1009) {
provider.shouldConnect = false;
showToast(
t(
"Sorry, this document is too large - edits will no longer be persisted."
)
);
if ("code" in ev.event) {
provider.shouldConnect =
ev.event.code !== 1009 && ev.event.code !== 4401;
ui.setMultiplayerStatus("disconnected", ev.event.code);
}
});
@@ -164,9 +161,11 @@ function MultiplayerEditor({ onSynced, ...props }: Props, ref: any) {
);
}
provider.on("status", (ev: ConnectionStatusEvent) =>
ui.setMultiplayerStatus(ev.status)
);
provider.on("status", (ev: ConnectionStatusEvent) => {
if (ui.multiplayerStatus !== ev.status) {
ui.setMultiplayerStatus(ev.status, undefined);
}
});
setRemoteProvider(provider);
@@ -177,7 +176,7 @@ function MultiplayerEditor({ onSynced, ...props }: Props, ref: any) {
provider?.destroy();
void localProvider?.destroy();
setRemoteProvider(null);
ui.setMultiplayerStatus(undefined);
ui.setMultiplayerStatus(undefined, undefined);
};
}, [
history,