Skip to content

Conversation

NarayanBavisetti
Copy link
Collaborator

@NarayanBavisetti NarayanBavisetti commented Jul 14, 2025

Description

This pull request includes a migration that adds the app_rail field to the Profile model and changes the reaction field from a CharField to a TextField.

Type of Change

  • Feature (non-breaking change which adds functionality)
  • Improvement (change that would cause existing functionality to not work as expected)

Summary by CodeRabbit

  • New Features

    • Added a new setting to user profiles for docking the app rail, enabled by default.
  • Improvements

    • Expanded the allowed length for reactions on comments and issues, enabling longer text responses.

@NarayanBavisetti NarayanBavisetti requested a review from Copilot July 14, 2025 14:46
@NarayanBavisetti NarayanBavisetti added the 🔄migrations Contains Migration changes label Jul 14, 2025
Copy link
Contributor

coderabbitai bot commented Jul 14, 2025

Walkthrough

A new Boolean field is_app_rail_docked with a default value of True was added to the Profile model. The reaction fields in both CommentReaction and IssueReaction models were changed from CharField(max_length=20) to TextField, allowing for longer text values. Corresponding migration was created.

Changes

File(s) Change Summary
apps/api/plane/db/models/user.py Added is_app_rail_docked BooleanField (default=True) to Profile model.
apps/api/plane/db/models/issue.py Changed reaction fields in IssueReaction and CommentReaction from CharField to TextField.
apps/api/plane/db/migrations/0098_profile_is_app_rail_docked_and_more.py Migration for new is_app_rail_docked field and reaction field type updates.

Poem

A docked rail for profiles, a flag set to True,
And reactions can now say much more than a few!
No longer constrained by a limit so tight,
Comments and issues can share all their might.
Here’s to migrations and models anew—
A hop, a skip, and a schema breakthrough!
🐇✨


📜 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 a427367 and 0db4e5a.

📒 Files selected for processing (3)
  • apps/api/plane/db/migrations/0098_profile_is_app_rail_docked_and_more.py (1 hunks)
  • apps/api/plane/db/models/issue.py (2 hunks)
  • apps/api/plane/db/models/user.py (1 hunks)
🔇 Additional comments (4)
apps/api/plane/db/models/user.py (1)

200-200: LGTM: Clean addition of UI preference field

The is_app_rail_docked field addition is well-structured with appropriate data type, default value, and placement within the model.

apps/api/plane/db/models/issue.py (2)

604-604: LGTM: Consistent field type upgrade for extended reaction support

The change from CharField(max_length=20) to TextField() removes the character limit, enabling support for longer reaction strings (e.g., custom emoji codes, Unicode sequences).


633-633: LGTM: Maintains consistency with IssueReaction model

The reaction field change matches the corresponding update in the IssueReaction model, ensuring consistent behavior across both reaction types.

apps/api/plane/db/migrations/0098_profile_is_app_rail_docked_and_more.py (1)

12-28: LGTM: Migration correctly implements model changes

The migration operations properly reflect the model changes:

  • AddField operation accurately adds the is_app_rail_docked boolean field with default value
  • AlterField operations consistently update both reaction fields to TextField
  • Dependencies are correctly set
✨ 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

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Adds a boolean flag to the Profile model and expands the storage capacity for reactions.

  • Introduces is_app_rail_docked on Profile with a default of True.
  • Converts reaction from CharField(max_length=20) to TextField on both IssueReaction and CommentReaction.
  • Provides a migration to apply these schema updates.

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
apps/api/plane/db/models/user.py Added is_app_rail_docked BooleanField to the Profile model
apps/api/plane/db/models/issue.py Altered reaction field type from CharField to TextField in IssueReaction and CommentReaction
apps/api/plane/db/migrations/0098_profile_is_app_rail_docked_and_more.py New migration to add the boolean field and modify reaction columns
Comments suppressed due to low confidence (3)

apps/api/plane/db/models/user.py:200

  • There are no tests covering the new is_app_rail_docked field. Consider adding unit tests to verify its default value and behavior when toggled.
    is_app_rail_docked = models.BooleanField(default=True)

apps/api/plane/db/models/issue.py:604

  • Applying a unique constraint on a TextField can cause index length errors in some databases. Consider using a CharField with an increased max_length or adding an indexed prefix to ensure compatibility.
    reaction = models.TextField()

apps/api/plane/db/models/issue.py:633

  • Unique constraints on a TextField may not be supported or could exceed index length limits. You might switch back to a CharField with a larger max_length or define a specific index length.
    reaction = models.TextField()

@NarayanBavisetti NarayanBavisetti changed the title chore: added migration for app rail and reactions [WEB-4504] chore: added migration for app rail and reactions Jul 14, 2025
Copy link

makeplane bot commented Jul 14, 2025

Pull Request Linked with Plane Work Items

Comment Automatically Generated by Plane

@sriramveeraghanta sriramveeraghanta merged commit 62065a6 into preview Jul 14, 2025
5 of 6 checks passed
@sriramveeraghanta sriramveeraghanta deleted the chore-app-rail-reaction-migration branch July 14, 2025 15:27
cuongpham259 added a commit to cuongpham259/plane that referenced this pull request Aug 2, 2025
* [WEB-4481] optimize workspace member view by prefetching related assets (makeplane#7390)

* [WEB-4484]chore: streamline issue saving process with advisory locks for sequence management makeplane#7395

* testing

* feat : added Kabul to the list of timezones (makeplane#7370)

* [WEB-4485] - fix(dev): get local dev migrator working again makeplane#7397

* [WEB-4484]chore: streamline issue saving process with advisory locks for sequence management (makeplane#7396)

* chore: streamline issue saving process with advisory locks for sequence management

* fix: update advisory lock usage in issue model for improved concurrency management

* fix: local dev environment setup using yarn v4 (makeplane#7400)

* chore: adding typescript dependency to constants.

* chore: package deps update

* [WEB-4482] fix: kanban drag and delete makeplane#7402

* [INFRA-208] Reorganize deployment structure and update build workflows (makeplane#7391)

* refactor: reorganize deployment structure and update build workflows

- Restructure deployment directories from deploy/ to deployments/
- Move selfhost files to deployments/cli/community/
- Add new AIO community deployment setup
- Update GitHub Actions workflows for new directory structure
- Add Caddy proxy configuration for CE deployment
- Remove deprecated AIO build files and workflows
- Update build context paths in install scripts

* chore: update Dockerfile and supervisor configuration

- Changed `apk add` command in Dockerfile to use `--no-cache` for better image size management.
- Updated `build.sh` to ensure proper directory navigation with quotes around `dirname "$0"`.
- Modified `supervisor.conf` to set `stderr_logfile_maxbytes` to 50MB and added `stderr_logfile_backups` for better log management across multiple services.

* chore: consistent node and python version

---------

Co-authored-by: sriramveeraghanta <[email protected]>

* [WEB-4407] chore: add project page creation event tracking makeplane#7378

* [WEB-4468] fix: setting sidebar truncate makeplane#7403

* [WEB-4494] fix: kanban delete modal ux makeplane#7405

* [WIKI-545] fix: shrinking headings in page table of contents makeplane#7404

* [INFRA-209] Remove nginx related configurations from plane community (makeplane#7406)

* Remove deprecated Nginx configuration files and scripts, including Dockerfiles, environment scripts, and configuration templates, to streamline the project structure.

* Update environment configuration and Docker setup for proxy services

- Added LISTEN_PORT and LISTEN_SSL_PORT variables to .env.example and related files.
- Updated Docker Compose files to reference new port variables instead of deprecated NGINX_PORT.
- Adjusted README and variable documentation to reflect changes in port configuration.
- Changed build context for proxy services to use the new directory structure.

* Refactor port configuration in environment and Docker files

- Renamed LISTEN_PORT and LISTEN_SSL_PORT to LISTEN_HTTP_PORT and LISTEN_HTTPS_PORT in .env.example and related files.
- Updated Docker Compose configurations to reflect the new port variable names.
- Adjusted documentation in README and variables.env to ensure consistency with the new naming conventions.

* [WIKI-509] feat: comment copy link option (makeplane#7385)

* feat: comment copy link option

* chore: add translations

* chore: update block position

* chore: rename use id scroll hook

* refactor: setTimeout function

* refactor: use-hash-scroll hook

* [WIKI-542] refactor: editor extensions (makeplane#7345)

* refactor: editor extensions

* fix: placeholder extension

* [WIKI-277] fix: unable to delete last table column/row in editor (makeplane#7389)

* fix: delete column not working

* refactor: delete column commad

* fix: delete last row logic

* refactor: row count logic

* refactor: isCellSelection utility function

* [WEB-4498] improvement: remove workspace details from workspace members list API (makeplane#7407)

* [WEB-4498] improvement: remove workspace details from workspace members list API

* refactor: update select_related usage in workspace invitation and member views

---------

Co-authored-by: Dheeraj Kumar Ketireddy <[email protected]>

* [WEB-4504] chore: added migration for app rail and reactions makeplane#7408

* [WIKI-520] fix: update content disposition handling in asset download endpoints (makeplane#7380)

* [WEB-4506] fix: date range modal z-index makeplane#7410

* [WIKI-549] fix: comment scroll logic makeplane#7412

* [WIKI-551] refactor: work item activity logic makeplane#7417

* [WEB-4451] chore: work item header quick action enhancements (makeplane#7414)

* chore: work item header quick action enhancements

* chore: code refactor

* [WEB-4497] chore: reduce breadcrumb height (makeplane#7413)

* chore: reduce breadcrumb height from 3.75rem to 3.25rem

* chore: code refactor

* chore: code refactor

* [WEB-4479] feat: enable/disable SMTP configuration (makeplane#7393)

* feat: api update instance configuration

* chore: add enable_smtp key

* fix: empty string for enable_smtp key

* chore: update email_port and email_from

* fix: handled smtp enable disable

* fix: error handling

* fix: refactor

* fix: removed enabled toast

* fix: refactor

---------

Co-authored-by: gakshita <[email protected]>
Co-authored-by: Akshita Goyal <[email protected]>

* [WEB-1643] chore: support cyrillic characters in subject makeplane#7336

* [WEB-4515] fix: duplicate work item quick action makeplane#7421

* [WIKI-554] feat: delete multiple rows/columns from a table (makeplane#7426)

* [WEB-4520] chore: changed the serializer for cycle issues makeplane#7423

* [WEB-4510] fix: peek view ui layout (makeplane#7422)

* [WEB-4514]chore: moved EIssueLayoutTypes enum to types makeplane#7416

* [WEB-4281] chore: error code on project updation endpoint (makeplane#7218)

* [WIKI-547] fix: update find suggestion logic for emoji extension (makeplane#7411)

* fix: update find suggestion logic

* refactor: remove logs

* refactor : make logic simpler

* feat: check for one char to show suggestion

* refactor : import types from extension

* refactor: add early return

* refactor : put custom suggestion in helper

* fix : char

* fix: types

* [WEB-4346] chore: refactor copy_s3_object bg task (makeplane#7298)

* [INFRA-213] Fix aio dockerfile with new file structure (makeplane#7427)

* fix: update paths in Dockerfile and supervisor.conf for application directories

* fix: update live command in supervisor.conf to use server.js

* [WIKI-557] fix: keyboard navigation in tables (makeplane#7428)

* [WIKI-543] fix: unable to delete last cell of a table (makeplane#7394)

* fix: delete last cell of a table

* refactor: last cell selection logic

* fix: on-headers vulnerability (makeplane#7436)

* [WEB-4528] fix: calendar options interactions (makeplane#7437)

* [WEB-4525] fix: project create/update error handling (makeplane#7429)

* chore: project create/update error handling

* chore: code refactor

* fix: update tsup build packages (makeplane#7438)

* [WEB-561] refactor: editor build config (makeplane#7442)

* refactor: editor build config

* fix: type errors

* [WEB-4442] fix: removed the deleted labels from webhook payload (makeplane#7337)

* chore: removed the deleted label from payload

* chore: optimised the query

* chore: optimised the logic

* chore: defined function for prefetch

* [WEB-4522]fix: removed redundant state indicator (makeplane#7434)

* fix: removed redundant state indicator

* fix: removed redundant state indicator for relation list item

* [WEB-4192]fix: inactive member is hidden in created by makeplane#7435

* [WEB-4507] fix: webhooks translation makeplane#7424

* [WEB-4457] refactor: decouple work item properties from mobx store (makeplane#7363)

* fix: build errors in work item modal (makeplane#7450)

* [WIKI-357] fix: created by filter for pages list makeplane#7445

* [WEB-4531]chore: refactor for timeline chart (makeplane#7440)

* [WIKI-484] chore: update editor packages (makeplane#7265)

* [WEB-4546] chore: header enhancements + quickstart guide ui update + breadcrumb makeplane#7451

* [WEB-4546] chore: home update makeplane#7456

* [WEB-4552] chore: minor design changes for home makeplane#7459

* chore: upgrade axios version to 1.11.0 (makeplane#7469)

* [WEB-4552] fix: stickies layout + minified layout filter (makeplane#7466)

* [WEB-4558] fix: project test cases makeplane#7464

* [WIKI-563] refactor: subscription styles  (makeplane#7444)

* refactor: billing UI

* refactor : fix typo

* docs: add file paths to the new language guide (makeplane#7454)

* improve the comprehensiblity of translation contribution docs

* Update CONTRIBUTING.md to fix the code blocks appeareance

* [WEB-4547]fix: archived work item redirection makeplane#7471

* [WEB-4561] fix: SVG attributes in react components (makeplane#7470)

* chore: svg attribute fix (makeplane#7446)

* fix: replace invalid --env-file with dotenv-cli for tsup onSuccess

* fix: replace invalid --env-file usage in start script and move dotenv-cli to dependencies

* chor: update SVG attributes to camelCase for JSX compatibility

* chor: update SVG attributes to camelCase

* fix: removed dontenv-cli

* fix: svg attibute fixes

* chore: minor attribute customizations

---------

Co-authored-by: Donal Noye <[email protected]>

* [WIKI-565] chore: handle 404 messages in live server (makeplane#7472)

* chore: handle 404 messages in live server

* chore: removed error stack from response

* [WEB-4536] fix: remove inactive workspace members from lists and dropdowns (makeplane#7473)

* fix: remove commands from the docker compose file (makeplane#7476)

* [WEB-4523]fix: sub issues loader makeplane#7474

* [WEB-4045] feat: restructuring of the external APIs for better maintainability (makeplane#7477)

* Basic setup for drf-spectacular

* Updated to only handle /api/v1 endpoints

* feat: add asset and user endpoints with URL routing

- Introduced new asset-related endpoints for user assets and server assets, allowing for asset uploads and management.
- Added user endpoint to retrieve current user information.
- Updated URL routing to include new asset and user patterns.
- Enhanced issue handling with a new search endpoint for issues across multiple fields.
- Expanded member management with a new endpoint for workspace members.

* Group endpoints by tags

* Detailed schema definitions and examples for asset endpoints

* Removed unnecessary extension

* Specify avatar_url field separately

* chore: add project docs

* chore: correct all errors

* chore: added open spec in work items

* feat: enhance cycle API endpoints with detailed OpenAPI specifications

- Updated CycleAPIEndpoint and CycleIssueAPIEndpoint to include detailed OpenAPI schema definitions for GET, POST, PATCH, and DELETE operations.
- Specified allowed HTTP methods for each endpoint in the URL routing.
- Improved documentation for cycle creation, updating, and deletion, including request and response examples.

* chore: added open spec in labels

* chore: work item properties

* feat: enhance API endpoints with OpenAPI specifications and HTTP method definitions

- Added detailed OpenAPI schema definitions for various API endpoints including Intake, Module, and State.
- Specified allowed HTTP methods for each endpoint in the URL routing for better clarity and documentation.
- Improved request and response examples for better understanding of API usage.
- Introduced unarchive functionality for cycles and modules with appropriate endpoint definitions.

* chore: run formatter

* Removed unnecessary settings for authentication

* Refactors OpenAPI documentation structure

Improves the organization and maintainability of the OpenAPI documentation by modularizing the `openapi_spec_helpers.py` file.

The changes include:
- Migrates common parameters, responses, examples, and authentication extensions to separate modules.
- Introduces helper decorators for different endpoint types.
- Updates view imports to use the new module paths.
- Removes the legacy `openapi_spec_helpers.py` file.

This refactoring results in a more structured and easier-to-maintain OpenAPI documentation setup.

* Refactor OpenAPI endpoint specifications

- Removed unnecessary parameters from the OpenAPI documentation for various endpoints in the asset, cycle, and project views.
- Updated request structures to improve clarity and consistency across the API documentation.
- Enhanced response formatting for better readability and maintainability.

* Enhance API documentation with detailed endpoint descriptions

Updated various API endpoints across the application to include comprehensive docstrings that clarify their functionality. Each endpoint now features a summary and detailed description, improving the overall understanding of their purpose and usage. This change enhances the OpenAPI specifications for better developer experience and documentation clarity.

* Enhance API serializers and views with new request structures

- Added new serializers for handling cycle and module issue requests, including `CycleIssueRequestSerializer`, `TransferCycleIssueRequestSerializer`, `ModuleIssueRequestSerializer`, and intake issue creation/updating serializers.
- Updated existing serializers to improve clarity and maintainability, including the `UserAssetUploadSerializer` and `IssueAttachmentUploadSerializer`.
- Refactored API views to utilize the new serializers, enhancing the request handling for cycle and intake issue endpoints.
- Improved OpenAPI documentation by replacing inline request definitions with serializer references for better consistency and readability.

* Refactor OpenAPI documentation and endpoint specifications

- Replaced inline schema definitions with dedicated decorators for various endpoint types, enhancing clarity and maintainability.
- Updated API views to utilize new decorators for user, cycle, intake, module, and project endpoints, improving consistency in OpenAPI documentation.
- Removed unnecessary parameters and responses from endpoint specifications, streamlining the documentation for better readability.
- Enhanced the organization of OpenAPI documentation by modularizing endpoint-specific decorators and parameters.

* chore: correct formatting

* chore: correct formatting for all api folder files

* refactor: clean up serializer imports and test setup

- Removed unused `StateLiteSerializer` import from the serializer module.
- Updated test setup to include a noqa comment for the `django_db_setup` fixture, ensuring clarity in the code.
- Added missing commas in user data dictionary for consistency.

* feat: add project creation and update serializers with validation

- Introduced `ProjectCreateSerializer` and `ProjectUpdateSerializer` to handle project creation and updates, respectively.
- Implemented validation to ensure project leads and default assignees are members of the workspace.
- Updated API views to utilize the new serializers for creating and updating projects, enhancing request handling.
- Added OpenAPI documentation references for the new serializers in the project API endpoints.

* feat: update serializers to include additional read-only fields

* refactor: rename intake issue serializers and enhance structure

- Renamed `CreateIntakeIssueRequestSerializer` to `IntakeIssueCreateSerializer` and `UpdateIntakeIssueRequestSerializer` to `IntakeIssueUpdateSerializer` for clarity.
- Introduced `IssueSerializer` for nested issue data in intake requests, improving the organization of serializer logic.
- Updated API views to utilize the new serializer names, ensuring consistency across the codebase.

* refactor: rename issue serializer for intake and enhance API documentation

- Renamed `IssueSerializer` to `IssueForIntakeSerializer` for better clarity in the context of intake issues.
- Updated references in `IntakeIssueCreateSerializer` and `IntakeIssueUpdateSerializer` to use the new `IssueForIntakeSerializer`.
- Added OpenAPI documentation for the `get_workspace_work_item` endpoint, detailing parameters and responses for improved clarity.

* chore: modules and cycles serializers

* feat: add new serializers for label and issue link management

- Introduced `LabelCreateUpdateSerializer`, `IssueLinkCreateSerializer`, `IssueLinkUpdateSerializer`, and `IssueCommentCreateSerializer` to enhance the handling of label and issue link data.
- Updated existing API views to utilize the new serializers for creating and updating labels, issue links, and comments, improving request handling and validation.
- Added `IssueSearchSerializer` for searching issues, streamlining the search functionality in the API.

* Don't consider read only fields as required

* Add setting to separate request and response definitions

* Fixed avatar_url warning on openapi spec generation

* Made spectacular disabled by default

* Moved spectacular settings into separate file and added detailed descriptions to tags

* Specify methods for asset urls

* Better server names

* Enhance API documentation with summaries for various endpoints

- Added summary descriptions for user asset, cycle, intake, issue, member, module, project, state, and user API endpoints to improve clarity and usability of the API documentation.
- Updated the OpenAPI specifications to reflect these changes, ensuring better understanding for developers interacting with the API.

* Add contact information to OpenAPI settings

- Included contact details for Plane in the OpenAPI settings to enhance API documentation and provide developers with a direct point of contact for support.
- This addition aims to improve the overall usability and accessibility of the API documentation.

* Reordered tags and improved description relavancy

* Enhance OpenAPI documentation for cycle and issue endpoints

- Added response definitions for the `get_cycle_issues` and `delete_cycle_issue` methods in the CycleIssueAPIEndpoint to clarify expected outcomes.
- Included additional response codes for the IssueSearchEndpoint to handle various error scenarios, improving the overall API documentation and usability.

* Enhance serializer documentation across multiple files

- Updated docstrings for various serializers including UserAssetUploadSerializer, AssetUpdateSerializer, and others to provide clearer descriptions of their functionality and usage.
- Improved consistency in formatting and language across serializer classes to enhance readability and maintainability.
- Added detailed explanations for new serializers related to project, module, and cycle management, ensuring comprehensive documentation for developers.

* Refactor API endpoints for cycles, intake, modules, projects, and states

- Replaced existing API endpoint classes with more descriptive names such as CycleListCreateAPIEndpoint, CycleDetailAPIEndpoint, IntakeIssueListCreateAPIEndpoint, and others to enhance clarity.
- Updated URL patterns to reflect the new endpoint names, ensuring consistency across the API.
- Improved documentation and method summaries for better understanding of endpoint functionalities.
- Enhanced query handling in the new endpoint classes to streamline data retrieval and improve performance.

* Refactor issue and label API endpoints for clarity and functionality

- Renamed existing API endpoint classes to more descriptive names such as IssueListCreateAPIEndpoint, IssueDetailAPIEndpoint, LabelListCreateAPIEndpoint, and LabelDetailAPIEndpoint to enhance clarity.
- Updated URL patterns to reflect the new endpoint names, ensuring consistency across the API.
- Improved method summaries and documentation for better understanding of endpoint functionalities.
- Streamlined query handling in the new endpoint classes to enhance data retrieval and performance.

* Refactor asset API endpoint methods and introduce new status enums

- Updated the GenericAssetEndpoint to only allow POST requests for asset creation, removing the GET method.
- Modified the get method to require asset_id, ensuring that asset retrieval is always tied to a specific asset.
- Added new IntakeIssueStatus and ModuleStatus enums to improve clarity and management of asset and module states.
- Enhanced OpenAPI settings to include these new enums for better documentation and usability.

* enforce naming convention

* Added LICENSE to openapi spec

* Enhance OpenAPI documentation for various API endpoints

- Updated API endpoints in asset, cycle, intake, issue, module, project, and state views to include OpenApiRequest and OpenApiExample for better request documentation.
- Added example requests for creating and updating resources, improving clarity for API consumers.
- Ensured consistent use of OpenApi utilities across all relevant endpoints to enhance overall API documentation quality.

* Enhance OpenAPI documentation for various API endpoints

- Added detailed descriptions to multiple API endpoints across asset, cycle, intake, issue, module, project, state, and user views to improve clarity for API consumers.
- Ensured consistent documentation practices by including descriptions that outline the purpose and functionality of each endpoint.
- This update aims to enhance the overall usability and understanding of the API documentation.

* Update OpenAPI examples and enhance project queryset logic

- Changed example fields in OpenAPI documentation for issue comments from "content" to "comment_html" to reflect the correct structure.
- Introduced a new `get_queryset` method in the ProjectDetailAPIEndpoint to filter projects based on user membership and workspace, while also annotating additional project-related data such as total members, cycles, and modules.
- Updated permission checks to use the correct attribute name for project identifiers, ensuring accurate permission handling.

* Enhance OpenAPI documentation and add response examples

- Updated multiple API endpoints across asset, cycle, intake, issue, module, project, state, and user views to include new OpenApiResponse examples for better clarity on expected outcomes.
- Introduced new parameters for project and issue identifiers to improve request handling and documentation consistency.
- Enhanced existing responses with detailed examples to aid API consumers in understanding the expected data structure and error handling.
- This update aims to improve the overall usability and clarity of the API documentation.

* refactor: update terminology from 'issues' to 'work items' across multiple API endpoints for consistency and clarity

* use common timezones from pytz for choices

* Moved the openapi utils to the new folder structure

* Added exception logging in GenericAssetEndpoint to improve error handling

* Fixed code rabbit suggestions

* Refactored IssueDetailAPIEndpoint to streamline issue retrieval and response handling, removing redundant external ID checks and custom ordering logic.

---------

Co-authored-by: pablohashescobar <[email protected]>
Co-authored-by: NarayanBavisetti <[email protected]>

* fix: lint  (makeplane#7433)

* chore: fix lint

* fix: constants check:lint command

* chore(lint): permit unused vars which begin w/ _

* chore: rm dead code

* fix(lint): more lint fixes to constants pkg

* fix(lint): lint the live server

- fix lint issues

* chore: improve clean script

* fix(lint): more lint

* chore: set live server process title

* chore(deps): update to [email protected]

* chore(live): target node22

* fix(dev): add missing ui pkg dependency

* fix(dev): lint decorators

* fix(dev): lint space app

* fix(dev): address lint issues in types pkg

* fix(dev): lint editor pkg

* chore(dev): moar lint

* fix(dev): live server exit code

* chore: address PR feedback

* fix(lint): better TPageExtended type

* chore: refactor

* chore: revert most live server changes

* fix: few more lint issues

* chore: enable ci checks

Ensure we can build + confirm that lint is not getting worse.

* chore: address PR feedback

* fix: web lint warning added to package.json

* fix: ci:lint command

---------

Co-authored-by: sriram veeraghanta <[email protected]>

* fix: eslint warnings and errors (makeplane#7479)

* chore: add ci job names (makeplane#7478)

* chore: add ci job names

This makes them easier to find in the Github UI.

* chore: increase ci timeout

* [WIKI-537] refactor: document editor (makeplane#7384)

* refactor: document editor

* chore: update user prop

* fix: type warning

* chore: update value prop name

* chore: remove unnecessary exports

* hore: update initialValue type

* chore: revert initialValue type

* refactor: unnecessary string handlers

* [WEB-4544] chore: added field validations in serializer (makeplane#7460)

* chore: added field validations in serializer

* chore: added enum for roles

* [WEB-4513] refactor: consolidate password strength meter into shared ui package (makeplane#7462)

* refactor: consolidate password strength indicator into shared UI package

* chore: remove old password strength meter implementations

* chore: update package dependencies for password strength refactor

* chore: code refactor

* fix: lock file

---------

Co-authored-by: sriramveeraghanta <[email protected]>

* [WEB-4566] feat: add background color and goals field to Profile and Workspace models makeplane#7485

* chore: correct migration file 0098  (makeplane#7486)

* feat: restore background color and goals fields in Profile and Workspace models in migration 0099

* chore: update migration dependency to reflect recent changes in profile model migrations

* chore: version upgrade

* [WEB-4533] feat: read replica functionality (makeplane#7453)

* feat: read replica functionality

* fix: set use_read_replica to false

* chore: add use_read_replica to external APIs

* chore: remove use_read_replica on read endpoints

* chore: remove md files

* Updated all the necessary endpoints to use read replica

---------

Co-authored-by: Dheeraj Kumar Ketireddy <[email protected]>

* [WEB-4563]fix: image full screen modal makeplane#7491

* [WIKI-539] refactor: remove lite text read only editor (makeplane#7481)

* refactor: remove lite text read only editor

* chore: update types

* [WIKI-539] regression: editor build errors makeplane#7503

* [WIKI-539] regression: toolbar visible in comments card makeplane#7508

* chore(deps): bump linkifyjs in the npm_and_yarn group across 1 directory (makeplane#7506)

Bumps the npm_and_yarn group with 1 update in the / directory: [linkifyjs](https://github.com/nfrasser/linkifyjs/tree/HEAD/packages/linkifyjs).


Updates `linkifyjs` from 4.3.1 to 4.3.2
- [Release notes](https://github.com/nfrasser/linkifyjs/releases)
- [Changelog](https://github.com/nfrasser/linkifyjs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nfrasser/linkifyjs/commits/v4.3.2/packages/linkifyjs)

---
updated-dependencies:
- dependency-name: linkifyjs
  dependency-version: 4.3.2
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [WIKI-570] fix: image alignment for read only editor makeplane#7509

* chore: added validation for description  (makeplane#7507)

* added PageBinaryUpdateSerializer for binary data validation and update

* chore: added validation for description

* chore: removed the duplicated file

* Fixed coderabbit comments

- Improve content validation by consolidating patterns and enhancing recursion checks

- Updated `PageBinaryUpdateSerializer` to simplify assignment of validated data.
- Enhanced `content_validator.py` with consolidated dangerous patterns and added recursion depth checks to prevent stack overflow during validation.
- Improved readability and maintainability of validation functions by using constants for patterns.

---------

Co-authored-by: Dheeraj Kumar Ketireddy <[email protected]>

* [WIKI-573] regression: comment card padding makeplane#7512

* fix(cli): improve API service readiness check in install script (makeplane#7468)

* fix: improve API service readiness check in install script

* fix(cli): correct python indentation in api health check

* fix(cli): prevent false positive api ready message on timeout

* [WEB-4544] chore: added field validations in serializer (makeplane#7460)

* chore: added field validations in serializer

* chore: added enum for roles

* [WEB-4603] feat: add missing event trackers (makeplane#7513)

* feat: add event trackers for password creation

* feat: add event trackers for project views

* feat: add event trackers for product updates and changelogs

* chore: use element name instead of event name for changelog redirect link

* [WEB-4599] feat: add marketing email consent field to Profile model and timezone migration makeplane#7510

* [WEB-4597] fix: project icon render in switcher makeplane#7504

* fix: header observer for state changes

* [WEB-4602] fix: 500 error on draft wi labels update makeplane#7515

* fix: adding proxy command

* fix: enable email notification by default for new users (makeplane#7521)

* Potential fix for code scanning alert no. 631: Incomplete URL scheme check (makeplane#7514)

* Potential fix for code scanning alert no. 631: Incomplete URL scheme check

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* fix: ignore warning in this file

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* [INFRA-219] fix: update Dockerfile and docker-compose for proxy service (makeplane#7523)

* fix: update Dockerfile and docker-compose for version v0.28.0 and improve curl commands in install script

* fix: update docker-compose to use 'stable' tag for all services

* fix: improve curl command options in install script for better reliability

* feat: update new logo on readme (makeplane#7530)

* feat: update new logo on readme

Changed logo on Readme

* fix: image url

---------

Co-authored-by: sriramveeraghanta <[email protected]>

* docs: update README.md (makeplane#7531)

changed tagline

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Dheeraj Kumar Ketireddy <[email protected]>
Co-authored-by: Nikhil <[email protected]>
Co-authored-by: Masoom Wahid <[email protected]>
Co-authored-by: Aaron Heckmann <[email protected]>
Co-authored-by: sriram veeraghanta <[email protected]>
Co-authored-by: Anmol Singh Bhatia <[email protected]>
Co-authored-by: Manish Gupta <[email protected]>
Co-authored-by: M. Palanikannan <[email protected]>
Co-authored-by: Aaryan Khandelwal <[email protected]>
Co-authored-by: Akshat Jain <[email protected]>
Co-authored-by: Prateek Shourya <[email protected]>
Co-authored-by: Dheeraj Kumar Ketireddy <[email protected]>
Co-authored-by: Bavisetti Narayan <[email protected]>
Co-authored-by: Sangeetha <[email protected]>
Co-authored-by: gakshita <[email protected]>
Co-authored-by: Akshita Goyal <[email protected]>
Co-authored-by: Vamsi Krishna <[email protected]>
Co-authored-by: Vipin Chaudhary <[email protected]>
Co-authored-by: merrime-n <[email protected]>
Co-authored-by: Donal Noye <[email protected]>
Co-authored-by: pablohashescobar <[email protected]>
Co-authored-by: NarayanBavisetti <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rishi <[email protected]>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Vihar Kurama <[email protected]>
Co-authored-by: P B <[email protected]>
cuongpham259 added a commit to cuongpham259/plane that referenced this pull request Aug 2, 2025
* Merge preview updates into dev (#1)

* [WEB-4481] optimize workspace member view by prefetching related assets (makeplane#7390)

* [WEB-4484]chore: streamline issue saving process with advisory locks for sequence management makeplane#7395

* testing

* feat : added Kabul to the list of timezones (makeplane#7370)

* [WEB-4485] - fix(dev): get local dev migrator working again makeplane#7397

* [WEB-4484]chore: streamline issue saving process with advisory locks for sequence management (makeplane#7396)

* chore: streamline issue saving process with advisory locks for sequence management

* fix: update advisory lock usage in issue model for improved concurrency management

* fix: local dev environment setup using yarn v4 (makeplane#7400)

* chore: adding typescript dependency to constants.

* chore: package deps update

* [WEB-4482] fix: kanban drag and delete makeplane#7402

* [INFRA-208] Reorganize deployment structure and update build workflows (makeplane#7391)

* refactor: reorganize deployment structure and update build workflows

- Restructure deployment directories from deploy/ to deployments/
- Move selfhost files to deployments/cli/community/
- Add new AIO community deployment setup
- Update GitHub Actions workflows for new directory structure
- Add Caddy proxy configuration for CE deployment
- Remove deprecated AIO build files and workflows
- Update build context paths in install scripts

* chore: update Dockerfile and supervisor configuration

- Changed `apk add` command in Dockerfile to use `--no-cache` for better image size management.
- Updated `build.sh` to ensure proper directory navigation with quotes around `dirname "$0"`.
- Modified `supervisor.conf` to set `stderr_logfile_maxbytes` to 50MB and added `stderr_logfile_backups` for better log management across multiple services.

* chore: consistent node and python version

---------

Co-authored-by: sriramveeraghanta <[email protected]>

* [WEB-4407] chore: add project page creation event tracking makeplane#7378

* [WEB-4468] fix: setting sidebar truncate makeplane#7403

* [WEB-4494] fix: kanban delete modal ux makeplane#7405

* [WIKI-545] fix: shrinking headings in page table of contents makeplane#7404

* [INFRA-209] Remove nginx related configurations from plane community (makeplane#7406)

* Remove deprecated Nginx configuration files and scripts, including Dockerfiles, environment scripts, and configuration templates, to streamline the project structure.

* Update environment configuration and Docker setup for proxy services

- Added LISTEN_PORT and LISTEN_SSL_PORT variables to .env.example and related files.
- Updated Docker Compose files to reference new port variables instead of deprecated NGINX_PORT.
- Adjusted README and variable documentation to reflect changes in port configuration.
- Changed build context for proxy services to use the new directory structure.

* Refactor port configuration in environment and Docker files

- Renamed LISTEN_PORT and LISTEN_SSL_PORT to LISTEN_HTTP_PORT and LISTEN_HTTPS_PORT in .env.example and related files.
- Updated Docker Compose configurations to reflect the new port variable names.
- Adjusted documentation in README and variables.env to ensure consistency with the new naming conventions.

* [WIKI-509] feat: comment copy link option (makeplane#7385)

* feat: comment copy link option

* chore: add translations

* chore: update block position

* chore: rename use id scroll hook

* refactor: setTimeout function

* refactor: use-hash-scroll hook

* [WIKI-542] refactor: editor extensions (makeplane#7345)

* refactor: editor extensions

* fix: placeholder extension

* [WIKI-277] fix: unable to delete last table column/row in editor (makeplane#7389)

* fix: delete column not working

* refactor: delete column commad

* fix: delete last row logic

* refactor: row count logic

* refactor: isCellSelection utility function

* [WEB-4498] improvement: remove workspace details from workspace members list API (makeplane#7407)

* [WEB-4498] improvement: remove workspace details from workspace members list API

* refactor: update select_related usage in workspace invitation and member views

---------

Co-authored-by: Dheeraj Kumar Ketireddy <[email protected]>

* [WEB-4504] chore: added migration for app rail and reactions makeplane#7408

* [WIKI-520] fix: update content disposition handling in asset download endpoints (makeplane#7380)

* [WEB-4506] fix: date range modal z-index makeplane#7410

* [WIKI-549] fix: comment scroll logic makeplane#7412

* [WIKI-551] refactor: work item activity logic makeplane#7417

* [WEB-4451] chore: work item header quick action enhancements (makeplane#7414)

* chore: work item header quick action enhancements

* chore: code refactor

* [WEB-4497] chore: reduce breadcrumb height (makeplane#7413)

* chore: reduce breadcrumb height from 3.75rem to 3.25rem

* chore: code refactor

* chore: code refactor

* [WEB-4479] feat: enable/disable SMTP configuration (makeplane#7393)

* feat: api update instance configuration

* chore: add enable_smtp key

* fix: empty string for enable_smtp key

* chore: update email_port and email_from

* fix: handled smtp enable disable

* fix: error handling

* fix: refactor

* fix: removed enabled toast

* fix: refactor

---------

Co-authored-by: gakshita <[email protected]>
Co-authored-by: Akshita Goyal <[email protected]>

* [WEB-1643] chore: support cyrillic characters in subject makeplane#7336

* [WEB-4515] fix: duplicate work item quick action makeplane#7421

* [WIKI-554] feat: delete multiple rows/columns from a table (makeplane#7426)

* [WEB-4520] chore: changed the serializer for cycle issues makeplane#7423

* [WEB-4510] fix: peek view ui layout (makeplane#7422)

* [WEB-4514]chore: moved EIssueLayoutTypes enum to types makeplane#7416

* [WEB-4281] chore: error code on project updation endpoint (makeplane#7218)

* [WIKI-547] fix: update find suggestion logic for emoji extension (makeplane#7411)

* fix: update find suggestion logic

* refactor: remove logs

* refactor : make logic simpler

* feat: check for one char to show suggestion

* refactor : import types from extension

* refactor: add early return

* refactor : put custom suggestion in helper

* fix : char

* fix: types

* [WEB-4346] chore: refactor copy_s3_object bg task (makeplane#7298)

* [INFRA-213] Fix aio dockerfile with new file structure (makeplane#7427)

* fix: update paths in Dockerfile and supervisor.conf for application directories

* fix: update live command in supervisor.conf to use server.js

* [WIKI-557] fix: keyboard navigation in tables (makeplane#7428)

* [WIKI-543] fix: unable to delete last cell of a table (makeplane#7394)

* fix: delete last cell of a table

* refactor: last cell selection logic

* fix: on-headers vulnerability (makeplane#7436)

* [WEB-4528] fix: calendar options interactions (makeplane#7437)

* [WEB-4525] fix: project create/update error handling (makeplane#7429)

* chore: project create/update error handling

* chore: code refactor

* fix: update tsup build packages (makeplane#7438)

* [WEB-561] refactor: editor build config (makeplane#7442)

* refactor: editor build config

* fix: type errors

* [WEB-4442] fix: removed the deleted labels from webhook payload (makeplane#7337)

* chore: removed the deleted label from payload

* chore: optimised the query

* chore: optimised the logic

* chore: defined function for prefetch

* [WEB-4522]fix: removed redundant state indicator (makeplane#7434)

* fix: removed redundant state indicator

* fix: removed redundant state indicator for relation list item

* [WEB-4192]fix: inactive member is hidden in created by makeplane#7435

* [WEB-4507] fix: webhooks translation makeplane#7424

* [WEB-4457] refactor: decouple work item properties from mobx store (makeplane#7363)

* fix: build errors in work item modal (makeplane#7450)

* [WIKI-357] fix: created by filter for pages list makeplane#7445

* [WEB-4531]chore: refactor for timeline chart (makeplane#7440)

* [WIKI-484] chore: update editor packages (makeplane#7265)

* [WEB-4546] chore: header enhancements + quickstart guide ui update + breadcrumb makeplane#7451

* [WEB-4546] chore: home update makeplane#7456

* [WEB-4552] chore: minor design changes for home makeplane#7459

* chore: upgrade axios version to 1.11.0 (makeplane#7469)

* [WEB-4552] fix: stickies layout + minified layout filter (makeplane#7466)

* [WEB-4558] fix: project test cases makeplane#7464

* [WIKI-563] refactor: subscription styles  (makeplane#7444)

* refactor: billing UI

* refactor : fix typo

* docs: add file paths to the new language guide (makeplane#7454)

* improve the comprehensiblity of translation contribution docs

* Update CONTRIBUTING.md to fix the code blocks appeareance

* [WEB-4547]fix: archived work item redirection makeplane#7471

* [WEB-4561] fix: SVG attributes in react components (makeplane#7470)

* chore: svg attribute fix (makeplane#7446)

* fix: replace invalid --env-file with dotenv-cli for tsup onSuccess

* fix: replace invalid --env-file usage in start script and move dotenv-cli to dependencies

* chor: update SVG attributes to camelCase for JSX compatibility

* chor: update SVG attributes to camelCase

* fix: removed dontenv-cli

* fix: svg attibute fixes

* chore: minor attribute customizations

---------

Co-authored-by: Donal Noye <[email protected]>

* [WIKI-565] chore: handle 404 messages in live server (makeplane#7472)

* chore: handle 404 messages in live server

* chore: removed error stack from response

* [WEB-4536] fix: remove inactive workspace members from lists and dropdowns (makeplane#7473)

* fix: remove commands from the docker compose file (makeplane#7476)

* [WEB-4523]fix: sub issues loader makeplane#7474

* [WEB-4045] feat: restructuring of the external APIs for better maintainability (makeplane#7477)

* Basic setup for drf-spectacular

* Updated to only handle /api/v1 endpoints

* feat: add asset and user endpoints with URL routing

- Introduced new asset-related endpoints for user assets and server assets, allowing for asset uploads and management.
- Added user endpoint to retrieve current user information.
- Updated URL routing to include new asset and user patterns.
- Enhanced issue handling with a new search endpoint for issues across multiple fields.
- Expanded member management with a new endpoint for workspace members.

* Group endpoints by tags

* Detailed schema definitions and examples for asset endpoints

* Removed unnecessary extension

* Specify avatar_url field separately

* chore: add project docs

* chore: correct all errors

* chore: added open spec in work items

* feat: enhance cycle API endpoints with detailed OpenAPI specifications

- Updated CycleAPIEndpoint and CycleIssueAPIEndpoint to include detailed OpenAPI schema definitions for GET, POST, PATCH, and DELETE operations.
- Specified allowed HTTP methods for each endpoint in the URL routing.
- Improved documentation for cycle creation, updating, and deletion, including request and response examples.

* chore: added open spec in labels

* chore: work item properties

* feat: enhance API endpoints with OpenAPI specifications and HTTP method definitions

- Added detailed OpenAPI schema definitions for various API endpoints including Intake, Module, and State.
- Specified allowed HTTP methods for each endpoint in the URL routing for better clarity and documentation.
- Improved request and response examples for better understanding of API usage.
- Introduced unarchive functionality for cycles and modules with appropriate endpoint definitions.

* chore: run formatter

* Removed unnecessary settings for authentication

* Refactors OpenAPI documentation structure

Improves the organization and maintainability of the OpenAPI documentation by modularizing the `openapi_spec_helpers.py` file.

The changes include:
- Migrates common parameters, responses, examples, and authentication extensions to separate modules.
- Introduces helper decorators for different endpoint types.
- Updates view imports to use the new module paths.
- Removes the legacy `openapi_spec_helpers.py` file.

This refactoring results in a more structured and easier-to-maintain OpenAPI documentation setup.

* Refactor OpenAPI endpoint specifications

- Removed unnecessary parameters from the OpenAPI documentation for various endpoints in the asset, cycle, and project views.
- Updated request structures to improve clarity and consistency across the API documentation.
- Enhanced response formatting for better readability and maintainability.

* Enhance API documentation with detailed endpoint descriptions

Updated various API endpoints across the application to include comprehensive docstrings that clarify their functionality. Each endpoint now features a summary and detailed description, improving the overall understanding of their purpose and usage. This change enhances the OpenAPI specifications for better developer experience and documentation clarity.

* Enhance API serializers and views with new request structures

- Added new serializers for handling cycle and module issue requests, including `CycleIssueRequestSerializer`, `TransferCycleIssueRequestSerializer`, `ModuleIssueRequestSerializer`, and intake issue creation/updating serializers.
- Updated existing serializers to improve clarity and maintainability, including the `UserAssetUploadSerializer` and `IssueAttachmentUploadSerializer`.
- Refactored API views to utilize the new serializers, enhancing the request handling for cycle and intake issue endpoints.
- Improved OpenAPI documentation by replacing inline request definitions with serializer references for better consistency and readability.

* Refactor OpenAPI documentation and endpoint specifications

- Replaced inline schema definitions with dedicated decorators for various endpoint types, enhancing clarity and maintainability.
- Updated API views to utilize new decorators for user, cycle, intake, module, and project endpoints, improving consistency in OpenAPI documentation.
- Removed unnecessary parameters and responses from endpoint specifications, streamlining the documentation for better readability.
- Enhanced the organization of OpenAPI documentation by modularizing endpoint-specific decorators and parameters.

* chore: correct formatting

* chore: correct formatting for all api folder files

* refactor: clean up serializer imports and test setup

- Removed unused `StateLiteSerializer` import from the serializer module.
- Updated test setup to include a noqa comment for the `django_db_setup` fixture, ensuring clarity in the code.
- Added missing commas in user data dictionary for consistency.

* feat: add project creation and update serializers with validation

- Introduced `ProjectCreateSerializer` and `ProjectUpdateSerializer` to handle project creation and updates, respectively.
- Implemented validation to ensure project leads and default assignees are members of the workspace.
- Updated API views to utilize the new serializers for creating and updating projects, enhancing request handling.
- Added OpenAPI documentation references for the new serializers in the project API endpoints.

* feat: update serializers to include additional read-only fields

* refactor: rename intake issue serializers and enhance structure

- Renamed `CreateIntakeIssueRequestSerializer` to `IntakeIssueCreateSerializer` and `UpdateIntakeIssueRequestSerializer` to `IntakeIssueUpdateSerializer` for clarity.
- Introduced `IssueSerializer` for nested issue data in intake requests, improving the organization of serializer logic.
- Updated API views to utilize the new serializer names, ensuring consistency across the codebase.

* refactor: rename issue serializer for intake and enhance API documentation

- Renamed `IssueSerializer` to `IssueForIntakeSerializer` for better clarity in the context of intake issues.
- Updated references in `IntakeIssueCreateSerializer` and `IntakeIssueUpdateSerializer` to use the new `IssueForIntakeSerializer`.
- Added OpenAPI documentation for the `get_workspace_work_item` endpoint, detailing parameters and responses for improved clarity.

* chore: modules and cycles serializers

* feat: add new serializers for label and issue link management

- Introduced `LabelCreateUpdateSerializer`, `IssueLinkCreateSerializer`, `IssueLinkUpdateSerializer`, and `IssueCommentCreateSerializer` to enhance the handling of label and issue link data.
- Updated existing API views to utilize the new serializers for creating and updating labels, issue links, and comments, improving request handling and validation.
- Added `IssueSearchSerializer` for searching issues, streamlining the search functionality in the API.

* Don't consider read only fields as required

* Add setting to separate request and response definitions

* Fixed avatar_url warning on openapi spec generation

* Made spectacular disabled by default

* Moved spectacular settings into separate file and added detailed descriptions to tags

* Specify methods for asset urls

* Better server names

* Enhance API documentation with summaries for various endpoints

- Added summary descriptions for user asset, cycle, intake, issue, member, module, project, state, and user API endpoints to improve clarity and usability of the API documentation.
- Updated the OpenAPI specifications to reflect these changes, ensuring better understanding for developers interacting with the API.

* Add contact information to OpenAPI settings

- Included contact details for Plane in the OpenAPI settings to enhance API documentation and provide developers with a direct point of contact for support.
- This addition aims to improve the overall usability and accessibility of the API documentation.

* Reordered tags and improved description relavancy

* Enhance OpenAPI documentation for cycle and issue endpoints

- Added response definitions for the `get_cycle_issues` and `delete_cycle_issue` methods in the CycleIssueAPIEndpoint to clarify expected outcomes.
- Included additional response codes for the IssueSearchEndpoint to handle various error scenarios, improving the overall API documentation and usability.

* Enhance serializer documentation across multiple files

- Updated docstrings for various serializers including UserAssetUploadSerializer, AssetUpdateSerializer, and others to provide clearer descriptions of their functionality and usage.
- Improved consistency in formatting and language across serializer classes to enhance readability and maintainability.
- Added detailed explanations for new serializers related to project, module, and cycle management, ensuring comprehensive documentation for developers.

* Refactor API endpoints for cycles, intake, modules, projects, and states

- Replaced existing API endpoint classes with more descriptive names such as CycleListCreateAPIEndpoint, CycleDetailAPIEndpoint, IntakeIssueListCreateAPIEndpoint, and others to enhance clarity.
- Updated URL patterns to reflect the new endpoint names, ensuring consistency across the API.
- Improved documentation and method summaries for better understanding of endpoint functionalities.
- Enhanced query handling in the new endpoint classes to streamline data retrieval and improve performance.

* Refactor issue and label API endpoints for clarity and functionality

- Renamed existing API endpoint classes to more descriptive names such as IssueListCreateAPIEndpoint, IssueDetailAPIEndpoint, LabelListCreateAPIEndpoint, and LabelDetailAPIEndpoint to enhance clarity.
- Updated URL patterns to reflect the new endpoint names, ensuring consistency across the API.
- Improved method summaries and documentation for better understanding of endpoint functionalities.
- Streamlined query handling in the new endpoint classes to enhance data retrieval and performance.

* Refactor asset API endpoint methods and introduce new status enums

- Updated the GenericAssetEndpoint to only allow POST requests for asset creation, removing the GET method.
- Modified the get method to require asset_id, ensuring that asset retrieval is always tied to a specific asset.
- Added new IntakeIssueStatus and ModuleStatus enums to improve clarity and management of asset and module states.
- Enhanced OpenAPI settings to include these new enums for better documentation and usability.

* enforce naming convention

* Added LICENSE to openapi spec

* Enhance OpenAPI documentation for various API endpoints

- Updated API endpoints in asset, cycle, intake, issue, module, project, and state views to include OpenApiRequest and OpenApiExample for better request documentation.
- Added example requests for creating and updating resources, improving clarity for API consumers.
- Ensured consistent use of OpenApi utilities across all relevant endpoints to enhance overall API documentation quality.

* Enhance OpenAPI documentation for various API endpoints

- Added detailed descriptions to multiple API endpoints across asset, cycle, intake, issue, module, project, state, and user views to improve clarity for API consumers.
- Ensured consistent documentation practices by including descriptions that outline the purpose and functionality of each endpoint.
- This update aims to enhance the overall usability and understanding of the API documentation.

* Update OpenAPI examples and enhance project queryset logic

- Changed example fields in OpenAPI documentation for issue comments from "content" to "comment_html" to reflect the correct structure.
- Introduced a new `get_queryset` method in the ProjectDetailAPIEndpoint to filter projects based on user membership and workspace, while also annotating additional project-related data such as total members, cycles, and modules.
- Updated permission checks to use the correct attribute name for project identifiers, ensuring accurate permission handling.

* Enhance OpenAPI documentation and add response examples

- Updated multiple API endpoints across asset, cycle, intake, issue, module, project, state, and user views to include new OpenApiResponse examples for better clarity on expected outcomes.
- Introduced new parameters for project and issue identifiers to improve request handling and documentation consistency.
- Enhanced existing responses with detailed examples to aid API consumers in understanding the expected data structure and error handling.
- This update aims to improve the overall usability and clarity of the API documentation.

* refactor: update terminology from 'issues' to 'work items' across multiple API endpoints for consistency and clarity

* use common timezones from pytz for choices

* Moved the openapi utils to the new folder structure

* Added exception logging in GenericAssetEndpoint to improve error handling

* Fixed code rabbit suggestions

* Refactored IssueDetailAPIEndpoint to streamline issue retrieval and response handling, removing redundant external ID checks and custom ordering logic.

---------

Co-authored-by: pablohashescobar <[email protected]>
Co-authored-by: NarayanBavisetti <[email protected]>

* fix: lint  (makeplane#7433)

* chore: fix lint

* fix: constants check:lint command

* chore(lint): permit unused vars which begin w/ _

* chore: rm dead code

* fix(lint): more lint fixes to constants pkg

* fix(lint): lint the live server

- fix lint issues

* chore: improve clean script

* fix(lint): more lint

* chore: set live server process title

* chore(deps): update to [email protected]

* chore(live): target node22

* fix(dev): add missing ui pkg dependency

* fix(dev): lint decorators

* fix(dev): lint space app

* fix(dev): address lint issues in types pkg

* fix(dev): lint editor pkg

* chore(dev): moar lint

* fix(dev): live server exit code

* chore: address PR feedback

* fix(lint): better TPageExtended type

* chore: refactor

* chore: revert most live server changes

* fix: few more lint issues

* chore: enable ci checks

Ensure we can build + confirm that lint is not getting worse.

* chore: address PR feedback

* fix: web lint warning added to package.json

* fix: ci:lint command

---------

Co-authored-by: sriram veeraghanta <[email protected]>

* fix: eslint warnings and errors (makeplane#7479)

* chore: add ci job names (makeplane#7478)

* chore: add ci job names

This makes them easier to find in the Github UI.

* chore: increase ci timeout

* [WIKI-537] refactor: document editor (makeplane#7384)

* refactor: document editor

* chore: update user prop

* fix: type warning

* chore: update value prop name

* chore: remove unnecessary exports

* hore: update initialValue type

* chore: revert initialValue type

* refactor: unnecessary string handlers

* [WEB-4544] chore: added field validations in serializer (makeplane#7460)

* chore: added field validations in serializer

* chore: added enum for roles

* [WEB-4513] refactor: consolidate password strength meter into shared ui package (makeplane#7462)

* refactor: consolidate password strength indicator into shared UI package

* chore: remove old password strength meter implementations

* chore: update package dependencies for password strength refactor

* chore: code refactor

* fix: lock file

---------

Co-authored-by: sriramveeraghanta <[email protected]>

* [WEB-4566] feat: add background color and goals field to Profile and Workspace models makeplane#7485

* chore: correct migration file 0098  (makeplane#7486)

* feat: restore background color and goals fields in Profile and Workspace models in migration 0099

* chore: update migration dependency to reflect recent changes in profile model migrations

* chore: version upgrade

* [WEB-4533] feat: read replica functionality (makeplane#7453)

* feat: read replica functionality

* fix: set use_read_replica to false

* chore: add use_read_replica to external APIs

* chore: remove use_read_replica on read endpoints

* chore: remove md files

* Updated all the necessary endpoints to use read replica

---------

Co-authored-by: Dheeraj Kumar Ketireddy <[email protected]>

* [WEB-4563]fix: image full screen modal makeplane#7491

* [WIKI-539] refactor: remove lite text read only editor (makeplane#7481)

* refactor: remove lite text read only editor

* chore: update types

* [WIKI-539] regression: editor build errors makeplane#7503

* [WIKI-539] regression: toolbar visible in comments card makeplane#7508

* chore(deps): bump linkifyjs in the npm_and_yarn group across 1 directory (makeplane#7506)

Bumps the npm_and_yarn group with 1 update in the / directory: [linkifyjs](https://github.com/nfrasser/linkifyjs/tree/HEAD/packages/linkifyjs).


Updates `linkifyjs` from 4.3.1 to 4.3.2
- [Release notes](https://github.com/nfrasser/linkifyjs/releases)
- [Changelog](https://github.com/nfrasser/linkifyjs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nfrasser/linkifyjs/commits/v4.3.2/packages/linkifyjs)

---
updated-dependencies:
- dependency-name: linkifyjs
  dependency-version: 4.3.2
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [WIKI-570] fix: image alignment for read only editor makeplane#7509

* chore: added validation for description  (makeplane#7507)

* added PageBinaryUpdateSerializer for binary data validation and update

* chore: added validation for description

* chore: removed the duplicated file

* Fixed coderabbit comments

- Improve content validation by consolidating patterns and enhancing recursion checks

- Updated `PageBinaryUpdateSerializer` to simplify assignment of validated data.
- Enhanced `content_validator.py` with consolidated dangerous patterns and added recursion depth checks to prevent stack overflow during validation.
- Improved readability and maintainability of validation functions by using constants for patterns.

---------

Co-authored-by: Dheeraj Kumar Ketireddy <[email protected]>

* [WIKI-573] regression: comment card padding makeplane#7512

* fix(cli): improve API service readiness check in install script (makeplane#7468)

* fix: improve API service readiness check in install script

* fix(cli): correct python indentation in api health check

* fix(cli): prevent false positive api ready message on timeout

* [WEB-4544] chore: added field validations in serializer (makeplane#7460)

* chore: added field validations in serializer

* chore: added enum for roles

* [WEB-4603] feat: add missing event trackers (makeplane#7513)

* feat: add event trackers for password creation

* feat: add event trackers for project views

* feat: add event trackers for product updates and changelogs

* chore: use element name instead of event name for changelog redirect link

* [WEB-4599] feat: add marketing email consent field to Profile model and timezone migration makeplane#7510

* [WEB-4597] fix: project icon render in switcher makeplane#7504

* fix: header observer for state changes

* [WEB-4602] fix: 500 error on draft wi labels update makeplane#7515

* fix: adding proxy command

* fix: enable email notification by default for new users (makeplane#7521)

* Potential fix for code scanning alert no. 631: Incomplete URL scheme check (makeplane#7514)

* Potential fix for code scanning alert no. 631: Incomplete URL scheme check

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* fix: ignore warning in this file

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* [INFRA-219] fix: update Dockerfile and docker-compose for proxy service (makeplane#7523)

* fix: update Dockerfile and docker-compose for version v0.28.0 and improve curl commands in install script

* fix: update docker-compose to use 'stable' tag for all services

* fix: improve curl command options in install script for better reliability

* feat: update new logo on readme (makeplane#7530)

* feat: update new logo on readme

Changed logo on Readme

* fix: image url

---------

Co-authored-by: sriramveeraghanta <[email protected]>

* docs: update README.md (makeplane#7531)

changed tagline

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Dheeraj Kumar Ketireddy <[email protected]>
Co-authored-by: Nikhil <[email protected]>
Co-authored-by: Masoom Wahid <[email protected]>
Co-authored-by: Aaron Heckmann <[email protected]>
Co-authored-by: sriram veeraghanta <[email protected]>
Co-authored-by: Anmol Singh Bhatia <[email protected]>
Co-authored-by: Manish Gupta <[email protected]>
Co-authored-by: M. Palanikannan <[email protected]>
Co-authored-by: Aaryan Khandelwal <[email protected]>
Co-authored-by: Akshat Jain <[email protected]>
Co-authored-by: Prateek Shourya <[email protected]>
Co-authored-by: Dheeraj Kumar Ketireddy <[email protected]>
Co-authored-by: Bavisetti Narayan <[email protected]>
Co-authored-by: Sangeetha <[email protected]>
Co-authored-by: gakshita <[email protected]>
Co-authored-by: Akshita Goyal <[email protected]>
Co-authored-by: Vamsi Krishna <[email protected]>
Co-authored-by: Vipin Chaudhary <[email protected]>
Co-authored-by: merrime-n <[email protected]>
Co-authored-by: Donal Noye <[email protected]>
Co-authored-by: pablohashescobar <[email protected]>
Co-authored-by: NarayanBavisetti <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rishi <[email protected]>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Vihar Kurama <[email protected]>
Co-authored-by: P B <[email protected]>

* Update docker-compose.yml

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Dheeraj Kumar Ketireddy <[email protected]>
Co-authored-by: Nikhil <[email protected]>
Co-authored-by: Masoom Wahid <[email protected]>
Co-authored-by: Aaron Heckmann <[email protected]>
Co-authored-by: sriram veeraghanta <[email protected]>
Co-authored-by: Anmol Singh Bhatia <[email protected]>
Co-authored-by: Manish Gupta <[email protected]>
Co-authored-by: M. Palanikannan <[email protected]>
Co-authored-by: Aaryan Khandelwal <[email protected]>
Co-authored-by: Akshat Jain <[email protected]>
Co-authored-by: Prateek Shourya <[email protected]>
Co-authored-by: Dheeraj Kumar Ketireddy <[email protected]>
Co-authored-by: Bavisetti Narayan <[email protected]>
Co-authored-by: Sangeetha <[email protected]>
Co-authored-by: gakshita <[email protected]>
Co-authored-by: Akshita Goyal <[email protected]>
Co-authored-by: Vamsi Krishna <[email protected]>
Co-authored-by: Vipin Chaudhary <[email protected]>
Co-authored-by: merrime-n <[email protected]>
Co-authored-by: Donal Noye <[email protected]>
Co-authored-by: pablohashescobar <[email protected]>
Co-authored-by: NarayanBavisetti <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rishi <[email protected]>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Vihar Kurama <[email protected]>
Co-authored-by: P B <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⚙️backend 🔄migrations Contains Migration changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants