From 653005bb3b75da0dda5d34ef4337206782f7ab54 Mon Sep 17 00:00:00 2001 From: Bavisetti Narayan <72156168+NarayanBavisetti@users.noreply.github.com> Date: Mon, 6 May 2024 15:19:03 +0530 Subject: [PATCH 1/6] [WEB-1206] chore: bulk delete api logs (#4374) * chore: bulk delete api logs * chore: deletion time change --- apiserver/plane/bgtasks/api_logs_task.py | 15 +++++++++++++++ apiserver/plane/celery.py | 4 ++++ apiserver/plane/settings/common.py | 1 + 3 files changed, 20 insertions(+) create mode 100644 apiserver/plane/bgtasks/api_logs_task.py diff --git a/apiserver/plane/bgtasks/api_logs_task.py b/apiserver/plane/bgtasks/api_logs_task.py new file mode 100644 index 0000000000..038b939d54 --- /dev/null +++ b/apiserver/plane/bgtasks/api_logs_task.py @@ -0,0 +1,15 @@ +from django.utils import timezone +from datetime import timedelta +from plane.db.models import APIActivityLog +from celery import shared_task + + +@shared_task +def delete_api_logs(): + # Get the logs older than 30 days to delete + logs_to_delete = APIActivityLog.objects.filter( + created_at__lte=timezone.now() - timedelta(days=30) + ) + + # Delete the logs + logs_to_delete._raw_delete(logs_to_delete.db) diff --git a/apiserver/plane/celery.py b/apiserver/plane/celery.py index 056dfb16bc..d3e742f14a 100644 --- a/apiserver/plane/celery.py +++ b/apiserver/plane/celery.py @@ -32,6 +32,10 @@ app.conf.beat_schedule = { "task": "plane.bgtasks.email_notification_task.stack_email_notification", "schedule": crontab(minute="*/5"), }, + "check-every-day-to-delete-api-logs": { + "task": "plane.bgtasks.api_logs_task.delete_api_logs", + "schedule": crontab(hour=0, minute=0), + }, } # Load task modules from all registered Django app configs. diff --git a/apiserver/plane/settings/common.py b/apiserver/plane/settings/common.py index 06c6778d97..5a99f06efc 100644 --- a/apiserver/plane/settings/common.py +++ b/apiserver/plane/settings/common.py @@ -293,6 +293,7 @@ CELERY_IMPORTS = ( "plane.bgtasks.exporter_expired_task", "plane.bgtasks.file_asset_task", "plane.bgtasks.email_notification_task", + "plane.bgtasks.api_logs_task", # management tasks "plane.bgtasks.dummy_data_task", ) From 463f4781aeb4d16e0a4ee147a562c6dfbea152ac Mon Sep 17 00:00:00 2001 From: rahulramesha <71900764+rahulramesha@users.noreply.github.com> Date: Mon, 6 May 2024 15:22:45 +0530 Subject: [PATCH 2/6] [WEB-1137] fix: Firefox distorted vertical text (#4376) --- .../issues/issue-layouts/kanban/headers/group-by-card.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/components/issues/issue-layouts/kanban/headers/group-by-card.tsx b/web/components/issues/issue-layouts/kanban/headers/group-by-card.tsx index afdd335158..c84e751808 100644 --- a/web/components/issues/issue-layouts/kanban/headers/group-by-card.tsx +++ b/web/components/issues/issue-layouts/kanban/headers/group-by-card.tsx @@ -111,8 +111,8 @@ export const HeaderGroupByCard: FC = observer((props) => {
Date: Mon, 6 May 2024 15:27:56 +0530 Subject: [PATCH 3/6] [WEB-1007] chore: invalid issue error empty state added (#4372) --- .../projects/[projectId]/issues/[issueId].tsx | 35 +++++++++++++++---- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/web/pages/[workspaceSlug]/projects/[projectId]/issues/[issueId].tsx b/web/pages/[workspaceSlug]/projects/[projectId]/issues/[issueId].tsx index 27dfe92efa..556337b859 100644 --- a/web/pages/[workspaceSlug]/projects/[projectId]/issues/[issueId].tsx +++ b/web/pages/[workspaceSlug]/projects/[projectId]/issues/[issueId].tsx @@ -1,25 +1,32 @@ import React, { ReactElement, useEffect } from "react"; import { observer } from "mobx-react-lite"; import { useRouter } from "next/router"; +import { useTheme } from "next-themes"; import useSWR from "swr"; -// layouts +// ui import { Loader } from "@plane/ui"; -import { PageHead } from "@/components/core"; // components +import { EmptyState } from "@/components/common"; +import { PageHead } from "@/components/core"; import { ProjectIssueDetailsHeader } from "@/components/headers"; import { IssueDetailRoot } from "@/components/issues"; -// ui -// types -// store hooks +// hooks import { useApplication, useIssueDetail, useProject } from "@/hooks/store"; +// layouts import { AppLayout } from "@/layouts/app-layout"; +// types import { NextPageWithLayout } from "@/lib/types"; +// assets +import emptyIssueDark from "public/empty-state/search/issue-dark.webp"; +import emptyIssueLight from "public/empty-state/search/issues-light.webp"; const IssueDetailsPage: NextPageWithLayout = observer(() => { // router const router = useRouter(); const { workspaceSlug, projectId, issueId } = router.query; // hooks + const { resolvedTheme } = useTheme(); + // store hooks const { fetchIssue, issue: { getIssueById }, @@ -27,7 +34,11 @@ const IssueDetailsPage: NextPageWithLayout = observer(() => { const { getProjectById } = useProject(); const { theme: themeStore } = useApplication(); // fetching issue details - const { isLoading, data: swrIssueDetails } = useSWR( + const { + isLoading, + data: swrIssueDetails, + error, + } = useSWR( workspaceSlug && projectId && issueId ? `ISSUE_DETAIL_${workspaceSlug}_${projectId}_${issueId}` : null, workspaceSlug && projectId && issueId ? () => fetchIssue(workspaceSlug.toString(), projectId.toString(), issueId.toString()) @@ -57,7 +68,17 @@ const IssueDetailsPage: NextPageWithLayout = observer(() => { return ( <> - {issueLoader ? ( + {error ? ( + router.push(`/${workspaceSlug}/projects/${projectId}/issues`), + }} + /> + ) : issueLoader ? (
From 59f1cc1962d479930f5ac61589e56c17b5d3c1d3 Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com> Date: Mon, 6 May 2024 15:28:33 +0530 Subject: [PATCH 4/6] [WEB-1114] chore: recent activity message updated (#4371) --- web/components/core/activity.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/web/components/core/activity.tsx b/web/components/core/activity.tsx index a70cd07279..2726ccdc3e 100644 --- a/web/components/core/activity.tsx +++ b/web/components/core/activity.tsx @@ -724,6 +724,7 @@ const activityDetails: { )} + {activity.verb === "2" && ` from inbox by marking a duplicate issue.`} ), icon: