* feat: change user email
* chore: optimised the logic
* feat: add email change functionality and related modals in profile form
* refactor: format checkEmail method for improved readability
* chore: added rate limit exceeded validation
* feat: implement change email modal with localization support
- Added translation support for the change email modal, including titles, descriptions, and error messages.
- Integrated the useTranslation hook for dynamic text rendering.
- Updated form validation messages to utilize localized strings.
- Enhanced user feedback with localized success and error toast messages.
- Updated button labels and placeholders to reflect localization changes.
* chore: added extra validation in cache key
* fix: format files
---------
Co-authored-by: b-saikrishnakanth <bsaikrishnakanth97@gmail.com>
Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
* dev: updated the index constraints for notification
* dev: updated migration file with AddIndexConcurrently
* dev: handled indexing for file asset with asset
* bumped migration sequence number
---------
Co-authored-by: Dheeraj Kumar Ketireddy <dheeru0198@gmail.com>
* feat: add project shortcut in command palette
* feat: global project switcher shortcut
* refactor: generalize command palette entity handling
* feat: extend command palette navigation
* feat: add issue shortcut to command palette
* feat: add modular project selection for cycle navigation
* chore: add reusable command palette utilities
* fix: update key sequence handling to use window methods for timeout management
* fix: build errors
* chore: minor ux copy improvements
* feat: implement a new command registry and renderer for enhanced command palette functionality
* feat: introduce new command palette components and enhance search functionality
* feat: enhance command palette components with improved initialization and loading indicators
* feat: Implement new command palette architecture with multi-step commands, context-aware filtering, and reusable components. Add comprehensive documentation and integration guides. Enhance command execution with a dedicated executor and context provider. Introduce new command types and improve existing command definitions for better usability and maintainability.
* refactor: hook arguments
* refactor: folder structure
* refactor: update import paths
* fix: context prop drilling
* refactor: update search components
* refactor: create actions
* chore: add type to pages
* chore: init contextual actions
* refactor: context based actions code split
* chore: module context-based actions
* refactor: streamline command execution flow and enhance multi-step handling in command palette
* refactor: remove placeholder management from command execution and implement centralized placeholder mapping
* chore: cycle context based actions
* refactor: simplify command execution by consolidating selection steps and adding page change handling
* chore: added more options to work item contextual actions
* chore: page context actions
* refactor: update step type definitions and enhance page mapping for command execution
* feat: implement Command Palette V2 with global shortcuts and enhanced context handling
* refactor: power k v2
* refactor: creation commands
* feat: add navigation utility for Power K context handling
* feat: implement comprehensive navigation commands for Power K
* refactor: work item contextual actions
* fix: build errors
* refactor: remaining contextual actions
* refactor: remove old code
* chore: update placeholder
* refactor: enhance command registry with observable properties and context-aware shortcut handling
* refactor: improve command filtering logic in CommandPaletteModal
* chore: context indicator
* chore: misc actions
* style: shortcut badge
* feat: add open entity actions and enhance navigation commands for Power K
* refactor: rename and reorganize Power K components for improved clarity and structure
* refactor: update CommandPalette components and streamline global shortcuts handling
* refactor: adjust debounce timing in CommandPaletteModal for improved responsiveness
* feat: implement shortcuts modal and enhance command registry for better shortcut management
* fix: search implemented
* refactor: search results code split
* refactor: search results code split
* feat: introduce creation and navigation command modules for Power K, enhancing command organization and functionality
* chore: update menu logos
* refactor: remove unused PowerKOpenEntityActionsExtended component from command palette
* refactor: search menu
* fix: clear context on backspace and manual clear
* refactor: rename creation command keys for consistency and clarity in Power K
* chore: added intake in global search
* chore: preferences menu
* chore: removed the empty serach params
* revert: command palette changes
* cleanup
* refactor: update command IDs to use underscores for consistency across Power K components
* refactor: extended context based actions
* chore: modal command item status props
* refactor: replace CommandPalette with CommandPaletteProvider in settings and profile layouts
* refactor: update settings menu to use translated labels instead of i18n labels
* refactor: update command titles to use translation keys for creation actions
* refactor: update navigation command titles to use translation keys for consistency
* chore: minor cleanup
* chore: misc commands added
* chore: code split for no search results command
* chore: state menu items for work item context based commands
* chore: add more props to no search results command
* chore: add more props to no search results command
* refactor: remove shortcut key for create workspace command
* Refactor command palette to use PowerK store
- Replaced instances of `useCommandPalette` with `usePowerK` across various components, including `AppSearch`, `CommandModal`, and `CommandPalette`.
- Introduced `PowerKStore` to manage modal states and commands, enhancing the command palette functionality.
- Updated modal handling to toggle `PowerKModal` and `ShortcutsListModal` instead of the previous command palette modals.
- Refactored related components to ensure compatibility with the new store structure and maintain functionality.
* Refactor PowerK command handling to remove context dependency
- Updated `usePowerKCommands` and `usePowerKCreationCommands` to eliminate the need for a context parameter, simplifying their usage.
- Adjusted related command records to utilize the new structure, ensuring consistent access to command configurations.
- Enhanced permission checks in creation commands to utilize user project roles for better access control.
* chore: add context indicator
* chore: update type import
* chore: migrate toast implementation from @plane/ui to @plane/propel/toast across multiple command files
* refactor: power k modal wrapper and provider
* fix: type imports
* chore: update creation command shortcuts
* fix: page context commands
* chore: update navigation and open command shortcuts
* fix: work item standalone page modals
* fix: context indicator visibility
* fix: potential error points
* fix: build errors
* fix: lint errors
* fix: import order
---------
Co-authored-by: Vihar Kurama <vihar.kurama@gmail.com>
Co-authored-by: Prateek Shourya <prateekshourya29@gmail.com>
Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
* feat: add exporter URL patterns for exporting issues and update session cookie age handling
* fix: ensure ADMIN_SESSION_COOKIE_AGE is an integer for consistent session handling
* feat: implement webhook logging to MongoDB and fallback to database (#7887)
- Added a new function `save_webhook_log` to log webhook requests and responses to MongoDB, with a fallback to the database if the MongoDB save fails.
- Updated the `webhook_send_task` to utilize the new logging function.
- Modified the `get_webhook_logs_queryset` to order logs by creation date and adjusted the chunk size for iteration.
* refactor: clean up log data formatting in save_webhook_log function
* fix: update retry_count type in save_webhook_log function
* chore: added middleware to handle body too large
* chore: added middleware to handle body too large
* chore: indentend the code
* chore: changed the response structure
* chore: changed the response structure
* chore: created a new file for middleware
* chore: added a standardized error key
* feat: implement flexible data export utility with CSV, JSON, and XLSX support
- Introduced Exporter class for handling various data formats.
- Added formatters for CSV, JSON, and XLSX exports.
- Created schemas for defining export fields and their transformations.
- Implemented IssueExportSchema for exporting issue data with nested attributes.
- Enhanced issue export task to utilize the new exporter system for better data handling.
* feat: enhance issue export functionality with new relations and context handling
- Updated issue export task to utilize new IssueRelation model for better relationship management.
- Refactored Exporter class to accept QuerySets directly, improving performance and flexibility.
- Enhanced IssueExportSchema to include parent issues and relations in the export.
- Improved documentation for exporting multiple projects and filtering fields during export.
* feat: enhance export functionality with field filtering and context support
- Updated Exporter class to merge fields into options for formatting.
- Modified formatters to filter fields based on specified options.
- Enhanced ExportSchema to support optional field selection during serialization.
- Improved documentation for the serialize method to clarify field filtering capabilities.
* fixed type
* feat: enhance rich filters with new components and configurations
- Added `AdditionalFilterValueInput` for unsupported filter types.
- Introduced `FilterItem` and related components for better filter item management.
- Updated filter configurations to include new properties and support for multiple values.
- Improved loading states and error handling in filter components.
- Refactored existing filter logic to streamline operations and enhance performance.
* Refactor rich filters component structure and enhance filter item functionality
- Moved AddFilterButton and AddFilterDropdown to a new directory structure for better organization.
- Updated FilterItemProperty to handle filter selection and condition updates more effectively.
- Enhanced the FilterInstance class with methods to update condition properties and operators, improving filter management.
- Added new functionality to handle invalid filter states and improve user feedback.
* [WEB-5111] feat: add 'created_at' and 'updated_at' filters to work item configuration
- Introduced new filter configurations for 'created_at' and 'updated_at' in the work item filters.
- Updated relevant components to utilize these new filters, enhancing filtering capabilities.
- Added corresponding filter configuration functions in the utils for better date handling.
* fix: build
* feat: enhance workspace seeding with cycles, modules, and views creation
- Added `create_cycles`, `create_modules`, and `create_views` functions to the workspace seeding process, enabling the creation of cycles, modules, and views based on new seed data.
- Updated `create_project_issues` to associate issues with cycles and modules.
- Introduced new seed files: `cycles.json`, `modules.json`, and `views.json` to provide initial data for cycles, modules, and views.
- Integrated these new functionalities into the `workspace_seed` task for comprehensive workspace initialization.
* feat: add project_id to page seed data for improved association
- Added `project_id` field to the page with `id` 2 in `pages.json` to establish a clear link between pages and their respective projects.
- This enhancement supports better organization and retrieval of page data within the project context.
* feat: enhance workspace seed task with improved display properties and layout options
- Updated the `create_project_and_member` function to include new display properties and layout configurations for better project visualization.
- Modified display filters to group by state and added calendar layout options.
- Enhanced the `create_modules` and `create_views` functions with improved formatting and structure for better readability and maintainability.
* Update apps/api/plane/bgtasks/workspace_seed_task.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix: correct project_id mapping in cycle and view creation functions
- Updated the `create_cycles` function to use the correct `project_id` from the `project_map` for fetching the last cycle.
- Removed redundant `view_id` extraction in the `create_views` function to streamline view creation process.
* refactor: update create_cycles function to return project mapping
- Changed the return type of the `create_cycles` function from `None` to `Dict[int, uuid.UUID]` to provide a mapping of project IDs after cycle creation.
- This modification enhances the function's utility by allowing the caller to access the generated project mappings directly.
* refactor: remove unused view_map variable in create_views function
- Eliminated the `view_map` dictionary from the `create_views` function as it was not utilized, streamlining the code.
- This change enhances code clarity and maintainability by removing unnecessary elements.
* refactor: improve issue creation logic in create_project_issues function
- Added comments to clarify the creation of issue labels, cycle issues, and module issues within the `create_project_issues` function.
- Enhanced code readability and maintainability by structuring the issue creation process with clear conditional checks for cycles and modules.
---------
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* feat: add page creation functionality to workspace seeding process
- Implemented `create_pages` function to create pages for each project in the workspace based on data from `pages.json`.
- Integrated page creation into the `workspace_seed` task, ensuring pages are created alongside project issues.
- Added a new `pages.json` seed file containing initial page data and descriptions.
* fix: update page creation logic and seed data
- Set `is_global` to `False` for pages created in the `create_pages` function.
- Adjusted the project type check to be case-insensitive in the page creation logic.
- Added `id`, `project_id`, and `description_stripped` fields to the `pages.json` seed data for improved page initialization.
* feat: set default owner for cycle creation if not provided
* Updated CycleListCreateAPIEndpoint to assign the current user as the owner when the 'owned_by' field is not included in the request data.
* Enhanced the CycleCreateSerializer initialization to ensure proper ownership assignment during cycle creation.
* feat: add comprehensive tests for Cycle API endpoints
* Introduced a new test suite for Cycle API endpoints, covering creation, retrieval, updating, and deletion of cycles.
* Implemented tests for various scenarios including successful operations, invalid data handling, and conflict resolution with external IDs.
* Enhanced test coverage for listing cycles with different view filters and verifying cycle metrics annotations.
* feat: enhance CycleCreateSerializer to include ownership assignment
* Added 'owned_by' field to CycleCreateSerializer to specify the user who owns the cycle.
* Updated CycleListCreateAPIEndpoint to remove redundant ownership assignment logic, relying on the serializer to handle default ownership.
* Ensured that if 'owned_by' is not provided, it defaults to the current user during cycle creation.
* fix: correct assertion syntax in CycleListCreateAPIEndpoint tests
* Updated the assertion in the test for successful cycle creation to use the correct syntax for checking the response status code.
* Ensured that the test accurately verifies the expected behavior of the API endpoint.
* refactor: enhance ComplexFilterBackend and BaseFilterSet for Q object filtering
- Introduced BaseFilterSet to support Q object construction for complex filtering.
- Updated ComplexFilterBackend to utilize Q objects for building querysets.
- Improved error handling and validation in filter methods.
- Refactored filter evaluation logic to streamline query construction.
* fix: improve filter processing in BaseFilterSet to handle empty cleaned_data and optimize filter evaluation
- Added handling for cases where cleaned_data is None or empty, returning an empty Q object.
- Optimized filter evaluation by only processing filters that are provided in the request data.
* update ComplexFilterBackend to pass queryset in filter evaluation
* chore: update psycopg dependencies to version 3.2.9 in base requirements
* refactor: clean up unused imports across multiple files
* chore: update lxml dependency to version 6.0.0 in base requirements
* style: improve code readability by breaking long lines into multiple lines across several files
* style: enhance readability by breaking long lines in ModuleSerializer docstring