## Description
Currently, we try to upload large files by converting their binaries
into strings which leads to bloat in size. This is because converting to
bytes in a multi-byte encoding usually takes a larger space and white
characters are also included. We were also doing multiple modifications
which were just adding to the bloat.
Hence, we are now converting the binary data into an array buffer to
prevent this. This buffer is added to the multi-part form data request
as a new part and we add a pointer in the pace of the data which used to
be present earlier. This allows us to have minimal bloat on the payload
while sending the request.
TLDR: fix for uploading large files by changing the data type used for
upload.
*TODO:*
- [x] Client side payload changes
- [x] Server side double escape logic fixes
- [x] Server side tests
- [x] Server side refactor
- [ ] Cypress tests
Fixes#20642
Media
## Type of change
- New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
- Manual
### Test Plan
> Add Testsmith test cases links that relate to this PR
### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
---------
Co-authored-by: Nidhi Nair <nidhi@appsmith.com>
This PR introduces client side error handling. Certain errors cannot be
handled by the server for example, 413 errors (Content Too Large), this
is because they get rejected by NGINX before it reaches the server code.
Hence why they have to be handled on the client side.
Fixes#20641
## Type of change
- Bug fix (non-breaking change which fixes an issue)
- Manual
## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
---------
Co-authored-by: ChandanBalajiBP <104058110+ChandanBalajiBP@users.noreply.github.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
## Description
This PR upgrades Prettier to v2 + enforces TypeScript’s [`import
type`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html#type-only-imports-and-export)
syntax where applicable. It’s submitted as a separate PR so we can merge
it easily.
As a part of this PR, we reformat the codebase heavily:
- add `import type` everywhere where it’s required, and
- re-format the code to account for Prettier 2’s breaking changes:
https://prettier.io/blog/2020/03/21/2.0.0.html#breaking-changes
This PR is submitted against `release` to make sure all new code by team
members will adhere to new formatting standards, and we’ll have fewer
conflicts when merging `bundle-optimizations` into `release`. (I’ll
merge `release` back into `bundle-optimizations` once this PR is
merged.)
### Why is this needed?
This PR is needed because, for the Lodash optimization from
7cbb12af88,
we need to use `import type`. Otherwise, `babel-plugin-lodash` complains
that `LoDashStatic` is not a lodash function.
However, just using `import type` in the current codebase will give you
this:
<img width="962" alt="Screenshot 2023-03-08 at 17 45 59"
src="https://user-images.githubusercontent.com/2953267/223775744-407afa0c-e8b9-44a1-90f9-b879348da57f.png">
That’s because Prettier 1 can’t parse `import type` at all. To parse it,
we need to upgrade to Prettier 2.
### Why enforce `import type`?
Apart from just enabling `import type` support, this PR enforces
specifying `import type` everywhere it’s needed. (Developers will get
immediate TypeScript and ESLint errors when they forget to do so.)
I’m doing this because I believe `import type` improves DX and makes
refactorings easier.
Let’s say you had a few imports like below. Can you tell which of these
imports will increase the bundle size? (Tip: it’s not all of them!)
```ts
// app/client/src/workers/Linting/utils.ts
import { Position } from "codemirror";
import { LintError as JSHintError, LintOptions } from "jshint";
import { get, isEmpty, isNumber, keys, last, set } from "lodash";
```
It’s pretty hard, right?
What about now?
```ts
// app/client/src/workers/Linting/utils.ts
import type { Position } from "codemirror";
import type { LintError as JSHintError, LintOptions } from "jshint";
import { get, isEmpty, isNumber, keys, last, set } from "lodash";
```
Now, it’s clear that only `lodash` will be bundled.
This helps developers to see which imports are problematic, but it
_also_ helps with refactorings. Now, if you want to see where
`codemirror` is bundled, you can just grep for `import \{.*\} from
"codemirror"` – and you won’t get any type-only imports.
This also helps (some) bundlers. Upon transpiling, TypeScript erases
type-only imports completely. In some environment (not ours), this makes
the bundle smaller, as the bundler doesn’t need to bundle type-only
imports anymore.
## Type of change
- Chore (housekeeping or task changes that don't impact user perception)
## How Has This Been Tested?
This was tested to not break the build.
### Test Plan
> Add Testsmith test cases links that relate to this PR
### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
---------
Co-authored-by: Satish Gandham <hello@satishgandham.com>
Co-authored-by: Satish Gandham <satish.iitg@gmail.com>
## Description
This PR updates the error logs
- Establishing a consistent format for all error messages.
- Revising error titles and details for improved understanding.
- Compiling internal documentation of all error categories,
subcategories, and error descriptions.
Updated Error Interface:
https://www.notion.so/appsmith/Error-Interface-for-Plugin-Execution-Error-7b3f5323ba4c40bfad281ae717ccf79b
PRD:
https://www.notion.so/appsmith/PRD-Error-Handling-Framework-4ac9747057fd4105a9d52cb8b42f4452?pvs=4#008e9c79ff3c484abf0250a5416cf052
>TL;DR
Fixes #
Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video
## Type of change
- New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
- Manual
- Jest
- Cypress
### Test Plan
### Issues raised during DP testing
## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [x] PR is being merged under a feature flag
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
---------
Co-authored-by: subrata <subrata@appsmith.com>
* fix:Add array datatype to execute request
* feat: Consume and store type of array elements in Param class (#16994)
* Append param instead of clientDataType in varargs (#16994)
* Refactor common data type handling w.r.t newer structure (#16994)
This commit takes care of the following items:
- It minimizes the number of usage to the older stringToKnownDataTypeConverter method
- Modifies the existing test cases to conform to the newer structure
- Marks stringToKnownDataTypeConverter method as deprecated to discourage further use
* Remove comma delimited numbers from valid test cases (#16994)
* Fix extracting clientDataType from varargs in MySQL (#16994)
* Pass param as a dedicated parameter in json smart replacement (#16994)
* Remove varargs from json smart replacement method (#16994)
* Move BsonType to mongoplugin module (#16994)
* Introduce NullArrayType and refactor BsonType test cases (#16994)
* Add new test cases on numeric string with leading zero (#16994)
* Refactor test case name (#16994)
* Add comment on the ordering of Json and Bson types (#16994)
* Add comment on the ordering of Json and Bson types (#16994)
* Add NullArrayType in Postgres and introduce postgres-specific types (#16994)
* Add data type test cases for Postgres and change as per review comments (#16994)
Co-authored-by: ChandanBalajiBP <chandan@appsmith.com>
* POC: Datatype handling autogenerated naming params client
* added array and file datatype
* handles all primitive types
* paramproperties convetred to map instead of array
* parametermap inversion
* handled no bindings bug
* feat: Consume action execution payload changes w.r.t. data type mapping (#15555)
This commit does the following things
1. It consumes data type metadata from payload
2. It consumes the mapping between the pseudo binding name and original binding name
3. It doesn't apply any logic w.r.t. data type identification after consumption
* added comments and cleaned code with proper datatypes
* removed URLencoding for binding params names
* feat: Remove URL decoding on param keys from server-side codebase (#15555)
* Remove unused import (#15555)
Co-authored-by: ChandanBalajiBP <chandan@appsmith.com>
* Snaps response view to certain height and adds abort query execution feature
* make raw string a constant
* Add cypress tests
* Remove theme variable
* move raw strings to constants in messages.ts file
* Fix test case description
* Comment out query abort action execution
* cy fix
* Fix abortion of parallel action execution like onPageLoad
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* added config to support code split
* splitting config
* moved the window declaration in EE file as its dependency will be updated in EE
* CE: Splitting ApiConstants and SocialLogin constants
* CE: split login page
* CE: moved getSocialLoginButtonProps func to EE file as it's dependencies will be updated in EE
* added key icon
* CE: created a factory class to share social auths list
* Minor style fix for social btns
* Updated the third party auth styles
* updated jest config
* updated third party login registry class
* Changes to add js plugin
* routes+reducer+create template
* added debugger to js editor page
* entity explorer changes
* create js function
* added copy, move and delete action
* added js plugin
* added existing js functions to data tree
* removed actionconfig for js collection
* new js function added to data tree and entity as well
* parsing flow added
* changes to data tree
* parse and update js functions
* small changes for def creator for js action
* create delete modified
* small changes for update
* update flow change
* entity properties added
* removed linting errors
* small changes in entity explorer
* changes for update
* move, copy implementation
* conflict resolved
* changes for dependecy map creation
* Only make the variables the binding paths
* Basic eval sync working
* Minor fixes
* removed unwanted code
* entity props and autocomplete
* saving in progress show
* redirection fix after delete js action
* removed unnecessary line
* Fixing merge conflict
* added sample body
* removed dummy data and added plugin Type
* few PR comments fixed
* automplete fix
* few more PR comments fix
* PR commnets fix
* move and copy api change
* js colleciton name refactor & 'move to page' changes & search
* view changes
* autocomplete added for js collections
* removing till async is implemented
* small changes
* separate js pane response view
* Executing functions
* js collection to js objects
* entity explorer issue and resolve action on page switch
* removed unused line
* small color fix
* js file icon added
* added js action to property pane
* Property pane changes for actions
* property pane changes for js functions
* showing syntax error for now
* actions sorted in response tab
* added js objects to slash and recent entitties
* enabling this to be used inside of function
* eval fix
* feature flag changes for entity explorer and property pane
* debugger changes
* copy bug fix
* small changes for eval
* debugger bug fix
* chnaged any to specific types
* error in console fix
* icons update
* fixed test case
* test case fix
* non empty check for functions
* evaluate test case fix
* added new icons
* text change
* updated time for debounce for trial
* after release mereg
* changed icon
* after merge
* PR comments simple
* fixed PR comments - redux form, settings remove
* js object interface changes
* name refactor
* export default change
* delete resolve actions chnage
* after merge
* adding execute fn as 3rd option and removed create new js function
* issue 7054 fixed - app crash
* execute function on response tab changes
* refactor function name part 1
* refactor of js function name
* try catch added refactor
* test fix
* not used line removed
* test cases locator fixed
Co-authored-by: Nidhi <nidhi.nair93@gmail.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
* added sniping mode toggle option to header
* added cover to components on hover in sniping mode
* fixed the transition time
* using filled icon
* Show dependencies in action pane
* Added a wrapper to make a widget snipeable
* removed older parts of sniping from Positioned Container
* removed onclick action from snipeable wrapper
* Showing widget name in different color
* Added a mechanism to send user to sniping mode from successful API screen
* created new property pane saga to bind the data
* Fix datasource list width issue
* Fix sidebar going out of view when the response is a table
* Minor refactor
* Show add widgets section on the sidebar
* Stop showing autocomplete option after adding a widget
* fetching pageId, appId from store
* Get suggested widget from response
* Fix table data not getting evaluated after adding binding
* Fix property pane going below the entity explorer while navigating from query/api pane
* Fix width of sidepane shifting for apis
* Fix vertical margins of connections
* Fix api pane suggested widget showing up for errors
* Fix margins
* can show select in canvas btn in sidebar
* can get the action object at the end to bind the data
* updated saga and action names
* can bind data to table
* Use themes
* Use new image url for Table widget
* Added conditional mapping for sniping mode binding.
* updated the widget name tags and seq of calls to open property pane
* pushed all sniping mode decoration to header
* moved setting sniping mode logic to editor reducer
* Added keyboard short cut to get out of sniping mode
* updated reset sniping mechanism
* removed a divider line
* if there are no relationships, will not show the complete section
* Connect Data will automatically show relevant tab in integrations
* Update list and dropdown image urls
* Remove create table button
* no wrapping bind to text
* minor review considerations
* showing the widget name to left in sniping mode
* can set data to datepicker
* will not show snipe btn if there are no widgets in canvas
* Changes for multiple suggested widgets
* removed dependency of sniping from suggested widgets
* Added analytics events for sniping mode
* logic for binding data to a widget, moved to snipeable component
* changed binding widget func from capture to onClick and took care of sniping from widget wrapper too.
* added tests to check sniping mode for table
* updated test spec
* minor fix
* Fix copy changes
* Update test to use table widget from suggested widget list
* if fails to bind will generate warning and keep user in sniping mode
* in sniping mode will only show name plate if it is under focus
* fixed the test case
* added a comment
* minor fix to capture on click event in sniping mode
* updated text
* Hide connections UI when there are no connections
* Increase width to 90%
* Show placeholder text and back button in sidepane
* Show tooltip on hover
* Add analyitcs events for suggested widgets and connections
* Update label based on whether widgets are there or not
* binding related changes
* renamed the saga file containing sinping mode sagas
* Changes for inspect entity
* Revert "binding related changes" temporarily
This reverts commit 54ae9667fecf24bc3cf9912a5356d06600b25c84.
* Update suggested widgets url
* Update table url
* Fix chart data field not getting evaluated
* a minor fix to show proper tool tip when user hovers on widget name
* Show sidepane when there is output
* Update locators
* Use constants for messages
* Update file name to ApiRightPane
* Remove delay
* Revert "Revert "binding related changes" temporarily"
This reverts commit ee7f75e83218137250b4b9a28fcf63080c185150.
* Fix width
* Fix overlap
Co-authored-by: Akash N <akash@codemonk.in>
* return hint message to user if the expected content type is json but the api response is not a valid json.
Co-authored-by: Apeksha Bhosale <7846888+ApekshaBhosale@users.noreply.github.com>
* New dto for refactoring action name which includes actionId as well
* Refactor action name now also takes actionId as payload and fetches the action from db by id instead of name to solve for the scenario where the action names could be duplicated.
* Adding actionId to QP of action refactor API.
* WIP : test for asserting the bug fix
* WIP test
* Fixed the test case asserting refactoring works for an action when there are duplicate action names in the page.
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
This reverts commit e84699e7ba.
Reverting this commit because this flow requires more changes before it's ready for prime-time.
Will continue development on this feature in a different branch
* WIP: Performance improvements in entity explorer
* WIP: Achieve feature parity for entity explorer with release
* Update unit tests
* Add sentry profiling to current page entity properties component
* Fix page add/delete not showing up on entity explorer issue. Update memoization logic for pagegroup entity
* Deal with the ban-ts-ignore eslint issues
* Update unit tests
* Fix widget entity children visibility
* Fix tests and code
* Fix tests for scenarios where the collapsed entities are unmount, as this is a part of the performance optimization
* Filter undefined children when generating structureDSL
* Remove rule from eslintrc
Consolidate createPage test command
* Update CreatePage tests to remove redundant dsl updates
* Revert CreatePage test changes, as adding more checks within this command globally causes other tests to have issues.
* re-enable eslint rule, as without it CI tests fail
* Revert to ban-ts-comment
* Fix typescript ban-ts-ignore issue by upgrading react-scripts and fixing typescript issue across the application
* Typescript errors handled
Co-authored-by: vicky-primathon.in <vicky.bansal@primathon.in>
* Introduced new page which stores the published and unpublished pages as separate.
* Mid level commit to save the state.
* Parity of new page repository with old page repository (custom functions)
* WIP : Delete a page. This requires changes across application structure as well.
* Added publishedPages construct inside application to store the pages in the deployed view as well as isDefault so that the same changes (delete or isDefault) in unpublished view doesn't alter these fields for the published application
* Parity reached with PageService.
* Minor ActionService refactor to remove unnecessary code.
ApplicationPageService, LayoutActionService, LayoutService use the new page service to fetch the pages
Minor corrections in fetching the page from new page service in tests
* New save function which sets the PageDTO for unpublished page and then saves the new page into repository.
* Migration of page service functions to new page service functions across other services/tests/controller
* Finished migrating all the page service functions to the new page service functions
* Application Service Tests have been fixed.
* All the existing test cases are working now.
* Publish application implemented to store published pages as well. Added a basic test case to check that published pages is being set and that page's publishedPageDTO is being set accordingly.
* Minor TODOs added to add test cases for published application.
* A few tests to ascertain that published application page fields (deleted, isDefault) does not get changed when these statuses are changed for a page in edit mode.
* Added a new controller end point to fetch application in view mode.
* Added new endpoint for fetching an application in view mode on the client.
* Bug fix where get application in view mode API was not getting called.
* Fixed the get page names by application & archive pages which have been deleted in edit mode during publishing of application.
* During delete page, if a page was never published and it was deleted during edit, delete the entire page instead of just deleting the unpublished PageDTO
* Minor formatting.
* Non working client side code to fetch page list using view mode.
* revert unnecassary changes and streamlined view and edit actions
* Fix missed import
* Fixed a bug where if a page is not published, it should not be returned in view mode in list of page names api.
* Fixed update for a page which was not working in integration test.
* ActionDTO added.
* Solidified the new action structure.
* Migration added for NewAction index creation and NewAction per Action insertion in the database.
* Basic file structure added the new repository, custom repository, service, etc.
* Delete OldPage.java
* Repo functions added - TODO : Haven;t handled the published/edited views
* Helper functions added to convert Action to NewAction and vice-versa. Removed unused currentUserMono usage.
* Create & update action functionality added.
* Execute Action refactored. Removed dry run specific code.
* Repository migrated to handle new data structure. Execute action refactored to no longer support dry runs of actions.
* TODO added for special handling of change view of application to handle edge cases of pages/actions which either exist in published mode but don't exist in unpublished mode or vice versa.
* Migrated finding on load actions from spring repository to custom repository.
* In view mode, now actions are being fetched by application id directly instead of first fetching application and then using the page ids, fetching the actions. This reduces the db calls from 2 to 1 per fetch actions in view mode api call.
* Delete action and get all actions (used in edit mode on the client side) implemented.
* Updated CollectionService and ActionCollectionService to use the new action service instead of the old one.
* LayoutActionService refactored to now use the new service functions.
* ActionController now no longer used ActionService. The remaining service functions have been migrated to the new action service.
* Refactor across ACL code for addition/removal of policies during addition/removal of users to organization, making app public, refactor for services like policy utils, item service, etc.
* Removed the last of action repository and action service and replaced with new action repo and new action service.
* Compile and run time issues fixed. The server is coming up without any spring dependency errors.
* WIP in fixing fetching actions by page id.
* Finally!!! Fixed the fetch actions (both published and unpublished actions) by page id repository function.
* Fixed create action bug where null datasource in published actiondto (inside newly created action) leads to error.
* Fixed the execute action issues :
1. Removed the dry runs from the tests
2. Fixed the null pointer error in variable substituted action and datasource configurations.
* 1. Fixed the custom action repository field names.
2. Fixed the data structures used in ExamplesOrganizationClonerTests
* Fixed countByDatasourceId repository function which was querying the actions incorrectly.
* Fixed the clone example organization error where the id of the action was not getting updated in the page correctly. Yay!
* Fixed post merge compilation failure.
* Fixed more compilation time failures in ActionServiceTest
* Fixed failing test case for fetching actions in view mode.
* Minor changes to resolve merge changes and incorporate in the new refactored code.
* 1. Fixed compile time errors on Client code.
2. Fixed fetching of actions in view mode by application id. The repository function did not need name parameter. Removed the same.
* [Integration Testing Error Fix] : Added a new test case for refactor action name.
* Instead of fetching actions in the page, mistakenly used the base service which was fetching all the actions in the repository, barring none which led to the name refactor being blocked even though no action in the current page exists with the new proposed name,
* Added delete functionality to action service.
* Minor code cleanup
* Adding viewMode to action execution
* Replacing action with actionId.
* 1. Bug fix for deletion of unpublished action. In case of never published action, the entire action should be deleted. In case an action was published, only the unpublished action should be deleted.
2. In case of DB actions (external datasources), only the bare minimum fields should be stored inside the action (datasource id and datasource plugin id). The other fields should not be duplicated across code.
* Fixed yarn build compilation issues.
* Update app/server/appsmith-server/src/main/java/com/appsmith/server/controllers/ActionController.java
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
* Changed the API path for GET applications in view mode. Some minor code formatting.
* Incorporated review comments.
* Some more unnecessary code removed.
* Instead of returning Page, now the interface object between client and server for Pages is PageDTO
* Migrated Page and Action to PageDTO and ActionDTO
Fixed the compilation issues.
TODO : Fix the test compilation issues.
* Fixed compilation time issues with all the tests by migrating Page and Action to PageDTO and ActionDTO respectively
* Action Controller and Page Controller no longer extend Base Controller. All the required functions have now been implemented and no base line API end points are being re-used from the base.
* Test case fixes.
* Bug Fix : Updating an action was not updating execute on load. Fixed the data flow leading to the error.
* Deprecating Page and Action domain objects. This is to ensure no new code is written with these till we remove this old code.
* Cloned example applications are now published before returning. This is to ensure that the applications are in ready to view mode when the new user signs up.
* Added a function comment to expand on the usage of new param introduced.
* When cloning a page, new actions were not being stored. Added that. Also updated the clonePage test to assert that the actions are also cloned when the pages are cloned.
* Updated a Api call
* removed extra slash
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Co-authored-by: Satbir Singh <satbir121@gmail.com>
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
Co-authored-by: nandan.anantharamu <nandan@thinkify.io>
* Add action settings tab to api and query pane
- Ask for confirmation before running an action
* Update property of actions basedon the updateLayout response
Prevent confirmation dialog for Action run, until property of action is true
Send an API Request when the user toggles the property of an Action
* update http method to toggle executeOnLoad for an action to PUT
* Fix save layout response type
* Remove console.log
* If updating executeOnLoad, avoid calling update action API
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
- Increased timeout for move action
- Table header typescript fix
- Fix data tree selectors for better performance
- Debounce update action saga by 500 ms
- Query delete fix
- Query save fix
- avoid using any or undefined types in the code
- fix ui issues for api home screen
- update naming convensions
- remove unwanted code
- use color variables