Commit Graph
13196 Commits
Author SHA1 Message Date
sriramveeraghanta 905df18c2e chore: adding new docs for desktop application implementation 2026-01-12 15:00:43 +05:30
fcc5bdca75 [PAI-995][PAI-988][PAI-994] feat: pages ai block (#4916)
* feat: wiki ai block

* fix: temp changes

* chore: init pages ai backend

* chore: refactor

* chore: add gpt 5 mini and nano

* fix: ai block api integrations

* fix: migration down version

* chore: combine block create and generate api

* chore: prompt updates

* feat: block revisions

* feat: design implementation + refactoring

* fix: build + refactor

* fix: alembic down version

* chore: added feature flag

* chore: feedbacks

* chore: make usage_id optional

* chore: return feedback in block config

* chore: api to get all blocks in page

* fix: cleanup + refactor

* chore: change blocks api path for pages

* fix: cleanup + refactor

* fix: block list fixed

* chore: resolve copilot comments

* fix: blocks api

* fix: feedback

* chore: add redis to req

* chore: add test redis backend

* chore: add redis backedn in docker compose

* chore: revert redis backend

* fix: removed nested ai block

* fix: generate page block

* chore: add gpt 5 mini and nano to chat llms

* chore: change entity_type and entity_id parameters to required types in upsert_llm_model_usage_tracking function

* chore: use gpt 5 nano

* fix: ai block selection

* chore: refactor

* chore: use gpt 4.1

* chore: use 4.1 in revise

* chore: prompt updates

* chore: remove trailing slash for v2 endpoint

* fix: border css + force save + cleaned up block attributes

* fix: drag handles

* fix: added timestamp

* fix: types

* fix: refactor

* fix: refactor

* fix: nomenclature

* fix: refactor

* chore: move dependencies to single file

* chore: add pages prompts to constants dict

* fix: formatting

* fix: removed pnpm lock changes

* fix: dependencies

* chore: add user id check for updating ai blocks

* fix: added feature flag

* chore: add license

---------

Co-authored-by: gakshita <[email protected]>
Co-authored-by: sunder <[email protected]>
2026-01-12 14:53:44 +05:30
Henit ChobisaandGitHub 11ef9fd98b [SILO-801] fix: slack integration priority bugs (#5194)
* fix: field updates not getting propogated when wi is created

* fix: added fetching of users, as fallback

* feat: added add me to assignees button, and fix assignee override

* fix: resolved  error for project linkback

* fix: added slack service for generic content parser

* feat: added method for getting conversation

* fix: cursor and copilot code review

* fix: linter errors

* fix: mock slack service implementation
2026-01-12 14:20:49 +05:30
Saurabh KumarandGitHub 2aa43eb926 [SILO-794] feat: Gitlab/Gitlab Enterprise issue sync (#5288)
* types and service updates

* transform methods

* transform methods and gitlab content parser

* types handlers webhook and workers

* UI and store changes + api fixes

* add translations + redundant log remove

* add issue sync link comment changes

* bug fixes issue sync

* bug fixes attachments and mentions

* add missing translations

* fix format

* fixes for gitlab enterprise issue sync

* fix formatting

* fix entity update breaking + issue comment handler logs

* fix ref bug + invalid await + build

* remove id in transform issue response

* fix state update from plane

* add skip check and translation fix

* fix multi API calls + webhook url await issue
2026-01-12 14:20:16 +05:30
933c3c96fe [VPAT-54] fix: Multiple security vulnerabilities (#5394)
* fix(security): prevent password reuse during password change and reset

Add validation to disallow users from setting their new password to the
same value as their current password. This addresses a security
vulnerability where attackers could potentially reuse compromised
passwords.

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

* fix(security): obfuscate email in URL params and remove from reset password flow

- Encode email as base64 in URL params using 'ctx' parameter to prevent PII exposure
- Remove email from reset password link and form (uidb64/token already identify the user)
- Include uidb64 and token in password validation error redirects so users can retry
- Add encodeEmailForUrl and decodeEmailFromUrl utility functions

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

* fix(security): limit concurrent web sessions to 5 per user

Implement session limiting to restrict users to a maximum of 5 concurrent
web sessions. When the limit is exceeded, the oldest web sessions are
automatically removed. Mobile sessions are excluded from this limit.

- Add session_type field to device_info JSON (web/mobile)
- Add enforce_session_limit utility to manage session count
- Add MAX_CONCURRENT_SESSIONS setting (default: 5, env configurable)

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

* test: add unit tests for session limit and password reuse prevention

Add unit tests for security features introduced in this branch:

Session limit tests (10 tests):
- Verify web sessions limited to MAX_CONCURRENT_SESSIONS (default 5)
- Verify oldest sessions deleted when limit exceeded
- Verify mobile sessions excluded from limit
- Verify current session protected from deletion

Password reuse prevention tests (8 tests):
- Verify PASSWORD_SAME_AS_CURRENT error when reusing password
- Verify password change succeeds with different password
- Verify error code 5142 properly defined

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

---------

Co-authored-by: Claude Opus 4.5 <[email protected]>
2026-01-11 13:27:22 +05:30
sriram veeraghantaandGitHub d997288fc9 fix: update calender constants and move them to packages (#5399)
* fix: update calender constants and move them to packages

* fix: file name
2026-01-11 13:26:35 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
a378ea32b8 chore(deps): bump pypdf in /apps/pi in the pip group across 1 directory (#5397)
Bumps the pip group with 1 update in the /apps/pi directory: [pypdf](https://github.com/py-pdf/pypdf).


Updates `pypdf` from 6.4.0 to 6.6.0
- [Release notes](https://github.com/py-pdf/pypdf/releases)
- [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/py-pdf/pypdf/compare/6.4.0...6.6.0)

---
updated-dependencies:
- dependency-name: pypdf
  dependency-version: 6.6.0
  dependency-type: direct:production
  dependency-group: pip
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-10 14:21:10 +05:30
sriramveeraghanta f13e65f04d sync: master to release pr 2026-01-09 16:11:10 +05:30
sriramveeraghanta 3948be6d2d fix: live consumer listening to events 2026-01-09 15:44:56 +05:30
Akhil Vamshi KonamandGitHub bb1c3f675f [PAI-1169] fix: json stream #5390 2026-01-09 15:06:57 +05:30
sriram veeraghanta 0b8ff916d4 chore(deps): removed react router dom and upgraded react router package 2026-01-09 03:46:05 +05:30
700fc7e083 [WEB-5886] feat: live server consuming events from event stream (#5313)
* feat: initial setup for consuming the events from fanout exchange

* fix: rabbitmq connection validation

* Apply suggestion from @Copilot

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

* fix: rabbitmq retry connection

* fix: adding effect to consumer

* fix: consumer payload

* fix: update amqp changes

* fix: types

---------

Co-authored-by: Copilot <[email protected]>
2026-01-09 03:02:40 +05:30
Prateek ShouryaandGitHub fa27e2bd1f [WEB-5894] improvement: update RequestedAuthnContext toggle field UI for SAML configuration form (#5382)
* [WEB-5894] improvement: update RequestedAuthnContext toggle field UI for SAML configuration form

* fix: format
2026-01-08 23:30:36 +05:30
Prateek ShouryaandGitHub 5a7d430bd8 [VPAT-50] chore(security): add X-Frame-Options header to nginx configuration to prevent clickjacking attacks (#5377)
* [VPAT-50] chore(security): add X-Frame-Options header to nginx configuration to prevent clickjacking attacks

* [SECURITY] chore: enhance nginx configuration with additional security headers
2026-01-08 21:16:57 +05:30
sriramveeraghanta bc80e69f34 chore: update docs with oidc group syncing 2026-01-08 21:05:42 +05:30
sriramveeraghanta 2226c0b5e9 chore: remove posthog deps 2026-01-08 20:47:29 +05:30
sriram veeraghantaandGitHub da53309381 [VPAT-52] fix: adding necessary headers for vercel deployments #5379 2026-01-08 20:34:03 +05:30
Anmol Singh BhatiaandGitHub fb42955f20 [WEB-5824] chore: copy icon btn #5380 2026-01-08 20:31:18 +05:30
Anmol Singh BhatiaandGitHub 66d7b34337 [WEB-5873] fix: user avatar ui consistency #5364 2026-01-08 20:30:52 +05:30
Anmol Singh BhatiaandGitHub a7e3cbf33d [WEB-5884] chore: layout loader enhancements #5363 2026-01-08 20:29:27 +05:30
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
Anmol Singh BhatiaandGitHub 8856e310e8 [WEB-5863] fix: estimate point input validation #5328 2026-01-08 18:36:30 +05:30
Prateek ShouryaandGitHub 50ffe97bf9 [WEB-5880] fix: ensure teamspace lead is added as member during creation (#5374) 2026-01-08 18:32:14 +05:30
Anmol Singh BhatiaandGitHub 75388d9761 [WEB-5824] chore: project overview action btn #5365 2026-01-08 18:27:43 +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
d43f076d73 [INFRA-293] Add marketplace endpoint for Apps in Silo (#5358)
* feat: add marketplace reverse proxy handling in Caddyfiles

* feat: add reverse proxy for marketplace in Caddyfile

* chore: update Dockerfile to include ca-certificates and openssl packages

* chore: remove unnecessary packages from Dockerfile

* Update apps/proxy/Caddyfile.aio.ee

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

---------

Co-authored-by: Copilot <[email protected]>
2026-01-08 16:47:12 +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 55fedd6af5 [PRIME-55]: fix: simplify response structure in GetEnterpriseLicenseProrationPreview function #5346 2026-01-08 15:04:16 +05:30
Vipin ChaudharyandGitHub 78c3a57786 [WEB-5876] fix: fetch members on issues layout (#5359) 2026-01-08 14:01:40 +05:30
Jayash TripathyandGitHub 45b14466e0 [WEB-5877] fix: tabs not overflowing properly in multiple places #5357 2026-01-08 13:01:11 +05:30
sriramveeraghanta 1198c1dc18 fix: update copyright markdown file 2026-01-07 21:11:21 +05:30
Prateek ShouryaandGitHub 76f8aa4b4a [WEB-5875] chore: update OIDC and SAML form labels for consistency (#5349) 2026-01-07 20:56:50 +05:30
Prateek ShouryaandGitHub a1cd80c927 [WEB-5872] fix: sub work item preview overflow while using template in work item modal (#5343) 2026-01-07 20:35:17 +05:30
sriram veeraghantaandGitHub 84d79f9ea9 chore: update copyright ts (#5356)
* chore: update live server files with copyright

* chore: update copyright comments for silo server

* chore: update copyright for all packages

* fix: format
2026-01-07 20:25:44 +05:30
sriram veeraghantaandGitHub 0bc50c18db chore: update copyright ts and tsx files (#5355)
* chore: adding copyright to all files in web app

* chore: update copyright in admin app

* chore: copyright comments updated on space app

* fix: formatting in files
2026-01-07 20:00:10 +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
Akhil Vamshi KonamandGitHub 21e6547980 fix: pi dependency (#5353) 2026-01-07 19:18:24 +05:30
sriramveeraghanta 02f8e1deee fix: copy right check for python files 2026-01-07 18:36:57 +05:30
pratapalakshmiandGitHub 4400ffd384 chore: add licence check workflow for Python files (#5334)
* chore: add licence check workflow for Python files

* chore: update licence check workflow to set up Go environment and adjust path

* chore: enhance licence check workflow with error handling and logging

* chore: add proprietary notice to filter migrations utility

* modify github action name
2026-01-07 18:35:47 +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
Anmol Singh BhatiaandGitHub 352924bfa1 [WEB-5873] fix: user avatar ui consistency #5345 2026-01-07 16:09:26 +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
pratapalakshmiandGitHub d6cd321a21 [PAI-953] feat: Add mobile API endpoints for chat, attachments, responses, and transcriptions (#4977) 2026-01-07 15:39:29 +05:30
pratapalakshmiandGitHub e06c92e8d6 [PAI-1092] chore: add token caching for claude models (#5243) 2026-01-07 15:13:24 +05:30
Akhil Vamshi KonamandGitHub ca98377e1f [PAI-571] chore: store user ids in db (#5261) 2026-01-07 15:11:32 +05:30
Akhil Vamshi KonamandGitHub cfafded9a9 [PAI-1143] chore: add stream answer endpoint in mobile (#5312) 2026-01-07 15:11:13 +05:30