Commit Graph

11426 Commits

Author SHA1 Message Date
Prateek Shourya
e02fa2449c [WEB-4830] feat: add work item rich filters (#3747)
* feat: rich filters store architecture and UI components

* feat: add work item layout filter HOC

* improvements: minor enhancements for rich filters
* added button configuration to add filters button
* added option to disable transition for filter item
* fixed filter item label truncation
* added support for changing work item filter config keys

* improvements: add filter button config initialization

* improvements: work item layout filter compatibility fixes

* refactor: update filter structure and improve type safety across automation and rich filters

- Changed filter property types to use TFilterProperty and TFilterValue for better type consistency.
- Updated various components and hooks to utilize new type definitions, enhancing type safety.
- Refactored filter configuration and adapter logic to accommodate the new types, ensuring compatibility with existing functionality.
- Improved handling of filter expressions and conditions, streamlining the overall filter management process.

* chore: restructure rich filter utils

* refactor: optimize filter value handling and update automation condition types

- Removed unnecessary condition checks in automation details sidebar trigger.
- Enhanced filter value input to handle empty states more gracefully.
- Updated filter helper methods to return both optimal operator and transformed value.
- Adjusted filter instance logic to accommodate changes in operator and value updates.
- Modified type definitions for automation conditions and filter configurations to support SingleOrArray types.
- Added utility functions for transforming values based on operator requirements.

* fix: handle single-value operators in automation condition filters

* fix: build errors

* chore: refactor work item filters to core with enterprise extensibility

* chore: update clear filters logic from project work item empty state

* chore: remove header filters selection from project work item list

* chore: remove header filters selection from project work item list mobile header

* feat: add work item filters bar to support save and update views

* feat: add visibility button to filters bar

* chore: minor fixes for work item filters adapter

* feat: enhance filters bar with async save and update handling

* chore: minor ux fixes for filters bar

* refactor: split updateCondition into separate operator and value update methods

* feat: add save and update view options to rich filter instance

* chore: minor fixes in clear filters

* feat: project level work item filters hoc with save and update view options

* chore: minor UX improvements for view save and update options

* chore: ordering fix in work item filters store

* improvement: enhance work item filters with consistent naming and memoization optimization

* feat: different variants for filters row

* feat: implement rich filters in create and update project view modal

* chore: ensure that max visible conditions are only visible in header variant

* feat: add tracker elements for clear filter, save view, and update view

* feat: update layout filter if view is updated from modal

* feat: implement rich filters for project archived work items

* feat: implement rich filters for cycle work items

* feat: implement rich filters for module work items

* chore: remove module applied filters header

* feat: implement rich filters in epics layout

* feat: implement rich filters in workspace views

* chore: remove router filter params from all issue layout root

* feat: implement rich filters for profile work items

* fix: shouldNotifyChangeForExpression should be called before clearing the filter expression

* refactor: get all the entities from props to generate work item config

* feat: implement rich filters for teamspace work items

* feat: implement rich filters for teamspace views

* feat: implement rich filters for teamspace project work items

* feat: implement rich filters for teamspace views create / update modal

* chore: remove all instances of FilterSelection component

* chore: clean up filters from FilterSelection

* feat: add LegacyToRichFiltersConverter and BaseIssueFilterSet for enhanced filtering capabilities

- Introduced LegacyToRichFiltersConverter to automate conversion from legacy filter formats to rich filter JSON structure, including validation features for UUIDs, choices, and dates.
- Added BaseIssueFilterSet with custom filter methods for handling soft delete exclusions and direct field lookups for the Issue model.
- Updated README.md to document the new converter and filter set usage, including examples and configuration options.

* feat: implement migrations for rich filters in core and EE models

- Added migration scripts to convert legacy filters to rich_filters format for core models (IssueView, WorkspaceUserProperties, etc.) and EE models (EpicUserProperties, InitiativeUserProperty, TeamspaceUserProperty).
- Introduced utility functions for migrating and clearing rich_filters, enhancing the migration process.
- Updated date validation in the LegacyToRichFiltersConverter to utilize dateutil.parser for improved flexibility in date format handling.
- Enhanced README.md to reflect changes in date validation capabilities.

* fix: build errors

* feat: refactor rich filter config and utils to support complex and extended filters

* feat: add `state_group` to project level filters

* chore: minor updates for work item filter configs

* feat: add state group set filter

* feat: add project and teamspace project filters

* chore: remove filters-selection component

* Updated IssueViewset to use complexfilter backend and made improvements to grouping.

- Refactored IssueListEndpoint and IssueViewSet to utilize new filtering and grouping features, enhancing query efficiency.
- Updated issue grouping functions to accept a queryset parameter, improving flexibility and performance.
- Optimized AND operations through branch-based evaluation.

* Changed the rich filters query param to 'filters'

* chore: integrate project work item rich filters with backend

* refactor: page wise filter constants

* chore: minor build fixes

* feat: integrate rich filters across all work item layouts

* fix: view update on additional changes

* chore: enabled filter item transition

* chore: remove total filters from view list item

* feat: add work item subscriber filter

* added custom UUIDInFilter and update filterset to utilize it

* fix: handle empty filters with empty object instead of null

* Fixed bug with updating issues

* fix: disable save view in epic layout

* chore: update state group set filter label

* fix: filter item early return re-render error

* fix: space app build

* fix: web build

* added CharInFilter and enhanced BaseFilterSet to support exact filters

* add subscriber ID filters to BaseIssueFilterSet

* simplify filter definitions in BaseIssueFilterSet by removing unnecessary lookup expressions

* Use comma separated values for in and range filters

* Fixed issue creation

* fix: reset filter condition when operator changes to different config type

* fix: only show work item type filter if enabled for project

* chore: minor fix in cleanup function and sub work item types

* fixed date rage filter

* fix: initial work item filters for global view, project view, teamspace view, initial work item filters for static views

* fix: add condition with negation operator

* fix: reset filters when project and teamspace view layouts unmount

* Enhance issue filtering capabilities across multiple views by integrating ComplexFilterBackend and BaseIssueFilterSet. Refactor issue querysets to apply filtering and annotations consistently, improving performance and maintainability.

* chore: update epic filters to show by layout

* Enhance issue queryset by applying annotations for improved data handling in WorkspaceViewIssuesViewSet.

* Fixed workspace issue viewset

* feat: add rich_filters support to multiple user properties endpoints

* fix: incorrect count

* improvement: update filters dropdowns height to full

* refactor: update filter label from "Grouping" to "Work item group" for clarity

* improvement: update work item filters list order

* feat: sanitize and stabilize filter expressions before external conversion

* chore: reorder add filter button in filters row

* feat: enhance issue viewsets by adding prefetch_related for improved performance and data retrieval across multiple endpoints. Refactor queryset handling to streamline filtering and annotations.

* feat: apply static view filters to workspace issues

* chore: minor updates for global view rich filters

* fix: local storage filters

* refactor: update issue filter handling to use new supported filter types

- Replaced instances of EIssueFilterType with TSupportedFilterTypeForUpdate in various components and stores.
- Updated filter update methods to utilize the new filter type structure for better consistency and maintainability.
- Removed deprecated filter handling logic across multiple files, streamlining the filter update process.

* feat: enable rich filters for cycle and module analytics progress stats

Refactored progress statistics components to support advanced filtering capabilities across cycles and modules. Added new shared components for assignee, label, and state group progress tracking with consistent filtering interface.

* refactor: update sub-issue filter components to use available filters

- Replaced layoutDisplayFiltersOptions with availableFilters in SubIssueFilters and related components for better filter management.
- Introduced new constants for available filters specific to work item and initiatives pages.
- Cleaned up unused imports and improved filter enabling logic for clarity and maintainability.

* chore: disable operator selection when filter is disabled or only one operator option is available

* refactor: enhance filter components to support disabled state

* chore: minor cleanup

* reorderd the data migration for rich filters

* refactor: rich filter utils structure

* refactor: reuse traversal and transformation utilities

* refactor: use type guards in rich filters

* cleanup: remove unused comment

* refactor: restructure filter system with extended rich filters support

- Rename and reorganize filter modules for better structure
  - complex_filter.py → filter_backend.py
  - migration_utils.py → filter_migrations.py
  - Remove custom_filters.py (inlined into filterset.py)

- Create extended filter system with inheritance hierarchy
  - Add extended/ directory with enhanced converters and filtersets
  - Support additional enterprise fields (team_project_id, type_id)
  - Maintain base functionality while adding extended features

- Centralize imports through clean public API
  - Update all view imports to use plane.utils.filters module
  - Extended classes automatically override base implementations
  - Maintain backward compatibility

- Rename BaseIssueFilterSet to IssueFilterSet across codebase
- Update migration files to use new converter structure
- Consolidate filter utilities for better maintainability

* Added missing param

* refactor: restructure rich filters by removing obsolete operator files and introducing core and extended operator configurations

* refactor: restructure rich filters utils

- Streamlined exports in rich-filters index files for factories, operations, types, and validators.
- Removed obsolete core types and operators, integrating their functionalities into a more cohesive structure.
- Introduced new factory and operation files to enhance modularity and maintainability.
- Improved type guards and utility functions for better type safety and clarity in filter operations.

* refactor: enhance operator handling in rich filters

- Introduced `getOperatorForPayload` utility to streamline operator normalization and negation handling across filter components.
- Updated various filter-related files to utilize the new utility, improving code clarity and reducing redundancy.
- Refactored condition addition logic to leverage the new operator handling, ensuring consistent behavior in filter expressions.

* Updated migration sequence

* refactor: update filter constants and types for consistency

- Renamed filter-related constants from `FILTER_TYPE_OPTIONS` to `FILTER_FIELD_TYPE_OPTIONS` for clarity.
- Updated references in various components and stores to use the new naming convention.
- Introduced new field type configurations to enhance filter handling and maintainability across the application.

* feat: enhance shared-state and rich filters integration

- Added new filter components and utilities to the shared-state package, improving the filter expression handling.
- Introduced `AddFilterButton`, `FilterItem`, and various input components for rich filters, enhancing user interaction.
- Updated existing components to utilize the new shared-state functionalities, ensuring consistency across the application.
- Refactored filter-related logic to streamline the integration of work item filters and improve maintainability.

* refactor: use factory functions instead of shared-state adapter

* fix: update filter helpers to handle negation correctly

* chore: minor comment cleanup

* feat: introduce new filter configurations and utilities for work item filters

- Added various filter configurations including cycle, date, label, module, priority, project, state, teamspace, user, and work item type.
- Implemented helper functions for multi-select and single-select configurations to streamline filter creation.
- Enhanced existing filter utilities to support new configurations, improving the overall filter management system.
- Organized filter-related code into dedicated files for better maintainability and clarity.

* feat: add rich filters types

* feat: add rich filters constants

* feat: add rich filters utils

* feat: add rich filters store in shared state package

* feat: add rich filters UI components

* chore: minor updates and fixes.

* chore: update pnpm lock file.

* [WEB-4842] feat: enhance rich filters with complex filter support and improved code organization

* chore: remove state group set from state filter

* chore: remove state group set from work item rich filters

* replace DashboardWidgetIssueFilterSet with IssueFilterSet in WidgetListEndpoint

- Removed the custom DashboardWidgetIssueFilterSet class and replaced it with the existing IssueFilterSet.
- This change simplifies the filter logic for the WidgetListEndpoint, leveraging the existing functionality of IssueFilterSet.

* removed state_group_set filter and related logic from IssueFilterSet

* fix: make setLoading optional in loadOptions function for improved flexibility

* fix: automation condition item value display

* chore: minor cleanup and updates

* chore: revert un-needed changes

* chore: remove duplicate exports

* chore: minor improvements to rich filters

* chore: minor improvements

* code cleanup and minor fixes

* chore: minor change

---------

Co-authored-by: JayashTripathy <jayashtripathy371@gmail.com>
Co-authored-by: Dheeraj Kumar Ketireddy <dheeru0198@gmail.com>
Co-authored-by: pablohashescobar <nikhilschacko@gmail.com>
Co-authored-by: sangeethailango <sangeethailango21@gmail.com>
2025-09-16 21:28:20 +05:30
sriram veeraghanta
e3463bf7ab Sync: Community Changes #4223 2025-09-16 21:27:11 +05:30
sriramveeraghanta
89b9dd7969 fix: merge conflicts 2025-09-16 21:26:28 +05:30
Prateek Shourya
d521eab22f [WEB-4885] feat: new filters architecture and UI components (#7802)
* feat: add rich filters types

* feat: add rich filters constants

* feat: add rich filters utils

* feat: add rich filters store in shared state package

* feat: add rich filters UI components

* fix: make setLoading optional in loadOptions function for improved flexibility

* chore: minor improvements to rich filters

* fix: formatting
2025-09-16 21:15:08 +05:30
sriramveeraghanta
00e070b509 fix: codeql triggers 2025-09-16 20:46:44 +05:30
Prateek Shourya
08446b79cf [WEB-4842] feat: enhance rich filters with complex filter support and improved code organization (#4210)
* feat: add rich filters types

* feat: add rich filters constants

* feat: add rich filters utils

* feat: add rich filters store in shared state package

* feat: add rich filters UI components

* chore: update pnpm lock file.

* [WEB-4842] feat: enhance rich filters with complex filter support and improved code organization

* chore: remove state group set from state filter

* fix: make setLoading optional in loadOptions function for improved flexibility

* fix: automation condition item value display

* chore: remove duplicate exports

* chore: minor improvements to rich filters

---------

Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
2025-09-16 20:37:39 +05:30
sriram veeraghanta
1a61cb162f Sync: Community Changes #4217 2025-09-16 20:29:06 +05:30
Prateek Shourya
761742a067 [WEB-4947] deprecate: hyper mode (#4221)
* deprecate: hyper mode

* fix: format errors

---------

Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
2025-09-16 20:27:59 +05:30
sriramveeraghanta
c38bfdc6ac fix: pnpm workspace path 2025-09-16 18:55:19 +05:30
Nikhil
4d17637edf [WEB-4943] refactor: streamline URL construction in authentication views (#7806)
* refactor: streamline URL construction in authentication views

* Updated MagicSignInSpaceEndpoint and MagicSignUpSpaceEndpoint to directly construct redirect URLs using formatted strings instead of the get_safe_redirect_url function.
* Enhanced get_safe_redirect_url to use quote for safer URL encoding of parameters.

* refactor: enhance URL validation and redirection in authentication views

* Added validate_next_path function to improve the safety of redirect URLs in MagicSignInSpaceEndpoint and MagicSignUpSpaceEndpoint.
* Updated URL construction to ensure proper handling of next_path and base_url.
* Streamlined the get_safe_redirect_url function for better parameter encoding.

* refactor: unify URL redirection logic across authentication views

* Introduced validate_next_path function to enhance URL safety in SignInAuthSpaceEndpoint, SignUpAuthSpaceEndpoint, GitHubCallbackSpaceEndpoint, GitLabCallbackSpaceEndpoint, and GoogleCallbackSpaceEndpoint.
* Updated URL construction to directly format the redirect URL, improving clarity and consistency across multiple authentication views.
2025-09-16 18:44:26 +05:30
Anmol Singh Bhatia
bf45635a7b [WEB-4898] fix: extended sidebar toggle #7797 2025-09-16 15:35:31 +05:30
Saurabh Kumar
b3d721ff9c [SILO-530] Fix broken configure button in integrations and missing apps for free plan (#4214)
* fix invalid configuration url error + default apps not visible for free

* remove installed tag from default apps
2025-09-16 14:56:03 +05:30
M. Palanikannan
275b6cad8d fix: duplicate specifier of propel package (#4212)
* fix: duplicate specifier of propel package

* Update package.json

---------

Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
2025-09-16 14:09:47 +05:30
Akshat Jain
664ac994cb [INFRA-240] chore: update Go version in email Dockerfile from 1.25.0 to 1.25.1 #4213 2025-09-16 14:08:02 +05:30
sriram veeraghanta
a0062f4a12 Sync: Community Changes #4211 2025-09-16 11:00:16 +05:30
Nikhil
56d3a9e049 [WEB-4900] refactor: remove base_host retrieval from authentication views (#7804)
* refactor: remove base_host retrieval from authentication views

* Removed unnecessary base_host retrieval from GitHub, GitLab, and Google callback endpoints.
* Updated MagicSignUpEndpoint to use get_safe_redirect_url for URL construction.
* Refactored MagicSignInSpaceEndpoint to streamline URL redirection logic.

* refactor: streamline URL redirection in MagicSignInSpaceEndpoint

* Removed redundant base_url retrieval from the exception handling in MagicSignInSpaceEndpoint.
* Enhanced the clarity of URL construction by directly using get_safe_redirect_url.
2025-09-16 10:57:20 +05:30
sriram veeraghanta
3646ae4465 Sync: Community Changes #4209 2025-09-16 01:29:09 +05:30
sriram veeraghanta
1f7eef5f81 chore: django import error 2025-09-16 01:24:48 +05:30
sriram veeraghanta
ca946af375 fix: mobile editor package vite version 2025-09-16 01:20:01 +05:30
sriram veeraghanta
67b7b020e7 Sync: Community Changes #4208 2025-09-16 01:16:37 +05:30
sriram veeraghanta
3dbc5d97f7 fix: merge conflicts 2025-09-16 01:12:55 +05:30
sriram veeraghanta
bd2272a7da chore (deps): pnpm lockfile overrides update 2025-09-16 00:55:35 +05:30
sriram veeraghanta
b9c6bb07bf chore(deps): axios version upgrade to 1.12.0 2025-09-16 00:14:18 +05:30
Nikhil
345dfce25d [WEB-4900]: validated authentication redirection paths (#7798)
* refactor: replace validate_next_path with get_safe_redirect_url for safer URL redirection across authentication views

* refactor: use get_safe_redirect_url for improved URL redirection in SignInAuthSpaceEndpoint and SignUpAuthSpaceEndpoint

* fix: redirect paths

---------

Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
2025-09-16 00:01:06 +05:30
Jayash Tripathy
c93cdeb6b8 [WEB-4902] refactor: remove website validation in integrations form #4206 2025-09-15 19:14:54 +05:30
M. Palanikannan
9a4806f5ab [WIKI-608]fix: remove redundant search bar #4207 2025-09-15 19:10:09 +05:30
sriram veeraghanta
732a3403c2 Sync: Community Changes #4205 2025-09-15 19:05:10 +05:30
sriram veeraghanta
3ca6af1fe8 Merge branch 'preview' into sync/ce-ee 2025-09-15 19:03:46 +05:30
Bavisetti Narayan
116c8118ab [WIKI-659] chore: added issue relation and page sort order (#7784)
* chore: added issue relation and page sort order

* feat: add ProjectWebhook model to manage webhooks associated with projects

* chore: updated the migration file

* chore: added migration

* chore: reverted the page base code

* chore: added a variable for sort order in pages

---------

Co-authored-by: pablohashescobar <nikhilschacko@gmail.com>
2025-09-15 18:36:00 +05:30
Jayash Tripathy
9d502a6187 [SILO-529] refactor: integration page enhancements (#4196) 2025-09-15 17:52:32 +05:30
Bavisetti Narayan
59e791d56f [WIKI-608] feat: nested pages in teamspaces (#4103)
* chore: added nested pages in teamspace

* chore: changed the view set

* chore: added restore endpoint for project pages

* chore: added query parameters for listing archived pages

* fix: added support for nested pages

* fix: archive and move pages are present

* chore: added sub pages count

* chore: removed the duplicated code

* chore: changed the entity name for teamspace

* fix: teamspace bugs

* chore: added the sub pages filter

* fix: feature flag added

* fix: teamspace pages ff removed

* chore: added the parent select relataed

* fix: lint issues

---------

Co-authored-by: Palanikannan M <akashmalinimurugu@gmail.com>
2025-09-12 21:03:50 +05:30
sriram veeraghanta
dca46fd74c promote: mobile runway to preview #4195 2025-09-12 18:28:10 +05:30
guru_sainath
d4d3343c05 [MOB-1179] fix: make work item link title optional and add metadata to epic/work item links (#4183)
* fix: made the link title optional in workitem and added metadata in epic and workitem link

* dev: replaced dict with json
2025-09-12 16:47:47 +05:30
guru_sainath
dba096e31b fix: duplicating the cycle activity when we add the cycle to workitem (#4182) 2025-09-12 16:47:23 +05:30
guru_sainath
05c47c5aa4 [MOB-985] dev: handled the epic in push notification background job, and updated catchup, and notification queries (#4180)
* dev: handled the epic in push notification, catchup, and notification queries and background job

* dev: handled none in push notification
2025-09-12 16:46:50 +05:30
guru_sainath
87927f46d2 dev: replaced pages with wiki in app links (#4171) 2025-09-12 16:46:03 +05:30
guru_sainath
4cc6a40f99 dev: handled the project details and workitem identifier in user favorites and recents (#4097) 2025-09-12 16:45:18 +05:30
guru_sainath
f11f5d43dc [MOB-1155] chore: handle catch-up types and validations in notification system (#4063)
* dev: updated catch-up return values

* dev: replaced created_at with updated_at in catchup base query while filtering

* dev: handled the catchup order

* chore: updated bool
2025-09-12 16:44:40 +05:30
sriram veeraghanta
e6455ee1ec Sync: Community Changes #4191 2025-09-12 16:43:49 +05:30
sriram veeraghanta
c3e7cfd16b [WEB-4723] fix: disable project features on project create (#7625)
* fix: disbale project features on project create

* Implement migration 0105 to alter project cycle view fields to Boolean with default values

* Add project view settings in workspace seed task

* Add is_current_version_deprecated field to Instance model

Index user_id field in Session model

---------

Co-authored-by: pablohashescobar <nikhilschacko@gmail.com>
2025-09-12 13:01:03 +05:30
sriram veeraghanta
0ca497af45 Sync: Community Changes #4188 2025-09-12 12:27:15 +05:30
Jayash Tripathy
d7f5721ed9 Merge branch 'preview' into sync/ce-ee 2025-09-12 00:09:12 +05:30
Jayash Tripathy
9ffc30f7b1 [WEB-4889] refactor: add fill in bar chart bar stroke (#7776)
* ♻️ refactor: add fill in barchart bar stroke

* ♻️ refactor: added fill in the circle
2025-09-12 00:04:16 +05:30
Sangeetha
d4b1a31715 [WEB-4892]fix: 400 error on project creation #4187 2025-09-11 20:01:51 +05:30
pushya22
b76aec4b1b Sync: Community Changes #4185 2025-09-11 19:01:54 +05:30
Dheeraj Kumar Ketireddy
b60f12a88e [WEB-4861] fix: update redirection path in MagicSignInEndpoint to home page (#7774)
* fix: update redirection path in MagicSignInEndpoint to home page

* Use / for clarity
2025-09-11 18:56:32 +05:30
Vamsi Krishna
76a0b38dd1 [WEB-4890]fix: dropdown width #7778 2025-09-11 18:56:04 +05:30
Vamsi Krishna
0d5fbbe3b0 fix: build errors due to duplicate imports (#4184) 2025-09-11 18:33:05 +05:30
pushya22
63217b3f93 Sync: Community Changes #4181 2025-09-11 18:00:33 +05:30
vamsikrishnamathala
3e6aee670d Merge branch 'preview' of github.com:makeplane/plane-ee into sync/ce-ee 2025-09-11 17:55:52 +05:30