1. Encode request body in REST API plugin when content header for URL encode is set.
2. Add a test case to test the encoding function.
3. Add a test case to check non-encoding (raw) function.
* set loading state on calling action in file picker
* add test cases for file picker loading state
* add tests cases
* add isLoading state in state instead meta
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
* Fusion charts watermark can be removed by adding the `APPSMITH_FUSIONCHARTS_LICENSE_KEY` env variable.
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
* clear cache values on delete
* added test cases
* add reload in test case
* fix test cases for datepicker spec
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
1. Add R2BC driver and remove JDBC driver usage in mysql plugin to make the plugin reactive.
2. Update dependencies in POM file.
3. Update mysql plugin to return result based on the type of sql query i.e select vs other queries. In case the queries are chained, then the last query is used for deciding the type.
4. Added a new TC for testing datasource and removed a non functional TC.
* add daterange property control
* fix typescript errors
* update daterangepicker control
* remove daterangepicker control
* add toasts for invalid dates + add test cases
* update test cases
* update test cases
* update test cases + change validation type name + few refactor
* merge release + update toast usage in datepicker control
* update test cases
* update form dsl for test cases
* update test cases
* update setDate command in test cases
* update test cases
* update test case dsl for datepicker widget
* update test cases
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
* Usecase for pageload Api and input widget
* Updated test name
* updated tests
* Updated assertion
Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com>
* Adding the skeleton for Firestore integration
* Adding the datasource & query editor forms
Also adding the database changelog for the firestore plugin
Commenting out the firestore.close() connection because that causes issues with multiple Firestore tenants running in the same JVM.
* Adding the code for fetching the structure of collections from Firestore
* Use single document path field for Firestore
* Fix potential NPE when datasource destroy timeouts
* Work in progress on collection level ops for Firestore
* Get documents in a collection now works
* Add collection level querying support
* Mild refactoring
* Fix NPE when some fields are missing
* Hide clientJSON as a password field for Firestore
* Make collection level querying reactive
* Make reactive
* Validate before connecting
* Add tests for all supported methods in Firestore
* Fix forms for Firestore with hidden fields
* Hide limit and order by fields when not needed
* Restore log entry deleted by mistake
* Use S3 URL for Firestore/Firebase logo
* Add comments detailing why some code is commented
* Make parsing JSON reactive and fix subscribe calls
* Fix reactive scheduler
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* Fixing the telemetry on self-hosted instances (#1714)
* Fix issue where creating a new application twice does not work (#1713)
* add check if name is conflicting with internal fn
* use already existing selector
* add conflicting names checks on api/queries/widget names
* add test cases for invalid widget/api/query names
* refactor
* change array to map
* remove getDataTreeKeys selector
* refactor
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
* improve docs with link to client setup and change cypress.env.json instead of editing cypress.json file
* fix link to client setup
* improve ordering
* rearrange
* fix quotes
* remove unlinkable link
* fake push
* Making postgres plugin blocking statements run on elastic threadpool.
* Moved the blocking calls to check for the connection validity, etc. also inside the Mono.fromCallable
Instead of using compound index, using single indices to ensure that both fetch actions by app id (during load of actions in edit/view mode) and fetch actions by page id (during update layout) are indexed queries.
* Added defaultSelectedRow property in table widget so that users can configure default selected rows
* Cypress test cases added to test default row selection in table widget
* Fix defualtSelectedRow property's evaluation type
* Fix default select row type
* Set default selected row when resetting user selected rows
* Use defaultSelectedRow when no user selected row in table
* Doing a deep copy during clone application instead of updating the original application which may have been causing a concurrency bug.
* Ensuring that once the clone application flow is triggered, the flow completes eventually even if the client cancels the request before completion.
* Cloned application would not be public.
* Added parametrized Application constructor
* Removed lombok all args constructor
* Optimized import
* Incorporated review comments :
1. Updated the constructor for creating the application
2. Added a test case to assert that if during cloning of an application the flow gets cancelled, the cloning would still complete and ensure that the application created is sane.
* Fixing the telemetry on self-hosted instances (#1714)
* Fix issue where creating a new application twice does not work (#1713)
* show popover on truncated page name in appviewer
* move testcases to Pages_spec.js
* fix ref issue + test cases
* fix test case
* update test case
* fix test case
* fix merge conflict typo
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
Also adding the APPSMITH_SEGMENT_CE_KEY as a build arg to the server Dockerfile. This will be used to set the environment variable in the Docker image itself.
1. Fix mongodb datasource cypress test failure.
2. Against certain mongodb instances, we expect to receive an exception of type "unauthorized" when testing datasource. Earlier, this case was caught and whitelisted until the recent change to replace mongodb infra with reactive mongodb infra.
Add support for reactive streams with mongodb. (fixes 1480)
1. Replace mongodb driver with reactive mongodb driver. Change APIs accordingly.
2. Use webflux + reactor framework to execute mongodb queries in event loop model.
3. Add test to test MongoPluginExecutor class' method "testDatasource".
* Fixing the telemetry on self-hosted instances (#1714)
* Fix issue where creating a new application twice does not work (#1713)
* show popover on truncated page name in appviewer
* move testcases to Pages_spec.js
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
* add second whitelist ip for create datasource page
* revert the cloudhosting check on help button
* update name of util function
* remove unused key
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
* change icon to close on opening help modal
* fix help modal icon bug
* add test cases for the fab buttont toggle issue
* fix padding + closing lag issue of help modal
* pass isOpen true all the time
* fix help modal button hover issue
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
Now we enable/disable all analytics in a central location in the configs class. This ensures that each analytics function can simply check it's own value and not worry about checking for the disableTelemetry flag
Fixes#1683
Fix for dropdowns with option not being an object crashes dropdown and stops eval
Fixes#1656#1657
Fix issue where updateWidgetProperty would get called without a widgetId
* fix onSelectedDate call on deselection of date
* add test cases for deselecting the datepicker widget issue
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
* Experimenting with spring metrics, prometheus
* Added prometheus config in application.properties.
* Added a few more configurations for spring metrics to improve performance tooling.
* Added basic authentication to allow prometheus to scrape our monitoring data in an authenticated fashion.
* Only exposing prometheus end point at this junction instead of other metric endpoints as well.
* Fixed test case which failed because of actuator instantiating bean.
* Report selective errors to rollbar.
1. Assign an action attribute to each AppsmithError enum item. Take action based on the action attribute.
* Fixing the condition for organization name being empty
* Report selective errors to rollbar.
1. Assign an action attribute to each AppsmithError enum item. Take action based on the action attribute.
Co-authored-by: Sumit Kumar <sumitsum@Sumits-MacBook-Pro.local>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* Fixed timeout error message, added new type of error for plugin timeouts
* Switched error code and added test for a secondary StaleConnectionException
* 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>
* Fix issue where placing widgets into the first tab of a tabs widget was disallowed.
* Concatenate using spread instead of produce
* Remove widget blueprint from widget props
* Deal with nested blueprint
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
* Fix issue where placing widgets into the first tab of a tabs widget was disallowed.
* Concatenate using spread instead of produce
* Remove widget blueprint from widget props
* Deal with nested blueprint