change modal on error
This commit is contained in:
@@ -15,7 +15,7 @@ import { copyText } from "@rustpad/clipboard";
|
||||
import { getNickname, getAccessToken, getAuthToken, getGuestId, setAccessToken } from "@rustpad/session";
|
||||
import { bindIdentityDialog, validateCurrentSession } from "@rustpad/auth-ui";
|
||||
import { askConfirm } from "@rustpad/modal";
|
||||
import { safeAppUrl } from "@rustpad/security";
|
||||
import { isResourceAccessError, safeAppUrl } from "@rustpad/security";
|
||||
import { toast } from "@rustpad/toast";
|
||||
|
||||
const parts = location.pathname.split("/").filter(Boolean);
|
||||
@@ -116,7 +116,8 @@ function connectWorkspaceWatch() {
|
||||
if (message.type === "error") {
|
||||
workspaceWatchIntentionalClose = true;
|
||||
socket.close();
|
||||
if (/password/i.test(message.message || "")) lockWorkspaceForPassword(message.message);
|
||||
if (isResourceAccessError(message.message)) lockWorkspaceForPassword(message.message);
|
||||
else document.querySelector("#workspace-error").textContent = message.message || "Workspace connection error";
|
||||
}
|
||||
});
|
||||
socket.addEventListener("close", () => {
|
||||
@@ -234,7 +235,7 @@ async function openWorkspace() {
|
||||
if (dialog.open) dialog.close();
|
||||
connectWorkspaceWatch();
|
||||
} catch (e) {
|
||||
if (info?.protected || e.message.toLowerCase().includes("password")) {
|
||||
if (info?.protected && isResourceAccessError(e)) {
|
||||
lockWorkspaceForPassword(e.message);
|
||||
} else if (e.status === 403 || e.status === 404) {
|
||||
await showSystemNotFound();
|
||||
|
||||
Reference in New Issue
Block a user