From 901a7703ff2008d4ed9803cb024f7f4e2835d9d5 Mon Sep 17 00:00:00 2001
From: Lakhan Baheti <94619783+1akhanBaheti@users.noreply.github.com>
Date: Wed, 20 Mar 2024 18:06:45 +0530
Subject: [PATCH 01/15] fix: project, module, cycle filter store infinite loop
(#3994)
---
web/store/cycle_filter.store.ts | 16 +++++++++-------
web/store/module_filter.store.ts | 16 +++++++++-------
web/store/project/project_filter.store.ts | 16 +++++++++-------
3 files changed, 27 insertions(+), 21 deletions(-)
diff --git a/web/store/cycle_filter.store.ts b/web/store/cycle_filter.store.ts
index b610741b9..2c57b5e78 100644
--- a/web/store/cycle_filter.store.ts
+++ b/web/store/cycle_filter.store.ts
@@ -1,4 +1,4 @@
-import { action, computed, observable, makeObservable, runInAction, autorun } from "mobx";
+import { action, computed, observable, makeObservable, runInAction, reaction } from "mobx";
import { computedFn } from "mobx-utils";
import set from "lodash/set";
// types
@@ -49,11 +49,13 @@ export class CycleFilterStore implements ICycleFilterStore {
// root store
this.rootStore = _rootStore;
// initialize display filters of the current project
- autorun(() => {
- const projectId = this.rootStore.app.router.projectId;
- if (!projectId) return;
- this.initProjectCycleFilters(projectId);
- });
+ reaction(
+ () => this.rootStore.app.router.projectId,
+ (projectId) => {
+ if (!projectId) return;
+ this.initProjectCycleFilters(projectId);
+ }
+ );
}
/**
@@ -97,7 +99,7 @@ export class CycleFilterStore implements ICycleFilterStore {
active_tab: displayFilters?.active_tab || "active",
layout: displayFilters?.layout || "list",
};
- this.filters[projectId] = {};
+ this.filters[projectId] = this.filters[projectId] ?? {};
});
};
diff --git a/web/store/module_filter.store.ts b/web/store/module_filter.store.ts
index 7ead79e7e..ae5d07135 100644
--- a/web/store/module_filter.store.ts
+++ b/web/store/module_filter.store.ts
@@ -1,4 +1,4 @@
-import { action, computed, observable, makeObservable, runInAction, autorun } from "mobx";
+import { action, computed, observable, makeObservable, runInAction, reaction } from "mobx";
import { computedFn } from "mobx-utils";
import set from "lodash/set";
// types
@@ -49,11 +49,13 @@ export class ModuleFilterStore implements IModuleFilterStore {
// root store
this.rootStore = _rootStore;
// initialize display filters of the current project
- autorun(() => {
- const projectId = this.rootStore.app.router.projectId;
- if (!projectId) return;
- this.initProjectModuleFilters(projectId);
- });
+ reaction(
+ () => this.rootStore.app.router.projectId,
+ (projectId) => {
+ if (!projectId) return;
+ this.initProjectModuleFilters(projectId);
+ }
+ );
}
/**
@@ -98,7 +100,7 @@ export class ModuleFilterStore implements IModuleFilterStore {
layout: displayFilters?.layout || "list",
order_by: displayFilters?.order_by || "name",
};
- this.filters[projectId] = {};
+ this.filters[projectId] = this.filters[projectId] ?? {};
});
};
diff --git a/web/store/project/project_filter.store.ts b/web/store/project/project_filter.store.ts
index 013f2dff5..7d6aff96f 100644
--- a/web/store/project/project_filter.store.ts
+++ b/web/store/project/project_filter.store.ts
@@ -1,4 +1,4 @@
-import { action, computed, observable, makeObservable, runInAction, autorun } from "mobx";
+import { action, computed, observable, makeObservable, runInAction, reaction } from "mobx";
import { computedFn } from "mobx-utils";
import set from "lodash/set";
// types
@@ -49,11 +49,13 @@ export class ProjectFilterStore implements IProjectFilterStore {
// root store
this.rootStore = _rootStore;
// initialize display filters of the current workspace
- autorun(() => {
- const workspaceSlug = this.rootStore.app.router.workspaceSlug;
- if (!workspaceSlug) return;
- this.initWorkspaceFilters(workspaceSlug);
- });
+ reaction(
+ () => this.rootStore.app.router.workspaceSlug,
+ (workspaceSlug) => {
+ if (!workspaceSlug) return;
+ this.initWorkspaceFilters(workspaceSlug);
+ }
+ );
}
/**
@@ -96,7 +98,7 @@ export class ProjectFilterStore implements IProjectFilterStore {
this.displayFilters[workspaceSlug] = {
order_by: displayFilters?.order_by || "created_at",
};
- this.filters[workspaceSlug] = {};
+ this.filters[workspaceSlug] = this.filters[workspaceSlug] ?? {};
});
};
From 4ea616f1cd0a2a52cbfa50c19c0aaced203a7302 Mon Sep 17 00:00:00 2001
From: Lakhan Baheti <94619783+1akhanBaheti@users.noreply.github.com>
Date: Wed, 20 Mar 2024 18:07:11 +0530
Subject: [PATCH 02/15] fix: Labels overflow in peek, detail view (#3995)
---
.../issues/issue-detail/label/create-label.tsx | 17 +++++++++++++----
.../issue-detail/label/select/label-select.tsx | 2 +-
2 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/web/components/issues/issue-detail/label/create-label.tsx b/web/components/issues/issue-detail/label/create-label.tsx
index f20fa4721..160ff0071 100644
--- a/web/components/issues/issue-detail/label/create-label.tsx
+++ b/web/components/issues/issue-detail/label/create-label.tsx
@@ -7,6 +7,8 @@ import { IIssueLabel } from "@plane/types";
// hooks
import { Input, TOAST_TYPE, setToast } from "@plane/ui";
import { useIssueDetail } from "@/hooks/store";
+// helpers
+import { cn } from "helpers/common.helper";
// ui
// types
import { TLabelOperations } from "./root";
@@ -29,6 +31,7 @@ export const LabelCreate: FC
+ Create new cycles to find them here or check
+
+ {"'"}All{"'"} cycles tab to see all cycles or{" "}
+
+