Commit Graph
733 Commits
Author SHA1 Message Date
23099790ff chore: adding claude.md file (#5375)
* chore: adding claude.md file

* chore: update documentation

* Add CLAUDE.md for api and all it's internal modules

* Add comprehensive CLAUDE.md for silo integration engine

- Documents silo's architecture as Plane's integrations engine
- Details service components (API, imports, integrations workers)
- Explains modular app structure for each provider integration
- Documents @plane/etl package dependency and usage patterns
- Includes development commands, environment configuration
- Provides guidance for adding new OAuth providers and importers

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>

---------

Co-authored-by: Dheeraj Kumar Ketireddy <[email protected]>
Co-authored-by: Surya Prashanth <[email protected]>
Co-authored-by: Claude <[email protected]>
2026-01-08 20:26:24 +05:30
Dheeraj Kumar KetireddyandGitHub 53acf706b7 [VPAT-51] fix: Secure workspace invitation acceptance with token validation #5369
The workspace join endpoint previously accepted invitations based only on
email matching without verifying that the request came from the actual
email recipient. This allowed attackers to accept invitations for any
email by simply providing the email in the request.

Changes:
- Replace email-based validation with token-based validation
- Token is now included in invitation URL instead of email
- Backend validates token matches stored invitation token
- Frontend passes token from URL to API instead of email
2026-01-08 20:24:04 +05:30
NikhilandGitHub 38f62f2508 [WEB-5894] fix: disable RequestedAuthnContext in SAML adapter to resolve Azure AD error AADSTS75011 (#5371)
* fix: disable RequestedAuthnContext in SAML adapter to resolve Azure AD error AADSTS75011

* feat: add SAML_DISABLE_REQUESTED_AUTHN_CONTEXT configuration and update form fields for SAML authentication
2026-01-08 18:03:47 +05:30
NikhilandGitHub 553c8cf0a8 [WEB-5889]fix: add rate parsing functionality to AuthenticationLimitedThrottle class (#5366)
* feat: add rate parsing functionality to AuthenticationLimitedThrottle class

* fix: enhance error handling for rate format in AuthenticationLimitedThrottle class

* fix: improve error messages for invalid rate format and duration in AuthenticationLimitedThrottle class
2026-01-08 16:37:50 +05:30
NikhilandGitHub 0053d18d84 [WEB-5883] fix: enhance LDAPProvider with improved error handling and logging #5362
- Added logging for LDAP search filter validation and connection errors.
- Updated LDAP connection options for better compatibility and timeout settings.
- Refactored configuration value retrieval for clarity.
- Ensured search results filter out invalid entries.
2026-01-08 15:04:42 +05:30
NikhilandGitHub 5701e86048 [WEB-5868]feat: add AuthenticationThrottle to various authentication endpoints for rate limiting (#5333) 2026-01-07 19:57:36 +05:30
sriramveeraghanta 02f8e1deee fix: copy right check for python files 2026-01-07 18:36:57 +05:30
Dheeraj Kumar KetireddyandGitHub f4294e17e0 fix: resolve circular import in teamspace permissions (#5351)
Remove unused imports that caused circular dependency:
- plane.ee.views.base (BaseAPIView, BaseViewSet)
- rest_framework.request (Request)

These were only used for type hints in has_permission() which
doesn't need them since the signature is defined by DRF's BasePermission.
2026-01-07 18:05:25 +05:30
Dheeraj Kumar KetireddyandGitHub 421e37fd0f fix: Fixed conflicting migrations #5350 2026-01-07 17:29:34 +05:30
NikhilandGitHub fadd8a8bf2 [PRIME-55]: fix enterprise license activation and subscription sync (#5344)
* fix: update user count logic in EnterpriseSubscriptionProrationPreviewEndpoint to use active users instead of workspace license

* fix: set IsActive to true for all members in PopulateDatabaseWithFilePayload function
2026-01-07 16:01:19 +05:30
Anmol Singh BhatiaandGitHub c7efb29175 [WEB-5537]refactor: rename IssueUserProperty to ProjectUserProperty and update related references (#5321) 2026-01-07 16:00:44 +05:30
SangeethaandGitHub f4853d4f30 [WEB-4959]chore: project and project member activity (#5066) 2026-01-07 14:50:43 +05:30
sriram veeraghantaandGitHub 3ac97aef6e feat: webhook stream (#5248)
* chore: initial setup for webhook consumer

* feat: adding outbox poller app

* chore: implement base consumer

* chore: webhook consumer updated with preload information

* fix: bugs in webhook consumer

* fix: update logs

* fix: updated comments

* fix: merge conflicts
2026-01-06 19:04:34 +05:30
sriram veeraghantaandGitHub 91e5a2c3af chore: merge ee external apis to API and Silo folder (#5280)
* chore: merge ee api to api folder

* fix: moved epic serializer

* fix: import fix

* fix: removing folders from external apis

* fix: update serilizers of ee enternal endpoints

* fix: update imports
2026-01-06 19:03:25 +05:30
Bavisetti NarayanandGitHub d48c9c1ca6 [WEB-5667] chore: type casted dashboard widget response keys #5335 2026-01-06 17:44:40 +05:30
5619a961b4 chore: adding copy right text to all python files (#5299)
* chore: adding copy right text to all python files

* Update COPYRIGHT_CHECK.md

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

---------

Co-authored-by: Copilot <[email protected]>
2026-01-06 16:52:29 +05:30
sriram veeraghantaandGitHub 87013a5e28 fix: docker compose root file (#5322)
* fix: docker compose root file

* fix: update docker services
2026-01-05 23:56:46 +05:30
28e1607a5e fix: update local docker compose file (#5317)
* fix: update local docker compose file

* Update .env.example

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

* chore: remove unused vars from env example

---------

Co-authored-by: Copilot <[email protected]>
2026-01-05 18:45:36 +05:30
Jayash TripathyandGitHub cdaa075cd0 [WEB-5827] fix: unsplash image not getting applied (#5319) 2026-01-05 18:28:31 +05:30
NikhilandGitHub 9367f036a7 [WEB-5848] fix: update sign-out logic to handle OIDC and SAML logout based on multi-tenant settings #5315 2026-01-05 17:31:21 +05:30
SangeethaandGitHub ab958132a4 [WEB-5297] fix: incorrect page description on linked pages #4768 2026-01-05 16:07:15 +05:30
Bavisetti NarayanandGitHub 7067b32d23 [WEB-5667] chore: estimate time displayed in analytics (#5231) 2026-01-05 16:04:59 +05:30
NikhilandGitHub 5cf126b3dd [WEB-5842] fix: update avatar handling and enhance SSO error codes #5304 2026-01-02 20:06:16 +05:30
sriram veeraghantaandGitHub b3fea0d523 [WEB-5840] feat: adding new field milestone enabled in templates table (#5302) 2026-01-02 17:30:34 +05:30
Dheeraj Kumar KetireddyandGitHub 1e3df7a73f [WEB-5835] fix: Issue when creating work items from a project template with dropdown properties #5297 2026-01-02 17:30:14 +05:30
NikhilandGitHub 1fe9fce072 [PRIME-54]refactor: update user retrieval in EnterpriseLicenseActivateEndpoint to use User model directly #5298
- Replaced WorkspaceMember with User model for fetching active users.
- Adjusted user annotations to reflect the new model structure.
- Updated the license activation request to use the modified user list.
2026-01-02 17:03:19 +05:30
Dheeraj Kumar KetireddyandGitHub b7ef760df1 [WEB-5836] Change the permission level on workspace invite endpoint to be accessible only to admins (#5292) 2026-01-02 16:23:07 +05:30
e4fb59f2c2 [WEB-5467]: SSO authentication in cloud (#4856)
* feat: add Domain and IdentityProvider models for SSO integration, along with related migrations and constraints

* Merge branch 'preview' of github.com:makeplane/plane-ee into cloud-sso

* feat: enhance domain model with verification status and constraints

- Added verification status field to Domain model with choices for pending, verified, and failed.
- Updated verification_token field to allow longer tokens.
- Introduced unique constraints for verified domains and workspace-domain combinations.
- Implemented domain verification logic with DNS TXT record checks.
- Added methods for domain management, including creation and verification status checks.

* feat: add auto_join_role and is_auto_join_enabled fields to workspacefeature model

* refactor: update domain verification error codes and improve SSO model attributes

- Changed error code and message for domain verification in the Domain model.
- Renamed logout_url to slo_url in the IdentityProvider model for clarity.
- Updated provider checks in the IdentityProvider save method to use constants.
- Simplified string representation in the IdentityProvider model.
- Modified WorkspaceRole to use IntegerChoices for better type safety.
- Adjusted migration to reflect changes in WorkspaceRole choices.

* feat: implement cloud SSO support with OIDC and SAML authentication endpoints

- Added new endpoints for SSO authentication including OIDC and SAML.
- Introduced serializers for domain and identity provider management.
- Enhanced error handling for authentication processes.
- Updated URL routing to accommodate new SSO features.
- Implemented domain verification and management functionalities.
- Added feature flags for cloud SSO capabilities.
- Refactored existing authentication logic to integrate with new SSO providers.

* feat: add identity management and SSO features

- Updated configuration to disable self-managed mode for cloud SSO.
- Introduced new components and pages for identity management, including OIDC and SAML provider setups.
- Added domain management functionalities for SSO.
- Enhanced sidebar with identity settings icon.
- Implemented internationalization support for identity-related texts.
- Created utility functions and services for handling SSO domains and providers.
- Updated routing and feature flags to support new identity features.

---------

Co-authored-by: Prateek Shourya <[email protected]>
Co-authored-by: sriram veeraghanta <[email protected]>
2025-12-31 00:34:48 +05:30
NikhilandGitHub 0fc1e8a0fe Merge branch 'preview' into sync/ce-ee 2025-12-30 17:35:30 +05:30
NikhilandGitHub a37e5e2f6a [WEB-5598] refactor: streamline object creation in workspace seed task and improve error handling in workspace creation #8264 2025-12-30 17:28:33 +05:30
1072509642 migration: added webhook version, navigation related fields and allowed_rate_limit for APIToken (#8339)
* migration: added version field in webhook

* chore: add max_length

* chore: added product tour fields

* chore: updated the migration file

* chore: removed the duplicated migration file

* chore: added allowed_rate_limit for api_tokens

* chore: changed key feature tour to product tour

* chore: added is_subscribed_to_changelog field

---------

Co-authored-by: NarayanBavisetti <[email protected]>
2025-12-30 16:18:58 +05:30
Anmol Singh Bhatia 76513010ca chore: preview sync merge conflict 2025-12-30 14:54:47 +05:30
lifandGitHub 94d5779f3a chore: remove unused get_client_ip import (#8453)
Remove unused import `get_client_ip` from workspace/invite.py.
Identified by ruff linter (F401 error).

Signed-off-by: majiayu000 <[email protected]>
2025-12-29 18:39:54 +05:30
b-saikrishnakanthandGitHub b71d5d30fc [WEB-5790] feat: new email templates (#5214) 2025-12-29 16:40:57 +05:30
b-saikrishnakanthandGitHub 20492ffa75 [WEB-5790] feat: new email templates (#8423) 2025-12-29 16:17:29 +05:30
Henit ChobisaandGitHub 0630e7e152 [SILO-747] feat: csv importer for importing workspace members (#5143) 2025-12-29 15:10:45 +05:30
Prateek ShouryaandGitHub 6cccba18f1 [WEB-5810] feat: add isnull filter for milestone (#5255) 2025-12-29 14:05:18 +05:30
NarayanBavisetti e0bb1de5d3 chore: resolved merge conflict 2025-12-26 20:47:54 +05:30
Bavisetti NarayanandGitHub 3241693d6d [WEB-5815] chore: removed the deleted states (#8457) 2025-12-26 20:28:33 +05:30
Vipin ChaudharyandGitHub 386f0f3c19 [WIKI-811] fix: ensure only non-deleted project pages are retrieved in page queries (#4872) 2025-12-26 16:14:24 +05:30
Vamsi KrishnaandGitHub 397dc2dc26 [WEB-5807]fix: milestone activity log (#5236) 2025-12-26 14:33:27 +05:30
Bavisetti NarayanandGitHub 99451f84bb [WEB-5792] chore: corrected the count for automation run (#5220) 2025-12-26 13:25:11 +05:30
6b39348767 [WEB-5460] feat: add IS_NULL operator support for work items and initiatives (#4825)
* [WEB-5460] feat: add 'is null' filter support for work item and initiative filters.

* improve 'is null' filters to exclude soft-deleted associations in ExtendedIssueFilterSet and InitiativeFilterSet

* Custom properties isnull filter

* improvement: enhance work item filters by excluding is null operator for name property and disabling is not null

* enhancement: add forceUpdate parameter to updateConditionValue method for filter optimization

* refactor: remove TFilterValue from filter configuration types for improved type consistency

---------

Co-authored-by: Dheeraj Kumar Ketireddy <[email protected]>
2025-12-24 20:36:20 +05:30
sriramveeraghanta 4f3e3742ee fix: api docker file to install openldap 2025-12-24 20:13:46 +05:30
sriram veeraghantaandGitHub d50e92552c Sync: Community Changes #5235 2025-12-24 18:04:47 +05:30
guru_sainathandGitHub 1e4838150e [MOB-1364] fix: fixed syntax error in f-string used in issue builder push notification #5237 2025-12-24 18:04:06 +05:30
Prateek Shourya 618ea2540f fix: merge conflict
Merge branch 'preview' of github.com:makeplane/plane-ee into sync/ce-ee
2025-12-24 17:45:33 +05:30
Bavisetti NarayanandGitHub 59f26a80bb [WEB-5667] fix: estimate value display in analytics #8448 2025-12-24 17:34:58 +05:30
SangeethaandGitHub 1a7c537ee5 [WEB-5791] fix: broken favicon in links (#8396)
* fix: using base url of a redirect url

* chore: internal networks check for the final_url

* fix: none final_url

* fix: exception handling

* fix: exception handling

* chore: remove unused imports

* refactor: moved ip address check logic into separate function

* fix: ValueError logic
2025-12-24 17:33:46 +05:30
sriram veeraghantaandGitHub 00b881f0d8 promote: mobile-runway to preview #5072 2025-12-24 17:16:34 +05:30