Skip to content

chore: format files using prettier#7364

Merged
sriramveeraghanta merged 3 commits intopreviewfrom
chore-format-files
Jul 8, 2025
Merged

chore: format files using prettier#7364
sriramveeraghanta merged 3 commits intopreviewfrom
chore-format-files

Conversation

@sriramveeraghanta
Copy link
Member

@sriramveeraghanta sriramveeraghanta commented Jul 8, 2025

Description

  • Format files using prettier

Type of Change

  • Code refactoring

Summary by CodeRabbit

  • Style
    • Improved code formatting and consistency across multiple files, including indentation, import statements, array and object declarations, and JSX structure.
    • Reformatted type and function signatures for better readability without changing logic or behavior.
    • Added or removed trailing commas, semicolons, blank lines, and newlines for stylistic consistency.
    • Updated JSON and CSS files for improved formatting and readability.
  • Documentation
    • Enhanced formatting and consistency in documentation files.
  • Refactor
    • Consolidated or reorganized code for clarity, such as combining import statements and simplifying return statements.
  • No user-facing features or bug fixes were introduced in this release.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jul 8, 2025

"""

Walkthrough

This update consists of widespread formatting and stylistic changes across the codebase. Modifications include adjusting whitespace, line breaks, semicolon usage, import statement formatting, and array or type declaration styles. No functional, logical, or behavioral changes are introduced; all code logic, control flow, and public interfaces remain intact. Several files also receive newline corrections or improved indentation.

Changes

Files/Groups Change Summary
apps/live/src/ce/lib/fetch-document.ts, apps/live/src/ce/lib/update-document.ts, apps/live/src/ee/lib/fetch-document.ts, apps/live/src/ee/types/common.d.ts, packages/constants/src/analytics/index.ts Added missing semicolons to export/type statements; no logic changes.
apps/live/src/core/extensions/index.ts, apps/live/src/core/helpers/error-handler.ts, apps/live/src/core/helpers/page.ts, apps/live/src/core/hocuspocus-server.ts, apps/live/src/core/lib/page.ts Code formatting: consolidated imports, single-line expressions, and improved readability; no logic changes.
apps/live/src/core/services/page.service.ts Refactored async method formatting and promise chains to single lines; no logic changes.
apps/space/core/components/issues/filters/applied-filters/root.tsx, apps/space/core/components/issues/issue-layouts/kanban/kanban-group.tsx Added parentheses to clarify optional chaining/nullish coalescing; logic unchanged.
apps/space/core/components/issues/issue-layouts/kanban/swimlanes.tsx Reformatted JSX prop declarations to single line; no logic changes.
apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/cycles/page.tsx, ... Added or removed trailing newlines or blank lines; no code changes.
apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/sidebar.tsx, ... Reformatted import statements (single-line ↔ multi-line); no logic changes.
apps/web/app/(all)/layout.preload.tsx Parenthesized arrow function parameter; logic unchanged.
apps/web/app/(all)/sign-up/layout.tsx Corrected object literal syntax in metadata export; no logic change.
apps/web/app/(home)/layout.tsx Simplified JSX return statement; no logic change.
apps/web/ce/components/global/product-updates-header.tsx, ... Adjusted indentation or JSX formatting; no logic changes.
apps/web/core/components/global/product-updates/footer.tsx Restructured footer links, moved Discord link inline, updated right anchor to Plane Pages; styling changes.
apps/web/core/components/issues/archived-issues-header.tsx, ... Reformatted JSX structure or imports; no logic changes.
apps/web/core/store/user/profile.store.ts Converted async method to arrow function property; logic unchanged.
apps/web/core/store/workspace/home.ts Reformatted method signature to multi-line; no logic changes.
apps/web/core/local-db/worker/wa-sqlite/src/types/index.d.ts Standardized spacing and formatting in type declarations; no logic changes.
apps/web/public/animated-icons/uploading.json Reformatted and expanded JSON for readability; animation unchanged.
apps/web/styles/nprogress.css Reformatted box-shadow property to multi-line; no style changes.
packages/constants/src/issue/layout.ts, packages/constants/src/tab-indices.ts, packages/constants/src/themes.ts, ... Reformatted type/array declarations to single line; no logic changes.
packages/types/src/activity.ts, packages/types/src/instance/auth.ts, packages/types/src/command-palette.ts Reformatted type parameter or alias declarations; no logic changes.
packages/propel/src/charts/components/legend.tsx, ... Adjusted indentation or function syntax; no logic changes.
packages/decorators/src/rest.ts Added trailing commas to function signatures; no logic changes.
packages/decorators/tsconfig.json, packages/services/tsconfig.json Reformatted arrays or removed trailing commas in config; no config changes.
packages/logger/README.md Improved formatting, code block consistency, and whitespace in documentation.
Many other files Minor formatting, whitespace, or stylistic updates; no logic or interface changes.

Sequence Diagram(s)

No sequence diagrams are generated, as the changes are exclusively stylistic and do not introduce or modify control flow or features.

Possibly related PRs

Suggested labels

🧹chore, ready_to_merge

Poem

Hopping through fields of code so wide,
I nibbled on whitespace, with formatting as my guide.
Semicolons in place, arrays in a row,
Imports all tidy, let the clean code flow!
No logic disturbed, just a neater domain—
This rabbit’s proud of your code’s new refrain!
🐇✨
"""


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between cf5dbd6 and 4f5805d.

📒 Files selected for processing (22)
  • apps/api/plane/api/views/issue.py (1 hunks)
  • apps/api/plane/app/serializers/cycle.py (1 hunks)
  • apps/api/plane/app/serializers/issue.py (0 hunks)
  • apps/api/plane/app/serializers/project.py (1 hunks)
  • apps/api/plane/app/serializers/user.py (1 hunks)
  • apps/api/plane/app/serializers/view.py (0 hunks)
  • apps/api/plane/app/views/analytic/advance.py (2 hunks)
  • apps/api/plane/app/views/notification/base.py (1 hunks)
  • apps/api/plane/db/management/commands/create_dummy_data.py (1 hunks)
  • apps/api/plane/tests/conftest.py (1 hunks)
  • apps/api/plane/tests/conftest_external.py (4 hunks)
  • apps/api/plane/tests/contract/app/__init__.py (0 hunks)
  • apps/api/plane/tests/contract/app/test_authentication.py (17 hunks)
  • apps/api/plane/tests/contract/app/test_workspace_app.py (4 hunks)
  • apps/api/plane/tests/factories.py (3 hunks)
  • apps/api/plane/tests/smoke/test_auth_smoke.py (2 hunks)
  • apps/api/plane/tests/unit/models/test_workspace_model.py (2 hunks)
  • apps/api/plane/tests/unit/serializers/test_workspace.py (3 hunks)
  • apps/api/plane/tests/unit/utils/test_uuid.py (2 hunks)
  • apps/api/plane/utils/global_paginator.py (1 hunks)
  • apps/api/plane/utils/paginator.py (1 hunks)
  • apps/api/run_tests.py (3 hunks)
💤 Files with no reviewable changes (3)
  • apps/api/plane/app/serializers/view.py
  • apps/api/plane/app/serializers/issue.py
  • apps/api/plane/tests/contract/app/init.py
✅ Files skipped from review due to trivial changes (17)
  • apps/api/plane/tests/conftest.py
  • apps/api/plane/app/serializers/project.py
  • apps/api/plane/utils/global_paginator.py
  • apps/api/plane/tests/conftest_external.py
  • apps/api/plane/tests/factories.py
  • apps/api/plane/app/serializers/user.py
  • apps/api/plane/tests/unit/utils/test_uuid.py
  • apps/api/plane/api/views/issue.py
  • apps/api/plane/tests/smoke/test_auth_smoke.py
  • apps/api/plane/utils/paginator.py
  • apps/api/plane/db/management/commands/create_dummy_data.py
  • apps/api/plane/tests/unit/serializers/test_workspace.py
  • apps/api/plane/app/views/analytic/advance.py
  • apps/api/plane/app/serializers/cycle.py
  • apps/api/run_tests.py
  • apps/api/plane/tests/contract/app/test_workspace_app.py
  • apps/api/plane/tests/contract/app/test_authentication.py
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Analyze (javascript)
🔇 Additional comments (5)
apps/api/plane/tests/unit/models/test_workspace_model.py (4)

16-16: LGTM - Clean formatting improvement

The consolidation of Workspace.objects.create() arguments into a single line improves readability and is consistent with the PR's formatting objectives.


30-30: LGTM - Consistent formatting applied

The same formatting improvement as line 16, maintaining consistency across the test methods.


37-37: LGTM - Proper comma placement

The addition of the trailing comma after the role=20 parameter follows Python best practices and improves maintainability for future parameter additions.


44-44: LGTM - Formatting consistency

The assertion statement formatting aligns with the overall formatting improvements in this PR.

apps/api/plane/app/views/notification/base.py (1)

40-40: Critical syntax fix for Django ORM optimization.

The corrected select_related call now properly separates the related fields into individual string arguments, ensuring proper eager loading of the workspace, project, triggered_by, and receiver models. This fix prevents potential N+1 query issues that would have occurred with the previous string concatenation.

✨ Finishing Touches
  • 📝 Generate Docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

🧹 Nitpick comments (22)
apps/web/public/animated-icons/uploading.json (2)

16-17: Minor naming nitpick – non-English layer labels.

"nm": "Слой 18" (and similar) may cause searchability issues for non-Cyrillic readers. If localisation isn’t required, consider renaming layers to English for consistency across assets.


1-10: Consider committing minified assets for production bundles.

Readable, pretty-printed JSON is great for source control, but shipping the raw file can bloat web payloads (this file is ~23 KB prettified vs. ~12 KB minified).
If your build pipeline doesn’t already compress Lottie files, you could add a step that strips whitespace before publishing.

apps/web/ce/components/relations/activity.ts (2)

8-10: Improve wording for clarity (“blocking” case)

marked this work item is blocking work item reads awkwardly. Adding the missing “as” makes the sentence flow better.

-return activity.old_value === ""
-  ? `marked this work item is blocking work item `
-  : `removed the blocking work item `;
+return activity.old_value === ""
+  ? `marked this work item as blocking work item `
+  : `removed the blocking work item `;

16-18: Consistent article usage (“duplicate” case)

Likewise, inserting an “a” yields a more natural phrase: “marked this work item as a duplicate of …”.

-return activity.old_value === ""
-  ? `marked this work item as duplicate of `
-  : `removed this work item as a duplicate of `;
+return activity.old_value === ""
+  ? `marked this work item as a duplicate of `
+  : `removed this work item as a duplicate of `;
packages/editor/src/core/components/menus/bubble-menu/root.tsx (1)

41-48: Extract duplicated color option shape into a dedicated type

color and backgroundColor both use the same { key; label; textColor; backgroundColor } structure. Defining this once as a ColorOption interface keeps the interface concise and prevents the two definitions from drifting out of sync.

 export interface EditorStateType {
   code: boolean;
   bold: boolean;
   ...
-  color: { key: string; label: string; textColor: string; backgroundColor: string } | undefined;
-  backgroundColor:
-    | {
-        key: string;
-        label: string;
-        textColor: string;
-        backgroundColor: string;
-      }
-    | undefined;
+  color: ColorOption | undefined;
+  backgroundColor: ColorOption | undefined;
 }
+
+interface ColorOption {
+  key: string;
+  label: string;
+  textColor: string;
+  backgroundColor: string;
+}

Purely a type-level refactor; no behaviour change, but improves readability and maintainability.

packages/constants/src/chart.ts (1)

34-39: Optionally mark palette data as readonly for stronger type-safety

If the palette list is never mutated at runtime (which seems likely for a constants module), consider marking the array as readonly to prevent accidental writes and preserve literal string inferences:

-export const CHART_COLOR_PALETTES: {
+export const CHART_COLOR_PALETTES: readonly {
   key: TChartColorScheme;
   i18n_label: string;
   light: readonly string[];
   dark: readonly string[];
-}[] = [
+}[] = [-];
+] as const;

This narrows the types of key, light, and dark elements to their literal values and guards against accidental mutation elsewhere in the codebase.

packages/editor/src/core/components/editors/editor-container.tsx (1)

52-55: Potential off-by-one in last-node resolution

doc.resolve(Math.max(0, docSize - 2)) may skip the actual last node when the document ends with an inline node of size 1 (common for an empty paragraph). In ProseMirror, resolving at docSize - 1 or using editor.state.doc.lastChild is clearer and less brittle.

-const lastNodePos = editor.state.doc.resolve(Math.max(0, docSize - 2));
-const lastNode = lastNodePos.node();
+const lastNode = editor.state.doc.lastChild;

Recommend verifying edge cases (empty doc, last node size) and adjusting accordingly.

packages/logger/README.md (4)

5-6: Remove trailing period in the header

Markdown section headers conventionally omit terminal punctuation. Dropping the trailing period will keep the doc style consistent with the other headings.

-## Features.
+## Features

14-16: Tweak the dependency snippet for validity & clarity

  1. A blank line after the “Adding as a package” header is fine, but the snippet below is syntactically invalid JSON/TS:
    dependency should be dependencies
    • Keys and values require double quotes.

Consider replacing with something like:

-```typescript
-dependency: {
-    ...
-    @plane/logger":"*",
-    ...
-}
+```json
+"dependencies": {
+  "@plane/logger": "*"
+}

This prevents copy-paste errors for users.

---

`30-32`: **Duplicate “### Usage” header — consider dropping one**

There are two consecutive `### Usage`-level sections (lines 31 & 32). Keeping only the first, then demoting the specialised sections (`logger`, `requestLogger`) avoids confusing navigation in rendered Markdown.

---

`63-65`: **Minor wording/grammar improvement for log-file description**

```diff
-- Log files are stored in logs folder of current working directory. Error logs are stored in files with format `error-%DATE%.log` and combined logs are stored with format `combined-%DATE%.log`.
+- Log files are stored in **the** `logs` folder of the current working directory. Error logs use the pattern `error-%DATE%.log`, while combined logs use `combined-%DATE%.log`.

Adds missing articles and breaks the long sentence for readability.

packages/types/src/command-palette.ts (1)

1-1: Optional: wrap long type alias for readability

The 120-character line can be hard to scan in diff views. Consider multi-line formatting:

-export type TCommandPaletteActionList = Record<string, { title: string; description: string; action: () => void }>;
+export type TCommandPaletteActionList = Record<
+  string,
+  {
+    title: string;
+    description: string;
+    action: () => void;
+  }
+>;
apps/web/core/lib/n-progress/utils/sameURL.ts (1)

2-3: Prefer URL.origin for cleaner/safer concatenation

URL.origin already includes protocol, hostname, and port. Using it reduces duplication and chance of mismatch.

-  const cleanTarget = target.protocol + "//" + target.host + target.pathname + target.search;
-  const cleanCurrent = current.protocol + "//" + current.host + current.pathname + current.search;
+  const cleanTarget = target.origin + target.pathname + target.search;
+  const cleanCurrent = current.origin + current.pathname + current.search;
@@
-  const cleanTarget = target.protocol + "//" + target.host + target.pathname;
-  const cleanCurrent = current.protocol + "//" + current.host + current.pathname;
+  const cleanTarget = target.origin + target.pathname;
+  const cleanCurrent = current.origin + current.pathname;

Also applies to: 9-10

apps/live/src/ce/lib/update-document.ts (1)

10-15: Prefer new Error() for richer stack traces

Minor, but using the Error constructor without new produces a string-typed error in some runtimes and omits the stack trace in others. Swapping to new Error() is the usual convention.

-  throw Error(`Update failed: Invalid document type ${documentType} provided.`);
+  throw new Error(`Update failed: Invalid document type ${documentType} provided.`);
apps/live/src/ce/lib/fetch-document.ts (1)

9-14: Use new Error() for consistency with typical Node / TS code

Same rationale as in update-document.ts: favour new Error() for consistent error objects.

-  throw Error(`Fetch failed: Invalid document type ${documentType} provided.`);
+  throw new Error(`Fetch failed: Invalid document type ${documentType} provided.`);
apps/live/src/core/lib/page.ts (2)

37-43: Consider annotating an explicit return type

fetchDescriptionHTMLAndTransform currently returns either Uint8Array or undefined, but the function signature is implicitly Promise<any>. Explicit typing improves readability and downstream type-safety.

-const fetchDescriptionHTMLAndTransform = async (
+const fetchDescriptionHTMLAndTransform = async (
   workspaceSlug: string,
   projectId: string,
   pageId: string,
   cookie: string
-) => {
+) : Promise<Uint8Array | undefined> => {

13-15: Nit: same new Error point here

For consistency across the codebase:

-  throw Error("Invalid updatedDescription: must be an instance of Uint8Array");
+  throw new Error("Invalid updatedDescription: must be an instance of Uint8Array");
apps/live/src/core/extensions/index.ts (1)

31-42: Drop the manual Promise wrapper

fetch is already an async function; wrapping the body in new Promise(async …) is redundant and obscures error propagation. You can return the awaited value directly:

-        // eslint-disable-next-line no-async-promise-executor
-        return new Promise(async (resolve) => {
-          try {
-            let fetchedData = null;
-            if (documentType === "project_page") {
-              fetchedData = await fetchPageDescriptionBinary(params, pageId, cookie);
-            } else {
-              fetchedData = await fetchDocument({ cookie, documentType, pageId, params });
-            }
-            resolve(fetchedData);
-          } catch (error) {
-            manualLogger.error("Error in fetching document", error);
-          }
-        });
+        try {
+          if (documentType === "project_page") {
+            return await fetchPageDescriptionBinary(params, pageId, cookie);
+          }
+          return await fetchDocument({ cookie, documentType, pageId, params });
+        } catch (error) {
+          manualLogger.error("Error in fetching document", error);
+          return null;
+        }

Same applies to the store handler below.

apps/live/src/core/services/page.service.ts (1)

23-31: Tighten the return type of fetchDescriptionBinary

responseType: "arraybuffer" always yields an ArrayBuffer. Returning Promise<ArrayBuffer> instead of any avoids downstream any leakage.

-  async fetchDescriptionBinary(...): Promise<any> {
+  async fetchDescriptionBinary(...): Promise<ArrayBuffer> {

Apply similar specificity to other methods if feasible.

apps/live/src/core/helpers/page.ts (3)

11-17: Consider tightening the return-type instead of using plain object.

contentJSON is always a ProseMirror‐compatible JSON node. Exposing it as object loses all compile-time safety.

-): {
-  contentBinaryEncoded: string;
-  contentJSON: object;
-  contentHTML: string;
-} => {
+): {
+  contentBinaryEncoded: string;
+  contentJSON: ProseMirrorNodeJSON; // or Record<string, unknown>
+  contentHTML: string;
+} => {

Defining (or re-using) a ProseMirrorNodeJSON interface makes downstream code less error-prone.


24-27: Minor: suppress intermediate type variable if desired.

yXmlFragmentToProseMirrorRootNode returns the node directly, so you can inline the call:

-const type = yDoc.getXmlFragment("default");
-const contentJSON = yXmlFragmentToProseMirrorRootNode(type, documentEditorSchema).toJSON();
+const contentJSON = yXmlFragmentToProseMirrorRootNode(
+  yDoc.getXmlFragment("default"),
+  documentEditorSchema,
+).toJSON();

Purely stylistic – feel free to ignore.


35-44: Return type could be a plain Uint8Array instead of wrapper object.

Unless the caller expects an object, returning the raw Uint8Array keeps the API minimal:

-export const getBinaryDataFromHTMLString = (
-  descriptionHTML: string
-): {
-  contentBinary: Uint8Array;
-} => {
+export const getBinaryDataFromHTMLString = (
+  descriptionHTML: string,
+): Uint8Array => {
 ...
-return { contentBinary: encodedData };
+return encodedData;

This is optional and outside the scope of the formatting PR; mentioning for future cleanliness.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0225d80 and cf5dbd6.

📒 Files selected for processing (107)
  • apps/live/src/ce/lib/fetch-document.ts (1 hunks)
  • apps/live/src/ce/lib/update-document.ts (1 hunks)
  • apps/live/src/core/extensions/index.ts (5 hunks)
  • apps/live/src/core/helpers/error-handler.ts (1 hunks)
  • apps/live/src/core/helpers/page.ts (3 hunks)
  • apps/live/src/core/hocuspocus-server.ts (2 hunks)
  • apps/live/src/core/lib/page.ts (3 hunks)
  • apps/live/src/core/services/page.service.ts (2 hunks)
  • apps/live/src/ee/lib/fetch-document.ts (1 hunks)
  • apps/live/src/ee/types/common.d.ts (1 hunks)
  • apps/space/core/components/issues/filters/applied-filters/root.tsx (1 hunks)
  • apps/space/core/components/issues/issue-layouts/kanban/kanban-group.tsx (1 hunks)
  • apps/space/core/components/issues/issue-layouts/kanban/swimlanes.tsx (1 hunks)
  • apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/cycles/page.tsx (1 hunks)
  • apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(list)/page.tsx (1 hunks)
  • apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/sidebar.tsx (1 hunks)
  • apps/web/app/(all)/layout.preload.tsx (1 hunks)
  • apps/web/app/(all)/sign-up/layout.tsx (1 hunks)
  • apps/web/app/(home)/layout.tsx (1 hunks)
  • apps/web/ce/components/common/subscription/index.ts (1 hunks)
  • apps/web/ce/components/global/product-updates-header.tsx (1 hunks)
  • apps/web/ce/components/global/version-number.tsx (1 hunks)
  • apps/web/ce/components/issues/bulk-operations/index.ts (1 hunks)
  • apps/web/ce/components/issues/issue-modal/index.ts (0 hunks)
  • apps/web/ce/components/relations/activity.ts (1 hunks)
  • apps/web/ce/helpers/workspace.helper.ts (1 hunks)
  • apps/web/ce/services/project/index.ts (1 hunks)
  • apps/web/ce/types/projects/projects.ts (1 hunks)
  • apps/web/core/components/account/oauth/oauth-options.tsx (1 hunks)
  • apps/web/core/components/analytics/select/project.tsx (1 hunks)
  • apps/web/core/components/analytics/work-items/workitems-insight-table.tsx (0 hunks)
  • apps/web/core/components/api-token/modal/form.tsx (1 hunks)
  • apps/web/core/components/api-token/token-list-item.tsx (1 hunks)
  • apps/web/core/components/automation/auto-archive-automation.tsx (1 hunks)
  • apps/web/core/components/chart/utils.ts (3 hunks)
  • apps/web/core/components/global/product-updates/footer.tsx (1 hunks)
  • apps/web/core/components/issues/archived-issues-header.tsx (2 hunks)
  • apps/web/core/components/issues/attachment/attachment-detail.tsx (1 hunks)
  • apps/web/core/components/issues/filters.tsx (1 hunks)
  • apps/web/core/components/issues/issue-detail/issue-detail-quick-actions.tsx (1 hunks)
  • apps/web/core/components/issues/issue-layouts/gantt/index.ts (0 hunks)
  • apps/web/core/components/issues/issue-layouts/spreadsheet/base-spreadsheet-root.tsx (1 hunks)
  • apps/web/core/components/issues/issue-modal/form.tsx (1 hunks)
  • apps/web/core/components/issues/select/label.tsx (1 hunks)
  • apps/web/core/components/issues/workspace-draft/empty-state.tsx (1 hunks)
  • apps/web/core/components/modules/gantt-chart/modules-list-layout.tsx (1 hunks)
  • apps/web/core/components/profile/overview/activity.tsx (1 hunks)
  • apps/web/core/components/profile/profile-issues-filter.tsx (2 hunks)
  • apps/web/core/components/workspace-notifications/sidebar/notification-card/content.tsx (1 hunks)
  • apps/web/core/components/workspace/logo.tsx (0 hunks)
  • apps/web/core/components/workspace/sidebar/favorites/favorites.helpers.ts (2 hunks)
  • apps/web/core/components/workspace/sidebar/favorites/index.ts (1 hunks)
  • apps/web/core/components/workspace/views/header.tsx (1 hunks)
  • apps/web/core/lib/n-progress/index.tsx (1 hunks)
  • apps/web/core/lib/n-progress/utils/sameURL.ts (1 hunks)
  • apps/web/core/lib/posthog-view.tsx (2 hunks)
  • apps/web/core/lib/store-context.tsx (1 hunks)
  • apps/web/core/local-db/worker/wa-sqlite/src/types/globals.d.ts (1 hunks)
  • apps/web/core/local-db/worker/wa-sqlite/src/types/index.d.ts (29 hunks)
  • apps/web/core/store/issue/draft/issue.store.ts (1 hunks)
  • apps/web/core/store/issue/helpers/base-issues.store.ts (1 hunks)
  • apps/web/core/store/issue/profile/issue.store.ts (1 hunks)
  • apps/web/core/store/issue/root.store.ts (1 hunks)
  • apps/web/core/store/issue/workspace-draft/filter.store.ts (1 hunks)
  • apps/web/core/store/user/profile.store.ts (1 hunks)
  • apps/web/core/store/workspace/home.ts (1 hunks)
  • apps/web/ee/components/active-cycles/workspace-active-cycles-upgrade.tsx (1 hunks)
  • apps/web/ee/components/breadcrumbs/index.ts (1 hunks)
  • apps/web/ee/components/issues/bulk-operations/index.ts (1 hunks)
  • apps/web/ee/components/issues/issue-layouts/quick-action-dropdowns/index.ts (1 hunks)
  • apps/web/ee/components/sidebar/index.ts (1 hunks)
  • apps/web/ee/components/workspace/billing/index.ts (1 hunks)
  • apps/web/public/animated-icons/uploading.json (1 hunks)
  • apps/web/styles/nprogress.css (1 hunks)
  • packages/constants/src/analytics/index.ts (1 hunks)
  • packages/constants/src/auth.ts (1 hunks)
  • packages/constants/src/chart.ts (1 hunks)
  • packages/constants/src/issue/layout.ts (1 hunks)
  • packages/constants/src/metadata.ts (1 hunks)
  • packages/constants/src/notification.ts (1 hunks)
  • packages/constants/src/tab-indices.ts (2 hunks)
  • packages/constants/src/themes.ts (1 hunks)
  • packages/constants/src/user.ts (1 hunks)
  • packages/decorators/src/index.ts (0 hunks)
  • packages/decorators/src/rest.ts (1 hunks)
  • packages/decorators/tsconfig.json (1 hunks)
  • packages/decorators/tsup.config.ts (1 hunks)
  • packages/editor/src/ce/types/utils.ts (1 hunks)
  • packages/editor/src/core/components/editors/editor-container.tsx (1 hunks)
  • packages/editor/src/core/components/menus/bubble-menu/root.tsx (1 hunks)
  • packages/hooks/src/use-local-storage.tsx (3 hunks)
  • packages/logger/README.md (4 hunks)
  • packages/propel/src/charts/components/legend.tsx (2 hunks)
  • packages/propel/src/charts/components/tick.tsx (1 hunks)
  • packages/propel/src/charts/radar-chart/index.ts (1 hunks)
  • packages/propel/src/charts/scatter-chart/index.ts (1 hunks)
  • packages/propel/src/charts/scatter-chart/root.tsx (1 hunks)
  • packages/propel/src/charts/tree-map/map-content.tsx (1 hunks)
  • packages/propel/src/table/index.ts (1 hunks)
  • packages/services/src/file/file-upload.service.ts (2 hunks)
  • packages/services/tsconfig.json (1 hunks)
  • packages/types/src/activity.ts (2 hunks)
  • packages/types/src/analytics.ts (0 hunks)
  • packages/types/src/charts/common.ts (0 hunks)
  • packages/types/src/command-palette.ts (1 hunks)
  • packages/types/src/instance/auth.ts (2 hunks)
  • packages/types/src/instance/image.ts (1 hunks)
⛔ Files not processed due to max files limit (20)
  • packages/types/src/issues/base.ts
  • packages/types/src/issues/issue.ts
  • packages/types/src/issues/issue_attachment.ts
  • packages/types/src/module/modules.ts
  • packages/types/src/pragmatic.ts
  • packages/types/src/project/project_filters.ts
  • packages/types/src/project/projects.ts
  • packages/types/src/views.ts
  • packages/types/src/workspace-views.ts
  • packages/ui/.storybook/main.ts
  • packages/ui/src/dropdown/Readme.md
  • packages/ui/styles/globals.css
  • packages/utils/src/array.ts
  • packages/utils/src/calendar.ts
  • packages/utils/src/cycle.ts
  • packages/utils/src/module.ts
  • packages/utils/src/page.ts
  • packages/utils/src/project-views.ts
  • packages/utils/src/string.ts
  • packages/utils/src/work-item/modal.ts
💤 Files with no reviewable changes (7)
  • packages/decorators/src/index.ts
  • apps/web/core/components/analytics/work-items/workitems-insight-table.tsx
  • apps/web/core/components/workspace/logo.tsx
  • packages/types/src/analytics.ts
  • apps/web/ce/components/issues/issue-modal/index.ts
  • packages/types/src/charts/common.ts
  • apps/web/core/components/issues/issue-layouts/gantt/index.ts
🧰 Additional context used
🧠 Learnings (33)
packages/propel/src/table/index.ts (2)
Learnt from: mathalav55
PR: makeplane/plane#6107
File: web/ce/components/workspace-notifications/sidebar/notification-card/options/archive.tsx:11-14
Timestamp: 2024-11-28T07:02:54.664Z
Learning: When components are still located in `core`, it's appropriate for files to import them using `@/components/...`, and the migration to the new import paths is not necessary in such cases.
Learnt from: mathalav55
PR: makeplane/plane#6107
File: web/ce/components/workspace-notifications/sidebar/notification-card/options/read.tsx:11-12
Timestamp: 2024-11-28T07:02:15.514Z
Learning: Some components are still in core and have not been moved yet, so their import paths remain the same.
apps/web/ee/components/active-cycles/workspace-active-cycles-upgrade.tsx (2)
Learnt from: mathalav55
PR: makeplane/plane#6107
File: web/ce/components/workspace-notifications/sidebar/notification-card/options/read.tsx:11-12
Timestamp: 2024-11-28T07:02:15.514Z
Learning: Some components are still in core and have not been moved yet, so their import paths remain the same.
Learnt from: mathalav55
PR: makeplane/plane#6107
File: web/ce/components/workspace-notifications/sidebar/notification-card/options/archive.tsx:11-14
Timestamp: 2024-11-28T07:02:54.664Z
Learning: When components are still located in `core`, it's appropriate for files to import them using `@/components/...`, and the migration to the new import paths is not necessary in such cases.
apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(list)/page.tsx (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7214
File: web/core/store/issue/helpers/base-issues.store.ts:117-117
Timestamp: 2025-06-16T07:23:39.497Z
Learning: In the updateIssueDates method of BaseIssuesStore (web/core/store/issue/helpers/base-issues.store.ts), the projectId parameter is intentionally made optional to support override implementations in subclasses. The base implementation requires projectId and includes an early return check, but making it optional allows derived classes to override the method with different parameter requirements.
apps/web/ee/components/breadcrumbs/index.ts (2)
Learnt from: prateekshourya29
PR: makeplane/plane#7188
File: web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/header.tsx:40-45
Timestamp: 2025-06-18T09:46:08.566Z
Learning: When reviewing breadcrumb components that accept projectId or similar props, check if empty strings are being passed during loading states, which can result in invalid URLs. The preferred approach is to handle these loading states internally within the component rather than requiring each consumer to manage the loading logic.
Learnt from: mathalav55
PR: makeplane/plane#6107
File: web/ce/components/workspace-notifications/sidebar/notification-card/options/archive.tsx:11-14
Timestamp: 2024-11-28T07:02:54.664Z
Learning: When components are still located in `core`, it's appropriate for files to import them using `@/components/...`, and the migration to the new import paths is not necessary in such cases.
apps/web/ce/components/global/version-number.tsx (2)
Learnt from: janreges
PR: makeplane/plane#6743
File: packages/i18n/src/store/index.ts:160-161
Timestamp: 2025-03-11T19:42:41.769Z
Learning: In the Plane project, the file 'packages/i18n/src/store/index.ts' already includes support for Polish language translations with the case "pl".
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7061
File: web/core/components/workspace-notifications/root.tsx:18-18
Timestamp: 2025-05-14T13:16:23.323Z
Learning: In the Plane project codebase, the path alias `@/plane-web` resolves to the `ce` directory, making imports like `@/plane-web/hooks/use-notification-preview` correctly resolve to files in `web/ce/hooks/`.
apps/web/core/store/issue/profile/issue.store.ts (2)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7214
File: web/core/store/issue/helpers/base-issues.store.ts:117-117
Timestamp: 2025-06-16T07:23:39.497Z
Learning: In the updateIssueDates method of BaseIssuesStore (web/core/store/issue/helpers/base-issues.store.ts), the projectId parameter is intentionally made optional to support override implementations in subclasses. The base implementation requires projectId and includes an early return check, but making it optional allows derived classes to override the method with different parameter requirements.
Learnt from: janreges
PR: makeplane/plane#6743
File: packages/i18n/src/store/index.ts:160-161
Timestamp: 2025-03-11T19:42:41.769Z
Learning: In the Plane project, the file 'packages/i18n/src/store/index.ts' already includes support for Polish language translations with the case "pl".
apps/web/core/components/issues/issue-layouts/spreadsheet/base-spreadsheet-root.tsx (2)
Learnt from: mathalav55
PR: makeplane/plane#6107
File: web/ce/components/workspace-notifications/sidebar/notification-card/options/archive.tsx:11-14
Timestamp: 2024-11-28T07:02:54.664Z
Learning: When components are still located in `core`, it's appropriate for files to import them using `@/components/...`, and the migration to the new import paths is not necessary in such cases.
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7061
File: web/core/components/workspace-notifications/root.tsx:18-18
Timestamp: 2025-05-14T13:16:23.323Z
Learning: In the Plane project codebase, the path alias `@/plane-web` resolves to the `ce` directory, making imports like `@/plane-web/hooks/use-notification-preview` correctly resolve to files in `web/ce/hooks/`.
apps/web/app/(all)/layout.preload.tsx (1)
Learnt from: lifeiscontent
PR: makeplane/plane#7164
File: packages/ui/.storybook/main.ts:24-47
Timestamp: 2025-06-04T16:22:44.344Z
Learning: In packages/ui/.storybook/main.ts, the webpackFinal function intentionally overrides the CSS loader strategy by finding and replacing existing CSS rules. This is a temporary workaround for a known upstream issue in Storybook's CSS handling that has been communicated to the Storybook maintainers. The current implementation should not be changed until the upstream issue is resolved.
apps/web/ce/types/projects/projects.ts (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7214
File: web/core/store/issue/helpers/base-issues.store.ts:117-117
Timestamp: 2025-06-16T07:23:39.497Z
Learning: In the updateIssueDates method of BaseIssuesStore (web/core/store/issue/helpers/base-issues.store.ts), the projectId parameter is intentionally made optional to support override implementations in subclasses. The base implementation requires projectId and includes an early return check, but making it optional allows derived classes to override the method with different parameter requirements.
apps/web/core/store/issue/draft/issue.store.ts (2)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7214
File: web/core/store/issue/helpers/base-issues.store.ts:117-117
Timestamp: 2025-06-16T07:23:39.497Z
Learning: In the updateIssueDates method of BaseIssuesStore (web/core/store/issue/helpers/base-issues.store.ts), the projectId parameter is intentionally made optional to support override implementations in subclasses. The base implementation requires projectId and includes an early return check, but making it optional allows derived classes to override the method with different parameter requirements.
Learnt from: mathalav55
PR: makeplane/plane#6107
File: web/ce/components/workspace-notifications/sidebar/notification-card/options/archive.tsx:11-14
Timestamp: 2024-11-28T07:02:54.664Z
Learning: When components are still located in `core`, it's appropriate for files to import them using `@/components/...`, and the migration to the new import paths is not necessary in such cases.
apps/web/core/components/automation/auto-archive-automation.tsx (2)
Learnt from: prateekshourya29
PR: makeplane/plane#7363
File: apps/web/core/components/issues/select/dropdown.tsx:9-11
Timestamp: 2025-07-08T13:41:01.610Z
Learning: The `getProjectLabelIds` function in the label store handles undefined projectId internally, so it's safe to pass undefined values to it without explicit checks in the calling component.
Learnt from: prateekshourya29
PR: makeplane/plane#7094
File: web/core/store/user/base-permissions.store.ts:196-201
Timestamp: 2025-05-28T09:53:44.635Z
Learning: All role enums in this codebase (EUserPermissions, EUserWorkspaceRoles, EUserProjectRoles) use the same consistent numeric values: ADMIN = 20, MEMBER = 15, GUEST = 5. None of these enums have a value of 0, so truthy checks work correctly with these enum values.
apps/web/core/components/workspace-notifications/sidebar/notification-card/content.tsx (2)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7061
File: web/core/components/workspace-notifications/root.tsx:18-18
Timestamp: 2025-05-14T13:16:23.323Z
Learning: In the Plane project codebase, the path alias `@/plane-web` resolves to the `ce` directory, making imports like `@/plane-web/hooks/use-notification-preview` correctly resolve to files in `web/ce/hooks/`.
Learnt from: mathalav55
PR: makeplane/plane#6107
File: web/ce/components/workspace-notifications/sidebar/notification-card/options/archive.tsx:11-14
Timestamp: 2024-11-28T07:02:54.664Z
Learning: When components are still located in `core`, it's appropriate for files to import them using `@/components/...`, and the migration to the new import paths is not necessary in such cases.
apps/web/core/components/modules/gantt-chart/modules-list-layout.tsx (3)
Learnt from: mathalav55
PR: makeplane/plane#6107
File: web/ce/components/workspace-notifications/sidebar/notification-card/options/archive.tsx:11-14
Timestamp: 2024-11-28T07:02:54.664Z
Learning: When components are still located in `core`, it's appropriate for files to import them using `@/components/...`, and the migration to the new import paths is not necessary in such cases.
Learnt from: mathalav55
PR: makeplane/plane#6107
File: web/ce/components/workspace-notifications/sidebar/notification-card/options/read.tsx:11-12
Timestamp: 2024-11-28T07:02:15.514Z
Learning: Some components are still in core and have not been moved yet, so their import paths remain the same.
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7061
File: web/core/components/workspace-notifications/root.tsx:18-18
Timestamp: 2025-05-14T13:16:23.323Z
Learning: In the Plane project codebase, the path alias `@/plane-web` resolves to the `ce` directory, making imports like `@/plane-web/hooks/use-notification-preview` correctly resolve to files in `web/ce/hooks/`.
apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/sidebar.tsx (2)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7061
File: web/core/components/workspace-notifications/root.tsx:18-18
Timestamp: 2025-05-14T13:16:23.323Z
Learning: In the Plane project codebase, the path alias `@/plane-web` resolves to the `ce` directory, making imports like `@/plane-web/hooks/use-notification-preview` correctly resolve to files in `web/ce/hooks/`.
Learnt from: mathalav55
PR: makeplane/plane#6107
File: web/ce/components/workspace-notifications/sidebar/notification-card/options/archive.tsx:11-14
Timestamp: 2024-11-28T07:02:54.664Z
Learning: When components are still located in `core`, it's appropriate for files to import them using `@/components/...`, and the migration to the new import paths is not necessary in such cases.
apps/live/src/core/helpers/error-handler.ts (1)
Learnt from: prateekshourya29
PR: makeplane/plane#7363
File: apps/web/helpers/react-hook-form.helper.ts:9-19
Timestamp: 2025-07-08T13:41:19.881Z
Learning: In the apps/web/helpers/react-hook-form.helper.ts file, the getNestedError function's FieldError detection logic using "message" property check is sufficient for their use case, and more robust type checking is not required.
packages/constants/src/user.ts (2)
Learnt from: prateekshourya29
PR: makeplane/plane#7094
File: web/core/store/user/base-permissions.store.ts:196-201
Timestamp: 2025-05-28T09:53:44.635Z
Learning: The `EUserPermissions` enum in this codebase uses numeric values: ADMIN = 20, MEMBER = 15, GUEST = 5. All roles in this enum are always numbers, not string values.
Learnt from: prateekshourya29
PR: makeplane/plane#7094
File: web/core/store/user/base-permissions.store.ts:196-201
Timestamp: 2025-05-28T09:53:44.635Z
Learning: All role enums in this codebase (EUserPermissions, EUserWorkspaceRoles, EUserProjectRoles) use the same consistent numeric values: ADMIN = 20, MEMBER = 15, GUEST = 5. None of these enums have a value of 0, so truthy checks work correctly with these enum values.
apps/web/core/components/issues/attachment/attachment-detail.tsx (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7061
File: web/core/components/workspace-notifications/root.tsx:18-18
Timestamp: 2025-05-14T13:16:23.323Z
Learning: In the Plane project codebase, the path alias `@/plane-web` resolves to the `ce` directory, making imports like `@/plane-web/hooks/use-notification-preview` correctly resolve to files in `web/ce/hooks/`.
apps/web/core/components/profile/profile-issues-filter.tsx (3)
Learnt from: mathalav55
PR: makeplane/plane#6452
File: web/helpers/issue.helper.ts:6-6
Timestamp: 2025-01-24T09:37:19.339Z
Learning: In the Plane codebase, `ISSUE_DISPLAY_FILTERS_BY_LAYOUT` and `ISSUE_DISPLAY_FILTERS_BY_PAGE` are two distinct constants serving different purposes - one for layout-level filters and another for page-level filters. They are not interchangeable and should coexist.
Learnt from: janreges
PR: makeplane/plane#6743
File: packages/i18n/src/store/index.ts:160-161
Timestamp: 2025-03-11T19:42:41.769Z
Learning: In the Plane project, the file 'packages/i18n/src/store/index.ts' already includes support for Polish language translations with the case "pl".
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
apps/web/styles/nprogress.css (1)
Learnt from: vineetk13
PR: makeplane/plane#6391
File: web/styles/react-day-picker.css:249-282
Timestamp: 2025-01-17T05:17:51.953Z
Learning: In the date range picker's CSS, left/right positioning for cell background effects (like in `.rdp-range_start::before`, `.rdp-range_middle::before`, `.rdp-range_end::before`) should use physical properties instead of logical properties, as these create visual effects that should remain consistent regardless of text direction.
apps/web/core/store/issue/helpers/base-issues.store.ts (2)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7214
File: web/core/store/issue/helpers/base-issues.store.ts:117-117
Timestamp: 2025-06-16T07:23:39.497Z
Learning: In the updateIssueDates method of BaseIssuesStore (web/core/store/issue/helpers/base-issues.store.ts), the projectId parameter is intentionally made optional to support override implementations in subclasses. The base implementation requires projectId and includes an early return check, but making it optional allows derived classes to override the method with different parameter requirements.
Learnt from: prateekshourya29
PR: makeplane/plane#7363
File: apps/web/core/components/issues/select/dropdown.tsx:9-11
Timestamp: 2025-07-08T13:41:01.610Z
Learning: The `getProjectLabelIds` function in the label store handles undefined projectId internally, so it's safe to pass undefined values to it without explicit checks in the calling component.
apps/web/core/lib/n-progress/index.tsx (3)
Learnt from: mathalav55
PR: makeplane/plane#6107
File: web/ce/components/workspace-notifications/sidebar/notification-card/options/archive.tsx:11-14
Timestamp: 2024-11-28T07:02:54.664Z
Learning: When components are still located in `core`, it's appropriate for files to import them using `@/components/...`, and the migration to the new import paths is not necessary in such cases.
Learnt from: lifeiscontent
PR: makeplane/plane#7164
File: packages/ui/.storybook/main.ts:24-47
Timestamp: 2025-06-04T16:22:44.344Z
Learning: In packages/ui/.storybook/main.ts, the webpackFinal function intentionally overrides the CSS loader strategy by finding and replacing existing CSS rules. This is a temporary workaround for a known upstream issue in Storybook's CSS handling that has been communicated to the Storybook maintainers. The current implementation should not be changed until the upstream issue is resolved.
Learnt from: mathalav55
PR: makeplane/plane#6107
File: web/ce/components/workspace-notifications/sidebar/notification-card/options/read.tsx:11-12
Timestamp: 2024-11-28T07:02:15.514Z
Learning: Some components are still in core and have not been moved yet, so their import paths remain the same.
packages/constants/src/metadata.ts (2)
Learnt from: janreges
PR: makeplane/plane#6743
File: packages/i18n/src/store/index.ts:160-161
Timestamp: 2025-03-11T19:42:41.769Z
Learning: In the Plane project, the file 'packages/i18n/src/store/index.ts' already includes support for Polish language translations with the case "pl".
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7061
File: web/core/components/workspace-notifications/root.tsx:18-18
Timestamp: 2025-05-14T13:16:23.323Z
Learning: In the Plane project codebase, the path alias `@/plane-web` resolves to the `ce` directory, making imports like `@/plane-web/hooks/use-notification-preview` correctly resolve to files in `web/ce/hooks/`.
packages/constants/src/issue/layout.ts (1)
Learnt from: mathalav55
PR: makeplane/plane#6452
File: web/helpers/issue.helper.ts:6-6
Timestamp: 2025-01-24T09:37:19.339Z
Learning: In the Plane codebase, `ISSUE_DISPLAY_FILTERS_BY_LAYOUT` and `ISSUE_DISPLAY_FILTERS_BY_PAGE` are two distinct constants serving different purposes - one for layout-level filters and another for page-level filters. They are not interchangeable and should coexist.
apps/space/core/components/issues/filters/applied-filters/root.tsx (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7214
File: web/core/store/issue/helpers/base-issues.store.ts:117-117
Timestamp: 2025-06-16T07:23:39.497Z
Learning: In the updateIssueDates method of BaseIssuesStore (web/core/store/issue/helpers/base-issues.store.ts), the projectId parameter is intentionally made optional to support override implementations in subclasses. The base implementation requires projectId and includes an early return check, but making it optional allows derived classes to override the method with different parameter requirements.
apps/space/core/components/issues/issue-layouts/kanban/kanban-group.tsx (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7214
File: web/core/store/issue/helpers/base-issues.store.ts:117-117
Timestamp: 2025-06-16T07:23:39.497Z
Learning: In the updateIssueDates method of BaseIssuesStore (web/core/store/issue/helpers/base-issues.store.ts), the projectId parameter is intentionally made optional to support override implementations in subclasses. The base implementation requires projectId and includes an early return check, but making it optional allows derived classes to override the method with different parameter requirements.
apps/web/core/components/issues/filters.tsx (3)
Learnt from: mathalav55
PR: makeplane/plane#6452
File: web/helpers/issue.helper.ts:6-6
Timestamp: 2025-01-24T09:37:19.339Z
Learning: In the Plane codebase, `ISSUE_DISPLAY_FILTERS_BY_LAYOUT` and `ISSUE_DISPLAY_FILTERS_BY_PAGE` are two distinct constants serving different purposes - one for layout-level filters and another for page-level filters. They are not interchangeable and should coexist.
Learnt from: janreges
PR: makeplane/plane#6743
File: packages/i18n/src/store/index.ts:160-161
Timestamp: 2025-03-11T19:42:41.769Z
Learning: In the Plane project, the file 'packages/i18n/src/store/index.ts' already includes support for Polish language translations with the case "pl".
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
apps/web/core/components/issues/issue-detail/issue-detail-quick-actions.tsx (1)
Learnt from: mathalav55
PR: makeplane/plane#6107
File: web/ce/components/workspace-notifications/sidebar/notification-card/options/archive.tsx:11-14
Timestamp: 2024-11-28T07:02:54.664Z
Learning: When components are still located in `core`, it's appropriate for files to import them using `@/components/...`, and the migration to the new import paths is not necessary in such cases.
apps/web/core/store/issue/root.store.ts (5)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7061
File: web/core/components/workspace-notifications/root.tsx:18-18
Timestamp: 2025-05-14T13:16:23.323Z
Learning: In the Plane project codebase, the path alias `@/plane-web` resolves to the `ce` directory, making imports like `@/plane-web/hooks/use-notification-preview` correctly resolve to files in `web/ce/hooks/`.
Learnt from: janreges
PR: makeplane/plane#6743
File: packages/i18n/src/store/index.ts:160-161
Timestamp: 2025-03-11T19:42:41.769Z
Learning: In the Plane project, the file 'packages/i18n/src/store/index.ts' already includes support for Polish language translations with the case "pl".
Learnt from: mathalav55
PR: makeplane/plane#6107
File: web/ce/components/workspace-notifications/sidebar/notification-card/options/archive.tsx:11-14
Timestamp: 2024-11-28T07:02:54.664Z
Learning: When components are still located in `core`, it's appropriate for files to import them using `@/components/...`, and the migration to the new import paths is not necessary in such cases.
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7214
File: web/core/store/issue/helpers/base-issues.store.ts:117-117
Timestamp: 2025-06-16T07:23:39.497Z
Learning: In the updateIssueDates method of BaseIssuesStore (web/core/store/issue/helpers/base-issues.store.ts), the projectId parameter is intentionally made optional to support override implementations in subclasses. The base implementation requires projectId and includes an early return check, but making it optional allows derived classes to override the method with different parameter requirements.
Learnt from: prateekshourya29
PR: makeplane/plane#7363
File: apps/web/core/components/issues/select/dropdown.tsx:9-11
Timestamp: 2025-07-08T13:41:01.610Z
Learning: The `getProjectLabelIds` function in the label store handles undefined projectId internally, so it's safe to pass undefined values to it without explicit checks in the calling component.
apps/web/core/components/analytics/select/project.tsx (2)
Learnt from: prateekshourya29
PR: makeplane/plane#7363
File: apps/web/core/components/issues/select/dropdown.tsx:9-11
Timestamp: 2025-07-08T13:41:01.610Z
Learning: The `getProjectLabelIds` function in the label store handles undefined projectId internally, so it's safe to pass undefined values to it without explicit checks in the calling component.
Learnt from: prateekshourya29
PR: makeplane/plane#7188
File: web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/header.tsx:40-45
Timestamp: 2025-06-18T09:46:08.566Z
Learning: When reviewing breadcrumb components that accept projectId or similar props, check if empty strings are being passed during loading states, which can result in invalid URLs. The preferred approach is to handle these loading states internally within the component rather than requiring each consumer to manage the loading logic.
apps/web/core/components/issues/issue-modal/form.tsx (2)
Learnt from: mathalav55
PR: makeplane/plane#6107
File: web/ce/components/workspace-notifications/sidebar/notification-card/options/archive.tsx:11-14
Timestamp: 2024-11-28T07:02:54.664Z
Learning: When components are still located in `core`, it's appropriate for files to import them using `@/components/...`, and the migration to the new import paths is not necessary in such cases.
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7214
File: web/core/store/issue/helpers/base-issues.store.ts:117-117
Timestamp: 2025-06-16T07:23:39.497Z
Learning: In the updateIssueDates method of BaseIssuesStore (web/core/store/issue/helpers/base-issues.store.ts), the projectId parameter is intentionally made optional to support override implementations in subclasses. The base implementation requires projectId and includes an early return check, but making it optional allows derived classes to override the method with different parameter requirements.
apps/web/core/components/issues/archived-issues-header.tsx (2)
Learnt from: janreges
PR: makeplane/plane#6743
File: packages/i18n/src/store/index.ts:160-161
Timestamp: 2025-03-11T19:42:41.769Z
Learning: In the Plane project, the file 'packages/i18n/src/store/index.ts' already includes support for Polish language translations with the case "pl".
Learnt from: mathalav55
PR: makeplane/plane#6452
File: web/helpers/issue.helper.ts:6-6
Timestamp: 2025-01-24T09:37:19.339Z
Learning: In the Plane codebase, `ISSUE_DISPLAY_FILTERS_BY_LAYOUT` and `ISSUE_DISPLAY_FILTERS_BY_PAGE` are two distinct constants serving different purposes - one for layout-level filters and another for page-level filters. They are not interchangeable and should coexist.
apps/live/src/core/helpers/page.ts (1)
Learnt from: SatishGandham
PR: makeplane/plane#5864
File: packages/editor/src/core/extensions/custom-image/read-only-custom-image.ts:60-60
Timestamp: 2024-10-22T08:03:04.373Z
Learning: In `packages/editor/src/core/extensions/custom-image/read-only-custom-image.ts`, the `getImageSource` command returns a string directly, not a function.
apps/web/core/components/global/product-updates/footer.tsx (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7061
File: web/core/components/workspace-notifications/root.tsx:18-18
Timestamp: 2025-05-14T13:16:23.323Z
Learning: In the Plane project codebase, the path alias `@/plane-web` resolves to the `ce` directory, making imports like `@/plane-web/hooks/use-notification-preview` correctly resolve to files in `web/ce/hooks/`.
🧬 Code Graph Analysis (11)
apps/web/ce/components/global/version-number.tsx (1)
packages/i18n/src/store/index.ts (1)
  • t (211-232)
apps/web/ce/types/projects/projects.ts (1)
packages/types/src/project/projects.ts (1)
  • IProject (38-54)
apps/live/src/core/hocuspocus-server.ts (2)
packages/editor/src/core/constants/document-collaborative-events.ts (1)
  • DocumentCollaborativeEvents (1-8)
packages/editor/src/core/types/document-collaborative-events.ts (1)
  • TDocumentEventsServer (5-5)
apps/live/src/core/lib/page.ts (1)
apps/live/src/core/helpers/page.ts (2)
  • getAllDocumentFormatsFromBinaryData (11-33)
  • getBinaryDataFromHTMLString (35-50)
apps/space/core/components/issues/filters/applied-filters/root.tsx (1)
apps/web/core/store/issue/workspace-draft/filter.store.ts (1)
  • issueFilters (74-79)
apps/space/core/components/issues/issue-layouts/kanban/kanban-group.tsx (1)
packages/types/src/issues/base.ts (2)
  • TSubGroupedIssues (16-18)
  • TGroupedIssues (12-14)
apps/web/core/components/issues/select/label.tsx (1)
packages/utils/src/common.ts (1)
  • cn (8-8)
apps/live/src/core/extensions/index.ts (1)
apps/live/src/core/lib/page.ts (1)
  • fetchPageDescriptionBinary (55-80)
apps/web/core/components/issues/archived-issues-header.tsx (2)
packages/i18n/src/store/index.ts (1)
  • t (211-232)
apps/web/core/store/issue/workspace-draft/filter.store.ts (1)
  • issueFilters (74-79)
apps/live/src/core/helpers/page.ts (1)
packages/editor/src/core/extensions/core-without-props.ts (2)
  • CoreEditorExtensionsWithoutProps (26-103)
  • DocumentEditorExtensionsWithoutProps (105-105)
apps/web/core/components/global/product-updates/footer.tsx (3)
packages/i18n/src/store/index.ts (1)
  • t (211-232)
packages/utils/src/common.ts (1)
  • cn (8-8)
packages/ui/src/button/helper.tsx (1)
  • getButtonStyling (109-120)
🪛 LanguageTool
packages/logger/README.md

[grammar] ~7-~7: Use proper spacing conventions.
Context: ...namic log level configuration using env. - Pre-configured winston logger for genera...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~8-~8: Use proper spacing conventions.
Context: ...ton logger for general usage (logger). - Request logger middleware that logs inco...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~9-~9: Use singular and plural nouns appropriately.
Context: ...st logger middleware that logs incoming request ## Usage ### Adding as a package Add this...

(QB_NEW_EN_OTHER_ERROR_IDS_000012)


[grammar] ~11-~11: Use proper spacing conventions.
Context: ...are that logs incoming request ## Usage ### Adding as a package Add this package as...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~13-~13: Use proper spacing conventions.
Context: ...quest ## Usage ### Adding as a package Add this package as a dependency in pack...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~15-~15: Place a period at the end of declarative sentences.
Context: ... package as a dependency in package.json typescript dependency: { ... @plane/logger":"*", ... } ### Importing the Logger ```typescript impo...

(QB_NEW_EN_OTHER_ERROR_IDS_000178)


[grammar] ~31-~31: Use proper spacing conventions.
Context: ...r } from "@plane/logger"; ``` ### Usage ### logger: General Logger Use this for general a...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~33-~33: Use proper spacing conventions.
Context: ... ### Usage ### logger: General Logger Use this for general application logs. ...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~45-~45: Place a period at the end of declarative sentences.
Context: ...is as a middleware for incoming requests typescript const app = express(); app.use(requestLogger); ## Available Log Levels - error - warn...

(QB_NEW_EN_OTHER_ERROR_IDS_000178)


[grammar] ~52-~52: Use proper spacing conventions.
Context: ...estLogger); ``` ## Available Log Levels - error - `warn` - `info` (default) - `http` - `verbose` - `debug...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~64-~64: Use articles correctly.
Context: ... ## Log file - Log files are stored in logs folder of current working directory. Er...

(QB_NEW_EN_OTHER_ERROR_IDS_000004)


[grammar] ~64-~64: Use articles correctly.
Context: ... Log files are stored in logs folder of current working directory. Error logs are store...

(QB_NEW_EN_OTHER_ERROR_IDS_000004)


[grammar] ~64-~64: There might be a problem here.
Context: ...ry. Error logs are stored in files with format error-%DATE%.log and combined logs are stored with forma...

(QB_NEW_EN_MERGED_MATCH)


[grammar] ~64-~64: Use articles correctly.
Context: ....logand combined logs are stored with formatcombined-%DATE%.log`. - Log files have...

(QB_NEW_EN_OTHER_ERROR_IDS_000004)


[grammar] ~64-~64: Use proper spacing conventions.
Context: ...tored with format combined-%DATE%.log. - Log files have a 7 day rotation period d...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~65-~65: There might be a mistake here.
Context: ...mbined-%DATE%.log`. - Log files have a 7 day rotation period defined. ## Configu...

(QB_NEW_EN_OTHER)


[grammar] ~65-~65: Use proper spacing conventions.
Context: ...es have a 7 day rotation period defined. ## Configuration - By default, the log lev...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~67-~67: Use proper spacing conventions.
Context: ...tation period defined. ## Configuration - By default, the log level is set to `inf...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~69-~69: Use proper spacing conventions.
Context: ...default, the log level is set to info. - You can specify a log level by adding a ...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~70-~70: Use proper spacing conventions.
Context: ...log level by adding a LOG_LEVEL in .env.

(QB_NEW_EN_OTHER_ERROR_IDS_000007)

🪛 Biome (1.9.4)
packages/hooks/src/use-local-storage.tsx

[error] 4-4: Invalid typeof comparison value: this expression is not a string literal

not a string literal
Unsafe fix: Compare the result of typeof with a valid type name

(lint/suspicious/useValidTypeof)


[error] 15-15: Invalid typeof comparison value: this expression is not a string literal

not a string literal
Unsafe fix: Compare the result of typeof with a valid type name

(lint/suspicious/useValidTypeof)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Analyze (javascript)
🔇 Additional comments (99)
apps/web/ce/services/project/index.ts (1)

2-3: Trailing newline addition is correct

Ensures POSIX-style EOF newline and avoids superfluous diffs later. No functional impact.

apps/web/ce/helpers/workspace.helper.ts (1)

2-3: Formatting-only change LGTM

The added trailing newline complies with Prettier and POSIX conventions. No functional impact.

apps/web/core/components/profile/overview/activity.tsx (1)

66-68: LGTM – formatting-only change

The multiline formatting improves readability without altering behavior.

apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/cycles/page.tsx (1)

31-32: Trailing newline addition improves POSIX compliance

Adding a newline at EOF keeps the file POSIX-compliant and aligns with repo style guidelines—nothing else changed. Looks good.

apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(list)/page.tsx (1)

31-32: Consistent EOF newline – no issues

The sole change is the trailing newline; this is a harmless formatting improvement and maintains consistency across files.

apps/web/ce/components/common/subscription/index.ts (1)

1-2: EOF newline added — good practice
Adds the missing trailing newline, improving tooling compatibility and adhering to POSIX conventions. No functional impact.

apps/web/ce/components/global/version-number.tsx (1)

7-11: LGTM – purely formatting, no functional impact.
Changes align with Prettier rules; component logic stays intact.

apps/web/public/animated-icons/uploading.json (1)

1-742: Prettier-only reformat – no semantic diff detected.

The JSON validates, key ordering is preserved, and animation parameters remain unchanged.
No concerns from my side. 👍

packages/constants/src/chart.ts (1)

40-124: Formatting-only change looks good

No functional or logical modifications detected in this hunk; the constant content remains intact. 👍

apps/space/core/components/issues/issue-layouts/kanban/swimlanes.tsx (1)

136-136: LGTM! Clean JSX formatting improvement.

The JSX component props have been properly consolidated to a single line, improving readability and consistency with prettier formatting standards.

apps/space/core/components/issues/filters/applied-filters/root.tsx (1)

38-40: LGTM! Improved operator precedence clarity.

The added parentheses around optional chaining and nullish coalescing expressions make the operator precedence explicit and enhance code readability without changing functionality.

apps/space/core/components/issues/issue-layouts/kanban/kanban-group.tsx (1)

79-80: LGTM! Enhanced readability with explicit operator precedence.

The parentheses around the optional chaining expressions clarify the evaluation order and make the code more readable, especially for the nested property access patterns used in both subgroup and regular group cases.

packages/editor/src/core/components/editors/editor-container.tsx (1)

58-59: Formatting-only change – logic preserved

The split assignment retains the original boolean expression verbatim. No functional impact—looks good.

packages/propel/src/charts/components/legend.tsx (2)

18-27: Formatting looks good

Indentation-only change; no functional impact observed.


37-38: LGTM

Type intersection re-indentation only; interface remains unchanged.

apps/web/core/components/api-token/modal/form.tsx (1)

254-254: Trailing newline is fine

The single change just adds a newline at EOF. Improves POSIX compliance and makes future diffs cleaner. No functional impact.

apps/web/ee/components/breadcrumbs/index.ts (1)

1-1: No-op formatting tweak looks good

Only a trailing newline was introduced. Export statement remains unchanged.

apps/web/ee/components/sidebar/index.ts (1)

1-1: Consistent EOF newline

Same formatting-only adjustment as other files; OK to merge.

packages/propel/src/charts/scatter-chart/index.ts (1)

1-1: EOF newline added

Pure formatting; nothing else altered.

apps/live/src/ee/types/common.d.ts (1)

1-1: Semicolon + newline for style uniformity

Adding the semicolon and trailing newline aligns with project style; no behavior change.

apps/web/ee/components/active-cycles/workspace-active-cycles-upgrade.tsx (1)

1-2: Consistent newline at EOF – looks good.

Adds the missing trailing newline, keeping Prettier and POSIX tooling happy.

apps/web/core/components/api-token/token-list-item.tsx (1)

63-64: EOF newline added – fine.

Maintains formatting consistency; no functional impact.

packages/editor/src/ce/types/utils.ts (1)

1-2: Trailing newline improves tooling compatibility.

Good to have the newline to satisfy linters and editors expecting POSIX‐style file endings.

packages/constants/src/analytics/index.ts (1)

1-2: Semicolon appended – matches style guide.

No behavioural change; prevents accidental ASI pitfalls if this line is ever concatenated with others.

packages/services/tsconfig.json (1)

5-6: Removed dangling comma in JSON – valid & cleaner.

Eliminates a potential parse error with strict JSON parsers and keeps the config tidy.

apps/web/ee/components/workspace/billing/index.ts (1)

1-2: 👍 Trailing newline addition is correct

Adding a final newline keeps the file POSIX-compliant and aligns with the repo’s formatting conventions.

packages/propel/src/table/index.ts (1)

1-2: 👍 Consistent file-ending newline

The added newline brings this file in line with Prettier defaults and avoids noisy diffs in the future.

packages/propel/src/charts/scatter-chart/root.tsx (1)

159-160: Minor style fix acknowledged

The lone newline after displayName is purely stylistic and has no runtime impact. Looks good.

apps/web/ce/types/projects/projects.ts (1)

5-5: Whitespace tidy-up accepted

The removal of the stray space in the type alias improves consistency; no functional change.

apps/web/core/components/issues/workspace-draft/empty-state.tsx (1)

46-47: Trailing comma matches Prettier style

The added comma prevents future diff churn when new props are appended. Change approved.

apps/web/core/components/workspace/sidebar/favorites/index.ts (1)

5-6: New trailing newline is correct; no action required.

The addition brings the file in line with POSIX-style conventions and Prettier’s defaults without affecting exports.

packages/types/src/instance/image.ts (1)

1-2: Formatting-only change looks good.

Trailing newline improves diff-friendliness; the type declaration is untouched.

packages/propel/src/charts/radar-chart/index.ts (1)

1-2: No issues – newline addition accepted.

Style consistency is maintained; nothing functional changed.

apps/web/ee/components/issues/issue-layouts/quick-action-dropdowns/index.ts (1)

1-2: Semicolon + newline align with code-style rules.

Change is purely syntactic; re-export path remains correct.
No further action required.

apps/web/core/local-db/worker/wa-sqlite/src/types/globals.d.ts (1)

62-63: Trailing newline added – LGTM.

Brings the declaration file in line with Prettier formatting; no functional impact.

apps/web/core/store/issue/draft/issue.store.ts (1)

5-12: Import block reformat looks good

Purely stylistic change; no impact on behavior.

apps/web/core/components/issues/issue-layouts/spreadsheet/base-spreadsheet-root.tsx (1)

5-11: Consistent multi-line import – LGTM

Formatting aligns with Prettier rules and improves readability.

apps/web/core/store/issue/workspace-draft/filter.store.ts (1)

1-1: Tree-shakable lodash path – nice catch

Switching to lodash/isEmpty keeps bundle size lean; no functional change.

apps/web/app/(all)/sign-up/layout.tsx (1)

5-9: Syntax fix for robots object

The added comma eliminates a potential parse error; nothing else changed.

apps/web/core/store/issue/profile/issue.store.ts (1)

3-10: Import block reflow only

Formatting change; functionality untouched.

apps/web/core/lib/store-context.tsx (1)

20-22: LGTM! Clean JSX formatting improvement.

The multi-line explicit return format improves readability and aligns with consistent formatting standards.

apps/web/core/components/modules/gantt-chart/modules-list-layout.tsx (1)

6-6: LGTM! Cleaner import consolidation.

The single-line import format improves compactness while maintaining readability.

apps/web/core/components/workspace-notifications/sidebar/notification-card/content.tsx (1)

3-9: LGTM! Improved import readability.

The multi-line import format enhances readability and makes it easier to identify individual utility functions.

apps/web/core/components/issues/issue-detail/issue-detail-quick-actions.tsx (1)

21-21: LGTM! Efficient import consolidation.

The single-line import format improves compactness while maintaining all necessary hook imports.

apps/web/core/components/issues/issue-modal/form.tsx (1)

15-22: LGTM! Enhanced import organization.

The multi-line import format improves readability and makes it easier to track individual utility functions.

apps/web/core/components/issues/attachment/attachment-detail.tsx (1)

9-16: Stylistic reformat only—safe to merge
Splitting the import list into multiple lines is a pure-formatting change; no behavioural impact and keeps long imports readable.

apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/sidebar.tsx (1)

3-9: Import block expanded—looks good
The multi-line import from @plane/constants maintains the same set of symbols and aligns with Prettier’s style rules. No further action needed.

apps/web/app/(all)/layout.preload.tsx (1)

21-21: Arrow-function parenthesis insertion is benign
Adding parentheses around url is standard Prettier output; no runtime effect.

apps/web/ce/components/global/product-updates-header.tsx (1)

17-20: Indentation tweak only—no concerns
Indenting the <div> improves readability; underlying JSX and classes remain unchanged.

apps/web/app/(home)/layout.tsx (1)

18-18: Return condensed—functionality intact
Collapsing the fragment onto one line is purely aesthetic; fragment is still required for valid JSX.

packages/decorators/tsup.config.ts (1)

1-13: LGTM! Clean formatting improvements.

The quote consistency and trailing newline addition improve code style without affecting functionality.

packages/services/src/file/file-upload.service.ts (1)

24-24: LGTM! Method signature formatting improvement.

Consolidating the parameters to a single line improves readability without affecting functionality.

apps/web/core/components/workspace/views/header.tsx (1)

115-117: LGTM! JSX formatting improvement.

The multi-line format with parentheses enhances readability for the mapping expression.

apps/web/core/store/issue/helpers/base-issues.store.ts (1)

833-833: LGTM! Whitespace formatting correction.

Adding the space after the if keyword improves code style consistency.

packages/decorators/src/rest.ts (1)

24-31: LGTM! Trailing comma formatting improvement.

Adding trailing commas improves diff readability and maintains consistent code style.

apps/web/core/components/workspace/sidebar/favorites/favorites.helpers.ts (3)

10-10: LGTM: Proper semicolon addition to type declaration.

The semicolon addition to the TargetData type declaration improves consistency with TypeScript formatting standards.


61-61: LGTM: Cleaned up conditional statement formatting.

The removal of extraneous whitespace in the conditional statement improves readability and consistency.


67-67: LGTM: Consistent function ending formatting.

The formatting adjustment ensures proper spacing at the end of the function.

apps/web/core/components/account/oauth/oauth-options.tsx (1)

15-16: LGTM: Improved readability with multi-line formatting.

The reformatting of the isOAuthEnabled assignment across multiple lines enhances readability while maintaining the same logical behavior.

packages/constants/src/themes.ts (1)

1-1: LGTM: Concise single-line array formatting.

The consolidation of the THEMES array into a single line improves code density while maintaining the same theme values and order.

packages/constants/src/user.ts (1)

55-55: LGTM: Concise single-line array formatting.

The consolidation of the read permissions array into a single line improves code density while maintaining the same permission values (ADMIN, MEMBER, GUEST).

packages/constants/src/auth.ts (1)

14-14: LGTM: Concise single-line arrow function formatting.

The consolidation of the isCriteriaValid arrow function into a single line improves code density while maintaining the same password length validation logic.

apps/web/styles/nprogress.css (1)

24-26: Looks good – purely stylistic change
Shadow values unchanged; splitting across lines improves readability.

packages/decorators/tsconfig.json (1)

13-14: No issues – formatting only
Single-line include/exclude arrays are fine and keep config compact.

packages/constants/src/notification.ts (1)

34-34: LGTM! Clean formatting improvement.

The arrow function consolidation improves readability while maintaining the same functionality.

packages/constants/src/issue/layout.ts (1)

1-1: LGTM! Cleaner type definition formatting.

The union type consolidation improves readability without affecting the type semantics.

apps/web/core/lib/n-progress/index.tsx (1)

1-3: LGTM! Improved import formatting.

The import consolidation and consistent quote usage enhance readability without affecting functionality.

apps/web/core/store/user/profile.store.ts (1)

183-183: LGTM! Consistent formatting.

The whitespace cleanup improves code consistency without affecting the method's functionality.

packages/constants/src/metadata.ts (1)

1-2: LGTM! Cleaner constant declarations.

The string constant consolidation improves readability while maintaining the same exported values.

Also applies to: 8-8, 11-13

apps/web/core/components/chart/utils.ts (3)

4-10: LGTM: Import formatting improvement

The expansion of the import statement to multi-line format enhances readability and aligns with common formatting practices.


70-70: LGTM: Consistent arrow function formatting

The explicit parentheses around the arrow function parameter improve consistency with the codebase style.


172-172: LGTM: Added newline at end of file

Adding the trailing newline follows standard formatting practices.

apps/web/core/components/issues/select/label.tsx (1)

140-145: LGTM: Improved JSX readability

The expansion of the JSX element to multi-line format with split className enhances code readability, especially for complex class name compositions using the cn utility.

packages/hooks/src/use-local-storage.tsx (1)

25-25: LGTM: Improved arrow function formatting

The condensed arrow function initialization is more concise and readable.

apps/web/core/store/workspace/home.ts (1)

23-28: LGTM: Improved method signature readability

The expansion of the method signature to multi-line format enhances readability for methods with multiple parameters.

apps/web/core/components/analytics/select/project.tsx (1)

50-54: LGTM: Improved ternary expression formatting

The adjusted indentation of the nested ternary expression enhances readability of the complex conditional logic.

packages/types/src/instance/auth.ts (2)

18-18: LGTM: Clean formatting improvement

The union type formatting change from multiline to single line improves readability and follows standard Prettier conventions for short union types.


35-35: LGTM: Consistent formatting

The single-line union type formatting is consistent with the changes made throughout the file and follows Prettier standards.

apps/web/core/local-db/worker/wa-sqlite/src/types/index.d.ts (2)

18-18: LGTM: Proper TypeScript formatting

The type definition and function signature formatting changes are appropriate Prettier transformations that improve code consistency without affecting functionality.

Also applies to: 40-84


812-812: LGTM: Module declaration formatting standardization

The conversion from single quotes to double quotes in module declarations follows Prettier's default formatting rules and maintains consistency across the codebase.

Also applies to: 1047-1080

packages/constants/src/tab-indices.ts (1)

56-56: LGTM: Appropriate array formatting

The consolidation of short array declarations into single lines improves readability and follows Prettier's formatting standards for arrays with few elements.

Also applies to: 69-69, 71-71

apps/web/core/components/global/product-updates/footer.tsx (1)

16-63: Question: Are these functional changes appropriate for a formatting PR?

The changes in this file appear to go beyond formatting and include functional modifications:

  1. Layout restructuring: Links are reorganized with inline dot separators
  2. Content changes: Right-side link changed from Discord to Plane Pages
  3. Styling logic: Added getButtonStyling function and cn utility usage
  4. Link destination: Changed from Discord URL to "https://plane.so/pages"

These seem to be UI/UX changes rather than formatting changes. Consider whether these belong in a separate PR focused on the footer redesign.

Likely an incorrect or invalid review comment.

packages/types/src/activity.ts (1)

1-1: LGTM: Improved generic type formatting

The generic type parameter formatting changes enhance readability by using appropriate single-line or multiline formatting based on the complexity of the type definitions. All semantic meaning is preserved.

Also applies to: 19-19, 23-26

apps/web/core/store/issue/root.store.ts (1)

4-13: Import reflow looks good

The multi-line expansion is purely stylistic and keeps the import list readable without altering behavior. 👍

apps/live/src/ee/lib/fetch-document.ts (1)

1-1: Semicolon addition is harmless and aligns with code-style

No functional impact; keeps the file consistent with Prettier rules.

apps/web/ce/components/issues/bulk-operations/index.ts (1)

1-2: Trailing newline added

EOF newline is conventionally preferred; nothing else changed.

apps/web/ee/components/issues/bulk-operations/index.ts (1)

1-2: Mirrors CE file – newline only

Keeps formatting consistent across CE/EE exports.

apps/web/core/components/automation/auto-archive-automation.tsx (1)

37-42: Whitespace tweak only

Prettier-introduced spacing after the closing parenthesis has no runtime effect. All good.

apps/live/src/core/helpers/error-handler.ts (1)

14-16: No functional change – formatting looks good
Consolidating the ternary onto one line keeps semantics identical while improving brevity.

apps/web/core/components/profile/profile-issues-filter.tsx (2)

9-14: Import block re-flow LGTM
Splitting the @plane/types import over multiple lines improves readability without altering the public surface.


115-119: JSX prop formatting only – fine
Re-formatting the <FiltersDropdown> props does not affect behaviour.

apps/live/src/core/hocuspocus-server.ts (1)

7-7: Import consolidation OK
No behavioural impact.

apps/web/core/components/issues/filters.tsx (1)

10-15: Type import re-format approved
Purely stylistic; no further action required.

apps/web/core/components/issues/archived-issues-header.tsx (2)

9-14: Multi-line @plane/types import – looks good
Readability improved; behaviour unchanged.


82-86: Converted self-closing dropdown to explicit tag – no issues
The dropdown now encloses children explicitly; behaviour remains identical.

apps/live/src/core/services/page.service.ts (1)

11-18: LGTM on formatting changes

The condensed request remains readable and functionally identical; no issues spotted.

apps/live/src/core/helpers/page.ts (3)

4-4: LGTM – purely cosmetic import tweak.

No behavioural change; the new semicolon keeps Prettier happy.


8-9: Constant re-formatting only – OK.

Spreading the two extension arrays on the same line is fine and keeps the intent clear.


41-43: Edge-case: empty or invalid HTML string.

generateJSON(descriptionHTML ?? "<p></p>", …) silently swallows malformed HTML. If upstream input can be arbitrary, consider a try/catch and fall back to an empty doc to avoid throwing in production.

@sriramveeraghanta sriramveeraghanta merged commit 6ce700f into preview Jul 8, 2025
5 of 6 checks passed
@sriramveeraghanta sriramveeraghanta deleted the chore-format-files branch July 8, 2025 15:11
lifeiscontent pushed a commit that referenced this pull request Aug 18, 2025
* chore: format files using prettier

* chore: api server files formatted
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants