change modal on error

This commit is contained in:
Mateusz Gruszczyński
2026-08-05 10:38:17 +02:00
parent 73286d921b
commit c4d04adb40
5 changed files with 25 additions and 8 deletions
+4 -3
View File
@@ -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();