This adds a few missing analytics events and some more extra data for audit purposes. The missing event added are,
User login (login_USER)
User logout (logout_USER)
Import Application (import_APPLICATION)
Export Application (export_APPLICATION)
Clone Application (clone_APPLICATION)
Create Workspace (create_WORKSPACE)
Delete Workspace (delete_WORKSPACE)
View Page (view_NEWPAGE)
## Description
> Fix the NPE issue in theming while copying the properties.
## Type of change
- Bug fix (non-breaking change which fixes an issue)
## How Has This Been Tested?
> Locally
## Checklist:
- [ ] 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
## Description
Previous version of the astring library doesn't preserve parenthesis when transforming AST to JS Code. This led to syntax error when null coalesce and logical expressions are used together.
The latest version of astring library fixes this.
<img width="1291" alt="screenshot_2022-07-16_at_04 29 52" src="https://user-images.githubusercontent.com/46670083/179581475-863d70f2-0886-403a-a667-a32ad93e76b7.png">
Fixes#15283
## Type of change
- Bug fix (non-breaking change which fixes an issue)
## How Has This Been Tested?
Test plan
- [x] https://github.com/appsmithorg/TestSmith/issues/1970
## Checklist:
- [x] My code follows the style guidelines of this project
- [x] 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
## Description
Fixes issue in ApplicationForkingServiceTests
## Type of change
- Bug fix (non-breaking change which fixes an issue)
## How Has This Been Tested?
- Local tests
## Checklist:
- [x] My code follows the style guidelines of this project
- [x] 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
- [x] New and existing unit tests pass locally with my changes
Due to a bug, customized themes set to the parent branch where deleted when user deletes git branch. The bug has been fixed already. This PR adds a DB migration that fixes the data if there is any.
## Description
With the new documentation structure, updating the URLs which are being used in tests.
## Checklist:
- [ ] My code follows the style guidelines of this project
- [X] 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
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
* Introduce triggerpathdependency
* Code cleanup and refactor
* add jest test for removeLintErrorsFromEntityProperty
* Add triggerfieldDependencyMap jest tests for datatreeEvaluator
* Add cypress tests
* Revamp linting architecture
* Lint when creating first tree
* Prevent modification of unevaltree while linting
* improve linting performance
* Reuse allkeys for all dependencymap creation
* Add jest test for linttree
* Update jest and cypress tests
* Modify linting folder name
* remove redundant commits
* update evaluation jest tests
* Fix failing test
* Update cypress tests
* Code clean up and performance upgrade
* Update cypress tests
* Use unevalTree as global data for non-trigger field
* Improve global data creation time
* Cypress fixes
* Improve creation of global data for linting
* Only generate global data with functions when needed
* remove all unused variables
* Add overriden commit
* remove lint erros before linting
* fix merge conflicts
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* Expose message event details for Iframe Widget
* Change meta property name from messageEventProps to messageMetadata
* Cypress test for Iframe Message event details
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Core changes in this PR
Prevents logging of lint warnings (not errors) in the debugger
Refined message for using 'await' in non-async functions
Show lint error messages that include line numbers (previously weren't shown)
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* Added support for self signed certificate during OAuth2 flows, server side changes
* fix: authentication.useSelfSignedCert key added
* Merging from release
* Fixed issue with dependencies, plus bug with using ssl
* Cypress test attempt 1
* Cypress test attempt 2
* Cypress test attempt 3
* Clean up
* Review comments
* Enabled compression again
Co-authored-by: Aman Agarwal <aman@appsmith.com>
## Description
Currently, our repository is prone to any dev pushing secrets to the repository by mistake. This can become a major problem very quickly and in the case of services like AWS, an alarm is raised and the key is deactivated causing apps using the key to break.
After this PR is merged, people will need to have [git secrets](https://github.com/awslabs/git-secrets) installed in their systems and have to register the AWS secrets to the repo.
The setup instructions have been mentioned [here](https://www.notion.so/appsmith/Getting-Started-e81ccc35463343b28e09c200cdbe5f42#c3183e8e6e404701920dd288b8506360)
Notes:
1. right now, since we are using the pre-commit hooks using husky, the hooks work when we have done yarn install.
2. Also, the scan only checks the directory we are in while making the change or raising the PR. This is because it uses `git ls-files` to get the list of files to scan.
3. If someone doesn't run `git-secrets --register-aws`, the tests will pass automatically since there is no regex registered with the system to scan against.
Fixes#15042
## Type of change
- New feature (non-breaking change which adds functionality)
## Checklist:
- [ ] 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
* migration from organization to workspace on code level
* updated a few more files
* fixed runtime errors
* update org settings URL
* Renamed organizationId in domain objects
* changed field named from organization to workspace
* Reverted AppsmithRole changes
* fixed migrations
* recreating indexes
* migration update
* seed data runs before migration, undo changes
* mock commit
* seedmongo to populate upgraded data, datasource upgrade
* fixed two test cases
* updated migrations
* updated prop name
* Upgraded AclPermission
* comment
* migrated AppsmithRole
* more changes
* final set of changes
* variable name changes
* update cypress variable name
* Update app/server/appsmith-server/src/main/java/com/appsmith/server/controllers/ce/ApplicationControllerCE.java
* Update app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/Datasource.java
Co-authored-by: Trisha Anand <trisha@appsmith.com>
* reverting encryption handler change
* refactor code to migrate from org to workspace
* migrated a few missed out org to workspace
* updated a few more
* migrated a few missed out org to workspace
* migration changes
* Removed Permission import
* reverted code change
* few more changes
* fixed failing cypress test
* fixed failing cypress test
Co-authored-by: Sidhant Goel <sidhant@appsmith.com>
Co-authored-by: Trisha Anand <trisha@appsmith.com>
Co-authored-by: Sidhant Goel <sidhant@hexcod.in>
This pull request:
introduces a new option to the menu in the JS editor which lets users prettify/auto-indent code.
introduces a new keyboard shortcut that lets users prettify/auto-indent code
Fixes bug where pressing CMD + <- in Mac (Home in windows) shifts the cursor to the first indented column. If the cursor is present on the first indented column, the cursor shifts to the 0th column in the editor
Fixes#9268
As of today, we were supporting only ECDSA keys for GitHub, GitLab, and BitBucket. For Azure, RSA key generation was not available. This PR allows users to generate RSA or ECDSA keys.
As of now we support following key types and version control service providers:
Github: ECDSA
Gitlab: RSA, ECDSA
Bitbucket: RSA, ECDSA
Azure: RSA
Fixes#14382, #14715, #14570
## Description
- Shortcut key-up and key-down were not working because the list of file operations on ui were filtered out of the `sectionTitle` but on key actions it was being referred to which was adding in the offset for the current active item.
Fixes#15264
## Type of change
- Bug fix (non-breaking change which fixes an issue)
Upgrades vulnerable dependencies in all plugins except for MySQL. That one is still failing and I'll fix it in a separate PR. Issue #14475
Co-authored-by: Nayan <nayan@appsmith.com>
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
## Description
ConflictInfo was showing up along side discard button. Moved it to a row of its own.
Fixes#15113
## Type of change
- Bug fix (non-breaking change which fixes an issue)
## Checklist:
- [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
- [x] New and existing unit tests pass locally with my changes
* - Save the DOM on test failures.
- Handle promise rejection in tests.
- Save console logs to a file instead of stdout
* - Fix golden app tests
- Upgrade widgets in golden app to latest version
* - Removing logging to file temporarily
- Add test index to the file names
* Some final cleanup
Co-authored-by: Satish Gandham <satish@appsmith.com>
* fix: Enable parsing dates before Jan 1, 1970 in MongoDB
This commit takes care of three things
1. It enables the application to parse dates before Jan 1, 1970 in case of MongoDB
2. JUnit test
3. Cypress test
* fix: Enable parsing dates before Jan 1, 1970 in MongoDB
This commit takes care of three things
1. It enables the application to parse dates before Jan 1, 1970 in case of MongoDB
2. JUnit test
3. Cypress test
Co-authored-by: Nidhi <nidhi.nair93@gmail.com>
* Adds analytics for DropdownControl
* Add isUpdatedViaKeyboard to WIDGET_PROPERTY_UPDATE
* fix: jest test for iconselectorcontrol
* refactor: Interaction analytics event dispatching moved to a hook
* refactor: event collection logic to HOC
* Analytics for SwitchControl
* Analytics for CodeEditor
* Analytics for InputTextControl
* Analytics for ColorPicker
* fix issue with ColorPicker
* refactor to re-use ref
* rename the hook to ts
* Analytics for StepControl
* Analytics for ButtonTabComponent
* Analytics for NumericInputControl
* Analytics for IconSelector
* fix: failed test
* Analytics for ActionSelector
* fix: failed jest test
* fix: jest test for StepControl
* Analytics for Option Control
* Analytics for LocationSearchControl
* Adds Analytics for Tab key
* analytics for Property pane connections
* Add analytics for widget name
* Adds analytics for copy & delete button
* fix issue with widget name analytics
* add useCallback for tab keydown handler for button
* Create separate Event handling for design system
* removes unused imports
* changes ADS_EVENT to DS_EVENT
* Changes AdsEventTypes to DSEventTypes
* Changes AdsEventDetail to DSEventDetail
* changes occurences of Ads to DS
* avoids creation of intermediate function
* removes trace of 'analytics' from DS components
* rename dispatchDSEvent to emitDSEvent
* fix: Cypress selector
In order to import a specific page or browse to that page, the templates FE need page names and page ids. This PR replaces the list of page names with a list of objects that contains the page names and page ids.
* Run perf tests only on buildjet machine
* - Set chrome process priority to maximum to stabilise the run data
* Update index.js
* Update perf.js
* Update index.js
* - Move around args
* - Add --no-sandbox option to initial setup
* -We don't need sudo on the main script, we can use sudo in node scripts to set process priority
* - Some tweaks to the perf scripts.
* - Remove no-sandbox option in puppeteer launch
* - Remove sudo at unnecessary places
* - Add code to force grabage collection in chrome
* Update logins and some cleanup
* Remove unsed import
Co-authored-by: Satish Gandham <satish@appsmith.com>
* Outdated design for Queries/JS/API Editor
* updated cypress test cases and colors reference
* updated cypress test cases with add and delete datasource
* added indexing for testcases
Co-authored-by: Chandan Balaji <chandanbalaji@Chandans-MacBook-Pro.local>
* fix: clear search input on selection
* fix: added comments in single select test case.
* fix: single select tree widget clear search on close
* fix: test cases for mult-select-spec
* fix: clear the filterText on select widget close
* fix: added resetOnClose to select component
* fix: resetOnClose only when serverSideFiltering is off
* fixes google sheets datasource global search error
* Adds cypress test
* Fix cypress test
* Fixes navigating to google sheets queries from global search issue
* fix:
* removed the componentWillUnmount to avoid uppy reset
* added cypress test case
* fix:
* added componentWillUnmount again
* added reason argument to the file-remove handler
* fix: switch datasource option list contains similar ds
* fix: test case for switching datasource
* fix: updated the numbering of test case, deleted the postgres ds
* fix: JsObject parsing
* fix jest test and add types
* remove logs from test
* Add jest test to verify this
* Add perf metric and
* fix: jsObject stale value
- refactor updateJSCollectionInDataTree
* Refactor JSObject code
* fix import path
* refactor and fix
* undo debugging change
* Add comments
* Add Ast for getting function params
* Fix and add test
* remove comment
* remove comment
* Resolve comments
* Refactor git API's to add `/app` to the API path to identify the appId
* Update the url in cypress tests
* Update the path in git spec cypress files
* Update the url for connection spec
Fix how special chars in env values are saved
Also included some refactoring to fix several compile time warnings and lint errors,
including proper formatting.
Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
* Fixes rerenders on JS context menu
* Fixed warnings
* Fix review comments
* Perf adjustments
* Replace entityName hook with a function that reads from store.
* Use menuOptions selectors to populate options
* Update: fixed width of components as static
- Changes are made in lieu of the design system changes
* Update: fixed the gaps between components
- Updated where clause padding for delete button
- Updated entity selector gaps
* Update: placeholder texts for where clause
* fix: Switched Google Sheets JSON to local directory
* fix: Fixed placeholder text for insert row object
* fix: Enabled server side caching of plugin resources again
## Description
During a refatoring, one of the location where the ConflictInfo component is invoked from was getting an empty string; that was making current app open up in new tab instead of git repo.
Fixes#14674
## Type of change
- Bug fix (non-breaking change which fixes an issue)
## Checklist:
- [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
- [x] New and existing unit tests pass locally with my changes
* Client changes 1
* add DSL functionality
* Temp commit for refactoring changes
* Do I even know what I'm doing here?
* chore: Second GS layout
* Update: Visibility conditional outputs for schemas
- Added the output from conditional outputs for schema children too
* Update: Entity selector visibility control
- Added logic for controlling visibility of sub components via the JS expressions system
* Update: Passing disabled prop to toggle button
* Update: Passing disabled prop to toggle btn
* Update: Styled component for toggle button
- Added disabled styles based on the disabled prop sent to the toggle form view JSON button
* Update: configProperty role in Entity Selector
- Removed dependance of the configProperty of the entity selector children to it's parent component
* Update: type of placeholder key
- Made placeholder key from form config JSON to accept either string or an object
- Earlier only string was accepted
- This is for pagination component
* Update: Added placeholder control for pagination
* Client changes 1
* add DSL functionality
* Do I even know what I'm doing here?
* fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design
* fix: updated tooltip component for wrong ui on entity explore
* temp triggers
* fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design (#12395)
* fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design
* fix: updated tooltip component for wrong ui on entity explore
* fix: updated tooltip ui, where condition placement, sort by ui
* temp form data access logic
* fix: updated sorting type width ui
* fix: updated ui for spacing, width and text issues
* Update: Type for tooltip of UQI forms
- Added option to send an object to the tooltipText object.
- This allows for composite components like pagination to have tooltips for each sub component
* Update: tooltip for pagination component
- Added handling to parse the tooltip for multiple components.
- This allows for composite components like pagination to have tooltips for each sub component
* Update: Type cast for tooltip component
- Made the content passed to tooltip component as a string only
* Update: Fixed tooltip component CSS
* Update: Dropdown option component
- Added a tooltip wrapper to each option
- This is to show on hover text like disabled state
* fix: updated ẇhere clause broken ui for condition
* Add: functions to check and extract expressions
- Loop through the formConfig and find any keys that have a value that is bindable
- Used pre defined regex to check if value is a moustache binding
* Add: Types for evaluated form configs
- Added types for the form configs to be evaluated and their output post eval
* Add: Flow to run the form config
- Run the form config and update the result to the redux state
* Update: Name of the type for formconfigs
- Updated since it was clashing with a component of the same name
* Add: Function to enforce config type checks
- This is done so that the improper configs can be weeded out and the rest of the form can be shown
* Add: Function to update evaluated config
- Added option to update the config if it's values needed evaluation
* Add: Type check for schema sections
* Update: Error handling for invalid control type
- We were throwing an exception till now, changed it to a warning text
* Add: Exposed tooltip for dropdown option disabled state
* Update: switch to json mode functionality
- Added logic to convert data to a string rather than an object when the first switch to JSON mode happens
* Update: Added key to tooltip for dropdown options
* Trigger API modification
* Add: function to fetch default trigger URL
* Update: Made URL optional in dynamic trigger config
* Update: Dynamic trigger API call
- Made the API call for dynamic triggers have URL as optional field
- Added type check to the response of the API call
* Update: resp type for trigger APIs
* Update: Moved code to utils folder
- Moved functions for UQI form eval processing to utils file
* Update: passing original controltype to JS switch
* Update: config for JSON editor mode
- Updated the config to have different options for JSON mode depending on the original control type
* Update: Connected line numbers flag to config
* Revert: CSS changes for tooltip
* Refactor: Removed consle
* Add: type for the config of dynamic values
* Add: Feature to evaluate config for triggers
* Refactor: fix type check errors
* fix: dropdown ui width with text alignment
* Update: fixed selector for dynamic values
* Update: selector call for fetchDynamicValues
* Add table header index prop for columns selector
* migration partial commit
* migration partial commit
* Refactor: removed unused import
* Update: reused function for checking dynamic value
* Update: removed unused import
* Fix format JSON issues
* Retrieve binding paths from entity selector components
* Fixes 6 remaining issues with UQI implementation
* Fix dropdown issues
* Fix dropdown height issues and fixes triggering of APIs when option is deselected
* Migration changes
* Fix QA generated UQI issues
* Fix projection component height and route change logic
* Fix multi select dropdown placeholder text issue and json stringify issue with switching view types
* Reset entity type value when command value changes
* Test changes
* Review comments
* Moved migrations around
* Corrected import statement
* Added JSON schema migration
* Updated schema version
* perf improvements and filter dropdown options feature
* Fix Code mirror component config for toggleComponentToJson input fields.
* Fix prettier issues
* fix prettier issues
* Fix style issues as a result of the merged conflicts
* Fix failing test case
* Fixed a few other flows (#14225)
* Fixed a few other flows
* Review comments
* Fix generate CRUD, fix evaluation of dynamic bindings and fix various styling issues.
* More fixes (#14367)
* Factor in the root formconfig parent key.
* Fix flickering issues, and evaluatedFormConfig issues
* fix: Teeny bugs (#14455)
* Teeny bugs
* Added previous functionality as is
* Improvements in the way we fetch dynamic values
* Fix stringiification issue and cyclic dependency issues
* Resolve projection component values deletion
* Resolve merge conflicts and fix prettier issues
* fix: Tsc issues
* Fix property pane connection navigation
* updating ee locator
* updating inputfield locator
* dropdown locator update
* Merge conflict not properly resolved.
* Fix s3 spec
* Fix Mongo Spec
* Fix some more tests
* fix: prevent cyclic dependency when switching to js mode (#14668)
* add delete events for change from array to string in diff
* add test to assert absence of cyclic dependency error when switching to js in switchgroup widget
* Assert that evaluation is not disabled when no cyclic dependency happens
* Cypress test preparations for google sheets and form controls
* Fixed a few test errors (#14874)
* Add: unit tests for uqi UI updates
- view type tests
- conditional output extraction
- processing conditional output to handle view/enabled state of the component
* Add: completed isValidFormConfig test
* Update: improved tests for update config
- These tests cover the functionality to update a section config after it's components are done evaluating
* Fix failing cypress tests and cyclic dependency issue
* Fixes some more tests
* Fixed migration of row objects (#14896)
* Bumped the version of design system package
* Update: reverted change to EE selector
* Fix deletion pointer
* Update: selector for js on load spec
- Synced with changes related to ADS dropdown
* Fix mongoDBShoppingCart spec
* Remove comments
* Fix: mongo shopping cart test failures
* fix: mongo shopping cart spec
* Dummy push to retrigger vercel
* fix: mongo shopping cart spec
* Update MongoDBShoppingCart_spec.js
* fix: removed unused click away
* dummy commit
* Update: moved helper functions to separate file
* Add: added tests for saga functions
- Worked on testing for
- extractFetchDynamicValueFormConfigs
- extractQueueOfValuesToBeFetched
* Add if check for queueOfValuesToBeFetched
* Resolve review comments
* Empty-Commit
Co-authored-by: Irongade <adeoluayangade@yahoo.com>
Co-authored-by: Ayush Pahwa <ayush@appsmith.com>
Co-authored-by: Aman Agarwal <aman@appsmith.com>
Co-authored-by: Ayangade Adeoluwa <37867493+Irongade@users.noreply.github.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Favour Ohanekwu <fohanekwu@gmail.com>
Co-authored-by: Albin <albin@appsmith.com>
## Description
There are some instances of unreachable code, this PR fixes them. And some typos.
## Type of change
- Code Quality Improvement and code cleanup
## Checklist:
- [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
- [x] New and existing unit tests pass locally with my changes
* fix: remove debounce from RTE component
* fix value change on prop
* Add comment for useEffect order understanding
* fix:
* default text update
* Text re-appearing once deleted
* fix: cursor jump issue
* test: added cypress tests for RTE widget
* fix: isDirty value not updating properly
* chore: added comment for the new useEffect
* fix:
* Changed the logic to include a state inside RTE component
* Added cypress tests
* fix: updating ref on on keystroke events
* fix: suppressed props.onValueChange call on change of default text
* refactor: addressed review comments
* test: fixed failing cypress test
* fix: renamed styles related to label
* added a test case for checking cursor position when in markdown
* test: refacotored test case
Co-authored-by: keyurparalkar <keyur@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
## Description
Updates the border radius and box shadow labels in widgets
Fixes#13992
## Type of change
- Bug fix
## How Has This Been Tested?
- Manually tested
## Checklist:
- [ ] 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
* add layout tests for datasource
* fix omnibar_spec
* add tests for postgres and mong
* fix git import test
* fix test
* comment test until issue is fixed
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
* Show js function execution error logs
* remove unused function
* improve check for async functions
* clear errors for deleted jsActions
* fix typescript error
* modify js function execution error logging
* test that execution parse errors are logged in the debugger
* Add test to show that js execution errors are logged in the debugger
* re-order js execution tests
* Add type to jsObj variable
* update cypress tests
* update cypress test
- Hides Style alignment when Inline option is false which fixes UI overlapping issues
- Resizing the widget other options which are outside don't come within the widget boundaries - Fixed
- Behaviour of widget when placed at top of the canvas - Fixed
* fix: store value spec as JsObject bug is resolved
* fix test
* Use GetNClick
* StoreVal trial fix
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* rewrite logic for widget multiselect box position and dimension
* logic to select only the widgets on the same canvas while dragging to select them
* fix jest test case
* Fix: Remove the duplicate & rename the "Actions" To "Events"
* rename the "Actions" to "Events" in select & multiselct widget
* Trigger Build
* fix: failed testcase are resolved
- Change the parsing logic to track variableDeclarator and check for JSObject being declared and find its properties using the AST Node.
- As we are exactly checking JSObject Node we won’t have any incorrect properties defined or any property missed
* fix: [WIP] reset meta to default value
* refactor
* fix reset child widget and type in metaReducer
* Fix type and refactor test
* fix multiselect click
* Add jest test for reset widget action
* Add cypress test
* Add comments
* Add more cases as per comment
* remove `only` from test case
* Add default value case of array with values
* MultiSelect spec fix
* fix currencyInput reset
* refactor test code suggested in comments
* fix type
* fix more type
* fix cypress test
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* Added Appsmith Design System Package
* Removed tooltip from ADS folder
* Changed imports for Tooltip
* added alias for the @appsmithorg/design-system
* fix for npm aliasing in jest
* design system package version change to beta 1.0.1-beta.8
* Tooltip Position type changed to PopoverPosition
* design system package updated
* invite user and password reset email not being sent config page changes
* refactored code for toggle on admin settings screen
* some minor code refactoring
* fix: Consider zip compression info from API response header (#13515)
This commit fixes two things
- If certain API has Accept-Encoding header then Appsmith will take care of this before rendering response to the client
- Used MediaType.includes function for more extensive matching of the requsted API's content type
* fix: Add unit test on consuming API with gzip encoded response (#13515)
This commit takes care of two things
- Unit test on consuming an API which has response being encoded in GZip format
- Set default content-type to "text/plain" in case the content-type is not present in API response
* fix: Add Cypress test on consuming API with gzip encoded response (#13515)
This commit takes care of the following
- Cypress test on consuming an API which checks if it can read any property from the response sent from the API server encoded in GZip format
* parsing of js object has changed
* added test for parsing
* parse object with literal
* added variable to reactive paths and solved some PR comments
* test fixed
* small fix
* removed restricting functions to be added if object body has errors
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* reference replacement widget in the deprecation warning message
* updated import path for messages
* adding test case for validating deprecated widget COnfig
* chore: Added actionId and requestedAt fields in ActionExecutionRequest
* Reverted unrelated failing test
* Fix test failures
* Refactor test
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
* fix edit button not rendering issue
* dummy push to make vercel build again
* Removing wait time aft Publish - tetsing fix
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
When a new email of an existing user is added to admin emails from the admin settings page, that user does not get admin access instantly. Same happens when an existing user's email is removed from admin settings - permission is not revoked instantly.
Instead of waiting for the specific `storeValue` action completion, earlier we were waiting for any storeValue action to complete. It means when running multiple storeValue, completion of 1st action will resolve promise for all the storeValue triggered.
Now, we track completion of each storeValue action separately.
* widget fuzzy search POC
* fix threshold
* Makes fuse to initialize only once
* add proper dependancy to useEffect
* Adds more search terms
* Adds search term for other widgets
* reduce distance for better search results
* fix table widget color picker bug
* fix table widget color picker bug
* fix font issue on navigating to edit mode from view mode
* code review feedback
* feat: Disable js toggle button if field is not empty and on non-default value
* allows certain values based on control type
* adds handling for more control types
* Change disabled message
* feat: makes option control delete button keyboard accessible
* adds support for theme values
* Adds support for border radius & box shadow controls
* message change and refactor
* minor correction in the message
* Add proper condition for Datepicker control
* fix one cypress test
* updated tests
* add checks for OptionControl
* Updated table binding test
Co-authored-by: apple <nandan@thinkify.io>
* made test classes public
* added surefire compatible with junit 4
* Revert the changes of tests class accessibility
* Fix test failures
* test case fixes
* fixed NPE
* Fixed failing tests
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: Nidhi <nidhi.nair93@gmail.com>
- When we get a response from API, the data can be either null, undefined, not an array and an array but with no data
- We had handled for everything else except the case of empty array
- This commit fixes that
- We run a query which will return an empty array as response
- We check if application is crashing because of this
* feat: Rich Text Editor enable browser spellcheck
* fix: added custom menu
* add function for OS check, updated text based on OS
* fix: text update
Co-authored-by: bhavin <techbhavin@gmail.com>
* keep localunevaltree update in sync with unevaltree
* undo tree check
* identify .data difference for js objects
* empty line
* unit test
* unit test name change
* comment
Co-authored-by: Anand Srinivasan <anand.a.srinivasan@outlook.com>
* fix: crash due to evalMetaUpdate
* Add default value for workerResponse
* patch fix
* fix root cause of DataCloneError
(cherry picked from commit dbcd69e63e)
1. Fixed on page load actions getting called multiple times.
2. Now Evaluation only happens once we complete the fetching of the page's all entities including js objects and actions, this avoids cases where actions are not defined when ran.
Co-authored-by: Rishabh-Rathod <rishabh.rathod@appsmith.com>
(cherry picked from commit 3bcb1daf73)
1. Fixed on page load actions getting called multiple times.
2. Now Evaluation only happens once we complete the fetching of the page's all entities including js objects and actions, this avoids cases where actions are not defined when ran.
Co-authored-by: Rishabh-Rathod <rishabh.rathod@appsmith.com>
* fix: removed default value for API DS, updated conditions for headers and apiformattype
* fix: added test cases for content type changes on changing method types
* fix: imported isEmpty directly with loading full lodash module
* fix: switch group added check for inline width
* SwitchGroup inline cypress test added
* New snaps to match CI run
* Adding right images for CI run
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Return list of datasources in the GET /api/v1/datasources sorted alphabetically. Also set a flag isRecentlyCreated to the most recently created 3 datasources.
* feat: intial investigation.
* Completed focusing of Property title
* removes unused import
* fix issue with inability to focus Dropdown
* checks if PP opened not because of focusing on input elements in widget
* Adds two level of focus for LocationSearch
* adds multi state to KeyValue component
* Adds multi state to Draggable List as well
* Adds multi state to DatePickerControl
* fix: style issue with draggableList & KeyValue comp
* avoids auto focusing on Panel
* remove commentedout code
* fix: cypress tests
* change ActionConstant name
Co-authored-by: Arsalan <arsalanyaldram0211@outlook.com>
We are changing how we maintain meta values in our architecture,
Earlier metaHOC component state was used to store meta values that were debounced and pushed in batch to metaReducer and trigger evaluation.
We remove the metaHOC state and directly update values to metaReducer and trigger evaluation separately via a debouched function.
This commit fixes three things
- It prevents the tab headers from being scrolled up when on the RAW/JSON tabs.
- It prevents the Table component from pushing the API right pane away when its contents are too wide.
- It also prevents the table and JSON component from clipping the data displayed within them by adding margins/paddings between them and the parent container.
* Fix validation check that is blocking input from changing
* Add testcases for Elastic search datasource
* Adds header value to test case
* Fix validation logic
* - Memoize the expeinsive parts of createUnevalTree
* - Split the generateDataTreeWidget and memoize the expensize part
- Remove stary console statement in MultiSelectWidget
* - Some debugging code, needs to be removed.
* Debugging in progress
* Still debugging
* Still debugging
* Working??
* Jest tests passing, and fast enough
* remove unused imports
* One failing jest test, testing luck with cypress
* Remcoe console statment from jest test
* - Sync with release.
- Comment failing jest test
* Disable a test
* - Clean up
* Final cleanup and documentation
* - Make function and variable names accurate and easy to understand
* Update code comments
Co-authored-by: Satish Gandham <satish@appsmith.com>
When organization name is updated, the slug is not updated. This generates a outdated URL when user clicks on a organization name from the left panel. This PR changes the following behaviors
The Organization slug will be no more unique
Link to organization applications will be based on organization id instead of slug
Organization slug will be updated whenever there is a change in organization name
All the existing organization slugs will be updated
* fix: Themeing issue when application has multiple git branches
* Don't commit published mode theme
* -updated as per review comment
Co-authored-by: Abhijeet <abhijeet@appsmith.com>
* fix: JSONForm missing theming accent color property and few JS enabled inaccessible sourceData/formData properties
* reverted adding of customJSControl JSON_FORM_COMPUTE_VALUE for exisiting properties
* minor revert
* minor fix
* fix for stopping list widget from copying onto itself
* remove duplicate comment
* verify selected widgets are not inside list widget if list widget is to be pasted
As a quick fix to prevent the on-page load actions from firing before the actions are even fetched, we had reverted the changes to make fetch page DSL call parallel in 13587. Unfortunately, theming PR brought back parallelisation and the issue along with it.
This PR ensures that the on-page-load actions are only made after actions are fetched while preserving parallelisation.