handleInvitation(invitation, isSelected ? "withdraw" : "accepted")}
>
diff --git a/web/components/onboarding/join-workspaces.tsx b/web/components/onboarding/join-workspaces.tsx
index cb2f3ee71..214f3b709 100644
--- a/web/components/onboarding/join-workspaces.tsx
+++ b/web/components/onboarding/join-workspaces.tsx
@@ -20,7 +20,7 @@ export const JoinWorkspaces: React.FC
= ({ stepChange, setTryDiffAccount
control,
setValue,
watch,
- formState: { errors, isSubmitting, isValid },
+ formState: { errors, isSubmitting },
} = useForm({
defaultValues: {
name: "",
diff --git a/web/components/pages/pages-list/list-item.tsx b/web/components/pages/pages-list/list-item.tsx
index c4f9f9f16..7fa2c75f8 100644
--- a/web/components/pages/pages-list/list-item.tsx
+++ b/web/components/pages/pages-list/list-item.tsx
@@ -157,7 +157,7 @@ export const PagesListItem: FC = observer((props) => {
setDeletePageModal(false)} data={page} />
-
+
@@ -295,7 +295,7 @@ export const PagesListItem: FC = observer((props) => {
-
+
>
diff --git a/web/components/profile/navbar.tsx b/web/components/profile/navbar.tsx
index 7a6128190..23eea6222 100644
--- a/web/components/profile/navbar.tsx
+++ b/web/components/profile/navbar.tsx
@@ -50,7 +50,7 @@ export const ProfileNavbar: React.FC = (props) => {
diff --git a/web/components/profile/overview/stats.tsx b/web/components/profile/overview/stats.tsx
index b109b508d..850d8b4e2 100644
--- a/web/components/profile/overview/stats.tsx
+++ b/web/components/profile/overview/stats.tsx
@@ -43,7 +43,7 @@ export const ProfileStats: React.FC = ({ userProfile }) => {
-
+
))}
diff --git a/web/components/profile/sidebar.tsx b/web/components/profile/sidebar.tsx
index c6d183011..14a863857 100644
--- a/web/components/profile/sidebar.tsx
+++ b/web/components/profile/sidebar.tsx
@@ -68,9 +68,9 @@ export const ProfileSidebar = () => {
{user?.id === userId && (
)}
diff --git a/web/components/project/card-list.tsx b/web/components/project/card-list.tsx
index 7bcc559c4..162b66610 100644
--- a/web/components/project/card-list.tsx
+++ b/web/components/project/card-list.tsx
@@ -4,12 +4,10 @@ import { observer } from "mobx-react-lite";
import { useMobxStore } from "lib/mobx/store-provider";
// components
import { ProjectCard } from "components/project";
-import { EmptyState } from "components/project/empty-state";
import { Loader } from "@plane/ui";
// images
import emptyProject from "public/empty-state/empty_project.webp";
// icons
-import { Plus } from "lucide-react";
import { NewEmptyState } from "components/common/new-empty-state";
export interface IProjectCardList {
diff --git a/web/components/project/empty-state.tsx b/web/components/project/empty-state.tsx
index 2b6401892..60625f3dc 100644
--- a/web/components/project/empty-state.tsx
+++ b/web/components/project/empty-state.tsx
@@ -28,7 +28,7 @@ export const EmptyState: React.FC
= ({
}) => (
-
+
{title}
diff --git a/web/components/project/member-list-item.tsx b/web/components/project/member-list-item.tsx
index df60c75ec..6c231779e 100644
--- a/web/components/project/member-list-item.tsx
+++ b/web/components/project/member-list-item.tsx
@@ -76,27 +76,27 @@ export const ProjectMemberListItem: React.FC
= observer((props) => {
{memberDetails.avatar && memberDetails.avatar !== "" ? (
-
+
-
+
) : (
-
+
{(memberDetails.display_name ?? memberDetails.email ?? "?")[0]}
-
+
)}
-
+
{memberDetails.first_name} {memberDetails.last_name}
-
+
{memberDetails.display_name}
diff --git a/web/components/project/send-project-invitation-modal.tsx b/web/components/project/send-project-invitation-modal.tsx
index 5e57e55ba..8ad55ebec 100644
--- a/web/components/project/send-project-invitation-modal.tsx
+++ b/web/components/project/send-project-invitation-modal.tsx
@@ -12,8 +12,6 @@ import { Avatar, Button, CustomSelect, CustomSearchSelect } from "@plane/ui";
import { ProjectMemberService } from "services/project";
// hooks
import useToast from "hooks/use-toast";
-// helpers
-import { trackEvent } from "helpers/event-tracker.helper";
// types
import { IProjectMember, TUserProjectRole } from "types";
// constants
@@ -58,7 +56,7 @@ export const SendProjectInvitationModal: React.FC
= observer((props) => {
const {
user: { currentProjectRole },
workspaceMember: { workspaceMembers },
- trackEvent: { postHogEventTracker }
+ trackEvent: { postHogEventTracker },
} = useMobxStore();
const {
@@ -94,22 +92,16 @@ export const SendProjectInvitationModal: React.FC = observer((props) => {
type: "success",
message: "Member added successfully",
});
- postHogEventTracker(
- 'PROJECT_MEMBER_INVITE',
- {
- ...res,
- state: "SUCCESS"
- }
- );
+ postHogEventTracker("PROJECT_MEMBER_INVITE", {
+ ...res,
+ state: "SUCCESS",
+ });
})
.catch((error) => {
console.log(error);
- postHogEventTracker(
- 'PROJECT_MEMBER_INVITE',
- {
- state: "FAILED",
- }
- );
+ postHogEventTracker("PROJECT_MEMBER_INVITE", {
+ state: "FAILED",
+ });
})
.finally(() => {
reset(defaultValues);
diff --git a/web/components/project/sidebar-list-item.tsx b/web/components/project/sidebar-list-item.tsx
index 961ad49cf..488ae571a 100644
--- a/web/components/project/sidebar-list-item.tsx
+++ b/web/components/project/sidebar-list-item.tsx
@@ -75,7 +75,11 @@ export const ProjectSidebarListItem: React.FC = observer((props) => {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const { project, provided, snapshot, handleCopyText, shortContextMenu = false } = props;
// store
- const { project: projectStore, theme: themeStore, trackEvent: { setTrackElement } } = useMobxStore();
+ const {
+ project: projectStore,
+ theme: themeStore,
+ trackEvent: { setTrackElement },
+ } = useMobxStore();
// router
const router = useRouter();
const { workspaceSlug, projectId } = router.query;
@@ -308,7 +312,7 @@ export const ProjectSidebarListItem: React.FC = observer((props) => {
return (
-
+
= observer((props) => {
{!isCollapsed && item.name}
-
+
);
})}
diff --git a/web/components/states/create-update-state-inline.tsx b/web/components/states/create-update-state-inline.tsx
index dcaa0b5ba..50f624cbe 100644
--- a/web/components/states/create-update-state-inline.tsx
+++ b/web/components/states/create-update-state-inline.tsx
@@ -18,7 +18,6 @@ import type { IState } from "types";
import { STATES_LIST } from "constants/fetch-keys";
// constants
import { GROUP_CHOICES } from "constants/project";
-import { stat } from "fs";
type Props = {
data: IState | null;
@@ -44,7 +43,10 @@ export const CreateUpdateStateInline: React.FC
= observer((props) => {
const { workspaceSlug, projectId } = router.query;
// store
- const { projectState: projectStateStore, trackEvent: { postHogEventTracker, setTrackElement } } = useMobxStore();
+ const {
+ projectState: projectStateStore,
+ trackEvent: { postHogEventTracker, setTrackElement },
+ } = useMobxStore();
// hooks
const { setToastAlert } = useToast();
@@ -95,13 +97,10 @@ export const CreateUpdateStateInline: React.FC = observer((props) => {
title: "Success!",
message: "State created successfully.",
});
- postHogEventTracker(
- 'STATE_CREATE',
- {
- ...res,
- state: "SUCCESS"
- }
- );
+ postHogEventTracker("STATE_CREATE", {
+ ...res,
+ state: "SUCCESS",
+ });
})
.catch((error) => {
if (error.status === 400)
@@ -116,12 +115,9 @@ export const CreateUpdateStateInline: React.FC = observer((props) => {
title: "Error!",
message: "State could not be created. Please try again.",
});
- postHogEventTracker(
- 'STATE_CREATE',
- {
- state: "FAILED"
- }
- );
+ postHogEventTracker("STATE_CREATE", {
+ state: "FAILED",
+ });
});
};
@@ -133,13 +129,10 @@ export const CreateUpdateStateInline: React.FC = observer((props) => {
.then((res) => {
mutate(STATES_LIST(projectId.toString()));
handleClose();
- postHogEventTracker(
- 'STATE_UPDATE',
- {
- ...res,
- state: "SUCCESS",
- }
- );
+ postHogEventTracker("STATE_UPDATE", {
+ ...res,
+ state: "SUCCESS",
+ });
setToastAlert({
type: "success",
title: "Success!",
@@ -159,12 +152,9 @@ export const CreateUpdateStateInline: React.FC = observer((props) => {
title: "Error!",
message: "State could not be updated. Please try again.",
});
- postHogEventTracker(
- 'STATE_UPDATE',
- {
- state: "FAILED",
- }
- );
+ postHogEventTracker("STATE_UPDATE", {
+ state: "FAILED",
+ });
});
};
@@ -187,8 +177,9 @@ export const CreateUpdateStateInline: React.FC = observer((props) => {
{({ open }) => (
<>
{watch("color") && watch("color") !== "" && (
= observer((props) => {
-
- }
- position={position}
- renderTarget={({ ref: eleReference, ...tooltipProps }) =>
- React.cloneElement(children, { ref: eleReference, ...tooltipProps, ...children.props })
- }
- />
- );
-};
diff --git a/web/components/views/view-list-item.tsx b/web/components/views/view-list-item.tsx
index 62fdf5a16..7ed182c84 100644
--- a/web/components/views/view-list-item.tsx
+++ b/web/components/views/view-list-item.tsx
@@ -57,7 +57,7 @@ export const ProjectViewListItem: React.FC
= observer((props) => {
setDeleteViewModal(false)} />
>
diff --git a/web/components/web-hooks/webhooks-list-item.tsx b/web/components/web-hooks/webhooks-list-item.tsx
index 26d3d8537..17644e2e1 100644
--- a/web/components/web-hooks/webhooks-list-item.tsx
+++ b/web/components/web-hooks/webhooks-list-item.tsx
@@ -31,10 +31,10 @@ export const WebhooksListItem: FC = (props) => {
return (
);
diff --git a/web/components/workspace/create-workspace-form.tsx b/web/components/workspace/create-workspace-form.tsx
index 737458ef5..debab22c3 100644
--- a/web/components/workspace/create-workspace-form.tsx
+++ b/web/components/workspace/create-workspace-form.tsx
@@ -14,8 +14,6 @@ import { Button, CustomSelect, Input } from "@plane/ui";
import { IWorkspace } from "types";
// constants
import { ORGANIZATION_SIZE, RESTRICTED_URLS } from "constants/workspace";
-// events
-import { trackEvent } from "helpers/event-tracker.helper";
type Props = {
onSubmit?: (res: IWorkspace) => Promise;
diff --git a/web/components/workspace/delete-workspace-modal.tsx b/web/components/workspace/delete-workspace-modal.tsx
index 79f32ec59..4e430eee3 100644
--- a/web/components/workspace/delete-workspace-modal.tsx
+++ b/web/components/workspace/delete-workspace-modal.tsx
@@ -29,7 +29,10 @@ export const DeleteWorkspaceModal: React.FC = observer((props) => {
const router = useRouter();
- const { workspace: workspaceStore, trackEvent: { postHogEventTracker } } = useMobxStore();
+ const {
+ workspace: workspaceStore,
+ trackEvent: { postHogEventTracker },
+ } = useMobxStore();
const { setToastAlert } = useToast();
@@ -60,37 +63,26 @@ export const DeleteWorkspaceModal: React.FC = observer((props) => {
.then((res) => {
handleClose();
router.push("/");
- const payload = {
- slug: data.slug
- };
- postHogEventTracker(
- 'WORKSPACE_DELETE',
- {
- res,
- state: "SUCCESS"
- }
- );
+ postHogEventTracker("WORKSPACE_DELETE", {
+ res,
+ state: "SUCCESS",
+ });
setToastAlert({
type: "success",
title: "Success!",
message: "Workspace deleted successfully.",
});
})
- .catch(() =>
- {
+ .catch(() => {
setToastAlert({
type: "error",
title: "Error!",
message: "Something went wrong. Please try again later.",
- })
- postHogEventTracker(
- 'WORKSPACE_DELETE',
- {
- state: "FAILED"
- }
- );
- }
- );
+ });
+ postHogEventTracker("WORKSPACE_DELETE", {
+ state: "FAILED",
+ });
+ });
};
return (
diff --git a/web/components/workspace/help-section.tsx b/web/components/workspace/help-section.tsx
index f38c447b1..367124544 100644
--- a/web/components/workspace/help-section.tsx
+++ b/web/components/workspace/help-section.tsx
@@ -124,16 +124,13 @@ export const WorkspaceHelpSection: React.FC = observe
{helpOptions.map(({ name, Icon, href, onClick }) => {
if (href)
return (
-
-
+
+
{name}
-
+
);
else
diff --git a/web/components/workspace/issues-list.tsx b/web/components/workspace/issues-list.tsx
index c0337b6a0..ba04c24e4 100644
--- a/web/components/workspace/issues-list.tsx
+++ b/web/components/workspace/issues-list.tsx
@@ -57,7 +57,7 @@ export const IssuesList: React.FC = ({ issues, type }) => {
return (
-
+
= ({ issues, type }) => {
{renderShortDateWithYearFormat(new Date(date?.toString() ?? ""))}
-
+
);
})
diff --git a/web/components/workspace/settings/members-list-item.tsx b/web/components/workspace/settings/members-list-item.tsx
index ec3c9db69..7536e78c9 100644
--- a/web/components/workspace/settings/members-list-item.tsx
+++ b/web/components/workspace/settings/members-list-item.tsx
@@ -138,27 +138,27 @@ export const WorkspaceMembersListItem: FC = observer((props) => {
{member.avatar && member.avatar !== "" ? (
-
+
-
+
) : (
-
+
{(member.email ?? member.display_name ?? "?")[0]}
-
+
)}
{member.member ? (
-
+
{member.first_name} {member.last_name}
-
+
) : (
{member.display_name || member.email}
diff --git a/web/components/workspace/sidebar-dropdown.tsx b/web/components/workspace/sidebar-dropdown.tsx
index 324d9acea..8bb2617c5 100644
--- a/web/components/workspace/sidebar-dropdown.tsx
+++ b/web/components/workspace/sidebar-dropdown.tsx
@@ -281,10 +281,10 @@ export const WorkspaceSidebarDropdown = observer(() => {
{profileLinks(workspaceSlug?.toString() ?? "", currentUser?.id ?? "").map((link, index) => (
-
+
{link.name}
-
+
))}
@@ -304,9 +304,9 @@ export const WorkspaceSidebarDropdown = observer(() => {
diff --git a/web/components/workspace/sidebar-menu.tsx b/web/components/workspace/sidebar-menu.tsx
index 360277d5a..792e7e6a0 100644
--- a/web/components/workspace/sidebar-menu.tsx
+++ b/web/components/workspace/sidebar-menu.tsx
@@ -46,7 +46,7 @@ export const WorkspaceSidebarMenu = observer(() => {
return (
-
+
{
{!themeStore?.sidebarCollapsed && link.name}
-
+
);
})}
diff --git a/web/components/workspace/views/default-view-list-item.tsx b/web/components/workspace/views/default-view-list-item.tsx
index e3298daee..a168f20ea 100644
--- a/web/components/workspace/views/default-view-list-item.tsx
+++ b/web/components/workspace/views/default-view-list-item.tsx
@@ -18,7 +18,7 @@ export const GlobalDefaultViewListItem: React.FC
= observer((props) => {
return (
);
diff --git a/web/components/workspace/views/header.tsx b/web/components/workspace/views/header.tsx
index 6406a994d..aba978094 100644
--- a/web/components/workspace/views/header.tsx
+++ b/web/components/workspace/views/header.tsx
@@ -42,7 +42,7 @@ export const GlobalViewsHeader: React.FC = observer(() => {
{DEFAULT_GLOBAL_VIEWS_LIST.map((tab) => (
-
{
}`}
>
{tab.label}
-
+
))}
{globalViewsStore.globalViewsList?.map((view) => (
-
{
}`}
>
{view.name}
-
+
))}
diff --git a/web/components/workspace/views/view-list-item.tsx b/web/components/workspace/views/view-list-item.tsx
index 867ce3b5e..29a4627a0 100644
--- a/web/components/workspace/views/view-list-item.tsx
+++ b/web/components/workspace/views/view-list-item.tsx
@@ -32,7 +32,7 @@ export const GlobalViewListItem: React.FC
= observer((props) => {
setDeleteViewModal(false)} />
>
diff --git a/web/layouts/auth-layout/workspace-wrapper.tsx b/web/layouts/auth-layout/workspace-wrapper.tsx
index 3cfe4e7c8..622e9c23e 100644
--- a/web/layouts/auth-layout/workspace-wrapper.tsx
+++ b/web/layouts/auth-layout/workspace-wrapper.tsx
@@ -71,18 +71,18 @@ export const WorkspaceAuthWrapper: FC = observer((props)
diff --git a/web/layouts/settings-layout/profile/sidebar.tsx b/web/layouts/settings-layout/profile/sidebar.tsx
index ba223ff9b..513bf72b8 100644
--- a/web/layouts/settings-layout/profile/sidebar.tsx
+++ b/web/layouts/settings-layout/profile/sidebar.tsx
@@ -160,7 +160,7 @@ export const ProfileLayoutSidebar = observer(() => {
sidebarCollapsed ? "justify-center" : `justify-between`
}`}
>
- {
{!sidebarCollapsed && (
{workspace.name}
)}
-
+
))}
diff --git a/web/layouts/settings-layout/project/sidebar.tsx b/web/layouts/settings-layout/project/sidebar.tsx
index 2ce97dd88..dfd975cd3 100644
--- a/web/layouts/settings-layout/project/sidebar.tsx
+++ b/web/layouts/settings-layout/project/sidebar.tsx
@@ -50,7 +50,7 @@ export const ProjectSettingsSidebar = () => {
diff --git a/web/layouts/settings-layout/workspace/sidebar.tsx b/web/layouts/settings-layout/workspace/sidebar.tsx
index ec34abd8e..e3e317a83 100644
--- a/web/layouts/settings-layout/workspace/sidebar.tsx
+++ b/web/layouts/settings-layout/workspace/sidebar.tsx
@@ -26,7 +26,7 @@ export const WorkspaceSettingsSidebar = () => {
(link) =>
workspaceMemberInfo >= link.access && (
-
+
{
>
{link.label}
-
+
)
)}
diff --git a/web/lib/wrappers/posthog-wrapper.tsx b/web/lib/wrappers/posthog-wrapper.tsx
index 783207924..1e7c35c0d 100644
--- a/web/lib/wrappers/posthog-wrapper.tsx
+++ b/web/lib/wrappers/posthog-wrapper.tsx
@@ -41,7 +41,7 @@ const PosthogWrapper: FC = (props) => {
api_host: posthogHost || "https://app.posthog.com",
// Enable debug mode in development
loaded: (posthog) => {
- // if (process.env.NODE_ENV === "development") posthog.debug();
+ if (process.env.NODE_ENV === "development") posthog.debug();
},
autocapture: false,
capture_pageview: false, // Disable automatic pageview capture, as we capture manually
diff --git a/web/next.config.js b/web/next.config.js
index f48ccd9a6..29925a312 100644
--- a/web/next.config.js
+++ b/web/next.config.js
@@ -1,7 +1,5 @@
require("dotenv").config({ path: ".env" });
-
const { withSentryConfig } = require("@sentry/nextjs");
-const path = require("path");
const nextConfig = {
reactStrictMode: false,
@@ -16,10 +14,6 @@ const nextConfig = {
unoptimized: true,
},
output: "standalone",
- experimental: {
- // this includes files from the monorepo base two directories up
- outputFileTracingRoot: path.join(__dirname, "../"),
- },
};
if (parseInt(process.env.NEXT_PUBLIC_ENABLE_SENTRY || "0")) {
diff --git a/web/package.json b/web/package.json
index 1c68d8aa1..b4d2a2998 100644
--- a/web/package.json
+++ b/web/package.json
@@ -15,7 +15,6 @@
"@blueprintjs/popover2": "^1.13.3",
"@headlessui/react": "^1.7.3",
"@hello-pangea/dnd": "^16.3.0",
- "@jitsu/nextjs": "^3.1.5",
"@nivo/bar": "0.80.0",
"@nivo/calendar": "0.80.0",
"@nivo/core": "0.80.0",
@@ -29,7 +28,6 @@
"@plane/ui": "*",
"@popperjs/core": "^2.11.8",
"@sentry/nextjs": "^7.36.0",
- "@types/lodash.debounce": "^4.0.7",
"@types/react-datepicker": "^4.8.0",
"axios": "^1.1.3",
"clsx": "^2.0.0",
@@ -38,11 +36,10 @@
"dotenv": "^16.0.3",
"js-cookie": "^3.0.1",
"lodash": "^4.17.21",
- "lodash.debounce": "^4.0.8",
"lucide-react": "^0.293.0",
"mobx": "^6.10.0",
"mobx-react-lite": "^4.0.3",
- "next": "12.3.2",
+ "next": "^14.0.3",
"next-pwa": "^5.6.0",
"next-themes": "^0.2.1",
"nprogress": "^0.2.0",
@@ -63,9 +60,10 @@
},
"devDependencies": {
"@types/js-cookie": "^3.0.2",
+ "@types/lodash": "^4.14.202",
"@types/node": "18.0.6",
"@types/nprogress": "^0.2.0",
- "@types/react": "^18.2.35",
+ "@types/react": "^18.2.39",
"@types/react-color": "^3.0.6",
"@types/react-dom": "^18.2.14",
"@types/uuid": "^8.3.4",
diff --git a/web/pages/404.tsx b/web/pages/404.tsx
index a1f462f2c..0e8c8a038 100644
--- a/web/pages/404.tsx
+++ b/web/pages/404.tsx
@@ -27,11 +27,11 @@ const PageNotFound: NextPage = () => (
-
+
Go to Home
-
+
diff --git a/web/pages/[workspaceSlug]/projects/[projectId]/cycles/index.tsx b/web/pages/[workspaceSlug]/projects/[projectId]/cycles/index.tsx
index 9a85fb0c3..0d278cace 100644
--- a/web/pages/[workspaceSlug]/projects/[projectId]/cycles/index.tsx
+++ b/web/pages/[workspaceSlug]/projects/[projectId]/cycles/index.tsx
@@ -11,7 +11,6 @@ import { AppLayout } from "layouts/app-layout";
import { CyclesHeader } from "components/headers";
import { CyclesView, ActiveCycleDetails, CycleCreateUpdateModal } from "components/cycles";
// ui
-import { EmptyState } from "components/common";
import { Tooltip } from "@plane/ui";
// images
import emptyCycle from "public/empty-state/empty_cycles.webp";
@@ -28,7 +27,7 @@ import { NewEmptyState } from "components/common/new-empty-state";
const ProjectCyclesPage: NextPageWithLayout = observer(() => {
const [createModal, setCreateModal] = useState(false);
// store
- const { project: projectStore, cycle: cycleStore } = useMobxStore();
+ const { cycle: cycleStore } = useMobxStore();
const { projectCycles } = cycleStore;
// router
const router = useRouter();
diff --git a/web/pages/[workspaceSlug]/projects/[projectId]/pages/[pageId].tsx b/web/pages/[workspaceSlug]/projects/[projectId]/pages/[pageId].tsx
index 7ca76a4ab..fcc88cbdf 100644
--- a/web/pages/[workspaceSlug]/projects/[projectId]/pages/[pageId].tsx
+++ b/web/pages/[workspaceSlug]/projects/[projectId]/pages/[pageId].tsx
@@ -9,7 +9,7 @@ import { PageService } from "services/page.service";
import { FileService } from "services/file.service";
// hooks
import useUser from "hooks/use-user";
-import { useDebouncedCallback } from "use-debounce";
+import debounce from "lodash/debounce";
import { useMobxStore } from "lib/mobx/store-provider";
// layouts
import { AppLayout } from "layouts/app-layout";
@@ -200,7 +200,7 @@ const PageDetailsPage: NextPageWithLayout = observer(() => {
});
}, [reset, pageDetails]);
- const debouncedFormSave = useDebouncedCallback(async () => {
+ const debouncedFormSave = debounce(async () => {
handleSubmit(updatePage)().finally(() => setIsSubmitting("submitted"));
}, 1500);
diff --git a/web/pages/god-mode/authorization.tsx b/web/pages/god-mode/authorization.tsx
index 08a58d505..0020d1297 100644
--- a/web/pages/god-mode/authorization.tsx
+++ b/web/pages/god-mode/authorization.tsx
@@ -84,7 +84,7 @@ const InstanceAdminAuthorizationPage: NextPageWithLayout = observer(() => {
Slack-like emails for authentication.
You need to have set up email{" "}