From 43534dcaed311ff4ccebeed3b12571603b51be93 Mon Sep 17 00:00:00 2001 From: Nico Franke Date: Wed, 10 Apr 2024 16:31:22 +0200 Subject: [PATCH 1/5] fix: email ssl setting not getting saved (#4161) --- .../plane/license/management/commands/configure_instance.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apiserver/plane/license/management/commands/configure_instance.py b/apiserver/plane/license/management/commands/configure_instance.py index 9365f07c54..1bb1031138 100644 --- a/apiserver/plane/license/management/commands/configure_instance.py +++ b/apiserver/plane/license/management/commands/configure_instance.py @@ -88,6 +88,12 @@ class Command(BaseCommand): "category": "SMTP", "is_encrypted": False, }, + { + "key": "EMAIL_USE_SSL", + "value": os.environ.get("EMAIL_USE_SSL", "0"), + "category": "SMTP", + "is_encrypted": False, + }, { "key": "OPENAI_API_KEY", "value": os.environ.get("OPENAI_API_KEY"), From 4f15c03f911d73fe41ca8451f0f444f1df2115ca Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com> Date: Wed, 10 Apr 2024 21:27:22 +0530 Subject: [PATCH 2/5] fix: api token expiry time (#4165) --- web/components/api-token/modal/form.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/web/components/api-token/modal/form.tsx b/web/components/api-token/modal/form.tsx index b2b3f64dcb..93a92c9ef7 100644 --- a/web/components/api-token/modal/form.tsx +++ b/web/components/api-token/modal/form.tsx @@ -95,7 +95,7 @@ export const CreateApiTokenForm: React.FC = (props) => { else { const expiryDate = getExpiryDate(data.expired_at ?? ""); - if (expiryDate) payload.expired_at = renderFormattedPayloadDate(expiryDate); + if (expiryDate) payload.expired_at = renderFormattedPayloadDate(new Date(expiryDate)); } await onSubmit(payload).then(() => { @@ -170,8 +170,8 @@ export const CreateApiTokenForm: React.FC = (props) => { {value === "custom" ? "Custom date" : selectedOption - ? selectedOption.label - : "Set expiration date"} + ? selectedOption.label + : "Set expiration date"} } value={value} @@ -207,8 +207,8 @@ export const CreateApiTokenForm: React.FC = (props) => { ? `Expires ${renderFormattedDate(customDate)}` : null : watch("expired_at") - ? `Expires ${getExpiryDate(watch("expired_at") ?? "")}` - : null} + ? `Expires ${getExpiryDate(watch("expired_at") ?? "")}` + : null} )} From 5c6170507ede43e6974d275d50783092e98b00c3 Mon Sep 17 00:00:00 2001 From: Aaryan Khandelwal <65252264+aaryan610@users.noreply.github.com> Date: Wed, 10 Apr 2024 21:28:06 +0530 Subject: [PATCH 3/5] fix: drag handle position in the peek overview (#4167) --- web/components/issues/peek-overview/view.tsx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/web/components/issues/peek-overview/view.tsx b/web/components/issues/peek-overview/view.tsx index d5b723f662..37f92134d7 100644 --- a/web/components/issues/peek-overview/view.tsx +++ b/web/components/issues/peek-overview/view.tsx @@ -13,6 +13,8 @@ import { ArchiveIssueModal, PeekOverviewIssueAttachments, } from "@/components/issues"; +// helpers +import { cn } from "@/helpers/common.helper"; // hooks import { useIssueDetail, useUser } from "@/hooks/store"; import useKeypress from "@/hooks/use-keypress"; @@ -110,11 +112,14 @@ export const IssueView: FC = observer((props) => { {issueId && (
Date: Wed, 10 Apr 2024 21:28:48 +0530 Subject: [PATCH 4/5] [WEB-937] fix: inbox issue hook render issue and code refactor (#4168) * fix: inbox issue hook render issue and code refactor * fix: inbox issue hook render issue and code refactor --- .../[workspaceSlug]/projects/[projectId]/inbox/index.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/pages/[workspaceSlug]/projects/[projectId]/inbox/index.tsx b/web/pages/[workspaceSlug]/projects/[projectId]/inbox/index.tsx index 3bc636ba9c..350f51f336 100644 --- a/web/pages/[workspaceSlug]/projects/[projectId]/inbox/index.tsx +++ b/web/pages/[workspaceSlug]/projects/[projectId]/inbox/index.tsx @@ -25,8 +25,6 @@ const ProjectInboxPage: NextPageWithLayout = observer(() => { const { currentProjectDetails } = useProject(); const { currentTab, handleCurrentTab } = useProjectInbox(); - if (!workspaceSlug || !projectId) return <>; - // No access to inbox if (currentProjectDetails?.inbox_view === false) return ( @@ -46,6 +44,8 @@ const ProjectInboxPage: NextPageWithLayout = observer(() => { handleCurrentTab(navigationTab === "open" ? EInboxIssueCurrentTab.OPEN : EInboxIssueCurrentTab.CLOSED); }, [currentTab, navigationTab, handleCurrentTab]); + if (!workspaceSlug || !projectId) return <>; + return (
From 9e3fedd0dfd16d3038603b9fecfa65e576212878 Mon Sep 17 00:00:00 2001 From: guru_sainath Date: Wed, 10 Apr 2024 21:29:21 +0530 Subject: [PATCH 5/5] chore: Handled inbox issue sorting locally in inbox store (#4169) --- web/store/inbox/project-inbox.store.ts | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/web/store/inbox/project-inbox.store.ts b/web/store/inbox/project-inbox.store.ts index e9c55489ac..289187cc9c 100644 --- a/web/store/inbox/project-inbox.store.ts +++ b/web/store/inbox/project-inbox.store.ts @@ -1,7 +1,6 @@ import isEmpty from "lodash/isEmpty"; import omit from "lodash/omit"; import orderBy from "lodash/orderBy"; -import reverse from "lodash/reverse"; import set from "lodash/set"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; @@ -138,21 +137,21 @@ export class ProjectInboxStore implements IProjectInboxStore { // helpers inboxIssueSorting = (issues: IInboxIssueStore[]) => { - console.log("issues", issues); - let inboxIssues: IInboxIssueStore[] = []; + let inboxIssues: IInboxIssueStore[] = issues; + inboxIssues = orderBy(inboxIssues, "issue.sequence_id", "desc"); if (this.inboxSorting?.order_by && this.inboxSorting?.sort_by) { switch (this.inboxSorting.order_by) { case "issue__created_at": - if (this.inboxSorting.sort_by === "desc") inboxIssues = orderBy(issues, ["issue", "created_at"]); - else inboxIssues = reverse(orderBy(issues, ["issue", "created_at"])); + if (this.inboxSorting.sort_by === "desc") inboxIssues = orderBy(inboxIssues, "issue.created_at", "desc"); + else inboxIssues = orderBy(inboxIssues, "issue.created_at", "asc"); case "issue__updated_at": - if (this.inboxSorting.sort_by === "desc") inboxIssues = orderBy(issues, ["issue", "updated_at"]); - else inboxIssues = reverse(orderBy(issues, ["issue", "updated_at"])); + if (this.inboxSorting.sort_by === "desc") inboxIssues = orderBy(inboxIssues, "issue.updated_at", "desc"); + else inboxIssues = orderBy(inboxIssues, "issue.updated_at", "asc"); case "issue__sequence_id": - if (this.inboxSorting.sort_by === "desc") inboxIssues = orderBy(issues, ["issue", "sequence_id"]); - else inboxIssues = reverse(orderBy(issues, ["issue", "sequence_id"])); + if (this.inboxSorting.sort_by === "desc") inboxIssues = orderBy(inboxIssues, "issue.sequence_id", "desc"); + else inboxIssues = orderBy(inboxIssues, "issue.sequence_id", "asc"); default: - inboxIssues = orderBy(issues, ["issue", "created_at"]); + inboxIssues = inboxIssues; } } return inboxIssues;