diff --git a/web/ce/components/maintenance-mode.tsx b/web/ce/components/maintenance-mode.tsx
new file mode 100644
index 00000000000..cab780e47f4
--- /dev/null
+++ b/web/ce/components/maintenance-mode.tsx
@@ -0,0 +1,5 @@
+"use client";
+
+import { FC, Fragment } from "react";
+
+export const MaintenanceMode: FC = () => ;
diff --git a/web/core/lib/wrappers/instance-wrapper.tsx b/web/core/lib/wrappers/instance-wrapper.tsx
index 892838b7ef2..16590723f62 100644
--- a/web/core/lib/wrappers/instance-wrapper.tsx
+++ b/web/core/lib/wrappers/instance-wrapper.tsx
@@ -6,6 +6,8 @@ import { LogoSpinner } from "@/components/common";
import { InstanceNotReady } from "@/components/instance";
// hooks
import { useInstance } from "@/hooks/store";
+// plane web components
+import { MaintenanceMode } from "@/plane-web/components/maintenance-mode";
type TInstanceWrapper = {
children: ReactNode;
@@ -16,9 +18,11 @@ export const InstanceWrapper: FC = observer((props) => {
// store
const { isLoading, instance, error, fetchInstanceInfo } = useInstance();
- const { isLoading: isInstanceSWRLoading } = useSWR("INSTANCE_INFORMATION", () => fetchInstanceInfo(), {
- revalidateOnFocus: false,
- });
+ const { isLoading: isInstanceSWRLoading, error: instanceSWRError } = useSWR(
+ "INSTANCE_INFORMATION",
+ async () => await fetchInstanceInfo(),
+ { revalidateOnFocus: false }
+ );
// loading state
if ((isLoading || isInstanceSWRLoading) && !instance)
@@ -28,6 +32,8 @@ export const InstanceWrapper: FC = observer((props) => {
);
+ if (instanceSWRError) return ;
+
// something went wrong while in the request
if (error && error?.status === "error") return <>{children}>;
diff --git a/web/core/store/instance.store.ts b/web/core/store/instance.store.ts
index ca813ca173e..b48cb49d728 100644
--- a/web/core/store/instance.store.ts
+++ b/web/core/store/instance.store.ts
@@ -66,6 +66,7 @@ export class InstanceStore implements IInstanceStore {
message: "Failed to fetch instance info",
};
});
+ throw error;
}
};
}
diff --git a/web/ee/components/maintenance-mode.tsx b/web/ee/components/maintenance-mode.tsx
new file mode 100644
index 00000000000..9431b7a3847
--- /dev/null
+++ b/web/ee/components/maintenance-mode.tsx
@@ -0,0 +1 @@
+export * from "ce/components/maintenance-mode";