## Description
- Implement Etag caching for consolidated api in view mode.
- Generate Etag for consolidated api in view mode
- compare the if none match header with the computed etag and respond
with either a 304 or 200
- add span for generate etag fn
- Remove prefetching and caching of static assets in service worker
```mermaid
sequenceDiagram
Client->>Server: Request Consolidated API
Server-->>Server: Compute ETag
Server-->>Client: Respond with ETag, Cache-Control
Client->>Server: Subsequent Request with If-None-Match
alt ETag Matches
Server-->>Client: 304 Not Modified
else ETag Different
Server-->>Client: Full Response with New ETag
end
```
## 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/13046610688>
> Commit: c14d58da8a59b3bbfb10c7e308b518d2cd8e3b7d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13046610688&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 30 Jan 2025 07:14:21 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
- **New Features**
- Added ETag support for consolidated API responses to improve caching
efficiency.
- Introduced a new route handler for the `/api/v1/consolidated-api/view`
endpoint.
- **Performance Improvements**
- Optimized NGINX configuration for API responses.
- Updated tracing endpoint for better monitoring.
- **Dependency Updates**
- Added Jackson datatype support for Java 8 date and time handling.
- **Technical Enhancements**
- Improved request handling in ConsolidatedAPIController.
- Updated service worker configuration.
- Refined feature flag handling in the client.
- Enhanced API request headers for consolidated page load functions.
- Simplified caching and routing logic in the service worker.
- Adjusted service worker caching strategy for production environment.
- Updated test specification path for Cypress limited tests.
- Modified request handling to remove unnecessary headers in feature
flag functions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Locator fixes for cy tests
- Missing saga for discard and merge
- New component for hot keys
Fixes https://github.com/appsmithorg/appsmith/issues/37821
Fixes https://github.com/appsmithorg/appsmith/issues/37822
Fixes https://github.com/appsmithorg/appsmith/issues/37824
## Automation
/ok-to-test tags="@tag.Git"
### 🔍 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/12649057943>
> Commit: 94c57d0a2398fca8e6cbb4be573586aa98dffbe1
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12649057943&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Tue, 07 Jan 2025 10:42:55 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
## Release Notes
- **New Features**
- Added repository limit error modal to handle scenarios when repository
limits are reached.
- Introduced Git hot keys for quick access to Git operations.
- Enhanced Git synchronization functionality with new merge and discard
change capabilities.
- Integrated feature flag handling in test suites for Git-related
functionalities.
- **Improvements**
- Standardized test identifiers across Git-related components.
- Refined Git modal interactions and state management.
- Updated locator references for more consistent testing.
- Improved user feedback with success notifications for branch
deletions.
- **Bug Fixes**
- Resolved issues with branch switching and URL handling.
- Improved error handling in Git synchronization processes.
- **Testing**
- Updated Cypress test suites with new feature flag interceptors.
- Enhanced test coverage for Git operations and modal interactions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR enabled IDE toolbar for cypress.
Fixes#37217
## 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/12115693818>
> Commit: f2af8705e91af400b3a80f6684cce7fb487f1ca3
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12115693818&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Mon, 02 Dec 2024 12:19:38 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
- **New Features**
- Introduced a new feature flag `release_actions_redesign_enabled` to
enhance user experience.
- **Bug Fixes**
- Updated method calls in various test cases to improve consistency and
reliability in interactions, specifically renaming methods related to
data sources and queries.
- Improved error handling and validation in tests for MongoDB query
functionalities.
- **Documentation**
- Enhanced test coverage and assertions for various functionalities,
including API actions, Google Sheets queries, and JavaScript function
execution.
- **Style**
- Updated CSS selectors for improved consistency and maintainability
across components and test cases.
- **Tests**
- Refactored multiple test cases to utilize new helper methods,
improving code clarity and reducing direct DOM manipulation.
- Enhanced visual tests for JSEditor and improved interaction with the
run button.
- Added new assertions and enhanced the structure of tests for various
components, including API response handling and widget interactions.
- Streamlined interaction with the settings toolbar in various test
cases by encapsulating functionality within the `PluginActionForm`
class.
- Introduced new `data-testid` attributes across various components to
enhance testability.
- **Chores**
- Removed unused imports and streamlined method calls for better
performance and readability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Removed all the occurrences of listed flags in the codebase:
1. ab_ds_binding_enabled
2. ab_ds_schema_enabled
3. ab_gsheet_schema_enabled
4. ab_learnability_discoverability_collapse_all_except_data_enabled
5. ab_learnability_ease_of_initial_use_enabled
6. ab_mock_mongo_schema_enabled
7. ab_start_with_data_default_enabled
8. rollout_js_enabled_one_click_binding_enabled
Fixes#36256
_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/11177173738>
> Commit: bfbf6bbe77b963c5d257c29cf5bac35139417a07
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11177173738&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Fri, 04 Oct 2024 10:31:10 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
## Summary by CodeRabbit
- **New Features**
- Enhanced test coverage for the Community Issues page, focusing on
pagination, search, filtering, and issue management.
- Improved functionality for adding new rows to table widgets, including
visibility controls and state validations.
- **Bug Fixes**
- Resolved issues related to the visibility of UI elements when adding
new rows and ensured accurate data reflection in the table.
- **Tests**
- Expanded tests for pagination, row selection, search functionality,
and filtering logic in table widgets.
- Added comprehensive assertions for client-side search and filtering
scenarios, including checks for modal visibility during issue
management.
- **Chores**
- Removed obsolete feature flags and streamlined logic for managing
feature flags across components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Fix for correctly intercepting Feature Flags in the testing env
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 -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8533833714>
> Commit: `e7a1bebf9feda3c92015907b73f9cdcd8bc806a7`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8533833714&attempt=2"
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**
- Optimized feature flag management for improved performance and
reliability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Removed feature flag related code to consolidated api, also corrections
in feature flags are made here.
Fixes#31100
## Automation
/ok-to-test tags="@tag.All"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/8490467344>
> Commit: `fce48b210983689994152b7ae77c773cfdca854a`
> Workflow: `PR Automation test suite`
> Tags: ``
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced new feature flags to enhance user interface and default
settings.
- **Refactor**
- Simplified page loading logic for better performance.
- Enhanced error handling and reporting for a smoother user experience.
- **Chores**
- Cleaned up unused imports and code for better maintainability.
- **Bug Fixes**
- Removed redundant checks and updated functionality to include new
feature flags.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- This PR re-writes the entire Text_With_Different_Size_spec.ts spec to
fix the master run flakyness and and improves the overall complexity of
the test case format
- cypress/e2e/Regression/ClientSide/Onboarding/StartFromScratch_spec.ts
(agHelper.VisitNAssert improved)
- Master runs pass at
[Run1](https://github.com/appsmithorg/appsmith-ee/pull/3337#issuecomment-1899183181),
[Run2](https://github.com/appsmithorg/appsmith-ee/pull/3337#issuecomment-1899197871)
- cypress/e2e/Regression/ClientSide/BugTests/AbortAction_Spec.ts (1st
test - replace with TED url)
- getConsolidatedDataApi() separated, created new
agHelper.CypressReload()
- Removed cy.log statements from few places
- homePage.LogOutviaAPI() removed static wait
- Replaced homePage.LogOutviaAPI(); with homePage.Signout(); in places
where its flaky
- Split /Onboarding/StartFromScratch_spec.ts to 3 specs to reduce
flakyness
- Split /ClientSide/PartialImportExport/PartialExport_Widgets_spec.ts
with failing test to run the other tests in CI
- /Templates/Fork_Template_To_App_spec.ts - Added dynamic check to fix
CI flakiness
- agHelper.AssertURL(), assertHelper.AssertDocumentReady() improved
- jsEditor.NavigateToNewJSEditor() improved
-
cypress/e2e/Regression/ClientSide/ExplorerTests/JSEditorContextMenu_Spec.ts
- jsEditor.ValidateDefaultJSObjProperties improved
- cypress/e2e/Regression/ServerSide/OnLoadTests/OnLoadActions_Spec.ts -
(3rd case - flaky fix)
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
#### How Has This Been Tested?
- [X] Cypress CI runs
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after changes were reviewed
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **Tests**
- Enhanced test flexibility by dynamically constructing API URLs.
- Improved test setup and flow in onboarding and regression suites.
- Added new test spec files for dynamic height, onboarding, bug tests,
login failure, and starting from scratch scenarios.
- **Refactor**
- Updated function calls and parameters across various test files for
consistency and efficiency.
- Removed redundant code and streamlined test actions.
- **Chores**
- Updated intercepted HTTP methods and added new utility functions to
support test operations.
- **Bug Fixes**
- Fixed issues related to element visibility assertions in test scripts.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- This PR fixes the RenameApplication flakyness in CI with added dynamic
check
- Also replacing js cy.renameApp to TS helper
- Flaky fixes -
cypress/e2e/Regression/ClientSide/Workspace/MemberRoles_Spec.ts (entire
spec updates for EnableGAC, removed signout from 'it' blocks)
- cypress/e2e/Regression/ClientSide/Workspace/ShareAppTests_Spec.ts (7th
flaky fixed)
-
cypress/e2e/Regression/ClientSide/SetProperty/WidgetPropertySetters2_spec.ts
(5th test)
-
cypress/e2e/Regression/ClientSide/Templates/Fork_Template_Existing_app_spec.js
(2nd - added validation to match the test description, 1st & 3rd -
removed static waits, Added multiple dynamic checks)
-
cypress/e2e/Regression/ClientSide/OtherUIFeatures/ApplicationURL_spec.js
(3rd & 4th flaky tests)
- homePage.AssertViewPageLoad() created
- homePage.LaunchAppFromAppHover() improved
- homePage.Signout() - added dynamic checks
- Added more validation to homePage.Signup() method with Dynamic checks
- homePage.LeaveWorkspace() removed redundant SelectWorkspace call
- admingSettings.EnableGAC() - added dynamic checks
- featureFlagIntercept - removed static sleep, reload check improved
- agHelper.VisitNAssert() - removed static sleep
- homePage.OpenMembersPageForWorkspace() - removed sleep, added dynamic
checks
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
#### How Has This Been Tested?
- [X] Cypress CI runs
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after Cypress tests were reviewed
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **Refactor**
- Enhanced Cypress test commands across multiple test suites for
improved efficiency and readability.
- Refactored conditional checks and method invocations for better test
scenario handling.
- **Tests**
- Updated testing approaches for application deployment, workspace
management, and error handling.
- Introduced new assertions for UI visibility and functional behavior in
automated tests.
- **Chores**
- Optimized GitHub Actions workflow by adjusting the matrix count for
build processes.
- Added new test specs for limited tests in the client-side regression
suite.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Reverted consolidated api changes and also some CE related changes to
make it compatible with EE.
#### PR fixes following issue(s)
Reverts #29650 & #29939
#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)
>
>
>
## Testing
#### How Has This Been Tested?
- [ ] 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
- [ ] 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
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Enhanced the reliability and efficiency of Cypress e2e tests by
adjusting wait conditions and assertions.
- Simplified network request handling across various test cases.
- Updated test logic to align with changes in application data structure
and network requests.
- **Tests**
- Improved test stability for application import/export, Git sync, page
load behavior, and widget interactions.
- Refined mobile responsiveness tests to accurately validate layout
conversions and autofill behaviors.
- **Chores**
- Removed deprecated feature flags and code related to consolidated page
load functionality.
- Cleaned up unused parameters and simplified action payloads in Redux
actions.
- **Documentation**
- Updated comments for clarity in test specifications.
- **Style**
- Adjusted code styling for consistency across test suites.
- **Bug Fixes**
- Fixed data retrieval logic in tests to ensure correct data extraction
from API responses.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Our objective in this pr is to improve the page load time of our
application by calling a consolidated-api which contains all the
resources to load our pages. This PR contains all the client side
changes to call the consolidated-api as well as feature flag related
changes.
Fixes#29650 & #29939
#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)
## Testing
>
#### 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
- [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
- [x] 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
- **Refactor**
- Updated network request aliases and response handling in end-to-end
tests.
- **New Features**
- Introduced a new API class `ConsolidatedPageLoadApi` for fetching
consolidated page load data.
- **Tests**
- Enhanced testing for application URL navigation and data retrieval.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR fixes the cypress failures introduced after editor pane
#### PR fixes following issue(s)
Fixes https://github.com/appsmithorg/appsmith/issues/29881
#### Type of change
- Bug fix (non-breaking change which fixes an issue)
## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [ ] 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
- [ ] 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
---------
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Updates the Cypress testing suite to handle the new app sidebar as a new
way to navigation
This change will enable the sidebar feature flag by default for all tests so that all new changes keep the sidebar in mind.
fixes: #28388
---------
Co-authored-by: albinAppsmith <87797149+albinAppsmith@users.noreply.github.com>
This change will stub the call to `users/features` to get the feature
flags. By default it will return an empty list and rely on the client
default flag list to enable/disable features