Commit Graph

99 Commits

Author SHA1 Message Date
Henit Chobisa
dde2651d8a fix: construct s3 url from region if not given (#3419) 2025-06-16 18:59:37 +05:30
Saurabh Kumar
952c31d9c6 [SILO-214] Plane Clickup Importer v1 (#3381)
* add types for clickup entities

* add api service for clickup

* add pull and transform methods

* clickup folder

* add migrator and bulk transformer for clickup

* add clickup apk service for store

* add clickup data store

* add UI components and page clickup importer

* add UI components and page clickup importer

* fix bugs related to clickup import labels attachment issue type

* fix duplicate comments

* resolve plane client conflict

* content parser for description

* add relation map update for import job

* fix issues regarding custom field types options and values

* add translations + feature flag for clickup

* fix missing integration type export

* fix relation mapping across projects

* fix false comment actors in data import task

* fix cancel import job translation

* fix cancel import job translation

* fix rate limit issues for clickup import

* push unique work items to transform job

* handle username null in members

* increase refetch timing for jobs

* add rate limit fixes for pull in import job

* remove protect in pull job as not required now

* clickup additional data migrator for comments and attachments

* clickup additional migrator setup

* comment clickup importer

* fix status mapping for custom status in list n folders

* fix issues with clickup additional data migrator

* add changes to etl pull method clickup

* increase the rate limit for oauth tokens

* add pulling percent logs

* add batching to pull in clickup additional migrator

* add mq changes for error handling from preview

* Add migration for completed batch count + fix issues with progress of clickup additional migrator

* add support for external id and source in project and state external apis

* creation of project and state before transform if missing

* UI changes to support only space selection and start all folder import job

* Bug fixes for enhanced ClickUp importer with multi folder import; Translations; UI changes to support enhanced clickup importer

* migration to support enhanced clickup changes

* add emoji for project + no priority fix

* add logs to debug job stuck issue

* batch api calls to apiserver

* Fix edge-case in data import task to handle empty batches, preventing jobs from getting stuck in "TRANSFORMING" state.

* add retry logic for job finished in race condn and last batch failure

* feat: Update API routes with count increment endpoint, refactor import report logic, and enhance logging for job processing

* refactor: Improve logging in data import task and adjust batch completion logic for better handling of empty lists + UI fixes

* refactor: Enhance logging in data import task and streamline batch completion handling for empty issue lists

* refactor: remove batch locks

* refactor: enhance error handling in data migration

* chore: remove storing of members in config, skip sending relation map in get jobs

* refactor: logs and labels transform

* fix no page batch completion + feature flag clickup

* fix duplicate state mapping and transforming stuck

* reduce batching in state creation

* fix: remove multer package and resolved build errors

---------

Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
2025-06-16 15:45:13 +05:30
Henit Chobisa
8b878da003 [SILO-270] feat: Notion Importer Phase 1 Implementation (#3392)
* [SILO-249] feat: notion importer phase 1 with zip manager and worker traversal  (#3153)

* feat: added notion zip manager code

* feat: added endpoint for bulk create pages

* feat: added page service in sdk

* fix: temporary runner

* feat: added notion zip file node types

* feat: added file extractor and file tree creator methods

* feat: added zip file manager class for interacting with extractors

* feat: added key manager types

* feat: added notion data migrator class for processing nodes

* feat: added method to set map in the store

* feat: added initialization of s3 in worker base

* feat: registered notion worker in the manager

* feat: added env variables for s3

* fix: remove unused services

* fix: removed unnecessary package

* fix: moved options into types

* fix: cleanup and jsdoc comments

* fix: renamed types and enums for consistency

* fix: replaced console.log with logger

* fix: added ttl to caches

* fix: moved zip manager to be reusable

* feat: added distributed counter for keeping count of leaf nodes

* fix: broken down the notion importer into multiple phases

* fix arrow function for key

Co-authored-by: Surya Prashanth <prashantsurya002@gmail.com>

* fix: eslint issues

* fix: unused variables and expression call

* fix: resolved eslint warnings

---------

Co-authored-by: Surya Prashanth <prashantsurya002@gmail.com>

* fix: build fix

* [SILO-254] feat: notion importer phase two implementation (#3169)

* feat: created endpoint for bulk operation on pages

* feat: added phase two implementation of notion migrator

* feat: added expected and ignored files list

* feat: added method for getting a specific map field

* fix: duplicate import

* feat: added page api endpoint

* feat: restructured and exported parser from core

* feat: added notion content parser extensions

* feat: added content parser initialization

* feat: added cleanup function in base migrator

* feat: refactored phases to include content parsing and cleanups

* chore: added content parser config

* feat: added cleanup function in zip manager to remove toc

* feat: added bluebird as dependency

* chore: remove test file

* fix: formatted code

* fix: decoupled content parser from `etl/core` to avoid circular dependency (#3204)

* fix: decoupled parser from etl/core and moved to etl/parser

* fix: modified linear importer for using parser from etl/parser

* fix: updated notion importer content parser imports

* [SILO-265] feat: Notion Importer UI and controller for generating presigned URL (#3237)

* feat: added notion controller for handling credentials save and uploads

* feat: added new keys and cached job and credential data

* feat: added notion controller and s3 init script

* feat: added UI changes for notion importer

* feat: added translation file and feature flags

* feat: added model changes to job and modified endpoint for pages

* feat: added start time to job

* fix: silo build failing

* feat: added notion importer UI component for uploading

* feat: added new extension for processing bookmark links

* fix: coderabbit suggestions

* fix: build fixes

* fix: condition

* fix: added page bulk endpoint under hmac and apiclient

* fix: root page when there is only one directory

* fix: added root directory path and error handling

* fix: add html page for each directory if not present

* feat: added feature flags for notion importer

* feat: added translations for all languagaes

* feat: added translations

* fixed: translations for russian

* [SILO-302] feat: migrated notion zip upload endpoints to apiserver (#3327)

* feat: added endpoint for silo uploads for notion importer

* feat: refactored controller to add start import route

* fix: removed policy for ttl in s3

* feat: modified frontend for using new endpoints from apiserver for uploads

* chore: added permission to silo asset endpoint

* feat: added notion importer feature flag to asset endpoint

* fix: used existing assets v2 for updating the asset upload

* fix: removed unused endpoints from silo asset view

* fix: moved notion importer into new settings page

---------

Co-authored-by: Surya Prashanth <prashantsurya002@gmail.com>
2025-06-16 15:27:45 +05:30
Akshita Goyal
f32d6c780d [WEB-4293] fix: redirections for connections page #3370 2025-06-10 16:15:20 +05:30
Henit Chobisa
0be82ffb1e [SILO-245] Fix slack issues with links and labels (#3238)
* fix: resolved link asterisk issue

* fix: labels not popping up for create form
2025-05-30 20:42:01 +05:30
Surya Prashanth
f6fb7b6a63 [SILO-273] fix: remove nack signals for mq consumers (#3246)
- No need to nack for messages as retry is not implemented.
- Ack for all messages, this should remove dual ack errors
2025-05-28 01:40:23 +05:30
Surya Prashanth
ceda89a0ad [SILO-272] fix: handle duplicate issue references in github (#3258) 2025-05-26 15:17:13 +05:30
sriram veeraghanta
2b373a47fe fix: downgraded the express types package to resolve build errors 2025-05-23 14:12:18 +05:30
sriram veeraghanta
2d7f1d3770 fix: silo build errors 2025-05-22 18:01:48 +05:30
sriram veeraghanta
89813c9f0a chore: remove multer package from silo 2025-05-22 15:45:51 +05:30
Surya Prashanth
b4ee9fb2d5 [SILO-149] feat: re-design issue<->pr automation (#2992)
- extract all plane issues from PR title and description
- for PR automation, only consider issues wrapped in '[]'
2025-05-19 15:33:39 +05:30
Saurabh Kumar
928740ff80 [SILO-264] fix: delete token cache breaking for old github flow #3207 2025-05-19 14:59:07 +05:30
Henit Chobisa
6eae2ab867 [SILO-259] fix: slack estimate points and sort order issue (#3208)
* fix: slack estimate points and sort order issue

* fix: excluded archive and increased limit in slack channel fetch
2025-05-19 14:58:20 +05:30
Surya Prashanth
e0176a4773 [HAG-1] feat: implement a generic oauth module in Silo for all callbacks (#3165)
* feat: implement a generic oauth module for all callbacks

- Strategy based pattern to implement OAuth callbacks for any
third party integration
- Implement strategy for Plane's internal OAuth
- Add endpoint for fetching app installations

* add missing fields for integration helper in github controller

* pass client id, secret to strategy during init

* revert conflict changes

* use getPlaneAPIClient for consistency
2025-05-13 16:22:23 +05:30
Henit Chobisa
fec3057230 [SILO-260] fix: truncate options only to 75 characters slack integration link item (#3178)
* fix: truncate options only to 75 characters

* fix: review comment
2025-05-13 16:20:46 +05:30
Henit Chobisa
e7f3e46ff8 [SILO-186] feat: Added support for importing documents in linear importer (#3154)
* [SILO-142] Setup base for linear docs importer (#2934)

* feat: added page external api endpoint for creating and getting pages

* feat: added pages inside migration task

* feat: added pull documents and transform document functions inside linear

* feat: added pages inside generated payload pushed to queue

* feat: added separate job as linear_docs migrator

* fix: formatting

* fix: data_import_task broken to separate functions

* fix: separated github content-parser with linear content-parser

* fix: remove not existing page logic in process page

* fix: data import task to bulk create pages

* [SILO-145] feat: adding extendable content-parser for silo, supporting linear docs importer 🤠 (#2966)

* feat: added pages inside migration task

* feat: added pull documents and transform document functions inside linear

* feat: added pages inside generated payload pushed to queue

* feat: added separate job as linear_docs migrator

* fix: formatting

* fix: data_import_task broken to separate functions

* fix: separated github content-parser with linear content-parser

* feat: added content parser runner class and external parser extensions

* feat: added plane extension for plane side of parsing

* feat: added base-file-extension helper

* feat: added linear specific extensions and parser getter

* feat: modified linear transform and api service

* fix: modified base et for handling content-parsers opts

* fix: removed extra functions from image proxy extension

* fix: renamed to file-upload-helper

* fix: comments for processorts

* fix: moved get issue function inside mention parser

* fix: logic optimization

* feat: added modules extension in content-parser

* fix: mentions parser to work with fallback options

* fix: update user map type for linear

* [SILO-154] Added Linear Docs as summary element and optimized summary endpoint (#3010)

* feat: modified issue count endpoint to data summary endpoint

* feat: modified store and UI to display summary fields

* chore: resolved comments

* [SILO-153] feat: dispatch finished & linear docs step bound with existing with linear issue import step (#3009)

* feat: modified import task and controller to add a dispatch job

* feat: modified base importer worker in order to accomodate finished step

* feat: modified linear importer in order to handle custom completion step for job

* chore: resolved comments
2025-05-12 19:32:59 +05:30
Saurabh Kumar
6587284555 [SILO-134] Implement new OAuth flow for GitHub integration (#3135)
* [SILO-134] RUNWAY Implement new OAuth flow for Github integration (#3089)

* oauth helper service + db helpers + modify plane sdk to accomodate oauth token

* fix indentation + create util for remove undefined in object

* add fields to workspace credential for oauth adapt

* get oauth token helper method

* auth callback flow changes to add plane oauth flow for github integration

* integrate github user and auth callback with oauth

* add user callback support with oauth for github integration

* remove token from cache on app disconnection

* Get Connection Details refactor change

* remove unwanted logs

* add missing translations

* replace plane app client id and secret fetching from env to db

* fix app get from db

* refactoring and comments resolved

* rename installation_id to plane_installation_id

* use db query methods and complete the app secret fetch flow

* remove unwanted logs and send missing values in update creds method

* move plane app db call just before oauth token call + models export in init

* Fix ssl reject error for pg

* add NODE_ENV option for ssl db config + management command to reset app_secrets + iteration fix

* fix oauth rate limit cache key breaking

* Fix redirect uri issue

* Fix pull request behaviour

* remove NODE_ENV check in DB connection
2025-05-09 18:44:35 +05:30
Henit Chobisa
43686ce0a7 [SILO-243] If user connection is unavailable when syncing comments, add User's name in the message text (#3157)
* feat: added external api to get a specific user

* feat: added user information in front of comment if not present

* chore: reverted changes for apis

* fix: user actor from webhook for getting name

* fix: remove unused import

* fix: added null check

* fix: change variable name
2025-05-09 17:57:45 +05:30
Henit Chobisa
361d1e6027 [SILO-220] fix: slack linkback bug with posting ephemeral messages (#3111)
* fix: ephemeral messages sent on linkback action

* fix: connect account resending message

* fix: added optional chaining
2025-05-07 19:12:01 +05:30
Henit Chobisa
5675c1a0b6 [SILO-221] fix: credentials not found for installation id #3114 2025-05-07 19:11:37 +05:30
Henit Chobisa
a651a7263c [SILO-228] fix: receiving false create events in project updates (#3123)
* fix: recieving false create events in project updates

* fix: remove type casting for comparision

* fix: handle reactions in updates in slack link
2025-05-07 19:11:12 +05:30
Henit Chobisa
6dc54ad1b9 [SILO-228] fix: passed github webhook if the secret is not present #3140 2025-05-07 13:38:32 +05:30
Henit Chobisa
af9705aaea [SILO-215] feat: slack project updates, push plane issue creation updates to dedicated slack channels (#3106)
* [SILO-189] feat: added UI for connecting slack channels to plane projects (#3080)

* feat: added endpoint for fetching project updates connections

* feat: added service function for getting projects updates connection

* chore: added translations for slack project updates page

* feat: added type for response from slack conversation

* feat: added controller methods for getting project connections and channels

* feat: added service methods and project connections manager into store

* feat: added form component for project updates modal

* feat: added main list component for project updates and connected to root

* fix: error translation

* feat: added handler to address project updates

* chore: resolved comments

* feat: backend changes for slack project updates (#3105)

* fix: translations for project updates (#3107)

* feat: added types to optimize channel endpoint (#3108)
2025-05-02 15:08:02 +05:30
Henit Chobisa
1efa565b58 [SILO-201] fix: created proper type for issue link entity data #3104 2025-05-02 14:16:22 +05:30
Saurabh Kumar
71dc365ef3 [SILO-172] API changes to support app creation flow for OAuth (#3053)
* add silo app + aes encryption method + applications create flow changes

* use python logger and format files

* use python logger and format files

* fix comments and handled regenerate secret

* fix app slug issue

* fix app slug and redirect issue
2025-05-01 19:23:23 +05:30
sriram veeraghanta
17c38c3e30 fix: merge conflicts 2025-05-01 19:14:26 +05:30
Henit Chobisa
1a2f9d6fd9 [SILO-199] fix: user comment sync from plane and token refresh (#3097)
* fix: modified connection details for addressing user credentials

* fix: modified refresh credentials handler to upsert user credentials

* fix: modified types for both user responses

* fix: refactored comment handler to user issue details function

* chore: resolved comments

* chore: added logs

* fix: segregated type for token refresh

* fix: added null for issue details helper
2025-05-01 18:33:37 +05:30
Henit Chobisa
44ca3f02bc feat: webhook activity payload reverted (#3094)
* chore: revert webhook activity task

* fix: channel id
2025-04-30 22:33:17 +05:30
Henit Chobisa
1844581db9 [SILO-193] fix: message notification for connect account #3091 2025-04-30 20:37:53 +05:30
Henit Chobisa
d82a562e97 [SILO-192] fix: slack shortcut key (#3087)
* fix: slack shortcut key

* fix: passing user id to connection details
2025-04-30 17:26:06 +05:30
Saurabh Kumar
e5bb0537d4 [SILO-173] Plane DB read support and connection (#3035)
* add DB connection client and query helper

* code refactor + removed unwanted files

* removed unwanted dependencies
2025-04-30 15:51:47 +05:30
sriram veeraghanta
67995d56e3 fix: build errors 2025-04-30 15:14:02 +05:30
Henit Chobisa
a710938d3f [SILO-180] feat: added connect button for unauthenticated slack users while performing an action (#3057)
* feat: added new blocks interface to ephemeral message posting

* feat: modified connection details helper in order to user credentials

* feat: modified controller to include userMap array

* feat: added account connection blocks

* feat: added missing credentials check and posting a message for connection

* feat: modified slack connection store for passing apiToken for state

* fix: resolved comments

* feat: added blocker for link work item command
2025-04-30 15:00:24 +05:30
Saurabh Kumar
6f718e2859 [SILO-183] Fix state mapping for PR Automation Github & Gitlab (#3084)
* change pr behaviour method to use entityconnections for right state mapping

* renames and sanitize + modify test for PR automation state update

* remove console logs

---------

Co-authored-by: Surya Prashanth <prashantsurya002@gmail.com>
2025-04-30 14:57:56 +05:30
Henit Chobisa
7fae98a2f0 [SILO-178] feat: slack issue linking with threads with Plane updates synced with slack threads 2025-04-29 16:19:43 +05:30
Surya Prashanth
599daadb19 [SILO-181] fix: use correct credentials for github issue sync (#3068)
- Instead of picking the first user level credential, used comment.created_by
field to get user level credentials for comment sync
2025-04-29 14:32:17 +05:30
Surya Prashanth
6d633e6529 [SILO-127] feat: silo | helpers for Plane OAuth in integration (#3024)
* oauth helper service

* oauth helper service + db helpers + modify plane sdk to accomodate oauth token

* fix indentation + create util for remove undefined in object

* remove await in helper methods

* workspace credential helper methods

* remove workspace_id from get workspace entity connection helper

* Get Connection Details refactor change

* fix indentation

* fix extra lines in end of file

* refactored to move integration related types in their specific files

* add application id copy button

---------

Co-authored-by: Saurabhkmr98 <saurabhkapur73@gmail.com>
Co-authored-by: Saurabh Kumar <70131915+Saurabhkmr98@users.noreply.github.com>
2025-04-23 17:27:08 +05:30
Henit Chobisa
04821ee3c4 [SILO-156] fix: error handler for silo mq #2999 2025-04-18 19:39:53 +05:30
Henit Chobisa
a5a1e5949c [SILO-136] fix: made redis instance singleton for being used multiple places (#2885)
* fix: made redis instance singleton for being used multiple places

* fix: remove disconnection on shutdown

* fix: consumers throw error in start

* fix: remove extra methods and connection status

* fix: remove graceful shutdown
2025-04-11 18:59:30 +05:30
Henit Chobisa
0c6d4610bf [SILO-137] fix: refactored pull-request handler into common behaviour (#2802)
* fix: refactored pull-request handler into common behaviour

* fix: refactored gitlab integration to use common pr behaviour

* chore: added test to support the pull request behaviour

* chore: transformed to composition from inheritance

* fix: PR comments

* fix: extended type annotations and behaviour
2025-04-11 18:58:52 +05:30
Surya Prashanth
13ccb63847 chore: use winston logger with all logs for tracing (#2877) 2025-04-04 20:10:22 +05:30
Surya Prashanth
4b0d309123 chore: add json based logging in silo (#2863) 2025-04-03 03:11:45 +05:30
sriram veeraghanta
6ea8786358 fix: silo logger 2025-04-01 21:11:46 +05:30
Surya Prashanth
a9eafb17ee chore: use logger middleware directly in silo server (#2853) 2025-04-01 17:20:59 +05:30
Henit Chobisa
9f20900efa fix: jira parent relation not getting imported and csv importer deactivate button (#2830)
* fix: parent key with jira transform

* fix: remove deactivate button from csv importer

* fix: removed write file
2025-03-27 20:03:01 +05:30
sriram veeraghanta
2fe2a266d1 fix: remove sentry from enterprise files 2025-03-25 16:24:30 +05:30
Henit Chobisa
e0214887aa fix: added github webhook secret validation (#2786)
* fix: added github webhook secret validation

* fix: parser for avoiding duplicates at any point
2025-03-24 16:30:32 +05:30
Henit Chobisa
b4790e7779 [SILO] fix: resolved regressive issues from sentry (#2776)
* fix: slack could not add bot to channel

https://plane-hq.sentry.io/issues/6299200210/?environment=development&project=4508354507112448&query=issue.priority%3A%5Bhigh%2C%20medium%5D&referrer=issue-stream&stream_index=3

* fix: payload log and toString issue

https://plane-hq.sentry.io/issues/6432045067/?environment=development&project=4508354507112448&query=issue.priority%3A%5Bhigh%2C%20medium%5D&referrer=issue-stream&stream_index=4

* fix: permission on update issue

https://plane-hq.sentry.io/issues/6432177486/?environment=development&project=4508354507112448&query=issue.priority%3A%5Bhigh%2C%20medium%5D&referrer=issue-stream&stream_index=0

* fix: silent error for workspace connection not found

https://plane-hq.sentry.io/issues/6432047320/?environment=development&project=4508354507112448&query=issue.priority%3A%5Bhigh%2C%20medium%5D&referrer=issue-stream&stream_index=1

* fix: reference parser duplicates across referencing and non referencing words

* fix: UI crashing when provider is null

* fix: slack connection inside controller

* chore: added test for parser

* fix: not returning logger
2025-03-21 16:04:06 +05:30
Henit Chobisa
e902b8f66f Silo: Sentry Fixes (#2757) 2025-03-20 12:51:38 +05:30
Henit Chobisa
eec4f71fb8 fix: github credential inconsistency in case of installation not found (#2754) 2025-03-18 14:22:26 +05:30