* fix: updated logic to retain the files on page change
* fix: update test case title
* fix: addressed review comments
* fix: cypress failure related to filepicker spec
Co-authored-by: Ashit Rath <ashit@appsmith.com>
* fix: update UI as per design
* fix: rename disconnect to revoke
* fix: update DISCONNECT to REVOKE
* breaking word with CSS when text is longer than width
Co-authored-by: Ankit Srivastava <ankit@appsmith.com>
* feat: Add text truncate button color to system themes
* updated colour used
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Nandan <nandan@thinkify.io>
* Adds one way switching to Form Controls
* Fix failing jest test
* Retrigger oktotest
* JSOnload1 spec 6th case fix
* Jsonloadspec 1 fix
Co-authored-by: Aishwarya-U-R <91450662+Aishwarya-U-R@users.noreply.github.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* Changes to on page load logic and consumption for update layout
* Slight clean up, tests and stuff
* - Added evaluationVersion logic based on application configuration
- Added configuration for slim and fat container rts availability
- Added backup logic of string comparison for slim containers
- Added tests for both paths
* Changes to on page load logic and consumption for update layout
* Slight clean up, tests and stuff
* Cleaned up comments all over
* Why isn't there even a setting to disable auto re-formats
* update rts logic to use updated shared AST logic
* Make changes to naming conventions
* Some temp stuff to check if update layout API changes will work out
* Added health check endpoint in RTS
* Added types for AST request
* update: type for save page request object
* update: return type for getEditorConfigs func
- Added applicationId to the type.
- Fetching from the redux store -> applications -> currentApplication -> id
* update: url generation func for update page API
- added applicationId as query param for the call
* Fixed test failures
* Fixed merge from release with on page load failure messages
* Fixed tests failing after merge
* Review comments, more tests, and fix for array index ref directly after .data path
* Test fix
* Addressed review comments
* Updated comment
* Fixed rts temporarily, added handling for data as function name, left with tests
* fix: failing rts server
* Tests for all types of actions and references
* Changes to test
* Modified type to set
* Test fixes
* Trying to make a test pass
* Added app id in cypress test update dsl
* Added app id in cypress test update dsl
* Added app id in cypress test update dsl
* Removed dep tree temp file
* Resolving compile issues after merging from release
* updated tests for applicationId
* corrected a typo
* fixed some more tests
* updated test
* Updated test
* DSL load AppId fix
* appId removal
* AgHelper LocalStorageCache()
* AgHelper LocalStorageCache() - commit 2
* AgHelper LocalStorageCache() - commit 3
* AgHelper LocalStorageCache() - commit 4
* AllWidgets_Reset_spec - Dsl fix
* Json_spec fix
* S3_2 spec fix
* fixes
* LocalStorageCache fixes
* fixes
* fixes
* fix
* OnLoadActions spec fix
* Promises spec fix
* S3_2 spec fix
* 16702 spec update
* OnLoadActions spec trial fix
* RTS fix
Co-authored-by: Nidhi Nair <cataclysm@Nidhis-MacBook-Pro.local>
Co-authored-by: Ayangade Adeoluwa <adeoluayangade@yahoo.com>
Co-authored-by: Ayush Pahwa <ayush@appsmith.com>
Co-authored-by: Aman Agarwal <aman@appsmith.com>
Co-authored-by: Apple <nandan@thinkify.io>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* Add validation checks for Email and Website
* Add test cases
* Update pattern and Test cases
* Valid and Invalid samples for regex
* Update test cases.
* Fix error toast messages displayed when an action is cancelled on page load
* Fix failing cypress tests
* fix cypress runtime error
* Fix one more error
* feat: Implement data type handling in MySQL (#16621)
With this implementation we can now achieve the following under prepared statement:
- Ability to distinguish between null object and "null" string
- Ability to distinguish values like {{"098765"}} and {{098765}}. The former is identified as a string and the latter is identified as an integer
* feat: Add unit test cases on data type handling in MySQL (#16621)
* chore: Move MySQL specific types to a separate class (#16621)
* chore: Remove import shortening (#16621)
* Fix testStructure test case to have loose coupling with the order of tables (#16621)
* Fix: Add missing client-side data types in params in a few test cases (#16621)
* Fix query in test case (#16621)
* Fix test cases and add small refactoring (#16621)
* Refactor assertion with a check on Optional (#16621)
* additional cypress test cases for mysql
* updated test case object
* update for failing test cases
* mysql failure point fix
* mysql false spec failure point fix
* fix flacy test cases
* flacky JSON test cases
Co-authored-by: ChandanBalajiBP <chandan@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
We had logic to fix MainCanvas height when a Widget is dragged, resized or deleted. Extending that logic to When a widget is added to mainCanvas as well.
Also added logic to trim mainCanvas width in View Mode.
* fix: JS toggle default value is wrong for vertical alignment table widget
- Fixes wrong default value for Vertical Alignment in column settings
- Fixes issue where JS toggle cannot be turned off after turning it on once
* Fix failing cypress test
* Change horizontalAlignment default value to LEFT
* refactored code for invite modal
* updated invite users modal component
* minor change
* optimized addition of links in invite modal dropdown
* fixed a cypress test
* removed msw
* fixed a cypress test
* fixed a cypress test
* fixed a cypress test
* fixed a test
Also fixing the comodification array error when we are removing items from a list while iterating over it.
Fixes#17030
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* feat: Autoassigns column datatype in table widget
- Limited to only number, string and boolean datatypes
* Review changes
Adjust jest tests accordingly
* Adds support for recognising Date type columns
Review changes
* Adds jest test for Date field
* Fix warning
* Adjust cypress tests and add helper method to account for code changes
* Fix failing test
* update rich text editor styles
* fix disalbed text color
* add border
* fix gaps and borders in json form
* fix disabled state
* fix checkbox disabled state color on checkbox + font size of title in json
* fix disabled state of rte not re-rendering
* remove unused import
* fix cypress test
* fix: Table's last column doesn't resize properly
* Adds comments to code responsible for dynamic resizing of last column width
Adjusts component width to account for widget padding
- This fixes issue where last column goes outside the table container resulting in showing less padding-right for the last column cells
* Review changes
* Review changes
* Fix failing test
* fix: Table Filter issues
- Filter reverts to previous operator upon removing a filter condition
- Removing a filter does not rightly update the filter value field
- Removing the second filter causes the table to crash
* Adds cypress tests for bug 12642 and 12638
* fix: updated skip functionality
* update: type of logs to add occurence count
* update: reducer function to merge the new logs
* update: added dependance on last log's occurence count
* add: UI to show the occurence badge
* fix: added null check for dependency array
* update: omit occurence from compare fn
* update: changed function call to store logs array directly
* update: moved from saving logs one by one to array
* fix: replaced forEach with reduce
* test: added functions for console log grouping
* feat: updated warning grouping color
* update: moved function to reducer file for jest tests
* Initial commit
* Remove arrow function params from identifiers
* Remove invalid identifiers from extracted identifiers
* Remove invalid identifiers which are derived from function params and variable declarations
* Fix typo error
* Correctly remove invalid identifiers
* Remove invalid names from identifier list
* fix build failure
* Add Promise to list of unacceptable entity name
* Keep track of unreferenced identifiers in bindings
* Add Global scope object names as unusable entity names
* Keep track of unreferenced identifiers
* Prevent traversal of data tree for addition of new paths and entities
* Sync linting in trigger fields
* Support linting of invalid properties
* Fix linting reactivity bug in trigger field
* Remove unused objects
* Fix conflict in merging
* Lint jsobject body for function change
* Remove unused map from tests
* Code cleanup
* Modify jest tests
* Update jest tests
* Fix cypress tests
* Code cleanup
* Support linting of multiple bindings
* Set squiggle line as long as invalid property length
* Add jest tests
* Minor code refactor
* Move ast to shared repo
* Rename confusing identifiers
* Improve naming of functions and their return values
* move shared widget validation utils and constants to shared folder
* Add jest test for invalid entity names
* Add cypress tests
* Modify test comment
* Extend list of dedicated worker scope identifiers
* Resolve code review comments
* Resolve review comments
* Annonate code where necessary
* Code refactor
* Improve worker global scope object
* Code refactor
* Fix merge conflict
* Code refactor
* Minor bug fix
* Redundant commit to retrigger vercel build
* Add null checks to dependecy chain
* test: mysql datatypes cypress test cases
* test: cypress added comments with cleaner code
* updates w.r.t review comments
* fix 10th cases failure
* fix for test failing on CI
* fix for test failing on CI another way
* fix: address review comments
* feat: Add QR Scanner Widget Folder
* feat: Add QR Code Scanner in the Modal
* feat: Add viewfinder and close button
* QR generator
* feat: Change deafult camera in QR Scanner to back camera
* feat: remove qr generator widget from the registry
* feat: update qr scanner icon
* style: qr code scanner modal and video container, remove futile code
* feat: add camera switch control panel to qr scanner
* fix: update input devices list when the menu opens in qr scanner
* fix: viewfinder in qr scanner responsive on mobile
* feat: Add onCodeDetected event to the QR Scanner widget
* feat: Add QR Scanner to autocomplete's entity definitions
* feat: Add tooltip to QR Scanner
* fix: isDisabled for QR Scanner
* feat: Add icon and related properties to QR Scanner
* feat: Add QR Scanner search tags, remove futile styles
* feat: Add QR Scanner to themes, regex for button color
* test: Add one cy test for qr scanner
* revert: Remove qr scanner from system themes, will be merged in a seperate PR
* fix: typo 'disable' to 'disabled' in qr scanner widget
* test: add disabled and visibility cy tests for qr scanner
* test: add open and close qr scanner modal test
* feat: remove qr scanner image for tests
* feat: add TODO item for solving performance issues for QR Generator widget
* feat: shift from react-qr-reader to react-qr-barcode-scanner to enable barcode and QR scanning both
* feat: Update QR Scanner Widget to Code Scanner Widget
* test: update tests from qr scanner to code scanner widget
* refactor: move code scanner's property pane config to individual files
* fix: code scanner error message on permission denied
* feat: remove Modal.setAppElement from code scanner
* fix: hide code scanner scan animation overflow
* feat: code scanner modal close on escape and overlay click
* fix: code scanner video border radius on mobile
* test: scan qr test for code scanner
* feat: Add Modal.setAppElement for code scanner modal accessibility
* fix: typo in search tags of code scanner
* feat: update property pane content helper texts of code scanner
* feat: hide code scanner widget from explorer
* fix: code scanner events not working
* feat: hide code scanner widget from explorer
* feat: Show Code Scanner widget in Explorer
* fix: remove code scanner scan cypress test
* feat: Add barcode reader to search tags and put Modal.setAppElement inside a block in code scanner
Co-authored-by: balajisoundar <balaji@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* Initial work to change navigate to UI
* Remove console.logs
* Adjust default parameters and getters/setters for page dropdown field
* change url field getter so page names are not showm
* Remove ../ from the imports
Remove unnecessary todo
* Add check for undefined fields
* Add validations for url/page name, add error message
* Make height auto to accommodate the flexible size of query param text box
* Update dropdown list of pages when page names are updated
* Set tab to url when a url has been entered, else default to page
* Add feature tests
* Add check on null value in isValueValidURL to ensure it does not crash the app
* Remove unused ref
* Fix bug when switch is selected and a new page addition let to page crash
* Initial work to change navigate to UI
* Remove console.logs
* Adjust default parameters and getters/setters for page dropdown field
* change url field getter so page names are not showm
* Remove ../ from the imports
Remove unnecessary todo
* Add check for undefined fields
* Add validations for url/page name, add error message
* Make height auto to accommodate the flexible size of query param text box
* Update dropdown list of pages when page names are updated
* Set tab to url when a url has been entered, else default to page
* Add feature tests
* Add check on null value in isValueValidURL to ensure it does not crash the app
* Remove unused ref
* Fix bug when switch is selected and a new page addition let to page crash
* Fix types and imports
* Update the tests
* Add ref back to the code
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* Widget layer optimization
Fix positioned and snipeable component wasted renders
* Some cleanup
* - Few more rough optimization
* Remove console logs
* Clean imports
* Prevent wasted renders of draggable component.
* Add new selector
* - Some code reorganization
- Reduce wasted renders of resizable component
* Clean up positioned container
* Final clean up
* Remove unused import
* Some cleanup based on review comments
* Some code refactoring
* Reduce wasted renderes when dragging and resizing
* Rename getSelectedWidget to getLastSelectedWidget in selectors/ui
Co-authored-by: Satish Gandham <satish@appsmith.com>
* rts configurations for ast
* update shared dependencies.json for shared ast module
* feat: api for script to identifiers
* fix: typo for identifiers
* feat: api for multiple scripts to get identifiers
* fix: rts config, apis for ast
* fix: removed unnecessary changes for ast modules
* fix: docker image for rts including ast shared module, rts file alias ref
* fix: added comments in build.sh file
Co-authored-by: Aman Agarwal <aman@appsmith.com>
For nested functions, the trigger meta is not available for subsequent functions. So in cases where the dynamic trigger has the relevant info, we can use that to update the trigger meta and then use that meta to display the source of the logs.
Fixes#16515Fixes#16483Fixes#16514
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* feat: capture console from across the app (#15676)
* create: console override file
- Adds methods to override the given console functionality to capture the console statements written by the user
* update: evaluate function to extract console op
- Added logs extraction for both sync and async functions
- Adding them to the return object of the evaluations
* update: timestamp field to log addition method
- Added optional argument to function definition for inputting the timestamp of the log
- This is done to maintain timings of the execution of the log
* update: interface for log objects
* update: post function execution logic
- Added logic to push the logs generated by the evaluation to the logs store
* update: added handling for sending nested fns
- While console logging functions or objects that had functions was causing an error
- Added a check for removing functions and replacing them with name of the functions instead
* chore: added types and comments
* fix: updated evaluation tests
* fix: added check for log in returned obj
* update: added the source data in the trigger logs
- Removed on js execute logs from showing up here since they are already handled. If they are not removed, they will show up on the first page load twice
* add: ellipsis function for log title string
- This is to keep big object contained in the first line only
* update: made logs reset function public
* update: resetting logs before new eval
- Logs object has to be cleared before next eval can happen to make sure there are no roll overs from last evals
* chore: added comments
* add: extracting logs after eval of functions
* add: storing logs to redux after eval
* refactor: updated types
* add: func to store logs w/ severity as arg
* refactor: updating func call for user logs
* chore: fixed elipsis logic
* chore: removed unused type
* chore: updated preview text logic
* add: type for transfer object post eval
* update: aded new userLogs obj to dataTreeEvaluator
* update: passing logs from object to saga
* update: parsing received userlogs
* refactor: used predefined fns
* refactor: moved resetlogs to common func
* chore: updated comments
* feat: update redux store and UI for system + user logs (#15936)
* update: updated types for the redux store
- Added category and data fields in the log object
* update: types of log redux store
* update: calls for the console log store function
* update: icon fetch func for log item UI
* update: syncing UI with the new designs (WIP)
* chore: fixed lint error
* update: filters for logs
* update: icon for clearing log filters
* update: filtering function
- Added checks against category and severity
* update: logitem UI
- updated type of the UI object
- added css based ellipsis
- added toggle for console logs
- added array of json views for objects/arrays
- css tweaks
* update: debugger cta
- Removed copy option
- Updated UI
* update: logic for expanding user logs
- Removed debugger CTA
- Fixed position for the expand/collapse icon
- Added joining char for when the log is expanded
* update: assets for new UI
- updated colors
- Added new icon
* hotfix: ternserver code
* add: search across the text of log
* update: icons for the app
* update: click to expand/collapse of logs
* fix: search keyword update on change within JSObjects
* fix: alignment of log items in both states
* update: jest tests for debugger errors and filter
* fix: drop down options color issue
- the icon used was not the standard one
- We have a lot of duplicates of the same icon
* fix: synced with ADS changes on release
* fix: remove dependency from old icon
* add: cypress selectors for automation testing
* fix: replaced static messages with variables
* fix: updated the dependency map for filter
* fix: height of the filter drop down
* fix: chaining logic for search filter
* fix: syncing the padding values to ADS
* fix: help icon visibility issue
* fix: width of filter dropdown
Co-authored-by: Rishabh-Rathod <rishabh.rathod@appsmith.com>
* add: e2e tests for console statements using IIFE
* test: added test for console logs in jsobjects
* fix: functionality of expanding context menu on msg click
* fix: added try catch and handling for numbers
* hotfix: handling unwanted toasts
* fix: alignment and clickable cursor
* fix: alignment of expanded span in console logs
* add: analytics event on new console log created
* fix: added handling for boolean and undefined
* fix: removed log reset from common func
- Whenever we are creating global DTO, the logs were being reset. This caused logs to reset whenever a promise was encountered in the logs.
* fix: combined JS log saving to widget process
* add: new analytics event on filter changed
* update: added handling for empty value
* update: removed comma between multiple logs
* update: synced test changes with release
* update: removed unused wait timings
* Logs spec script update
* update: ts methods in log spec e2e test
* logs spec update
* update: removed body clicks from test script
* Logs spec update
* update: removed ask from google option
* refactor: ui fixes
* fix: text selection of logs
* fix: updated dropdown width management
* update: made the flushlogs function async
* update: added handling for promises
* update: added test with promises fail and pass
* fix: added sync variant to work for sync objects
* refactor: commented out unused tests
* update: exceptions in the name of log entity
* fix: pagination of logs to handle dynamic data stream
* fix: removed unused async function
* fix: moved logs handling to separate saga
* fix: color for context menu text
Co-authored-by: Rishabh-Rathod <rishabh.rathod@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* refactored code for invite modal changes for rbac
* code splitted some more files for refactoring invite modal component
* removed unused imports
* created new variable for handlers
* updated an import
* reverted a change
* refactored a section of code
* fixed a cypress test
* fixed a cypress test
* updated imports
* exported some entities
* feature: Add new pageOffset binding to Table Widget
* Add jest tests
Modify getPageOffset to account for failed tests
* Review changes
* take page size as tableData.length when Serverside pagination is on
* Update bindings count in cypress test for table widget v2
* Changes default value of pageOffset to 0
Use pageSize instead of tableData.length when tableData is not available
* Update jest tests according to changes in the code
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* fix: Table reverts column positions on sorting if columns returned differ
* Adds Cypress tests
* Update cypress tests to reorder column and validate
* Adds another assertion to table column order cypress test
## Description
This reverts commit dbcc643ccf.
Fixes#16378
## Type of change
- Revert changes which impacted performance
## How Has This Been Tested?
Manual performance verification
@ramsaptami
## 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
Co-authored-by: ohansFavour <fohanekwu@gmail.com>
* Added test cases for appsmith upgrade
Added test cases for appsmith upgrade
* deleted extra commands
* add new workflow for upgrade scenarios
* updated the s3 details
* update command.js
* updated the work flows
* Removed the conflicting part with TED
* Update commands.js
* TED run command updated
* removed async calls
* added commands to start the v160
* updated few steps
* added debugging updtream step
* changed the paths
* dynamic port numbers
* dynamic port numbers
* removed the port numbers
* removed debug from the workflows
* increased timeout
* changed the path
* fixed the after all hook
* fixed the stop container
* Add error.message only to data.reason, since the call stack being sent to responsePayload is different for different browsers. This fix ensures a consistent behaviour across all browsers
* Add integration tests
* Update test to typescript
* Fix error message
* Use new error instead of message object
* Code review fix
* Add else block to catch unknown errors
* Update tests
* Get back to original solution - error solution not working in safari
* initial commit
* props hoc
* changes
* removed ignores and withWidgetProps
* added extra props to canvasStructure
* widget props changes
* list widget changes
* reintroduced widget props hook and other refactors
* remove warnings
* added deepequal for childWidgets selector
* fix global hotkeys and tabs widget jest test
* fix main container test fix
* fixed view mode width
* fix form widget values
* minor fix
* fix skeleton
* form widget validity fix
* jest test fix
* fixed tests: GlobalHotkeys, Tabs, CanvasSelectectionArena and fixed main container rendering
* minor fix
* minor comments
* reverted commented code
* simplified structure, selective redux state updates and other inconsistencies
* fix junit test cases
* stop form widget from force rendering children
* fix test case
* random commit to re run tests
* update isFormValid prop only if it exists
* detangling circular dependency
* fixing cypress tests
* cleaned up code
* clean up man cnavas props and fix jest cases
* fix rendering order of child widgets for canvas
* fix dropdown reset spec
* adding comments
* cleaning up unwanted code
* fix multiselect widget on deploy
* adressing review comments
* addressing minor review comment changes
* destructuring modal widget child and fix test case
* fix communityIssues cypress spec
* rewrite isVisible logic to match previous behaviour
* merging widget props with component props before checking isVisible
* adressing review comments for modal widget's isVisible
Co-authored-by: rahulramesha <rahul@appsmith.com>
* Clean up the perf folder and update integration commnds to use the new repo
* Use a different token for github auth
Co-authored-by: Satish Gandham <satish@appsmith.com>
* style: added styles to chart configs
* style: adjusted axis names and legend position
* style:
* adjusting legend position
* removed background property at the widget level
* exposed current theme data at widget level
* fix: addressed feedback on chart widget reskin
* fix:
* style according to feedback
* styled custom charts
* fix:
* added migration for accentColor and fontFamily
* implemented reskinning feedback
* fix: changed the position of properties in custom chart config
* fix:
* added unit test for migration
* changed the caption color
* fix: spacing fix
* fix: added accentColor and fontFamily defaults
* test: added cypress test for chart reskinning
* test: fixed cypress test failure
* 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>
Add Autocomplete support for
- local variables
- JSObjects
- ButtonGroupWidget
Remove Autocomplete suggestion for
- `eval`
- undefined global values like `tabs`
* Modify control type for MongoDB Collection field
* Make more form control changes across datasources
* Fix cypress errors
* Fix typescript error
* Fix more cypress tests
* Fix failing MongoDBShoppingCart spec
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
## Description
This PR adds [crypto web api](https://developer.mozilla.org/en-US/docs/Web/API/Crypto) support in linting
Fixes#15469
## Type of change
- Bug fix (non-breaking change which fixes an issue)
## How Has This Been Tested?
- [x] https://github.com/appsmithorg/TestSmith/issues/1996
## Checklist:
- [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 on my code, particularly in hard-to-understand areas
- [x] 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
* fix:
* added css variables for primary color
* added styles for dropHint custom icon
* feat:
* styled the remove uploaded file icon to match re-skinning
* added theme font-family to the contents inside the upload modal
* styled upload button to match re-skinning
* feat:
* set cancel button color to theme's primary color
* set the close button style according to theme
* set the border radius of the upload modal
* set the error message styles in accordance with re-skinning
* fix: cross mark position on the top right corner of upload modal
* fix: added hover background color on modal back and add more files button
* fix: added border radius fix for file remove button
* fix: modal close icon
* fix: addressed feedback from dilip
* fix: font-family issue inside the modal
* test: added cypress test to test styling logic
## 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
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.
* 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>
* 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
* 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
* 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
* 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
* 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>
* 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>
* 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
* fix: store value spec as JsObject bug is resolved
* fix test
* Use GetNClick
* StoreVal trial fix
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* 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
* 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>
* 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
* 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>
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.
* 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>
- 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