Commit Graph

20 Commits

Author SHA1 Message Date
Hetu Nandu
742ec95687
fix: Version update user analytics (#25396)
Collects more info about how users are updating their app to help us
understand the effectiveness of current update prompts

fixes #24962
2023-07-18 08:50:27 +05:30
Shrikant Sharat Kandula
afb763204a
chore: Remove login and signup related env variables from client (#22891)
Remove form login and form signup env variables from client, and get
this information, tenant-specific, from the server.
2023-05-16 14:34:48 +05:30
Ivan Akulov
2a9eb75f51
fix: ensure the code doesn’t crash in the worker environment (#23238)
Co-authored-by: Satish Gandham <hello@satishgandham.com>
2023-05-12 12:54:11 +05:30
Shrikant Sharat Kandula
7558df366e
chore: Remove OAuth env variables from client (#20660)
Client will get supported OAuth list from the tenant API, instead of
from injected env variables like `APPSMITH_OAUTH2_GOOGLE_CLIENT_ID`.

This is a step towards moving OAuth configuration out of env variables
completely, and into the backend database, so their configuration can be
tenant-wide, instead of instance-wide.
2023-04-30 11:52:42 +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
Sangeeth Sivan
32e9f0d0db
chore: add pricing url and customer portal url to env var (#21346) 2023-03-15 15:33:27 +05:30
Shrikant Sharat Kandula
12cf30687f
fix: Remove extra event and old disable var (#20624)
1. Remove the `disableTelemetry` app config field, and the
`APPSMITH_DISABLE_TELEMETRY` runtime env variable in client, since it is
unused and is misleading.

2. There's a bug where the page event is being sent even if telemetry is
turned off. This is just one event, all the others are still disabled
when telemetry is off. The reason for this is because Segment
automatically sends this event on load. Quoting from [their
docs](https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/#page):
> Analytics.js includes a Page call by default as the final line in [the
Analytics.js
snippet](https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/quickstart/#step-2-copy-the-segment-snippet).
2023-02-15 19:16:04 +05:30
Shrikant Sharat Kandula
bb4ca19179
chore: Remove Maps API Key env variable for client (#19486)
Part of #11855.

Instead of getting the Google Maps API Key from runtime env variables,
we get it from the server, as part of the response of
`/api/v1/tenant/current`. This doesn't add a database call, just include
the env variable name in the response, so shouldn't have any performance
impact on the API.

On the client though, the Maps API key won't be available, until at
least the first call to `/tenant/current` is finished.

Also, first big PR in client code. 🙂

Edit: not `/me` anymore, but from `/tenant/current`.

---------

Co-authored-by: Pawan Kumar <pawan.stardust@gmail.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-02-07 14:53:15 +05:30
akash-codemonk
f669954873
chore: update omnibar to work with docusaurus site (#18146)
Fixes #17501 

New index will be used once the algolia keys are updated https://github.com/appsmithorg/keys/pull/10

## Description

- Update algolia index name and keys. 
- Removed [app/client/gitbook-algolia-lambda.js](https://github.com/appsmithorg/appsmith/pull/18146/files#diff-cd4ea8ae515ff25aaad99dc86059b65cc9b67edcde4eb261e1e456497b6957d3). It is being replaced by [website/omnibar-algolia-index.js](https://github.com/appsmithorg/appsmith-docs/pull/564/files#diff-a3f32686fd88fe5556e1dec268d0fa72ddd30a7ca05af48e2d55f1a811acd2c0). 
- Fixes video and list styles of content shown in the omnibar. 
- Videos on docs.appsmith.com are wrapped in a `videoembed` tag so have updated the regex for the same. 
- Image urls also sometimes include algolia highlight tags which makes the url invalid have removed the same 
https://github.com/appsmithorg/appsmith/pull/18146/files#diff-0e7cdbf77157af62f50ece962a8d4e381b2c070c2453123e8a713298f9640e25R126.
- Docusaurus https://docusaurus.io/docs/markdown-features/admonitions have a different syntax have updated the regex to parse the same. https://github.com/appsmithorg/appsmith/pull/18146/files#diff-0e7cdbf77157af62f50ece962a8d4e381b2c070c2453123e8a713298f9640e25R154

TLDR
Make omnibar work with the new docs site.

## How Has This Been Tested?

- Manual

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

### Issues raised during DP testing
https://github.com/appsmithorg/appsmith/issues/17501#issuecomment-1307043824

## 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
2022-11-21 08:25:33 +00:00
Abhinav Jha
e6b89d03aa
Sandboxed iFrames with srcDoc (#11426)
Change iFrame widgets to use sandbox mode if srcDoc is provided
Allowed options:
`allow-forms allow-modals allow-orientation-lock allow-pointer-lock allow-popups allow-scripts allow-top-navigation-by-user-activation`

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2022-10-04 15:20:45 +05:30
Arpit Mohan
037efacbf3
fix: Display community edition along with version (#16341)
## 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
2022-08-27 15:10:03 +05:30
Pawan Kumar
a5733da363
fix: Cypress tests for admin settings's watermark setting (#15760) 2022-08-11 17:35:08 +02:00
Hetu Nandu
887832d29a
refactor: deprecate commenting and notifications (#15484) 2022-08-03 12:32:49 +05:30
Pawan Kumar
bae0b75583
feat: Code-split for admin setting for toggling appsmith watermark (#15036)
* create checkbox

* code split for hiding branding badge

* code split for hiding branding badge

* code review feedback fixes

* rename auth to upgrade button

* update mobile branding badge

* change label

* minor refactor

* minor updates

* add a cypress tests to check if watermark setting contains a upgrade button
2022-07-28 14:08:37 +05:30
Ankita Kinger
af5483c7c4
fix: Style values of the page and default value for telemetry (#11640) 2022-03-07 11:36:34 +05:30
Ankita Kinger
1688757bc6
fix: Signup text update & code optimisation (#11606)
* text change for signup admin settings & code optimized

* minor change
2022-03-04 11:56:12 +05:30
Ankita Kinger
13fe125a0c
feat: Add disconnect button on auth config pages and form login callout banner (#11389)
* added form login callout banner

* form login config page changes

* form login config page changes

* added redirecturl and uneditable field components

* added disconnect button on auth pages

* Added env variables for form login auth page

* added disconnect button on auth pages

* updated docs link for dform login callout doc

* added condition for disconnect button

* added ce changes done on ee

* updated css

* suggested changes in PR review

* suggested changes in PR review

* suggested changes in PR review

* reverted gitignore files changes

* reverted gitignore files changes

* updated logic for saving admin settings

* removed unused imports

* added changes for taginput field

* removed console

* removed warning

* removed unwanted changes
2022-03-02 23:48:50 +05:30
Abhinav Jha
938edd5284
chore: Remove old way of adding feature flags (#11213)
* Remove optimizely, as it isn't being used anymore from the frontend codebase

* Remove optimizely references form netlify config, vercel config, index.html, docker script, nginx templates and example .env file
2022-02-16 19:57:58 +05:30
Ankita Kinger
1c8d804d88 added config for signup disabling 2022-02-07 20:48:44 +05:30
Pranav Kanade
82cbf718d0
refactor: code splitting to support third party sso/oidc in EE (#10201)
* 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
2022-01-07 11:38:17 +05:30