🔥🔥🔥 Open-source Jira, Linear, Monday, and ClickUp alternative. Plane is a modern project management platform to manage tasks, sprints, docs, and triage.
1972 matches across 17 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …ckages/ui/src/progress/circular-progress-indicator.tsx | 17 | export function CircularProgressIndicator(props: ICircularProgressIndicator) { |
| LOW | packages/ui/src/form-fields/password/indicator.tsx | 19 | export function PasswordStrengthIndicator({ |
| LOW | packages/ui/src/breadcrumbs/navigation-dropdown.tsx | 24 | export function BreadcrumbNavigationDropdown(props: TBreadcrumbNavigationDropdownProps) { |
| LOW | …ages/ui/src/breadcrumbs/navigation-search-dropdown.tsx | 28 | export function BreadcrumbNavigationSearchDropdown(props: TBreadcrumbNavigationSearchDropdownProps) { |
| LOW | packages/decorators/src/rest.ts | 30 | function createHttpMethodDecorator(method: RestMethod): (route: string) => MethodDecorator { |
| LOW | packages/decorators/src/controller.ts | 79 | function registerWebSocketController( |
| LOW | packages/utils/src/theme/color-validation.ts | 47 | export function validateAndAdjustOKLCH(oklch: { l: number; c: number; h: number }): { |
| LOW | packages/utils/src/theme/color-validation.ts | 79 | export function adjustLightnessForDarkMode(lightness: number, offset: number): number { |
| LOW | packages/utils/src/theme/palette-generator.ts | 73 | export function calculateDynamicValueStop(oklch: OKLCH): number { |
| LOW | packages/propel/src/utils/placement.ts | 48 | export function convertPlacementToSideAndAlign(placement: TPlacement): { |
| LOW | …el/src/empty-state/assets/vertical-stack/dashboard.tsx | 10 | export function DashboardVerticalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …/propel/src/empty-state/assets/vertical-stack/epic.tsx | 10 | export function EpicVerticalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …src/empty-state/assets/vertical-stack/invalid-link.tsx | 10 | export function InvalidLinkVerticalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …/propel/src/empty-state/assets/vertical-stack/view.tsx | 10 | export function ViewVerticalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …c/empty-state/assets/vertical-stack/archived-cycle.tsx | 10 | export function ArchivedCycleVerticalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …opel/src/empty-state/assets/vertical-stack/project.tsx | 10 | export function ProjectVerticalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …pel/src/empty-state/assets/vertical-stack/customer.tsx | 10 | export function CustomerVerticalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …el/src/empty-state/assets/vertical-stack/no-access.tsx | 10 | export function NoAccessVerticalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …ropel/src/empty-state/assets/vertical-stack/module.tsx | 10 | export function ModuleVerticalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …/empty-state/assets/vertical-stack/archived-module.tsx | 10 | export function ArchivedModuleVerticalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …src/empty-state/assets/vertical-stack/server-error.tsx | 10 | export function ServerErrorVerticalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …propel/src/empty-state/assets/vertical-stack/draft.tsx | 10 | export function DraftVerticalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …l/src/empty-state/assets/vertical-stack/initiative.tsx | 10 | export function InitiativeVerticalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …el/src/empty-state/assets/vertical-stack/changelog.tsx | 10 | export function ChangelogVerticalStackIllustration({ className, ...rest }: TIllustrationAssetProps) { |
| LOW | …el/src/empty-state/assets/vertical-stack/teamspace.tsx | 10 | export function TeamspaceVerticalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …pty-state/assets/vertical-stack/archived-work-item.tsx | 10 | export function ArchivedWorkItemVerticalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …/propel/src/empty-state/assets/vertical-stack/page.tsx | 10 | export function PageVerticalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …el/src/empty-state/assets/vertical-stack/work-item.tsx | 10 | export function WorkItemVerticalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …propel/src/empty-state/assets/vertical-stack/cycle.tsx | 10 | export function CycleVerticalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …l/src/empty-state/assets/horizontal-stack/settings.tsx | 10 | export function SettingsHorizontalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …opel/src/empty-state/assets/horizontal-stack/token.tsx | 10 | export function TokenHorizontalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …ropel/src/empty-state/assets/horizontal-stack/note.tsx | 10 | export function NoteHorizontalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …ropel/src/empty-state/assets/horizontal-stack/link.tsx | 10 | export function LinkHorizontalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …l/src/empty-state/assets/horizontal-stack/priority.tsx | 10 | export function PriorityHorizontalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …pel/src/empty-state/assets/horizontal-stack/update.tsx | 10 | export function UpdateHorizontalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …l/src/empty-state/assets/horizontal-stack/estimate.tsx | 10 | export function EstimateHorizontalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …el/src/empty-state/assets/horizontal-stack/worklog.tsx | 10 | export function WorklogHorizontalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …ropel/src/empty-state/assets/horizontal-stack/epic.tsx | 10 | export function EpicHorizontalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …opel/src/empty-state/assets/horizontal-stack/label.tsx | 10 | export function LabelHorizontalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …el/src/empty-state/assets/horizontal-stack/members.tsx | 10 | export function MembersHorizontalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …pel/src/empty-state/assets/horizontal-stack/export.tsx | 10 | export function ExportHorizontalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …el/src/empty-state/assets/horizontal-stack/unknown.tsx | 10 | export function UnknownHorizontalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …el/src/empty-state/assets/horizontal-stack/project.tsx | 10 | export function ProjectHorizontalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …l/src/empty-state/assets/horizontal-stack/customer.tsx | 10 | export function CustomerHorizontalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …opel/src/empty-state/assets/horizontal-stack/state.tsx | 10 | export function StateHorizontalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …el/src/empty-state/assets/horizontal-stack/webhook.tsx | 10 | export function WebhookHorizontalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …/src/empty-state/assets/horizontal-stack/work-item.tsx | 10 | export function WorkItemHorizontalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …pel/src/empty-state/assets/horizontal-stack/intake.tsx | 10 | export function IntakeHorizontalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | …l/src/empty-state/assets/horizontal-stack/template.tsx | 10 | export function TemplateHorizontalStackIllustration({ className }: TIllustrationAssetProps) { |
| LOW | packages/propel/src/context-menu/context-menu.tsx | 114 | const ContextMenuSubmenuTrigger = React.forwardRef(function ContextMenuSubmenuTrigger( |
| LOW | …s/custom-image/components/toolbar/full-screen/root.tsx | 26 | export function ImageFullScreenActionRoot(props: Props) { |
| LOW | …/custom-image/components/toolbar/full-screen/modal.tsx | 29 | function ImageFullScreenModalWithoutPortal(props: Props) { |
| LOW | …/extensions/code/utils/replace-code-block-with-text.ts | 55 | function transformCodeBlockToParagraphs({ |
| LOW | …/editor/src/core/extensions/callout/color-selector.tsx | 21 | export function CalloutBlockColorSelector(props: Props) { |
| LOW | …tensions/table/plugins/drag-handles/color-selector.tsx | 44 | export function TableDragHandleDropdownColorSelector(props: Props) { |
| LOW | …e/components/editors/document/collaborative-editor.tsx | 24 | function CollaborativeDocumentEditorInner(props: ICollaborativeDocumentEditorProps) { |
| LOW | …e/components/editors/document/collaborative-editor.tsx | 141 | function CollaborativeDocumentEditor(props: ICollaborativeDocumentEditorProps) { |
| LOW | …e/components/editors/document/collaborative-editor.tsx | 158 | const CollaborativeDocumentEditorWithRef = React.forwardRef(function CollaborativeDocumentEditorWithRef( |
| LOW | packages/editor/src/core/helpers/scroll-to-node.ts | 36 | export function scrollToNodeViaDOMCoordinates(editor: Editor, pos: number, behavior?: ScrollBehavior): void { |
| LOW | …kages/editor/src/core/helpers/find-suggestion-match.ts | 10 | export function customFindSuggestionMatch(config: Trigger): SuggestionMatch | null { |
| 546 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | apps/api/plane/__init__.py | 5 | |
| LOW | apps/api/plane/settings/local.py | 9 | |
| LOW | apps/api/plane/settings/test.py | 7 | |
| LOW | apps/api/plane/settings/common.py | 537 | |
| LOW | apps/api/plane/settings/production.py | 9 | |
| LOW | apps/api/plane/app/permissions/__init__.py | 5 | |
| LOW | apps/api/plane/app/permissions/__init__.py | 5 | |
| LOW | apps/api/plane/app/permissions/__init__.py | 5 | |
| LOW | apps/api/plane/app/permissions/__init__.py | 5 | |
| LOW | apps/api/plane/app/permissions/__init__.py | 5 | |
| LOW | apps/api/plane/app/permissions/__init__.py | 5 | |
| LOW | apps/api/plane/app/permissions/__init__.py | 13 | |
| LOW | apps/api/plane/app/permissions/__init__.py | 13 | |
| LOW | apps/api/plane/app/permissions/__init__.py | 13 | |
| LOW | apps/api/plane/app/permissions/__init__.py | 13 | |
| LOW | apps/api/plane/app/permissions/__init__.py | 13 | |
| LOW | apps/api/plane/app/permissions/__init__.py | 20 | |
| LOW | apps/api/plane/app/permissions/__init__.py | 20 | |
| LOW | apps/api/plane/app/permissions/__init__.py | 21 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 5 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 6 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 6 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 6 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 6 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 6 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 6 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 6 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 6 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 6 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 17 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 17 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 17 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 17 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 17 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 17 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 17 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 17 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 17 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 17 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 17 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 17 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 31 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 31 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 31 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 31 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 31 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 31 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 31 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 31 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 31 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 31 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 31 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 31 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 31 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 46 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 46 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 47 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 47 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 48 | |
| LOW | apps/api/plane/app/serializers/__init__.py | 48 | |
| 704 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | packages/editor/src/core/extensions/code/code-block.ts | 295 | const codeMark = view.state.schema.marks.code.create(); |
| CRITICAL | apps/web/core/store/issue/project/issue.store.ts | 86 | projectId && this.rootIssueStore.rootStore.projectRoot.project.fetchProjectDetails(workspaceSlug, projectId); |
| CRITICAL | apps/web/core/store/issue/issue-details/issue.store.ts | 137 | this.rootIssueDetailStore.rootIssueStore.rootStore.state.fetchProjectStates(workspaceSlug, projectId); |
| CRITICAL | …web/core/store/issue/issue-details/sub_issues.store.ts | 240 | const state = this.rootIssueDetailStore.rootIssueStore.rootStore.state.getStateById(oldIssue.state_id); |
| CRITICAL | …web/core/store/issue/issue-details/sub_issues.store.ts | 245 | const state = this.rootIssueDetailStore.rootIssueStore.rootStore.state.getStateById(issueData.state_id); |
| CRITICAL | …web/core/store/issue/issue-details/sub_issues.store.ts | 277 | const state = this.rootIssueDetailStore.rootIssueStore.rootStore.state.getStateById(issue.state_id); |
| CRITICAL | …web/core/store/issue/issue-details/sub_issues.store.ts | 310 | const state = this.rootIssueDetailStore.rootIssueStore.rootStore.state.getStateById(issue.state_id); |
| CRITICAL | …web/core/store/issue/issue-details/sub_issues.store.ts | 341 | this.rootIssueDetailStore.rootIssueStore.rootStore.state.fetchProjectStates(workspaceSlug, projectId); |
| CRITICAL | …web/core/store/issue/issue-details/sub_issues.store.ts | 343 | this.rootIssueDetailStore.rootIssueStore.rootStore.memberRoot.project.fetchProjectMembers( |
| CRITICAL | …web/core/store/issue/issue-details/sub_issues.store.ts | 348 | this.rootIssueDetailStore.rootIssueStore.rootStore.label.fetchProjectLabels(workspaceSlug, projectId); |
| CRITICAL | …web/core/store/issue/issue-details/sub_issues.store.ts | 350 | this.rootIssueDetailStore.rootIssueStore.rootStore.cycle.fetchAllCycles(workspaceSlug, projectId); |
| CRITICAL | …web/core/store/issue/issue-details/sub_issues.store.ts | 352 | this.rootIssueDetailStore.rootIssueStore.rootStore.module.fetchModules(workspaceSlug, projectId); |
| CRITICAL | …web/core/store/issue/issue-details/sub_issues.store.ts | 354 | this.rootIssueDetailStore.rootIssueStore.rootStore.projectEstimate.getProjectEstimates( |
| CRITICAL | …e/store/issue/issue-details/sub_issues_filter.store.ts | 127 | const workItems = this.subIssueStore.rootIssueDetailStore.rootIssueStore.issues.getIssuesByIds( |
| CRITICAL | apps/web/core/store/issue/archived/issue.store.ts | 80 | projectId && this.rootIssueStore.rootStore.projectRoot.project.fetchProjectDetails(workspaceSlug, projectId); |
| CRITICAL | apps/api/plane/app/serializers/module.py | 14 | from django.core.exceptions import ValidationError |
| CRITICAL | apps/api/plane/app/serializers/workspace.py | 38 | from django.core.exceptions import ValidationError |
| CRITICAL | apps/api/plane/app/serializers/issue.py | 8 | from django.core.exceptions import ValidationError |
| CRITICAL | apps/api/plane/app/views/workspace/invite.py | 12 | from django.core.exceptions import ValidationError |
| CRITICAL | apps/api/plane/app/views/project/invite.py | 10 | from django.core.exceptions import ValidationError |
| CRITICAL | apps/api/plane/license/api/views/admin.py | 14 | from django.core.exceptions import ValidationError |
| CRITICAL | …ps/api/plane/tests/contract/app/test_authentication.py | 12 | from django.core.exceptions import ValidationError |
| CRITICAL | apps/api/plane/db/models/asset.py | 10 | from django.core.exceptions import ValidationError |
| CRITICAL | apps/api/plane/db/models/webhook.py | 11 | from django.core.exceptions import ValidationError |
| CRITICAL | apps/api/plane/db/models/workspace.py | 11 | from django.core.exceptions import ValidationError |
| CRITICAL | apps/api/plane/db/models/issue.py | 11 | from django.core.exceptions import ValidationError |
| CRITICAL | apps/api/plane/api/serializers/invite.py | 6 | from django.core.exceptions import ValidationError |
| CRITICAL | apps/api/plane/api/serializers/issue.py | 42 | from django.core.exceptions import ValidationError |
| CRITICAL | apps/api/plane/authentication/adapter/base.py | 13 | from django.core.exceptions import ValidationError |
| CRITICAL | apps/api/plane/authentication/views/app/check.py | 10 | from django.core.exceptions import ValidationError |
| CRITICAL | …/plane/authentication/views/app/password_management.py | 18 | from django.core.exceptions import ValidationError |
| CRITICAL | apps/api/plane/authentication/views/app/email.py | 6 | from django.core.exceptions import ValidationError |
| CRITICAL | apps/api/plane/authentication/views/space/check.py | 10 | from django.core.exceptions import ValidationError |
| CRITICAL | …lane/authentication/views/space/password_management.py | 18 | from django.core.exceptions import ValidationError |
| CRITICAL | apps/api/plane/authentication/views/space/email.py | 6 | from django.core.exceptions import ValidationError |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | apps/api/bin/docker-entrypoint-api-local.sh | 7 | # Create the default bucket |
| MEDIUM | apps/api/bin/docker-entrypoint-api-local.sh | 28 | # Create the default bucket |
| MEDIUM | apps/api/bin/docker-entrypoint-api.sh | 7 | # Create the default bucket |
| MEDIUM | apps/api/bin/docker-entrypoint-api.sh | 29 | # Create the default bucket |
| MEDIUM | apps/api/plane/settings/storage.py | 45 | # Create an S3 client for MinIO |
| MEDIUM | apps/api/plane/settings/storage.py | 55 | # Create an S3 client |
| MEDIUM | apps/api/plane/app/serializers/page.py | 72 | # Create the page |
| MEDIUM | apps/api/plane/app/serializers/page.py | 82 | # Create the project page |
| MEDIUM | apps/api/plane/app/serializers/base.py | 44 | # Create a list to store allowed fields. |
| MEDIUM | apps/api/plane/app/views/asset/v2.py | 147 | # Create a File Asset |
| MEDIUM | apps/api/plane/app/views/asset/v2.py | 356 | # Create a File Asset |
| MEDIUM | apps/api/plane/app/views/asset/v2.py | 558 | # Create a File Asset |
| MEDIUM | apps/api/plane/app/views/workspace/invite.py | 196 | # Create a Workspace |
| MEDIUM | apps/api/plane/app/views/intake/base.py | 272 | # Create an Issue Activity |
| MEDIUM | apps/api/plane/app/views/project/invite.py | 225 | # Create a Project Member |
| MEDIUM | apps/api/plane/app/views/project/member.py | 65 | # Create a dictionary of the member_id and their roles |
| MEDIUM | apps/api/plane/app/views/project/member.py | 114 | # Create a new project member |
| MEDIUM | apps/api/plane/app/views/project/member.py | 123 | # Create a new issue property |
| MEDIUM | apps/api/plane/app/views/project/base.py | 294 | # Create the model activity |
| MEDIUM | apps/api/plane/app/views/issue/attachment.py | 120 | # Create a File Asset |
| MEDIUM | apps/api/plane/app/views/analytic/project_analytics.py | 234 | # Create a dictionary of existing stats with summed counts |
| MEDIUM | apps/api/plane/license/bgtasks/telemetry_metrics.py | 105 | # Create a new MeterProvider per execution. Gauges use callbacks that capture |
| MEDIUM | apps/api/plane/license/api/views/admin.py | 48 | # Create an instance admin |
| MEDIUM | apps/api/plane/bgtasks/storage_metadata_task.py | 19 | # Create an instance of the S3 storage |
| MEDIUM | apps/api/plane/bgtasks/page_version_task.py | 32 | # Create a version if description_html is updated |
| MEDIUM | apps/api/plane/bgtasks/page_version_task.py | 59 | # Create a new page version |
| MEDIUM | apps/api/plane/bgtasks/workspace_seed_task.py | 521 | # Create a bot user for creating all the workspace data |
| MEDIUM | apps/api/plane/bgtasks/workspace_seed_task.py | 542 | # Create a project with the same name as workspace |
| MEDIUM | apps/api/plane/bgtasks/email_notification_task.py | 51 | # Create the below format for each of the issues |
| MEDIUM | apps/api/plane/bgtasks/webhook_task.py | 219 | # Create the email message |
| MEDIUM | apps/api/plane/bgtasks/dummy_data_task.py | 503 | # Create a project |
| MEDIUM | apps/api/plane/tests/conftest.py | 131 | # Create the workspace using the model |
| MEDIUM | apps/api/plane/tests/unit/middleware/test_db_routing.py | 400 | # Create a view class that raises AttributeError on access |
| MEDIUM | apps/api/plane/tests/unit/middleware/test_db_routing.py | 243 | # Create a real object to avoid Mock issues |
| MEDIUM | apps/api/plane/tests/unit/middleware/test_db_routing.py | 291 | # Create a real object to test the attribute handling |
| MEDIUM | apps/api/plane/tests/unit/utils/test_url.py | 88 | # Create a string over 1000 characters with a URL |
| MEDIUM | apps/api/plane/tests/unit/utils/test_uuid.py | 30 | # Create a known UUID |
| MEDIUM | …ps/api/plane/tests/unit/models/test_workspace_model.py | 18 | # Create a workspace |
| MEDIUM | …ps/api/plane/tests/unit/models/test_workspace_model.py | 32 | # Create a workspace |
| MEDIUM | …ps/api/plane/tests/unit/models/test_workspace_model.py | 37 | # Create a workspace member |
| MEDIUM | apps/api/plane/tests/unit/serializers/test_workspace.py | 18 | # Create a user to be the owner |
| MEDIUM | apps/api/plane/tests/unit/serializers/test_workspace.py | 21 | # Create a workspace with explicit ID to test serialization |
| MEDIUM | apps/api/plane/tests/unit/serializers/test_workspace.py | 39 | # Create a user to be the owner |
| MEDIUM | apps/api/plane/tests/unit/serializers/test_workspace.py | 42 | # Create a workspace |
| MEDIUM | …ps/api/plane/tests/contract/app/test_authentication.py | 342 | # Create a user that already exists |
| MEDIUM | apps/api/plane/tests/contract/app/test_project_app.py | 291 | # Create a project |
| MEDIUM | apps/api/plane/tests/contract/app/test_project_app.py | 346 | # Create an archived project |
| MEDIUM | apps/api/plane/tests/contract/app/test_project_app.py | 403 | # Create a project |
| MEDIUM | apps/api/plane/tests/contract/app/test_project_app.py | 406 | # Create a member user (not admin) |
| MEDIUM | apps/api/plane/tests/contract/app/test_project_app.py | 239 | # Create a project |
| MEDIUM | apps/api/plane/tests/contract/app/test_project_app.py | 257 | # Create a guest user |
| MEDIUM | apps/api/plane/tests/contract/app/test_project_app.py | 314 | # Create a project |
| MEDIUM | apps/api/plane/tests/contract/app/test_project_app.py | 370 | # Create a project |
| MEDIUM | apps/api/plane/tests/contract/app/test_project_app.py | 499 | # Create a member user (not admin) |
| MEDIUM | apps/api/plane/tests/contract/app/test_api_token.py | 113 | # Create a service token (should be excluded) |
| MEDIUM | apps/api/plane/utils/paginator.py | 315 | # Create a field dictionary |
| MEDIUM | apps/api/plane/utils/paginator.py | 535 | # Create a dictionary of group and sub group |
| MEDIUM | apps/api/plane/utils/paginator.py | 539 | # Create a dictionary of sub group |
| MEDIUM | apps/api/plane/utils/paginator.py | 543 | # Create a nested dictionary of group and sub group |
| MEDIUM | apps/api/plane/utils/paginator.py | 549 | # Create a field dictionary |
| 20 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | apps/api/plane/middleware/logger.py | 49 | # Check if logging is required |
| LOW | apps/api/plane/middleware/logger.py | 107 | # Check if content is binary by looking for common binary file signatures |
| LOW | apps/api/plane/app/serializers/intake.py | 49 | # Check if status is being updated to accepted |
| LOW | apps/api/plane/app/serializers/intake.py | 54 | # Check if issue is in TRIAGE state |
| LOW | apps/api/plane/app/serializers/workspace.py | 48 | # Check if the name contains a URL |
| LOW | apps/api/plane/app/serializers/workspace.py | 54 | # Check if the slug is restricted |
| LOW | apps/api/plane/app/serializers/base.py | 172 | # Check if field in expansion then expand the field |
| LOW | apps/api/plane/app/serializers/base.py | 183 | # Check if issue_attachments is in fields or expand |
| LOW | apps/api/plane/app/views/page/version.py | 20 | # Check if pk is provided |
| LOW | apps/api/plane/app/views/asset/v2.py | 117 | # Check if the file size is within the limit |
| LOW | apps/api/plane/app/views/asset/v2.py | 120 | # Check if the entity type is allowed |
| LOW | apps/api/plane/app/views/asset/v2.py | 127 | # Check if the file type is allowed |
| LOW | apps/api/plane/app/views/asset/v2.py | 239 | # Check if the asset exists |
| LOW | apps/api/plane/app/views/asset/v2.py | 323 | # Check if the entity type is allowed |
| LOW | apps/api/plane/app/views/asset/v2.py | 330 | # Check if the file type is allowed |
| LOW | apps/api/plane/app/views/asset/v2.py | 418 | # Check if the asset is uploaded |
| LOW | apps/api/plane/app/views/asset/v2.py | 446 | # Check if the asset is uploaded |
| LOW | apps/api/plane/app/views/asset/v2.py | 453 | # Check if the entity type is allowed |
| LOW | apps/api/plane/app/views/asset/v2.py | 525 | # Check if the entity type is allowed |
| LOW | apps/api/plane/app/views/asset/v2.py | 532 | # Check if the file type is allowed |
| LOW | apps/api/plane/app/views/asset/v2.py | 616 | # Check if the asset is uploaded |
| LOW | apps/api/plane/app/views/asset/v2.py | 645 | # Check if the asset ids are provided |
| LOW | apps/api/plane/app/views/asset/v2.py | 661 | # Check if the asset is uploaded |
| LOW | apps/api/plane/app/views/cycle/base.py | 538 | # Check if any cycle intersects in the given interval |
| LOW | apps/api/plane/app/views/workspace/invite.py | 55 | # Check if email is provided |
| LOW | apps/api/plane/app/views/workspace/invite.py | 62 | # Check if any invited user has an higher role |
| LOW | apps/api/plane/app/views/workspace/invite.py | 72 | # Check if user is already a member of workspace |
| LOW | apps/api/plane/app/views/workspace/invite.py | 182 | # Check if the user created account after invitation |
| LOW | apps/api/plane/app/views/workspace/invite.py | 187 | # Check if the user was already a member of workspace then activate the user |
| LOW | apps/api/plane/app/views/workspace/member.py | 164 | # Check if the leaving user is the only admin of the workspace |
| LOW | apps/api/plane/app/views/user/base.py | 120 | # Check if email is the same as current email |
| LOW | apps/api/plane/app/views/user/base.py | 127 | # Check if email already exists in the User model |
| LOW | apps/api/plane/app/views/intake/base.py | 429 | # Check if the update is a migration description update |
| LOW | apps/api/plane/app/views/project/invite.py | 57 | # Check if email is provided |
| LOW | apps/api/plane/app/views/project/invite.py | 137 | # Check if user has permission to join each project |
| LOW | apps/api/plane/app/views/project/invite.py | 203 | # Check if the user account exists |
| LOW | apps/api/plane/app/views/project/invite.py | 206 | # Check if user is a part of workspace |
| LOW | apps/api/plane/app/views/project/invite.py | 220 | # Check if the user was already a member of project then activate the user |
| LOW | apps/api/plane/app/views/project/member.py | 54 | # Check if the members array is empty |
| LOW | apps/api/plane/app/views/project/member.py | 219 | # Check if the user is not editing their own role if they are not an admin |
| LOW | apps/api/plane/app/views/project/member.py | 313 | # Check if the leaving user is the only admin of the project |
| LOW | apps/api/plane/app/views/issue/attachment.py | 176 | # Check if the asset is uploaded |
| LOW | apps/api/plane/app/views/issue/label.py | 60 | # Check if the label name is unique within the project |
| LOW | apps/api/plane/app/views/issue/base.py | 671 | # Check if the update is a migration description update |
| LOW | apps/api/plane/app/views/issue/base.py | 1196 | # Check if the issue identifier is a valid integer |
| LOW | apps/api/plane/app/views/issue/base.py | 1208 | # Check if the user is a member of the project |
| LOW | apps/api/plane/app/views/issue/base.py | 1317 | # Check if the issue exists |
| LOW | apps/api/plane/license/bgtasks/telemetry_metrics.py | 73 | # Check if the instance is registered |
| LOW | …plane/license/management/commands/register_instance.py | 54 | # Check if the instance is registered |
| LOW | apps/api/plane/license/api/serializers/workspace.py | 22 | # Check if the slug is restricted |
| LOW | apps/api/plane/license/api/views/admin.py | 171 | # Check if already a user exists or not |
| LOW | apps/api/plane/license/api/views/admin.py | 334 | # Check if the user is an instance admin |
| LOW | apps/api/plane/bgtasks/recent_visited_task.py | 30 | # Check if the database is available |
| LOW | apps/api/plane/bgtasks/deletion_task.py | 188 | # Check if the model has a 'deleted_at' field |
| LOW | apps/api/plane/bgtasks/notification_task.py | 330 | # Check if the value should be sent or not |
| LOW | apps/api/plane/bgtasks/webhook_task.py | 484 | # Check if key is present in current instance or not |
| LOW | …ps/api/plane/bgtasks/issue_description_version_task.py | 52 | # Check if description has changed |
| LOW | apps/api/plane/bgtasks/event_tracking_task.py | 48 | # Check if the current user is the workspace owner |
| LOW | apps/api/plane/bgtasks/work_item_link_task.py | 202 | # Check if fallback exists |
| LOW | apps/api/plane/bgtasks/issue_automation_task.py | 56 | # Check if Issues |
| 84 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | apps/api/plane/middleware/logger.py | 160 | except Exception as e: |
| MEDIUM | apps/api/plane/settings/storage.py | 96 | print(f"Error generating presigned POST URL: {e}") |
| LOW | apps/api/plane/app/serializers/page.py | 195 | except Exception as e: |
| LOW | apps/api/plane/app/views/base.py | 66 | except Exception as e: |
| LOW | apps/api/plane/app/views/base.py | 78 | except Exception as e: |
| LOW | apps/api/plane/app/views/base.py | 121 | except Exception as exc: |
| LOW | apps/api/plane/app/views/base.py | 175 | except Exception as e: |
| LOW | apps/api/plane/app/views/base.py | 216 | except Exception as exc: |
| MEDIUM | apps/api/plane/app/views/base.py | 63 | def get_queryset(self): |
| MEDIUM | apps/api/plane/app/views/base.py | 111 | def dispatch(self, request, *args, **kwargs): |
| MEDIUM | apps/api/plane/app/views/base.py | 206 | def dispatch(self, request, *args, **kwargs): |
| LOW | apps/api/plane/app/views/user/base.py | 114 | except Exception: |
| LOW | apps/api/plane/app/views/user/base.py | 168 | except Exception as e: |
| LOW | apps/api/plane/app/views/user/base.py | 217 | except Exception: |
| LOW | apps/api/plane/app/views/external/base.py | 137 | except Exception as e: |
| LOW | apps/api/plane/license/bgtasks/telemetry_metrics.py | 360 | except Exception as e: |
| LOW | apps/api/plane/license/bgtasks/telemetry_metrics.py | 380 | except Exception as e: |
| LOW | …plane/license/management/commands/register_instance.py | 36 | except Exception: |
| LOW | …plane/license/management/commands/register_instance.py | 49 | except Exception: |
| MEDIUM | …plane/license/management/commands/register_instance.py | 40 | def check_for_latest_version(self, fallback_version): |
| LOW | apps/api/plane/license/utils/encryption.py | 28 | except Exception as e: |
| LOW | apps/api/plane/license/utils/encryption.py | 42 | except Exception as e: |
| MEDIUM | apps/api/plane/license/utils/encryption.py | 20 | def encrypt_data(data): |
| MEDIUM | apps/api/plane/license/utils/encryption.py | 34 | def decrypt_data(encrypted_data): |
| LOW | apps/api/plane/license/api/views/configuration.py | 81 | except Exception: |
| LOW | apps/api/plane/license/api/views/configuration.py | 167 | except Exception: |
| MEDIUM | apps/api/plane/license/api/views/configuration.py | 66 | def delete(self, request): |
| LOW | apps/api/plane/license/api/views/admin.py | 396 | except Exception: |
| LOW | apps/api/plane/license/api/views/base.py | 66 | except Exception as e: |
| LOW | apps/api/plane/license/api/views/base.py | 107 | except Exception as exc: |
| MEDIUM | apps/api/plane/license/api/views/base.py | 97 | def dispatch(self, request, *args, **kwargs): |
| LOW | apps/api/plane/bgtasks/storage_metadata_task.py | 28 | except Exception as e: |
| MEDIUM | apps/api/plane/bgtasks/storage_metadata_task.py | 15 | def get_asset_object_metadata(asset_id): |
| LOW | apps/api/plane/bgtasks/project_invitation_task.py | 84 | except Exception as e: |
| MEDIUM | apps/api/plane/bgtasks/project_invitation_task.py | 24 | def project_invitation(email, project_id, token, current_site, invitor): |
| LOW | apps/api/plane/bgtasks/page_version_task.py | 79 | except Exception as e: |
| MEDIUM | apps/api/plane/bgtasks/page_version_task.py | 22 | def track_page_version(page_id, existing_instance, user_id): |
| LOW | apps/api/plane/bgtasks/recent_visited_task.py | 59 | except Exception as e: |
| MEDIUM | apps/api/plane/bgtasks/recent_visited_task.py | 18 | def recent_visited_task(entity_name, entity_identifier, user_id, project_id, slu |
| LOW | apps/api/plane/bgtasks/user_activation_email_task.py | 67 | except Exception as e: |
| MEDIUM | apps/api/plane/bgtasks/user_activation_email_task.py | 23 | def user_activation_email(current_site, user_id): |
| LOW | apps/api/plane/bgtasks/user_deactivation_email_task.py | 69 | except Exception as e: |
| MEDIUM | apps/api/plane/bgtasks/user_deactivation_email_task.py | 23 | def user_deactivation_email(current_site, user_id): |
| LOW | apps/api/plane/bgtasks/user_email_update_task.py | 61 | except Exception as e: |
| LOW | apps/api/plane/bgtasks/user_email_update_task.py | 112 | except Exception as e: |
| MEDIUM | apps/api/plane/bgtasks/user_email_update_task.py | 22 | def send_email_update_magic_code(email, token): |
| LOW | apps/api/plane/bgtasks/analytic_plot_export.py | 404 | except Exception as e: |
| LOW | apps/api/plane/bgtasks/analytic_plot_export.py | 433 | except Exception as e: |
| MEDIUM | apps/api/plane/bgtasks/analytic_plot_export.py | 350 | def analytic_export_task(email, data, slug): |
| MEDIUM | apps/api/plane/bgtasks/analytic_plot_export.py | 410 | def export_analytics_to_csv_email(data, headers, keys, email, slug): |
| LOW | apps/api/plane/bgtasks/forgot_password_task.py | 70 | except Exception as e: |
| MEDIUM | apps/api/plane/bgtasks/forgot_password_task.py | 23 | def forgot_password(first_name, email, uidb64, token, current_site): |
| LOW | apps/api/plane/bgtasks/deletion_task.py | 97 | except Exception as e: |
| MEDIUM | apps/api/plane/bgtasks/deletion_task.py | 99 | print(f"Error handling relation {related_name}: {str(e)}") |
| LOW | apps/api/plane/bgtasks/copy_s3_object.py | 41 | except Exception as e: |
| LOW | apps/api/plane/bgtasks/copy_s3_object.py | 54 | except Exception as e: |
| LOW | apps/api/plane/bgtasks/copy_s3_object.py | 153 | except Exception as e: |
| MEDIUM | apps/api/plane/bgtasks/copy_s3_object.py | 37 | def extract_asset_ids(html, tag): |
| MEDIUM | apps/api/plane/bgtasks/copy_s3_object.py | 46 | def replace_asset_ids(html, tag, duplicated_assets): |
| MEDIUM | apps/api/plane/bgtasks/copy_s3_object.py | 67 | def sync_with_external_service(entity_name, description_html): |
| 93 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | apps/api/plane/app/serializers/base.py | 0 | adjust the serializer's fields based on the provided 'fields' list. :param fields: list or dictionary specifying which f |
| HIGH | apps/api/plane/api/serializers/base.py | 0 | adjust the serializer's fields based on the provided 'fields' list. :param fields: list or dictionary specifying which f |
| HIGH | apps/api/plane/space/serializer/base.py | 0 | adjust the serializer's fields based on the provided 'fields' list. :param fields: list or dictionary specifying which f |
| HIGH | apps/api/plane/app/views/base.py | 0 | this enables timezone conversion according to the user set timezone |
| HIGH | apps/api/plane/license/api/views/base.py | 0 | this enables timezone conversion according to the user set timezone |
| HIGH | apps/api/plane/api/views/base.py | 0 | this enables timezone conversion according to the user set timezone |
| HIGH | apps/api/plane/space/views/base.py | 0 | this enables timezone conversion according to the user set timezone |
| HIGH | apps/api/plane/app/views/base.py | 0 | handle any exception that occurs, by returning an appropriate response, or re-raising the error. |
| HIGH | apps/api/plane/app/views/base.py | 0 | handle any exception that occurs, by returning an appropriate response, or re-raising the error. |
| HIGH | apps/api/plane/license/api/views/base.py | 0 | handle any exception that occurs, by returning an appropriate response, or re-raising the error. |
| HIGH | apps/api/plane/api/views/base.py | 0 | handle any exception that occurs, by returning an appropriate response, or re-raising the error. |
| HIGH | apps/api/plane/api/views/base.py | 0 | handle any exception that occurs, by returning an appropriate response, or re-raising the error. |
| HIGH | apps/api/plane/space/views/base.py | 0 | handle any exception that occurs, by returning an appropriate response, or re-raising the error. |
| HIGH | apps/api/plane/space/views/base.py | 0 | handle any exception that occurs, by returning an appropriate response, or re-raising the error. |
| HIGH | apps/api/plane/app/views/asset/v2.py | 0 | this endpoint is used to upload user profile images. |
| HIGH | apps/api/plane/api/views/asset.py | 0 | this endpoint is used to upload user profile images. |
| HIGH | apps/api/plane/api/views/asset.py | 0 | this endpoint is used to upload user profile images. |
| HIGH | apps/api/plane/db/mixins.py | 0 | to path when the record was created and last modified |
| HIGH | apps/api/plane/db/mixins.py | 0 | to path when the record was created and last modified |
| HIGH | apps/api/plane/db/mixins.py | 0 | to path when the record was created and last modified |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | apps/api/plane/settings/openapi.py | 12 | # ======================================================================== |
| MEDIUM | apps/api/plane/settings/openapi.py | 14 | # ======================================================================== |
| MEDIUM | apps/api/plane/settings/openapi.py | 31 | # ======================================================================== |
| MEDIUM | apps/api/plane/settings/openapi.py | 33 | # ======================================================================== |
| MEDIUM | apps/api/plane/settings/openapi.py | 37 | # ======================================================================== |
| MEDIUM | apps/api/plane/settings/openapi.py | 39 | # ======================================================================== |
| MEDIUM | apps/api/plane/settings/openapi.py | 43 | # ======================================================================== |
| MEDIUM | apps/api/plane/settings/openapi.py | 45 | # ======================================================================== |
| MEDIUM | apps/api/plane/settings/openapi.py | 50 | # ======================================================================== |
| MEDIUM | apps/api/plane/settings/openapi.py | 52 | # ======================================================================== |
| MEDIUM | apps/api/plane/settings/openapi.py | 261 | # ======================================================================== |
| MEDIUM | apps/api/plane/settings/openapi.py | 263 | # ======================================================================== |
| MEDIUM | apps/api/plane/settings/openapi.py | 267 | # ======================================================================== |
| MEDIUM | apps/api/plane/settings/openapi.py | 269 | # ======================================================================== |
| MEDIUM | apps/api/plane/bgtasks/notification_task.py | 279 | # --------------------------------------------------------------------------------------------------------- |
| MEDIUM | apps/api/plane/utils/openapi/examples.py | 94 | # ============================================================================ |
| MEDIUM | apps/api/plane/utils/openapi/examples.py | 96 | # ============================================================================ |
| MEDIUM | apps/api/plane/utils/openapi/examples.py | 385 | # ============================================================================ |
| MEDIUM | apps/api/plane/utils/openapi/examples.py | 387 | # ============================================================================ |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | docker-compose-test.yml | 1 | # Docker Compose for running the API pytest suite in a contained environment. |
| LOW | packages/types/src/users.ts | 201 | // export interface ICurrentUser { |
| LOW | packages/types/src/users.ts | 221 | // sidebarText: string; |
| LOW | packages/constants/src/auth/index.ts | 21 | { |
| LOW | packages/shared-state/src/store/user.store.ts | 41 | |
| LOW | packages/shared-state/src/store/user.store.ts | 61 | // this.user = user; |
| LOW | packages/shared-state/src/store/user.store.ts | 81 | |
| LOW | packages/shared-state/src/store/user.store.ts | 101 | // } |
| LOW | packages/shared-state/src/store/user.store.ts | 121 | // runInAction(() => { |
| LOW | packages/shared-state/src/store/user.store.ts | 141 | // } |
| LOW | packages/i18n/src/core/instance.ts | 41 | returnEmptyString: false, |
| LOW | packages/editor/src/core/constants/common.ts | 241 | backgroundColor: "var(--editor-colors-purple-background)", |
| LOW | packages/codemods/tests/function-declaration.spec.ts | 361 | const result = await applyTransform( |
| LOW | packages/codemods/tests/function-declaration.spec.ts | 401 | // ReactDOM.preload(url, { as: "fetch", crossOrigin: "use-credentials" }); |
| LOW | apps/web/core/constants/plans.tsx | 621 | business: true, |
| LOW | apps/web/core/constants/plans.tsx | 641 | // <span className="bg-[#3f76ff] text-on-color font-semibold text-9 p-0.5 w-fit whitespace-nowrap rounded- |
| LOW | …mponents/power-k/ui/pages/work-item-selection-page.tsx | 1 | /** |
| LOW | apps/web/core/components/exporter/export-form.tsx | 41 | multiple: boolean; |
| LOW | apps/web/core/services/issue_filter.service.ts | 21 | // .then((response) => response?.data) |
| LOW | apps/web/core/store/dashboard.store.ts | 21 | // plane web store |
| LOW | apps/web/app/(all)/layout.preload.tsx | 1 | /** |
| LOW | apps/web/app/routes/core.ts | 41 | // Workspace Invitations |
| LOW | apps/api/requirements.txt | 1 | # This file is here because many Platforms as a Service look for |
| LOW | apps/api/plane/middleware/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/settings/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/app/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/app/middleware/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/license/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/license/bgtasks/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/license/management/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/license/management/commands/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/license/utils/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/license/api/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/bgtasks/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/web/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/tests/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/tests/smoke/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/tests/unit/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/tests/unit/middleware/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/tests/unit/settings/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/tests/unit/utils/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/tests/unit/models/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/tests/unit/serializers/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/tests/contract/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/tests/contract/app/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/tests/contract/api/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/utils/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/utils/email.py | 1 | # SPDX-FileCopyrightText: 2023-present Plane Software, Inc. |
| LOW | apps/api/plane/db/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/db/management/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/db/management/commands/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/api/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/api/middleware/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/api/views/project.py | 261 | ] |
| LOW | apps/api/plane/space/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/authentication/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/authentication/middleware/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | apps/api/plane/authentication/provider/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | …ps/api/plane/authentication/provider/oauth/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| LOW | …/plane/authentication/provider/credentials/__init__.py | 1 | # Copyright (c) 2023-present Plane Software, Inc. and contributors |
| 3 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | apps/api/plane/app/serializers/issue.py | 832 | |
| LOW | apps/api/plane/app/serializers/base.py | 26 | |
| LOW | apps/api/plane/app/serializers/base.py | 122 | |
| LOW | apps/api/plane/app/views/workspace/invite.py | 163 | |
| LOW | apps/api/plane/app/views/search/base.py | 82 | |
| LOW | apps/api/plane/app/views/search/base.py | 233 | |
| LOW | apps/api/plane/app/views/search/base.py | 305 | |
| LOW | apps/api/plane/app/views/issue/sub_issue.py | 37 | |
| LOW | …lane/license/management/commands/configure_instance.py | 19 | |
| LOW | apps/api/plane/license/utils/instance_value.py | 17 | |
| LOW | apps/api/plane/bgtasks/deletion_task.py | 18 | |
| LOW | apps/api/plane/bgtasks/copy_s3_object.py | 46 | |
| LOW | apps/api/plane/bgtasks/page_transaction_task.py | 85 | |
| LOW | apps/api/plane/bgtasks/email_notification_task.py | 87 | |
| LOW | apps/api/plane/bgtasks/email_notification_task.py | 153 | |
| LOW | apps/api/plane/bgtasks/notification_task.py | 191 | |
| LOW | …ps/api/plane/bgtasks/issue_description_version_sync.py | 40 | |
| LOW | apps/api/plane/bgtasks/issue_activities_task.py | 1504 | |
| LOW | apps/api/plane/bgtasks/issue_version_sync.py | 34 | |
| LOW | apps/api/plane/bgtasks/issue_version_sync.py | 181 | |
| LOW | apps/api/plane/bgtasks/issue_automation_task.py | 28 | |
| LOW | apps/api/plane/bgtasks/issue_automation_task.py | 89 | |
| LOW | apps/api/plane/tests/smoke/test_auth_smoke.py | 15 | |
| LOW | apps/api/plane/utils/issue_filters.py | 55 | |
| LOW | apps/api/plane/utils/date_utils.py | 12 | |
| LOW | apps/api/plane/utils/content_validator.py | 162 | |
| LOW | apps/api/plane/utils/order_queryset.py | 12 | |
| LOW | apps/api/plane/utils/filters/filterset.py | 44 | |
| LOW | apps/api/plane/utils/filters/filter_backend.py | 142 | |
| LOW | apps/api/plane/utils/filters/filter_backend.py | 313 | |
| LOW | apps/api/plane/utils/filters/filter_backend.py | 411 | |
| LOW | apps/api/plane/utils/filters/converters.py | 241 | |
| LOW | apps/api/plane/utils/porters/formatters.py | 89 | |
| LOW | apps/api/plane/utils/porters/formatters.py | 233 | |
| LOW | …lane/db/management/commands/fix_duplicate_sequences.py | 27 | |
| LOW | apps/api/plane/db/models/base.py | 23 | |
| LOW | apps/api/plane/api/serializers/base.py | 32 | |
| LOW | apps/api/plane/api/serializers/base.py | 72 | |
| LOW | apps/api/plane/api/views/issue.py | 2332 | |
| LOW | apps/api/plane/api/views/project.py | 215 | |
| LOW | apps/api/plane/api/views/project.py | 449 | |
| LOW | apps/api/plane/space/serializer/base.py | 25 | |
| LOW | apps/api/plane/authentication/middleware/session.py | 29 | |
| LOW | apps/api/plane/authentication/adapter/oauth.py | 49 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | packages/ui/src/popovers/popover-menu.stories.tsx | 27 | { id: 1, name: "John Doe" }, |
| LOW | packages/ui/src/popovers/popover-menu.stories.tsx | 28 | { id: 2, name: "Jane Doe" }, |
| LOW | packages/ui/src/avatar/avatar.stories.tsx | 19 | args: { name: "John Doe" }, |
| LOW | packages/ui/src/avatar/avatar.stories.tsx | 23 | args: { name: "John Doe" }, |
| LOW | packages/ui/src/sortable/sortable.stories.tsx | 18 | { id: "1", name: "John Doe" }, |
| LOW | packages/utils/src/validation.ts | 122 | * validateCompanyName("Acme Corp") // returns true |
| LOW | packages/utils/src/validation.ts | 152 | * validateWorkspaceName("Acme Corp") // returns true |
| LOW | packages/utils/src/string.ts | 86 | * getFirstCharacters("John Doe") // returns "JD" |
| LOW | packages/propel/src/scrollarea/scrollarea.stories.tsx | 39 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et |
| LOW | packages/propel/src/scrollarea/scrollarea.stories.tsx | 39 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et |
| LOW | packages/propel/src/dialog/dialog.stories.tsx | 362 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut |
| LOW | packages/propel/src/dialog/dialog.stories.tsx | 362 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut |
| LOW | packages/propel/src/avatar/avatar.stories.tsx | 18 | name: "John Doe", |
| LOW | apps/live/tests/lib/pdf/pdf-rendering.test.ts | 523 | userMentions: [{ id: "user-123", display_name: "John Doe" }], |
| LOW | apps/live/tests/lib/pdf/pdf-rendering.test.ts | 549 | expect(text).toContain("John Doe"); |
| LOW | apps/api/plane/tests/contract/app/test_project_app.py | 483 | workspace_admin = User.objects.create_user(email="admin@example.com", username="admin") |
| LOW | apps/api/plane/utils/openapi/examples.py | 89 | "display_name": "John Doe", |
| LOW | apps/api/plane/utils/openapi/examples.py | 525 | "display_name": "John Doe", |
| LOW | apps/api/plane/utils/openapi/examples.py | 626 | "display_name": "John Doe", |
| LOW | apps/api/plane/utils/openapi/examples.py | 651 | "display_name": "John Doe", |
| LOW | apps/api/plane/utils/openapi/examples.py | 814 | "actor": {"id": "550e8400-e29b-41d4-a716-446655440002", "display_name": "John Doe"}, |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | apps/api/plane/bgtasks/webhook_task.py | 126 | Retrieve and serialize model data based on the event type. Args: event (str): The type of event/model |
| HIGH | apps/api/plane/bgtasks/work_item_link_task.py | 74 | Perform a GET request that validates every redirect hop against private IPs. Prevents SSRF by ensuring no redir |
| HIGH | apps/api/plane/utils/filters/converters.py | 320 | Convert legacy filters to rich filters format with validation Args: legacy_filters: Dictio |
| HIGH | apps/api/plane/utils/porters/exporter.py | 70 | Export queryset to file with configured format. Args: filename: Base filename (without ext |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | packages/utils/src/string.ts | 425 | // Create a dummy URL to leverage browser's URL normalization |
| MEDIUM | apps/live/src/controllers/document.controller.ts | 16 | // Define the schema with more robust validation |
| MEDIUM | apps/api/plane/tests/contract/api/test_projects.py | 215 | # transaction.on_commit(robust=True). |
| MEDIUM | apps/api/plane/api/views/project.py | 269 | # robust=True so broker / dispatch failures are logged |
| MEDIUM | apps/api/plane/api/views/project.py | 274 | # used here because Django's robust on_commit logging |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …web/core/components/core/modals/change-email-modal.tsx | 72 | // Step 2: Verify the code and update email |
| LOW | …web/core/components/core/modals/change-email-modal.tsx | 95 | // Step 1: Check email and generate verification code |
| LOW | apps/web/app/routes/helper.ts | 16 | // Step 1: Create a Map to track routes by file path |
| LOW | apps/web/app/routes/helper.ts | 19 | // Step 2: Process core routes first |
| LOW | apps/web/app/routes/helper.ts | 25 | // Step 3: Process extended routes |
| LOW | apps/web/app/routes/helper.ts | 54 | // Step 4: Build final array maintaining order (core first, then extended-only) |
| LOW | apps/live/src/extensions/force-close-handler.ts | 47 | // Step 1: Send force close message to ALL clients first |
| LOW | apps/live/src/extensions/force-close-handler.ts | 71 | // Step 2: Close connections |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | apps/web/core/store/issue/helpers/base-issues.store.ts | 1635 | // if value is not defined, return None value in array |
| HIGH | apps/web/public/workbox-9f2f79cf.js | 65 | print(method, args); |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | apps/api/plane/utils/filters/filterset.py | 173 | Convenience filter: archived=true -> archived_at is not null, |
| HIGH | apps/api/plane/utils/filters/filter_backend.py | 453 | "message": (f"Value for '{key}' must be a scalar, null, or list/tuple of scalars"), |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | docker-compose-test.yml | 6 | # Usage: |
| LOW | packages/propel/src/scrollarea/scrollarea.stories.tsx | 222 | // Example usage |