Commit Graph

117 Commits

Author SHA1 Message Date
Hetu Nandu
22688f994f
chore: AppIDE Folder Structure (#39165)
## Description

Updates the folder structure and file breakup according to the new IDE
folder structure

Fixes #39048
Fixes #39049
Fixes #39051


## 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/13352717132>
> Commit: 54cd1a3b4679ae8bd0687ddb063692a26be1d7b9
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13352717132&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Sun, 16 Feb 2025 08:44:30 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
2025-02-17 10:34:23 +03:00
Diljit
6505dae680
chore: add grafana faro sdk (CE) (#38301)
## Description
- Remove new relic browser agent
- Add faro sdk to capture frontend perf metrics and traces.

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  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12490844984>
> Commit: c9d4264027467bf33e1de519eb69c7762b6e7f75
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12490844984&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 25 Dec 2024 09:33:26 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **New Features**
- Introduced new environment variable `APPSMITH_HOSTNAME` for dynamic
hostname configuration in HTML files.
- Enhanced telemetry capabilities with new imports and updated types for
better observability.
- Added `tracingUrl` under the observability section in configuration
files for improved telemetry tracking.

- **Bug Fixes**
- Adjusted telemetry data handling to utilize new `Attributes` type for
improved consistency.

- **Documentation**
- Updated import paths for various telemetry-related components to
reflect new module organization.

- **Chores**
- Removed deprecated telemetry configurations and streamlined build
processes.
	- Updated Nginx configuration to reflect new telemetry parameters.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-26 10:37:41 +05:30
Hetu Nandu
4a91204e4d
chore: Analytics util refactor (#38089) 2024-12-19 17:46:22 +05:30
Shrikant Sharat Kandula
381dcaaf8a
chore: Include version in all requests (#37551)
We're adding `x-appsmith-version` to every request from the client. If
server sees a request with a `x-appsmith-version` that doesn't match its
own, it rejects. If the server sees a request _without_ any
`x-appsmith-version` header, we don't reject it... for now.

On the client, when server responds with the "version mismatch" error,
we trigger the "There's a new version, please refresh" toast UI flow.

This is a step towards removing our dependency on websockets and
client&mdash;RTS connection.

## Automation

/test sanity

### 🔍 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/12029721517>
> Commit: c4321f7addb2be9c0ca6a7fe64308f13f931a1c8
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12029721517&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Tue, 26 Nov 2024 12:28:32 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Release Notes

- **New Features**
- Introduced a custom header for API requests to include application
version.
- Added specific error handling for 400 Bad Request errors, enhancing
user feedback on version mismatches.

- **Improvements**
- Enhanced error handling for version mismatches, providing clearer
error messages.
- Simplified version update handling, focusing on logging and user
prompts without state management.
- Improved default handling for application version configuration to
prevent undefined values.

- **Chores**
- Removed outdated version state management functions to streamline
code.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Pawan Kumar <pawan@appsmith.com>
2024-11-27 12:58:28 +05:30
Shrikant Sharat Kandula
c9ddd9c765
chore: Remove CS URL in client (#37665)
The server should be the source of truth and owner for the current CS
URL, and the client having direct access to the CS URL is (almost) an
abstraction leak. We're using it on client for one purpose only, to
redirect to CS for Google sheets authorization. That's just as well
achieved with another redirect via the server.

This PR does that redirection and removes access to the CS URL to the
client code. Not used anywhere else, and shouldn't be needed.


## Automation

/test sanity datasource

### 🔍 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/12029489682>
> Commit: 0a1937e7d5d492c7c6a98bde124a157663126ac1
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12029489682&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.Datasource`
> Spec:
> <hr>Tue, 26 Nov 2024 12:21:11 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Release Notes

- **New Features**
	- Enhanced CI workflow with improved error handling and logging.
- Added a new authorization redirection endpoint in the SaaS controller.

- **Improvements**
	- Database URL validation step added to CI tests.
	- Artifact management for test results has been clarified and improved.
- Removal of `cloudServicesBaseUrl` from various configurations to
streamline cloud service integration.

- **Bug Fixes**
	- Refined logic for rerunning tests based on previous results.

These updates contribute to a more robust and efficient testing and
configuration environment.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-11-27 10:32:35 +05:30
Shrikant Sharat Kandula
7c66c07805
chore: Remove Algolia, we don't use it anymore (#37664)
## Automation

/test sanity

### 🔍 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/11987511676>
> Commit: 22f0a6fc7c916a948cdd1ec98183f0113d485d90
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11987511676&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Sat, 23 Nov 2024 14:45:28 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

## Release Notes

- **Chores**
- Removed Algolia Search configuration from various files, including
environment variables and configuration scripts.
  
- **Refactor**
- Simplified search-related components and utility functions by removing
Algolia dependencies, enhancing clarity and usability.
  
- **Bug Fixes**
- Adjusted search item type handling to improve type safety and reduce
complexity.

These updates streamline the application by eliminating unnecessary
dependencies and refining existing functionalities.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-23 21:38:04 +05:30
Nidhi
27bdeb92b6
chore: Distributed tracing for client (#37101) 2024-10-29 11:25:43 +05:30
Hetu Nandu
6a1441f617
chore: Prep work for adding Mixpanel session recording (#36895) 2024-10-16 13:49:09 +05:30
Diljit
b1aca5d502
chore: add reo client sdk to index.html (#36408)
## Description
Add Reo client sdk

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.Sanity"

### 🔍 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/10935820624>
> Commit: 272e10efc33086ef5a30e19b65e197cabc7f4559
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10935820624&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Thu, 19 Sep 2024 07:12:17 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**
- Integrated Reo services into the application, enabling enhanced
functionality.
- Dynamic loading of the Reo JavaScript SDK based on configuration
settings.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-09-20 10:51:45 +05:30
Shrikant Sharat Kandula
7a50b9095f
chore: Local Caddy support (#31325)
Replaces NGINX for local dev with Caddy.

The advandage here is that the script that generates `Caddyfile` at
runtime on production deployments, is also used to generate the
`Caddyfile` at local development. This reduces the local--production
gap.

/ok-to-test tags="@tag.Sanity"
2024-04-19 06:38:01 +05:30
Rajat Agrawal
536c26decb
chore: Remove unused environment variable (#32520)
## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._

This PR removes unused environment variable

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.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]  
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8613707077>
> Commit: `f86cfafda68bc6281dc3f7f431f4756d5f0c61af`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8613707077&attempt=1"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉

<!-- end of auto-generated comment: Cypress test results  -->
2024-04-14 10:38:33 +05:30
Rajat Agrawal
021b4177ea
chore: Fix bugs in logic for capturing web vitals for client (#32371)
## Description

This PR fixes logic to capture traces only when both end time and start
time are available for a span. The hypothesis is that if a span is
captured but its end time is missing, new relic will add current time as
end time. This end time may be added after a few minutes.

This is skewing the metrics for evaluation traces.

The PR also does refactor of the traces code for general better
readability.

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.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]  
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8612102498>
> Commit: `64b79261b44cc96c16429bf043565cc92d9d7992`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8612102498&attempt=1"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉

<!-- end of auto-generated comment: Cypress test results  -->














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

## Summary by CodeRabbit

- **Refactor**
- Unified span creation for telemetry with improved parameter handling
and attribute management.
- Enhanced span timing and nesting logic for better performance
tracking.
- **Chores**
- Simplified telemetry tracing logic across various modules by
standardizing the use of new span management functions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-09 14:25:46 +05:30
Vemparala Surya Vamsi
b7be2e3b6e
chore: Initiate execution of google.api script at editor level (#30837)
## Description
Earlier we were executing the google.api script quiet early during page
load for every route. We have now initiated as lazily as possible at the
datasource editor component level.

#### PR fixes following issue(s)
Fixes #30656

#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)
#### How Has This Been Tested?
- [x] Manual
- [ ] JUnit
- [ ] Jest
- [x] 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
- [ ] 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#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


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

- **New Features**
- Introduced dynamic loading of the Google API script to enhance
application configuration flexibility.
- **Refactor**
- Removed static Google APIs JavaScript library loading from
`index.html`.
	- Enhanced `DatasourcesSagas` with new Google API execution logic.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-02-08 15:17:19 +05:30
Shrikant Sharat Kandula
67c444e2a5
chore: Show commit SHA instead of SNAPSHOT version (#30850)
Show the commit SHA in the version popup, instead of a snapshot version
number like `v1.11-SNAPSHOT`. But if the version number doesn't have a
`-SNAPSHOT` at the end, we show the version number as is. So if it's
`v1.12`, we show that instead of the commit SHA.


![shot-2024-02-02-02-09-14](https://github.com/appsmithorg/appsmith/assets/120119/c0fe70f7-5c49-4191-8cb8-262e6c7710bc)
2024-02-02 09:52:34 +05:30
Shrikant Sharat Kandula
92993cccef
chore: Remove unused services (#30292)
I've been doing this in pieces bit by bit, not to rock the boat too much
too fast, but it's taking too long, and too much effort. Instead opting
for a rip-the-bandaid style, hopefully without the pain.
2024-01-23 05:43:16 +05:30
Shrikant Sharat Kandula
cb37369f45
chore: remove unused APPSMITH_TNC_PP env variable (#30288) 2024-01-16 09:59:06 +05:30
Vemparala Surya Vamsi
2f6f824efc
chore: frontend and backend telemetry updates for execute flow #28800 and #28805 (#28936)
## Description
1. Added frontend and backend custom OTLP telemetry to track execute
flow
2. Updated end vars in client side code to match with server sdk
intialisation code.

#### PR fixes following issue(s)
Fixes #28800 and #28805

#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)

#### How Has This Been Tested?
- [x] Manual
- [ ] JUnit
- [ ] 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
- [ ] 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#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-11-24 13:09:02 +05:30
Vemparala Surya Vamsi
7aa1c98efe
chore: added new relic OTLP exporter (#28480)
## Description
- Added new relic OTLP exporter to export eval traces, click event and
api calls.
- Conditionally loading both browser agent and OTLP scripts based on env
variables.

#### PR fixes following issue(s)
Fixes #28504 and #28506

#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)

#### How Has This Been Tested?
- [x] Manual
- [ ] JUnit
- [ ] 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
- [ ] 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/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#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-11-06 15:05:17 +05:30
Vemparala Surya Vamsi
767e17a220
chore: Exporting basic frontend telemetrics to new relic (#28436)
## Description
Exporting release frontend tele-metrics to new relic.
#### PR fixes following issue(s)

Fixes #28445
#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)
## Testing
>
#### How Has This Been Tested?
- [x] Manual
- [ ] JUnit
- [ ] 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#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-10-30 10:12:47 +05:30
Ayangade Adeoluwa
0b4474f589
fix: googleapi script loading for import apps (#26708)
Import Apps is being done at the application level, but google api
script import was being done in Editor page level hence, google api
script is not being loaded, which has broken import-app flow for google
sheets on production. This PR fixes that.
2023-08-29 20:27:23 +01:00
Ayangade Adeoluwa
63854284f5
feat: Disable gsheets api load for airgapped instance (#26484)
Google sheet file picker library should not be loaded for airgapped
instance. This PR ensures that.
2023-08-23 12:07:46 +01:00
Hetu Nandu
eebe344ec4 Revert "fix: Refactor faster page loads (#25983)"
This reverts commit db82cca253.
2023-08-11 17:24:26 +05:30
Hetu Nandu
db82cca253
fix: Refactor faster page loads (#25983)
## Description
Improve page loads by removing the blocking calls of user and tenant
information. These calls were called before any other routes would load
and that would increase the time taken for other subsequent calls.

Reasons it was needed for 
1. Branding info comes from tenant api call. This being executed later
would cause flashing of colours if branding is updated
2. Licence info comes from tenant api call. A check is needed for
licence validity and show appropriate screens instead of the app for
users
3. User info was needed to show the correct admin settings to the user

We are going to mitigate dependency 1 and 2 by hiding the ui by making
the opacity to 0 till the responses are not received. This will ensure
users don't see the screen, yet the JS is being loaded efficiently and
api calls are done earlier.
We will move the admin settings dependency to the route itself so that
other routes do not delay because of this change

#### PR fixes following issue(s)
Fixes #25586

#### Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video
>
>
#### Type of change

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

## Testing

#### How Has This Been Tested?
Needs regression testing on EE with admin settings, branding and licence
checks
Page loads on CE and EE

- [x] Manual
- [ ] Cypress

#### Test Plan
EE:
- [ ] admin settings
- [ ] branding
- [ ] licence checks
- [ ] Page loads

CE
- [x] admin settings
- [x] Page loads
>
#### Issues raised during DP testing
No issues found during DP (CE) Testing

## 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#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-08-11 13:30:46 +05:30
Ivan Akulov
bc0426dad2
perf: prioritize the main bundle over preloads (v2) (#24374) 2023-06-22 10:58:10 +05:30
Satish Gandham
5dc255d682
chore: Move zippy setup after the script injection. (#23978)
Co-authored-by: Satish Gandham <hello@satishgandham.com>
2023-06-02 14:00:56 +05:30
Satish Gandham
1ea35a6c04
chore: CDN related changes (#23882)
Co-authored-by: Satish Gandham <hello@satishgandham.com>
2023-06-02 11:38:45 +05:30
albinAppsmith
629999f124
feat: [epic] appsmith design system version 2 deduplication (#22030)
## Description

### Fixes
- [x] https://github.com/appsmithorg/appsmith/issues/19383
- [x] https://github.com/appsmithorg/appsmith/issues/19384
- [x] https://github.com/appsmithorg/appsmith/issues/19385
- [x] https://github.com/appsmithorg/appsmith/issues/19386
- [x] https://github.com/appsmithorg/appsmith/issues/19387
- [x] https://github.com/appsmithorg/appsmith/issues/19388
- [x] https://github.com/appsmithorg/appsmith/issues/19389
- [x] https://github.com/appsmithorg/appsmith/issues/19390
- [x] https://github.com/appsmithorg/appsmith/issues/19391
- [x] https://github.com/appsmithorg/appsmith/issues/19392
- [x] https://github.com/appsmithorg/appsmith/issues/19393
- [x] https://github.com/appsmithorg/appsmith/issues/19394
- [x] https://github.com/appsmithorg/appsmith/issues/19395
- [x] https://github.com/appsmithorg/appsmith/issues/19396
- [x] https://github.com/appsmithorg/appsmith/issues/19397
- [x] https://github.com/appsmithorg/appsmith/issues/19398
- [x] https://github.com/appsmithorg/appsmith/issues/19399
- [x] https://github.com/appsmithorg/appsmith/issues/19400
- [x] https://github.com/appsmithorg/appsmith/issues/19401
- [x] https://github.com/appsmithorg/appsmith/issues/19402
- [x] https://github.com/appsmithorg/appsmith/issues/19403
- [x] https://github.com/appsmithorg/appsmith/issues/19404
- [x] https://github.com/appsmithorg/appsmith/issues/19405
- [x] https://github.com/appsmithorg/appsmith/issues/19406
- [x] https://github.com/appsmithorg/appsmith/issues/19407
- [x] https://github.com/appsmithorg/appsmith/issues/19408
- [x] https://github.com/appsmithorg/appsmith/issues/19409

Fixes # (issue)
> if no issue exists, please create an issue and ask the maintainers
about this first


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## 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)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update


## 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
- 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
- [ ] 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

---------

Co-authored-by: Ankita Kinger <ankita@appsmith.com>
Co-authored-by: akash-codemonk <67054171+akash-codemonk@users.noreply.github.com>
Co-authored-by: Tanvi Bhakta <tanvi@appsmith.com>
Co-authored-by: Arsalan <arsalanyaldram0211@outlook.com>
Co-authored-by: Aman Agarwal <aman@appsmith.com>
Co-authored-by: Rohit Agarwal <rohit_agarwal@live.in>
Co-authored-by: Nilesh Sarupriya <nilesh@appsmith.com>
Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
Co-authored-by: Tanvi Bhakta <tanvibhakta@gmail.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
Co-authored-by: Vijetha-Kaja <vijetha@appsmith.com>
Co-authored-by: Parthvi <80334441+Parthvi12@users.noreply.github.com>
Co-authored-by: Apple <nandan@thinkify.io>
Co-authored-by: Saroj <43822041+sarojsarab@users.noreply.github.com>
Co-authored-by: Sangeeth Sivan <74818788+berzerkeer@users.noreply.github.com>
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: Aishwarya-U-R <91450662+Aishwarya-U-R@users.noreply.github.com>
Co-authored-by: rahulramesha <rahul@appsmith.com>
Co-authored-by: Aswath K <aswath.sana@gmail.com>
Co-authored-by: Preet Sidhu <preetsidhu.bits@gmail.com>
Co-authored-by: Vijetha-Kaja <119562824+Vijetha-Kaja@users.noreply.github.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2023-05-20 00:07:06 +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
Satish Gandham
83538ad74d
feat: Bundle optimization and first load improvements (#21667)
Co-authored-by: Ivan Akulov <mail@iamakulov.com>
Co-authored-by: Satish Gandham <hello@satishgandham.com>
Co-authored-by: Ivan Akulov <iamakulov@outlook.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: somangshu <somangshu.goswami1508@gmail.com>
2023-05-11 10:56:03 +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
sneha122
5849cc0141
fix: gapi script not loaded error handling (#22624)
## Description

This PR adds:
- When google apis script, that is responsible for loading the file
picker, is not fetched over the network due to any reason, then we need
to show appropriate error message of authorisation failed to the user.
This PR handles that case

> Add a TL;DR when description is extra long (helps content team)

Fixes #20874 

Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

- Bug fix (non-breaking change which fixes an issue)


## 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
- [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
- [ ] 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
- [x] 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: “sneha122” <“sneha@appsmith.com”>
2023-04-27 11:54:38 +05:30
sneha122
43e7a00db0
fix: filepicker not showing in firefox issue fixed (#21257)
## Description

This PR fixes issue of file picker not showing up in firefox, The issue
occurred because the function being triggered on script load
`gapiLoaded`, was defined in a script that would load after `gapi`. Even
though `gapi` is being loaded asynchronously, in case of firefox when
using with windows OS, it would load before the script which had onload
function defined. This PR fixes the issue by defining onload function in
a script that loads before `gapi`

> Add a TL;DR when description is extra long (helps content team)

Fixes #21033 
> if no issue exists, please create an issue and ask the maintainers
about this first


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

- Bug fix (non-breaking change which fixes an issue)


## 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
- [x] 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
- [x] 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: “sneha122” <“sneha@appsmith.com”>
2023-03-15 16:33:14 +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
sneha122
0f838535c3
feat: file picker added and access token generation (#20778)
## Description

This PR includes following changes:

- In case of limiting google sheet access project, when user selects specific sheets as an option, they should be shown file picker UI once the authorisation is complete, In this file picker UI, users can select the google sheet files that they want to use with appsmith application and allow access to only those files.
- This PR contains the changes for file picker UI and updating datasource auth state based on the files selected by user.


TL;DR
Steps to test this PR:

- Create Google Sheet datasource
- In the datasource config form, select specific sheets as an option from the scope dropdown.
- Click on save and authorise
- This will take you to google oauth process

<img width="467" alt="Screenshot 2023-02-20 at 1 24 24 PM" src="https://user-images.githubusercontent.com/30018882/220045493-57b0ca6c-3f08-4963-af55-d603cf79bc43.png">

- Select the google account
- This will take you to google oauth2 consent screen

<img width="451" alt="Screenshot 2023-02-20 at 1 24 55 PM" src="https://user-images.githubusercontent.com/30018882/220045641-9f70dd29-6664-489a-b77b-df65445491df.png">

- Click on allow for all requested permissions
- This will take you back to appsmith's datasource config page in view mode and load the file picker UI
<img width="425" alt="Screenshot 2023-02-20 at 1 25 47 PM" src="https://user-images.githubusercontent.com/30018882/220045828-8b3e3e46-4ddc-4e30-b2f8-f12865395817.png">
- Select the files that you want to share with appsmith app
- Click on select
- You should see the new query button in enabled state, as datasource authorisation is complete

<img width="800" alt="Screenshot 2023-02-20 at 1 27 28 PM" src="https://user-images.githubusercontent.com/30018882/220046131-6ce99a85-cddc-4529-ae45-f9833aefd71b.png">

- In case you select cancel on google oauth2 consent screen, you should error message on datasource config page with new query button being disabled

<img width="810" alt="Screenshot 2023-02-20 at 1 28 49 PM" src="https://user-images.githubusercontent.com/30018882/220046385-6b8d636c-b517-44c3-a596-b52bc0084b94.png">

- In case you do give all the permissions but do not select any files in google file picker, then also you should see error message on datasource config page with new query button disabled.

Fixes #20163, #20290, #20160, #20162


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.

- New feature (non-breaking change which adds functionality)


## 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
- [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
- [ ] 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
- [x] 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: “sneha122” <“sneha@appsmith.com”>
2023-03-08 10:55:17 +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
balajisoundar
4c2cd98683
chore: Use rolling window in the usage pulse call and send segment anonymous id for anonymous users (#19552)
## Description
We have updated the user tracking to use a rolling window. Now the
session starts when the user goes to the builder or viewer for the first
time and the subsequent activity tracking will be checked only after an
hour.
For anonymous users, we send the Segment anonymous id in the usage
calls. When the telemetry is off, we still initiate the segment, get the
id and then purge the analytics global object.

Fixed window (in release, as of now)- if the user starts a session at
01:15 pm, we take 01:00 pm as the session start time and we will check
for the next user activity at 2:00 pm.

rolling window (in this PR) - if the user starts a session at 01:15 pm,
we take 01:15 pm as the session start time and we will check for the
next user activity at 2:15 pm.

Fixes https://github.com/appsmithorg/cloud-services/issues/183

## Type of change

- New feature (non-breaking change which adds functionality)


## How Has This Been Tested?

- Manual

### Test Plan

### 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
2023-01-10 17:39:33 +05:30
Pawan Kumar
d7e2c491e0
feat: Branding (#18717)
* add branding for ce

* add ce changes

* update colorpicker ux

* remove unsued flag

* Add new email templates

Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* add local appsmith logo

* code review feedback fixes + qa fixes

* remove forward slash in url of favicon

* fix message

* Fix tests

Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* update messages

* Fix tests (again)

Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* update messages

* fix cypress tests

* skipping app layout test cases

* fix cypress tests

* remove it.only

* try moving test

* use stable DS version

* remove __diff

Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-12-09 20:13:47 +05:30
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
Hetu Nandu
6db40c1a8e
feat: Static 404 page for chunk issue (#17168) 2022-09-30 11:57:29 +05:30
Hetu Nandu
16e62fb64f
feat: Fetch Appsmith version when browser tab comes on focus (#16153) 2022-09-01 14:17:29 +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
albinAppsmith
fcbcec751d
feat: Design System package & Tooltip integration (#14547)
* 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
2022-06-24 19:53:02 +05:30
Abhinav Jha
68065f8789
feat: activity logging (#12383)
* Add activity logging mechanism in client
2022-04-01 09:55:58 +00:00
Shrikant Sharat Kandula
1f66a6b870
chore: Remove Google Analytics (#11765) 2022-03-10 17:09:22 +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
arunvjn
fa7d0f6a9f
Added zipy.ai for analytics (#11411) 2022-02-25 08:58:03 +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
7861ce6915
feat: Add config to disable the form login (#10153)
* updated login/signup pages to use form login disabled config

* added env var config
2022-01-05 10:26:42 +05:30