## Description
>
```
const isOnCanvas = matchBuilderPath(window.location.pathname);
if (isOnCanvas) {
dispatch(showDebuggerAction(!showDebugger));
}}
```
The condition check to verify if we are on canvas was removed as we are
opening debugger throughout all pages.
> Now debugger is accessible from all pages in Appsmith. (Earlier it was
not present in Datasources pages.)
Fixes#19567#21935#21934#21907#21223
Media
> [Video](https://www.loom.com/share/ff5eebb5e0a74e0bad6ead26050b5833)
## Type of change
> Please delete options that are not relevant.
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
- Manual
- Jest
- Cypress
### Test Plan
> Add Testsmith test cases links that relate to this PR
### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [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
- [ ] PR is being merged under a feature flag
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
## Description
This PR upgrades Prettier to v2 + enforces TypeScript’s [`import
type`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html#type-only-imports-and-export)
syntax where applicable. It’s submitted as a separate PR so we can merge
it easily.
As a part of this PR, we reformat the codebase heavily:
- add `import type` everywhere where it’s required, and
- re-format the code to account for Prettier 2’s breaking changes:
https://prettier.io/blog/2020/03/21/2.0.0.html#breaking-changes
This PR is submitted against `release` to make sure all new code by team
members will adhere to new formatting standards, and we’ll have fewer
conflicts when merging `bundle-optimizations` into `release`. (I’ll
merge `release` back into `bundle-optimizations` once this PR is
merged.)
### Why is this needed?
This PR is needed because, for the Lodash optimization from
7cbb12af88,
we need to use `import type`. Otherwise, `babel-plugin-lodash` complains
that `LoDashStatic` is not a lodash function.
However, just using `import type` in the current codebase will give you
this:
<img width="962" alt="Screenshot 2023-03-08 at 17 45 59"
src="https://user-images.githubusercontent.com/2953267/223775744-407afa0c-e8b9-44a1-90f9-b879348da57f.png">
That’s because Prettier 1 can’t parse `import type` at all. To parse it,
we need to upgrade to Prettier 2.
### Why enforce `import type`?
Apart from just enabling `import type` support, this PR enforces
specifying `import type` everywhere it’s needed. (Developers will get
immediate TypeScript and ESLint errors when they forget to do so.)
I’m doing this because I believe `import type` improves DX and makes
refactorings easier.
Let’s say you had a few imports like below. Can you tell which of these
imports will increase the bundle size? (Tip: it’s not all of them!)
```ts
// app/client/src/workers/Linting/utils.ts
import { Position } from "codemirror";
import { LintError as JSHintError, LintOptions } from "jshint";
import { get, isEmpty, isNumber, keys, last, set } from "lodash";
```
It’s pretty hard, right?
What about now?
```ts
// app/client/src/workers/Linting/utils.ts
import type { Position } from "codemirror";
import type { LintError as JSHintError, LintOptions } from "jshint";
import { get, isEmpty, isNumber, keys, last, set } from "lodash";
```
Now, it’s clear that only `lodash` will be bundled.
This helps developers to see which imports are problematic, but it
_also_ helps with refactorings. Now, if you want to see where
`codemirror` is bundled, you can just grep for `import \{.*\} from
"codemirror"` – and you won’t get any type-only imports.
This also helps (some) bundlers. Upon transpiling, TypeScript erases
type-only imports completely. In some environment (not ours), this makes
the bundle smaller, as the bundler doesn’t need to bundle type-only
imports anymore.
## Type of change
- Chore (housekeeping or task changes that don't impact user perception)
## How Has This Been Tested?
This was tested to not break the build.
### Test Plan
> Add Testsmith test cases links that relate to this PR
### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
---------
Co-authored-by: Satish Gandham <hello@satishgandham.com>
Co-authored-by: Satish Gandham <satish.iitg@gmail.com>
## Description
This PR includes changes for renaming design system package. Since we
are building new package for the refactored design system components,
the old package is renaming to design-system-old.
Fixes#19536
## Type of change
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
## How Has This Been Tested?
- Manual
- Jest
- Cypress
### Test Plan
> Add Testsmith test cases links that relate to this PR
### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
## Description
We need to upgrade `styled-components`, so that it will become easy to
upgrade to version 6.0 when it is out. This is because, v6.0 has an
important functionality which isn't available in today's version.
### Tasks completed
- Update Styled components to latest version.
- Prepare codebase by cleaning up the styled components functions that
will be deprecated in version 6
- We are still using the `withTheme` HOC, we should instead use the
`useTheme` hook (best practices)
- Remove the `AnyStyledComponent` type it is un-necessary and will be
deprecated
Fixes#19463
## Type of change
- Non breaking change. The application should work as before and should
not effect any visual elements or UI.
## How Has This Been Tested?
- Manual @appsmithorg/qa please refer to the test plan for areas of
interest.
- Cypress: All existing test cases must pass.
### Test Plan
- We need to do a sanity check on the Product Updates Modal, Release
section.
- We also need to do a sanity check on the Login, Signup, ResetPassword
pages.
- I think we can merge this Pull Request and continue with our weekly
regression, because there are no style changes in this Pull Request,
everything should work as expected.
## Checklist:
### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
The edition string will only be shown for self hosted instances. This change is being done because Appsmith Cloud doesn't yet support Business edition yet.
## Type of change
- Bug fix (non-breaking change which fixes an issue)
## How Has This Been Tested?
Manual
## 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
This PR adds the string `Community` along with the Appsmith version. This will help users identify the type of instance that they are running.
## Type of change
- New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
Manually
## 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
* 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
* Fix connect test
* check api response
* [wip] test comments across branches (#8704)
* Intercept only connect api
* chore: update switch branches tests (#9005)
* test switch branches from the query params
* test flow wip
* .
* fix merge status update
* change mergeAble to isMergeAble
* wip
* fix: show error popup if pulled from bottom bar
* fix: append branch query to notification links
* fix: disable git connection during onboarding
* fix: typo
* fix: typo
* fix: typo
* fix: z-index bottom bar cout
* fix: pull button minor fix
* fix: reset conflicts when the git sync modal is opened
* fix
* feat: enable search for branch dropdown
* fix
* fix: typo
* added merge conflicting on merge tab
* updated gitsyncsaga for git sync error action
* added generate ssh key on init and updated git changed count message
* removed git sync error action from error processing module(toast and log)
* commented push button on bottom git action bar temperory
* added option to use git global config
* Added latest deploy preview time: didn't appear until the duration was in minutes
* Link open repo button with repo link
* fixed of commented code part
* upated tooltip of push button on bottom quick git sync toolbar
* Update banner styles for error and warning
* updated repo publish url pattern and last deployed view part
* when the user clicks on the push icon the deploy tab should open
* when branch name is too big and user hover on it the tooltip is not displayed
* The dropdown alignment displayed for the git connect should be polished
* update tests
* fix: minor git sync fixes (#9228)
* fixed of Under the merge tab when the user searches for the branch name which is not present the pop up closes all of a sudden
* fix: update merge api, use message from api response
* fix: update field
* added tooltip of long dropdown option and updated merge tab dropdowns
* removed log
* chore: add connection cypress tests
* temp update for running tests locally
* fixed long branch name on branch list popup
* Use _ as the branch name separator, instead of -
* Use large buttons as CTAs
* Remove the % from the progress bar
* Fix alignment for the skeletons on the deploy tab
* Merge CTA moves down when the status is rendered, add offset to prevent that and error branch dropdown on merge tab
* Show progress bar after clicking on Merge CTA as the loading state and generate key button
* after generating the deploy key before clicking on connect close the pop-up and open it again the Remote URL is not visible in the input box
* fixing of conflicting issue
* updated git connection design
* Provide more spacing between the lines
* Learn more does not have a hover state
* Heading Merge Changes should be sentence cased like headings on other tabs
* Button can trigger CTA call when in loading state
* disabled clickable icon on git connect bottom bar
* Git connection tab: on error the window doesn't scroll all the way to the bottom
* updated temp remote url values on action and reducer
* updated ellipsis functions of text
* fix: prune branch flag
* fix: update page level roomId to include branch name
* fix
* fix
* feat: add a separate feature flag for git import
* feat: branch section headers bottom bar branch list
* fixed branch list comments
* fixed merge issue
* fix
* feat: hotkey for commit and push
* remove pull button on git conflict info
* move tempRemoteUrl redux to gitSyncreducer and added messages
* splited git error as individual action
* removed push button from git sync bottom buttons
* feat: section header at the merge dropdown
* added comment of converting ssh to https
* feat: show connected to git badge
* feat: show asterisk when we have uncommitted changes
* fix: upate segment header for dropdown
* t fix: remove redundant success toasts
* removed tempory git repo url from app data
* wrapped tooltip with elipsis text
* fix: rm unused vars
* fix: bottom bar icon updates
* updated dropdown option with ellipsis text
* added new props named "wrappedOption" on dropdown for wrapping ellipsis option
* rename wrappedOption to truncateOption on dropdown component
* updated dropdown option with disabled props of tooltip
* fix: remove remote branches from merge branch dropdown
* reset yarn lock
* reset yarn
* fix: keeping it same as the existing value
* fix: remove branch dropdown border
* fix: show merge success indicator
* feat: init repo limit error modal
* fix: disconnect git wip
* added git user config test
* removed test data
* fix: checkout api
* fix: lint
* chore: pre connection test specs
* added revoking git workflow
* renamed revoke to disconnectGit
* added setting on git sync action over bottom bar
* added analytic on git connection
* added learn more for remote url and init module of temp remote url when select new application
* .
* chore: test learn more ssh url
* Verify the functionality of Read documantation link
* added git connect with onboarding workflow
* Validate the Input Box displayed below Commit to master Text
* updated test module for deploy tab with commit comment and deploy preview
* test of prune branch name
* Validate the error faced when user switches between the branches
* verify the functionality when user click on "+" Icon
* Verify the functionality of serach input box inside the serach dropdown
* Verify the display of the Merge Button
* advanced of disconnect git ui
* added git disconnect modal test case
* updated repo limit error condition
* added learn more link test on git disconnect modal
* for review of repo limit error modal test script.
* fix: issue with intercept
* fixes
* fixes
* add key, misc fixes
* fix
* revert changes
* fix
* fix imports
* Fix import
* Yarn lock update
* fix
* fix imports
* chore: remove timeout for a test run
* Increase timeout for jgit APIs
* chore: try increasing timeout
* try increasing timeout further
* Handle git connect error on the basis of error type
* Add env variable to CI build script
* Fix bad commit for adding env var in workflow
* Refactor
* FAdd env var for local repo path
* fix import
* fix specs
* fix
* fix
* try
* fix
* fix
* fix
* fix
* fix: don't validate error msgs
* fix spec
* improve spec
* chore: rm unused code
* chore: update descriptions
* rm commented out code
* fix
* rm comment
* chore: rm comments
* fix: lint
* chore: update comment
* fix: wait for widget switch transition
* spec updates
* fix
* fix imports
* try waiting for getPagesForViewApp
* fix: rm unused file
* fix: remove spec
* fix: add js collection, comment out repo limit exceeded error since it seems not limited on appsmith instances
* Fix server failure
* chore: correct bootIntercom import and sort lines
Co-authored-by: Rishabh-Rathod <rishabh.rathod@appsmith.com>
Co-authored-by: haojin111 <haojin828@outlook.com>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
Co-authored-by: Abhijeet <abhijeet@appsmith.com>
Co-authored-by: Abhijeet <41686026+abhvsn@users.noreply.github.com>
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: f0c1s <anubhav@appsmith.com>
* refactor admin settings feature
* separated save-restart bar to separate component
* created new CE dir to facilitate code split
* created separate ee dir and exporting everything we have in ce file.
* little mod
* minor fix
* splitting settings types config
* using object literals for category types instead of enums
* CE: support use of component for each category
* minor style fix
* authentication page UI changes implemented
* github signup doc url added back
* removed comments
* routing updates
* made subcategories listing in left pane optional
* added muted saml to auth listing
* added breadcrumbs and enabled button
* created separate component for auth page and auth config
* added callout and disconnect components
* updated breadcrumbs component
* minor updates to common components
* updated warning callout and added icon
* ce: test cases fixed
* updated test file name
* warning banner callout added on auth page
* updated callout banner for form login
* CE: Split config files
* CE: moved the window declaration in EE file as its dependency will be updated in EE
* CE: Splitting ApiConstants and SocialLogin constants
* CE: split login page
* CE: moved getSocialLoginButtonProps func to EE file as it's dependencies will be updated in EE
* added key icon
* CE: created a factory class to share social auths list
* Minor style fix for social btns
* Updated the third party auth styles
* Small fixes to styling
* ce: splitting forms constants
* breadcrumbs implemented for all pages in admin settings
* Settings breadcrumbs separated
* splitted settings breadcrumbs between ce and ee
* renamed default import
* minor style fix
* added login form config.
* updated login/signup pages to use form login disabled config
* removed common functionality outside
* implemented breadcrumb component from scratch without using blueprint
* removed unwanted code
* Small style update
* updated breadcrumb categories file name and breadcrumb icon
* added cypress tests for admin settings auth page
* added comments
* update locator for upgrade button
* added link for intercom on upgrade button
* removed unnecessary file
* minor style fix
* style fix for auth option cards
* split messages constant
* fixed imports for message constants splitting.
* added message constants
* updated unit test cases
* fixed messages import in cypress index
* fixed messages import again, cypress fails to read re-exported objs.
* added OIDC auth method on authentication page
* updated import statements from ee to @appsmith
* removed dead code
* updated read more link UI
* PR comments fixes
* some UI fixes
* used color and fonts from theme
* fixed some imports
* fixed some imports
* removed warning imports
* updated OIDC logo and auth method desc copies
* css changes
* css changes
* css changes
* updated cypress test for breadcrumb
* moved callout component to ads as calloutv2
* UI changes for form fields
* updated css for spacing between form fields
* added sub-text on auth pages
* added active class for breadcrumb item
* added config for disable signup toggle and fixed UI issues of restart banner
* fixed admin settings page bugs
* assigned true as default state for signup
* fixed messages import statements
* updated code for PR comments related suggestions
* reverted file path change in cypress support
* updated cypress test
* updated cypress test
Co-authored-by: Ankita Kinger <ankita@appsmith.com>
* added config to support code split
* splitting config
* moved the window declaration in EE file as its dependency will be updated in EE
* CE: Splitting ApiConstants and SocialLogin constants
* CE: split login page
* CE: moved getSocialLoginButtonProps func to EE file as it's dependencies will be updated in EE
* added key icon
* CE: created a factory class to share social auths list
* Minor style fix for social btns
* Updated the third party auth styles
* updated jest config
* updated third party login registry class
* 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>
* 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>
- Adds Web workers and does evaluations in off the main thread
- Removes any need to store functions in the data tree and only keeps them around while evaluating
- Maintains a stored data tree in the redux state
- Evaluates based on editor events instead of state changes
* removed duplicate user object
removed id field which is never populated
added help modal in applications page and intercom to load in help modal
shutdown intercom on signout to clear existing chats
* added analytics to help modal and invite user
unescaped bindings before evaluation to prune newlines
* updated action confirmation text
* added a check to ignore old properties which are no longer dynamic
* fixed test case
* fix tests
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
removed id field which is never populated
added help modal in applications page and intercom to load in help modal
shutdown intercom on signout to clear existing chats
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
Add a default help menu with
* Report a Github issues link
* Documentation link
* Github discussions link
* Intercom link support
* App version id support
# New Feature: Entity Explorer
- Entities are actions (apis and queries), datasources, pages, and widgets
- With this new feature, all entities in the application will be available
to view in the new entity explorer sidebar
- All existing application features from the api sidebar, query sidebar, datasource sidebar and pages sidebar
now are avialable on the entity explorer sidebar
- Users are now able to quickly switch to any entity in the application from the entity explorer sidebar.
- Users can also search all entities in the application from the new sidebar. Use cmd + f or ctrl + f to focus on the search input
- Users can rename entities from the new sidebar
- Users can also perform contextual actions on these entities like set a page as home page, copy/move actions, delete entity, etc from the context menu available alongside the entities in the sidebar
- Users can view the properties of the entities in the sidebar, as well as copy bindings to use in the application.
* Use envsubst and nginx templates to generate nginx configs which can substitute environment variables and inject into the index.html file
* Fix path in dockerfile. Add .gitignore and .env.example files. Fix nginx-linux template.
* Add all environment variables. Add prefix to all environment variables. Update scripts to attempt to substitute all environment variables with the prefix
* Setup dockerfile to execute a bash script. use env.example for fetching environment variables in development
* Toggle features based on injected configs. Fix nginx template substitution script.
* Update env.example file
* Remove debug code from start-nginx.sh
* Fix nginx config templates by adding quotes by default. Fix sed regex to include numerals. Toggle social login buttons on Login page based on the config.
* Update rapid api environment variable name. Toggle oauth buttons based on config in SignUp page. Update .env.example to be a union of server and client environment variables
* Adding a Map disabled message on Map widget
* Adding links to Privacy policy and TNC
* Use REACT_APP_ env variables with higher priority over injected config variables for toggling features
* Update netlify.toml by commenting out the build environment variables
* Remove env variables not required by the client
* Remove start-storybook entry from package.json
* Fix netlify.toml. Fallback algolia configs
* Add contexts to netlify.toml for successful deploys. Swith to using APPSMITH_MARKETPLACE_URL as the toggle for RapidAPI feature on the client. Remove comments in nginx config templates. Fix template used in dockerfile.
Co-authored-by: Satbir Singh <apple@apples-MacBook-Pro.local>
Co-authored-by: Satbir Singh <satbir121@gmail.com>