Commit Graph

7 Commits

Author SHA1 Message Date
Ilia
d6f249b42d
chore: add blank line eslint rule (#36369)
## Description
Added ESLint rule to force blank lines between statements. 


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.All"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!CAUTION]
> 🔴 🔴 🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10924926728>
> Commit: 34f57714a1575ee04e94e03cbcaf95e57a96c86c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10924926728&attempt=1&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank">Cypress dashboard</a>.
> Tags: @tag.All
> Spec: 
> The following are new failures, please fix them before merging the PR:
<ol>
> <li>cypress/e2e/Regression/ClientSide/Anvil/AnvilModal_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilButtonWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilCheckboxGroupWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilCurrencyInputWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilIconButtonWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilInlineButtonWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilInputWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilParagraphWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilPhoneInputWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilStatsWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilSwitchGroupWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilSwitchWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilTableWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilToolbarButtonWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilZoneSectionWidgetSnapshot_spec.ts</ol>
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">List of identified flaky tests</a>.
> <hr>Wed, 18 Sep 2024 16:33:36 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No

---------

Co-authored-by: Valera Melnikov <valera@appsmith.com>
2024-09-18 19:35:28 +03:00
Hetu Nandu
e69ca8915e
fix: Intercom setting anonymous user a common user id (#36017)
## Description

Avoids setting the `user_id` field in intercom when the user is not
logged in

Fixes https://github.com/appsmithorg/appsmith-ee/issues/5003


## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]
> 🟣 🟣 🟣 Your tests are running.
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/10631847104>
> Commit: 1eaad316f8da84f0e99b92842f1dddc177d252c5
> Workflow: `PR Automation test suite`
> Tags: `@tag.Sanity`
> Spec: ``
> <hr>Fri, 30 Aug 2024 11:26:34 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Enhanced user information handling for improved privacy in the
application.
- Anonymous users will no longer have their usernames processed,
ensuring greater data protection.

- **Bug Fixes**
- Refined logic for extracting user information to prevent exposure of
sensitive data.

- **Documentation**
- Updated comments and documentation to reflect changes in user data
handling and privacy measures.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-30 11:52:07 +00:00
Valera Melnikov
c42e0317de
fix: change appsmith alias (#35349)
In order to unify package names, we decided to use `@appsmith` prefix as
a marker to indicate that packages belong to our codebase and that these
packages are developed internally. So that we can use this prefix, we
need to rename the alias of the same name. But since `@appsmith` is
currently being used as an alias for `ee` folder, we have to rename the
alias as the first step.

Related discussion
https://theappsmith.slack.com/archives/CPG2ZTXEY/p1722516279126329

EE PR — https://github.com/appsmithorg/appsmith-ee/pull/4801

## Automation

/ok-to-test tags="@tag.All"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10267368821>
> Commit: 2b00af2d257e4d4304db0a80072afef7513de6be
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10267368821&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Tue, 06 Aug 2024 14:24:22 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
2024-08-06 17:52:22 +03:00
Ankit Srivastava
5a52d57486
fix: send empty license key to intercom for CE (#23149)
Sending licence key to intercom after consent is given. For CE users,
sending license key as empty string.
The consent popup is not required for cloud hosting users.

#### Type of change
- Bug fix (non-breaking change which fixes an issue)
>
>
#### Fixes https://github.com/appsmithorg/cloud-services/issues/810
>
>
## Testing
>
#### How Has This Been Tested?
- [ ] Manual
>
>
#### Test Plan
> Add Testsmith test cases links that relate to this PR
>
>
#### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
>
>
>
## Checklist:
#### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Test-plan-implementation#speedbreaker-features-to-consider-for-every-change)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans/_edit#areas-of-interest)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-05-15 16:48:34 +05:30
Ankit Srivastava
065122025b
feat: added intercom consent (one time consent) in CE (#22678)
Context: currently, there is no way for us to know any details about a
user when they reach out to support via Intercom. Thus, we are not able
to offer right level of support to them basis their current plan.

The idea is to ask for consent to share user details with Appsmith
before Intercom is enabled for a user, basis which support can determine
the right level of support.


Fixes #22385 


Media
https://www.loom.com/share/ab63bb4d738445e8a8a484b66d8c1fa6


## Type of change
- New feature (non-breaking change which adds functionality)


## How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Provide
instructions, so we can reproduce.
> Please also list any relevant details for your test configuration.
> Delete anything that is not important

- Manual

### 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
2023-04-29 01:30:15 +05:30
Ivan Akulov
424d2f6965
chore: upgrade to prettier v2 + enforce import types (#21013)Co-authored-by: Satish Gandham <hello@satishgandham.com> Co-authored-by: Satish Gandham <satish.iitg@gmail.com>
## Description

This PR upgrades Prettier to v2 + enforces TypeScript’s [`import
type`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html#type-only-imports-and-export)
syntax where applicable. It’s submitted as a separate PR so we can merge
it easily.

As a part of this PR, we reformat the codebase heavily:
- add `import type` everywhere where it’s required, and
- re-format the code to account for Prettier 2’s breaking changes:
https://prettier.io/blog/2020/03/21/2.0.0.html#breaking-changes

This PR is submitted against `release` to make sure all new code by team
members will adhere to new formatting standards, and we’ll have fewer
conflicts when merging `bundle-optimizations` into `release`. (I’ll
merge `release` back into `bundle-optimizations` once this PR is
merged.)

### Why is this needed?

This PR is needed because, for the Lodash optimization from
7cbb12af88,
we need to use `import type`. Otherwise, `babel-plugin-lodash` complains
that `LoDashStatic` is not a lodash function.

However, just using `import type` in the current codebase will give you
this:

<img width="962" alt="Screenshot 2023-03-08 at 17 45 59"
src="https://user-images.githubusercontent.com/2953267/223775744-407afa0c-e8b9-44a1-90f9-b879348da57f.png">

That’s because Prettier 1 can’t parse `import type` at all. To parse it,
we need to upgrade to Prettier 2.

### Why enforce `import type`?

Apart from just enabling `import type` support, this PR enforces
specifying `import type` everywhere it’s needed. (Developers will get
immediate TypeScript and ESLint errors when they forget to do so.)

I’m doing this because I believe `import type` improves DX and makes
refactorings easier.

Let’s say you had a few imports like below. Can you tell which of these
imports will increase the bundle size? (Tip: it’s not all of them!)

```ts
// app/client/src/workers/Linting/utils.ts
import { Position } from "codemirror";
import { LintError as JSHintError, LintOptions } from "jshint";
import { get, isEmpty, isNumber, keys, last, set } from "lodash";
```

It’s pretty hard, right?

What about now?

```ts
// app/client/src/workers/Linting/utils.ts
import type { Position } from "codemirror";
import type { LintError as JSHintError, LintOptions } from "jshint";
import { get, isEmpty, isNumber, keys, last, set } from "lodash";
```

Now, it’s clear that only `lodash` will be bundled.

This helps developers to see which imports are problematic, but it
_also_ helps with refactorings. Now, if you want to see where
`codemirror` is bundled, you can just grep for `import \{.*\} from
"codemirror"` – and you won’t get any type-only imports.

This also helps (some) bundlers. Upon transpiling, TypeScript erases
type-only imports completely. In some environment (not ours), this makes
the bundle smaller, as the bundler doesn’t need to bundle type-only
imports anymore.

## Type of change

- Chore (housekeeping or task changes that don't impact user perception)


## How Has This Been Tested?

This was tested to not break the build.

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Satish Gandham <hello@satishgandham.com>
Co-authored-by: Satish Gandham <satish.iitg@gmail.com>
2023-03-16 17:11:47 +05:30
Rishabh Saxena
acf01995bd
chore: git sync cypress tests (#10006)
* 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>
2022-02-25 06:13:16 +00:00