diff --git a/packages/app/src/components/workspace-setting/workspace-setting.tsx b/packages/app/src/components/workspace-setting/workspace-setting.tsx
index b26338cbeb..c456caad24 100644
--- a/packages/app/src/components/workspace-setting/workspace-setting.tsx
+++ b/packages/app/src/components/workspace-setting/workspace-setting.tsx
@@ -47,6 +47,7 @@ import {
import { Avatar } from '@mui/material';
import { Menu, MenuItem } from '@/ui/menu';
import { toast } from '@/ui/toast';
+import { Empty } from '@/ui/empty';
import { useAppState } from '@/providers/app-state-provider';
import { WorkspaceDetails } from '../workspace-slider-bar/WorkspaceSelector/SelectorPopperContent';
import { GeneralPage } from './general';
@@ -193,6 +194,9 @@ const MembersPage = ({ workspace }: { workspace: Workspace }) => {
Access level
+ {members.length === 0 && (
+
+ )}
{members.length ? (
members.map(member => {
return (
diff --git a/packages/app/src/hooks/use-init-workspace.ts b/packages/app/src/hooks/use-init-workspace.ts
index a05e9e7d02..df628c1a75 100644
--- a/packages/app/src/hooks/use-init-workspace.ts
+++ b/packages/app/src/hooks/use-init-workspace.ts
@@ -1,9 +1,12 @@
import { useRouter } from 'next/router';
import { useAppState } from '@/providers/app-state-provider/context';
-import { useEffect, useState } from 'react';
+import { useEffect, useRef, useState } from 'react';
export const useInitWorkspace = (disabled?: boolean) => {
const [loading, setLoading] = useState(true);
+ // Do not set as a constant, or it will trigger a hell of re-rendering
+ const defaultOutLineWorkspaceId = useRef(new Date().getTime().toString());
+
const router = useRouter();
const {
workspacesMeta,
@@ -14,7 +17,7 @@ export const useInitWorkspace = (disabled?: boolean) => {
const workspaceId =
(router.query.workspaceId as string) ||
workspacesMeta?.[0]?.id ||
- new Date().getTime().toString();
+ defaultOutLineWorkspaceId.current;
useEffect(() => {
if (disabled) {