## Description
- Added separator before add button when it reaches the end and tabs
starts scrolling.
- Changed tabs bottom border color.
- Fixed tabs jumping effect while switching.
Fixes#33521
## Automation
/ok-to-test tags="@tag.Sanity, @tag.IDE"
### 🔍 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/9126293732>
> Commit: 8384629a70ce3b075d6aaff9a43d10041ddb5b98
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9126293732&attempt=1"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
## Description
In this spec, IA changes were required.
1. table version change ---
https://github.com/appsmithorg/appsmith/pull/29457
2. page related functionalities addition and replacement ie clone, hide
and show list to assert a page name
3. replaced as many as possible git related functionalities to gitSync
helpers
Link - **9th Spec** in
https://www.notion.so/appsmith/Cypress-tests-analysis-4090efa5e3064a2e87f262d3c399a339
**Phase 1**
EE - PR for runs -https://github.com/appsmithorg/appsmith-ee/pull/4140
EE run -- for Git and AccessControl tags
https://github.com/appsmithorg/appsmith-ee/actions/runs/9002744046
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=""
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!CAUTION]
> If you modify the content in this section, you are likely to disrupt
the CI result for your PR.
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
## Description
Solves scenarios where open tabs data was lost on page switches
Fixes#33032
Change the data structure of the tabs to now keep account different tabs
for each page instead of just one page at a time. Also removed tabs
state for focus retention.
Fixes#33045
Handles removing and navigating post move of JS and Queries to avoid
being in a bad state
## 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/9000257489>
> Commit: b39c8d7cca16ea739457f277290c29317317cef3
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9000257489&attempt=2"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
## Description
On route changes, the UI segment components were re-created (re mounted)
causing scrolls to reset. This was happening because of how we were
passing the Route Components inside the React Router `Route` .
By passing these componenets as children of routes instead of a prop
function, we avoid recreating the component on route changes and hence
avoiding the scroll to reset
Fixes#32995
## Automation
/ok-to-test tags="@tag.IDE, @tag.Widget"
### 🔍 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/8972146055>
> Commit: 05851e356bce32ae864d504c56ec07b59ab29a53
> Cypress dashboard: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8972146055&attempt=1&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank"> Click here!</a>
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Regression/ClientSide/Widgets/Button/ButtonGroup2_spec.ts
</ol>
> To know the list of identified flaky tests - <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">Refer here</a>
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
## Description
Updated the condition to prevent main JS function rename from entity
list
Fixes#32275
## Automation
/ok-to-test tags="@tag.Sanity, @tag.IDE"
### 🔍 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/8967754921>
> Commit: 9c3f85291a40460a4e7566ae7591308634c4048c
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8967754921&attempt=1"
target="_blank">Click here!</a>
<!-- 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: Hetu Nandu <hetu@appsmith.com>
## Description
Extracts certain building blocks for the IDE into common components to
introduce more reusability in implementation of IDE in other editors
This PR deals with the pages dropdown section only.
Fixes#33048
## 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/8919287328>
> Commit: 4d534b4e8df1f240a8f164089893aca8673553e3
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8919287328&attempt=2"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
## Description
Page and State switches would navigate to the last selected segment
which in turn would navigate to the last selected entity in that
segment. This was causing a split second delay showing the segment in a
loading / blank state till the entity navigation was processed. By
changing the navigation links, we will now navigate directly to the last
selected entity, avoiding multiple url changes and hence renders in
intermediate states
Fixes#31556
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Enhanced navigation and focus elements for improved user experience.
- **New Features**
- Streamlined focus management with a new key generation function in the
IDE.
- **Bug Fixes**
- Corrected issues in focus management logic for accurate page
navigation and entity selection.
- **Documentation**
- Simplified focus element usage instructions and removed outdated
references.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR will remove tabs revamp feature flag and make it available for
every users.
Fixes#32955
## Automation
/ok-to-test tags="@tag.Sanity, @tag.IDE"
### 🔍 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/8847166703>
> Commit: 7c27a28e1f73a8470543e453c7000d3d773116e9
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8847166703&attempt=1"
target="_blank">Click here!</a>
<!-- 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
- **Refactor**
- Removed the feature flag for the IDE tabs revamp, simplifying the
rendering logic and component behavior across various IDE components.
- Streamlined the handling of tabs in the IDE, eliminating conditional
feature flag checks and associated conditional rendering.
- Adjusted test suites to align with the removal of the feature flag,
ensuring consistency in component behavior testing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Adds a couple of props to alter the data displayed in the datasources
left pane to show the right count of entities using datasource. This
props are going to be used in Packages and Workflow editors datasources
page.
PR for https://github.com/appsmithorg/appsmith-ee/pull/4026
## Automation
/ok-to-test tags="@tag.IDE, @tag.Datasource, @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/8843287060>
> Commit: 66a5282be88c27fab11316bd136d88bc74de5d5b
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8843287060&attempt=1"
target="_blank">Click here!</a>
<!-- 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**
- Enhanced the `DataSidePane` to display the name and count of actions,
improving the informational context for users.
- Added a new selector function to calculate and display the count of
queries for each datasource in the app.
- Introduced a `DatasourceFactory` for generating mock datasource
objects for testing purposes.
- Expanded the list of plugin package names in the `MockPluginsState` to
include additional plugins like `MY_SQL`, `S3`, `SNOWFLAKE`,
`FIRESTORE`, `GRAPHQL`, `APPSMITH_AI`, `MS_SQL`, `ORACLE`, and
`WORKFLOW`.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
1. The `blockNavigation` parameter in request body isn't being used, so
removing it.
2. We're sending the page `id` in both the URL path as well as the
request body. This is confusing, and may lead to a security regression
in the future. Removing it from the body.
All tag Cypress tests pass on EE, with no extra changes over the diff
here.
Ref: https://github.com/appsmithorg/appsmith-ee/pull/3698
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced page creation process with streamlined parameters and
validation constraints.
- **Refactor**
- Simplified navigation and page creation logic in the application.
- Updated method parameters and logging to improve clarity and
maintainability.
- **Bug Fixes**
- Fixed the issue where unnecessary data was included in page update
requests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR removes the border below active tab.
Fixes#32941
## Automation
/ok-to-test tags="@tag.Sanity, @tag.IDE"
### 🔍 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/8828306289>
> Commit: d9391184efa8b7edb8c1676fc4682ff7a9cb83c7
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8828306289&attempt=1"
target="_blank">Click here!</a>
<!-- 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
- **Style**
- Updated the positioning of the `ScrollArea` in the IDE Editor tabs for
improved alignment.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR changes the system scrollbar of IDE tabs to custom scroll.
Fixes#32864
## Automation
/ok-to-test tags="@tag.Sanity, @tag.IDE"
### 🔍 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/8827982150>
> Commit: ece8003b8966f72f3a99ba8152d8441773566490
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8827982150&attempt=1"
target="_blank">Click here!</a>
<!-- 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**
- Enhanced the tab management in the IDE with a dynamic overflow setting
for better layout and usability.
- **Refactor**
- Improved naming and consistency in the split screen tabs component for
clearer code readability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
When the user does not have permission to edit a page, they should not
be shown the widget pane with widgets
Fixes#32708
## Automation
/ok-to-test tags="@tag.IDE, @tag.AccessControl"
### 🔍 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/8814962106>
> Commit: 113a1477b4cfb3727ad392b83633ba878c90188f
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8814962106&attempt=1"
target="_blank">Click here!</a>
<!-- 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**
- Enhanced security by implementing permission checks before rendering
widgets in the editor UI.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR has changed the logic of next item selection after deleting an
item or removing a tab.
The new logic is
1. If there is no more tabs left after removal of current item, navigate
to first item from all items list
2. If all items list is empty, navigate to add
3. If the removed tab is not currently selected, no redirection required
just close the tab
4. If removed tab is in 0th position, redirect to current tab + 1
5. if removed tab is not in 0th position, redirect to tab - 1
Fixes#32634
## Automation
/ok-to-test tags="@tag.Sanity, @tag.IDE"
### 🔍 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/8748435770>
> Commit: e3e9b51cc9a708fadf4d1b9f0e426b63e9f3c10a
> Cypress dashboard: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8748435770&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank"> Click here!</a>
> The following are new failures, please fix them before merging the PR:
<ol>
> <li>cypress/e2e/Regression/ClientSide/ExplorerTests/Hide_Page_spec.js
> <li>cypress/e2e/Regression/ClientSide/ExplorerTests/Page_Load_Spec.js
</ol>
> To know the list of identified flaky tests - <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">Refer here</a>
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Improved the closing functionality for JavaScript and query action
tabs in the IDE, enhancing user experience with smoother tab management.
- **Refactor**
- Aligned sagas and reducers with new action types for improved handling
of tab closures and entity redirects within the IDE.
- **Tests**
- Updated test cases to reflect changes in IDE saga functions and logic,
ensuring reliability and consistency in behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
1. The page names can accept any character except for `/`, backslash and
`:`. This is the validation that the server does now. This PR fixes the
regex that checks the page name to align with this.
2. When typing a character that's not allowed, we end up with a space at
the beginning or end of the page name, that doesn't really make sense,
and is confusing. Then we end up with trailing or leading spaces in the
page name, making the page name display look misaligned. This PR will
make it so that the disallowed characters just can't be typed, and just
don't make a difference in the page name.
3. We're also adding server-side validation for the icon slug.
[Slack
conversation](https://theappsmith.slack.com/archives/C03RPDB936Z/p1713161688607509).
/ok-to-test tags="@tag.Sanity"
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8746416301>
> Commit: 21e8d3a0060b9b4721b49149f307354b073332d7
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8746416301&attempt=1"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced page name validation to improve naming consistency across the
application.
- Updated validation for page icons and custom slugs to allow more
flexibility and ensure inputs meet new standards.
- **Bug Fixes**
- Fixed issues in page naming functions to prevent the use of certain
special characters and limit the length, enhancing data integrity and
user experience.
- **Tests**
- Added new tests to verify the handling of invalid and empty custom
slugs, ensuring robustness in page management functionalities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Makes the pages pane into a Dropdown instead of a list hidden behind
Editor Pane
Fixes#31450
## 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/8733103397>
> Commit: 9905212e4307e3c6ee47b0bd819d14ef751143a2
> Cypress dashboard: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8733103397&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank"> Click here!</a>
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Regression/ClientSide/MobileResponsiveTests/AutoHeight_Tabs_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/MobileResponsiveTests/AutoLayout_Widgets_Copy_Paste_spec.ts
</ol>
> To know the list of identified flaky tests - <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">Refer here</a>
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added a visibility management menu to the `EditorTitle` component.
- Introduced new `HeaderTitleComponent` to dynamically update based on
editor states.
- Updated the `PartialImportModal` and `PartialExportModal` components
for improved handling.
- Implemented a new callback function `onItemSelected` in
`AddPageContextMenu`.
- Added a search functionality to the app.
- **Enhancements**
- Updated `PageList` methods for better attribute handling and added
`HideList` method.
- Enhanced test clarity and maintainability in various Cypress
regression tests.
- **Bug Fixes**
- Fixed step increment issue in `PageElement` by adjusting the `step`
prop value.
- **Documentation**
- Updated user-facing messages and labels for clarity, such as renaming
"Edit name" to "Rename."
- **Refactor**
- Removed outdated state management properties and methods, simplifying
the codebase.
- Streamlined import statements and component props across multiple
files for consistency.
- **Version Updates**
- Upgraded `design-system` package to a new version for enhanced
features and fixes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR have following changes,
- Added close button and close functionality for tabs
- Removed 5 tabs limit and added scroll for tabs
Fixes#32407
## Automation
/ok-to-test tags="@tag.Sanity, @tag.IDE"
### 🔍 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/8683747982>
> Commit: d87357251bcb3a6f23942d17e548867882194295
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8683747982&attempt=1"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced tab management in the IDE with new functionalities to close
and remove JavaScript and query action tabs.
- Improved user interaction within the editor interface by adding scroll
behavior and a close button for each tab.
- **Bug Fixes**
- Fixed issues related to tab rendering and close button behavior in the
IDE, ensuring smoother user experience.
- **Tests**
- Added comprehensive tests for the new features and fixes in the IDE's
tab management system.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Fixes the broken flow where, on creation of a query or JS object in via
the ActionCreator UI, the widget property that initiated it, does not
get bound to the newly created item.
We will now keep reference of the setter method that would set the
binding value to the property and when the item is created, it will call
the method with the correct bind value.
This will wait till that particular action type is created.
Fixes#7745
## Automation
/ok-to-test tags="@tag.JS"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8550162310>
> Commit: `57e69a0c47496d1a1ee97e04991f34ca79440181`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8550162310&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
- **New Features**
- Introduced the ability to create new queries and JavaScript functions
directly from action creators, enhancing the workflow for building
applications.
- Added support for binding newly created queries, APIs, and JavaScript
objects to button onClick events, streamlining the process of connecting
actions to UI elements.
- **Enhancements**
- Improved the code modularity and readability in the Editor Navigation
by refactoring the logic for closing announcement modals.
- **Tests**
- Added regression tests to ensure the reliability of creating actions
via an action selector and their proper binding to properties.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Reverts changes for multienv switcher on view mode
## Automation
/ok-to-test tags="@tag.MultiEnv"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8535416309>
> Commit: `973e392a00cc68e0dbf1e99e06ca2b8b1ebc0474`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8535416309&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**
- Simplified the handling of view modes and conditional rendering in the
`BottomBar` component.
- Removed and streamlined the `showBottomBar` logic and UI adjustments
in `AppViewer`.
- Introduced `isCombinedPreviewMode` for enhanced preview functionality
in the Editor's `IDE` component.
- Simplified the structure of `EditorWrapperContainer` by removing
unnecessary props and logic.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR included two paper cut fixes
1. Autofocus the search input after add widgets button click
https://github.com/appsmithorg/appsmith/assets/23132741/3125c0a8-1104-4c1c-aecc-dacd01123f82
2. Remove the helper text for columns in Table widgets
Fixes https://github.com/appsmithorg/appsmith/issues/32218
## Automation
/ok-to-test tags="@tag.Widget"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8521789054>
> Commit: `cee8a960ddf92126eab419bb109fb44dbf02047e`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8521789054&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
## Summary by CodeRabbit
- **New Features**
- Enhanced search input focus control across the editor for an improved
user experience.
- **Refactor**
- Updated components to support dynamic focus management on search
inputs.
- **Bug Fixes**
- Removed mandatory help text validation for property controls,
enhancing flexibility in widget configuration.
- Eliminated the `helpText` requirement from widget configuration,
simplifying setup.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Added cypress test for add pane interactions.
Fixes#31868
## Automation
/ok-to-test tags="@tag.All"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!CAUTION]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8504922496>
> Commit: `0c74a26f4c959c84bf308876e4c0740e0c45ca90`
> Cypress dashboard: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8504922496&attempt=1&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank"> Click here!</a>
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Regression/ClientSide/AppNavigation/AppNavigationWithMultiplePages_spec.ts
</ol>
> To know the list of identified flaky tests - <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">Refer here</a>
<!-- 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 test cases for adding panes in the IDE, covering various
tab interactions.
- Added the ability to switch between full screen and split screen modes
in the IDE.
- **Tests**
- Added a new Cypress custom command for easier test maintenance.
- **Refactor**
- Enhanced testability by adding `data-testid` attributes across various
IDE components for improved element selection in tests.
- Improved code clarity through reorganization and reformatting of
component properties.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
## Description
Multi env disappearing from bottom bar in editor mode
Fixes#31266#32270
## Automation
/ok-to-test tags="@tag.MultiEnv"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8506755504>
> Commit: `2a72270e1d2eee93391bdb098f3bb708c0bb5a8e`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8506755504&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
- **New Features**
- Enhanced environment switching functionality to support multiple
environments based on various conditions including view and preview
modes.
- **Refactor**
- Simplified the bottom bar display logic across the app using the
updated `useShowEnvSwitcher` hook.
- Revised environment and feature flag handling in the App Viewer and
Editor IDE components for improved clarity and efficiency.
- Updated `EditorWrapperContainer` to adjust its height dynamically
based on the presence of the bottom bar.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Adds multiple env switcher to the bottom bar
Fixes#31266
## Automation
/ok-to-test tags="@tag.MultiEnv"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8440725278>
> Commit: `eae7d87a07c270a460049f124fe90277f997cd58`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8440725278&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
- **New Features**
- Introduced a `BottomBar` component in the `AppViewer` for enhanced
navigation and quick actions, conditionally displayed based on multiple
environments and specific feature flags.
- Added a custom React hook `useShowEnvSwitcher` to determine the
visibility of the environment switcher based on various conditions.
- **Refactor**
- Improved visibility of the `SwitchEnvironment` component and
`QuickGitActions` by adjusting their rendering logic, ensuring they are
always visible when `viewMode` is false.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Create a new hookWrapper util to enable hook testing with redux state
- Create a util function to create EditorState Focus Info
- Small refactor of `useGetPageFocusUrl` hook
- Adds tests for `useGetPageFocusUrl` hook
Fixes#31871
## Automation
/ok-to-test tags="@tag.IDE"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/8451092610>
> Commit: `a4660177de70be17d94928eef4fbe29a37f1a1d5`
> Workflow: `PR Automation test suite`
> Tags: `@tag.IDE`
<!-- 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 a function to streamline the creation of editor focus
information, enhancing navigation within the IDE.
- **Refactor**
- Refactored logic for setting focus page URLs in the IDE, improving the
accuracy and reliability of navigation.
- **Tests**
- Added tests for the `useGetPageFocusUrl` hook, ensuring URL generation
behaves as expected.
- **Chores**
- Updated utility functions for IDE tests, facilitating better test
setup and execution.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Adds IDE rendering tests for JS routes
Fixes#31867
## Automation
/ok-to-test tags="@tag.IDE"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8431959142>
> Commit: `ead16d0a5a8bb41003d7c75ae5a4f4fa648e3420`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8431959142&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
- **Tests**
- Introduced test cases for rendering JavaScript components in different
states within the IDE.
- **Chores**
- Added mock data factories for JavaScript objects with actions,
enhancing testing capabilities.
- Updated factory utilities to support JavaScript actions in IDE test
states.
- Included a new entry for the JavaScript plugin in the mock plugins
state configuration.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Updated withWidgetProps to inject errors to widget only in canvas mode
- Deleted some stale code that were using the createCanvasWidget
function
- getCanvasWidgetDsl
- getMainContainer
Fixes https://github.com/appsmithorg/appsmith/issues/32026
## 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/8419000251>
> Commit: `cfaabbfe72c827bc4ed00e76093d74a0071226db`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8419000251&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**
- Simplified test setups by removing unnecessary mocks and spies across
various test files.
- Enhanced widget error handling in editor mode for improved stability
and user feedback.
- **Tests**
- Refactored widget rendering utility tests for better error handling.
- **New Features**
- Widgets in editor mode now display error information, aiding in
quicker debugging and development.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Added unit tests for UI render
Fixes#31866
## 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/8416190872>
> Commit: `a35c061f652a0813ca49bdbb3387b88ed98b2710`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8416190872&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
- **Tests**
- Introduced tests for the IDE component to ensure various UI states are
rendered correctly, including empty canvas, list state, selected widget,
and side-by-side mode tab rendering.
- **Refactor**
- Enhanced the `SegmentAddHeader` component with a `data-testid`
attribute for improved testability of the UI.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR fix the unit test failure in release
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 -->
> [!WARNING]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8389775844>
> Commit: `f13499d1af28b6c9c100dd0f569ce5d580056a69`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8389775844&attempt=2"
target="_blank">Click here!</a>
> It seems like **no tests ran** 😔. We are not able to recognize it,
please check workflow <a
href="https://github.com/appsmithorg/appsmith/actions/runs/8389775844"
target="_blank">here.</a>
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Tests**
- Updated tests for the editor's split screen functionality.
- **Refactor**
- Refactored the SegmentedHeader component to include new constants,
variables, selectors, and actions.
- Modified SplitScreenTabs component by removing certain components,
imports, and functions related to editor view mode.
- **Style**
- Adjusted the max-width calculation in StyledTab component, reducing
the width by 24px.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
IDE rendering tests for Query routes
Fixes#31865
## Automation
/ok-to-test tags="@tag.IDE"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8372729741>
> Commit: `32d0e14a69f0fef33904eab854b691112cdc6046`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8372729741&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
- **New Features**
- Enhanced accessibility by adding `aria-label` to close buttons in the
IDE.
- Improved testing capabilities with new `data-testid` attributes across
various components for better identification.
- **Tests**
- Introduced comprehensive test cases for IDE functionalities including
rendering states, adding queries/APIs, and handling different screen
modes.
- Added factories for creating mock actions and states for API, Google
Sheets, Postgres, and IDE testing.
- **Chores**
- Updated and added `data-testid` attributes for improved testability
and maintenance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Adding a beta check for adding description on options for creating JS
objects
Fixes [#31949](https://github.com/appsmithorg/appsmith/issues/31949)
## Automation
/ok-to-test tags="@tag.JS"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8356416960>
> Commit: `8117683b5b63fcb9f00612fd4083e2bd7f7a2b5a`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8356416960&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**
- Updated the `AddJS` component to display "Beta" in the description for
beta features.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
In this PR we are restructuring the WidgetsEditor into multiple
components so that it is easy to assess changes.
currently the widgets editor just does too much at one place to even
understand what is happening.
This is also the first step in trying to decrease the number of places
where layout system type is being used to manipulate a functionality.
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/8321642656>
> Commit: `afbe7fc015e4d7b098d5fb68db8eb17a730fde71`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8321642656&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
- **New Features**
- Introduced a comprehensive layout for the widget editor, including
header, content, and footer areas.
- Added `WidgetEditorContent` for orchestrating the main content area
with navigation and layout-based canvas editor.
- New `LayoutSystemBasedPageViewer` and `NavigationAdjustedPageViewer`
components for enhanced page display and navigation within the layout
system.
- Implemented `WidgetEditorContentWrapper` for managing content layout
and interactions within the widget editor.
- Added `WidgetEditorNavigation` for improved navigation preview.
- **Refactor**
- Updated import paths across various components to reflect new project
structure.
- Significant restructuring of the `WidgetsEditor` component for better
efficiency and dependency management.
- **Documentation**
- Added descriptive comments for the `CodeModeTooltip` component.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
When user tries to close the add pane, user gets redirected to the
default branch in git connected apps.
Fixes#31478
## Automation
/ok-to-test tags="@tag.IDE, @tag.Git"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!CAUTION]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8261408748>
> Commit: `ff06b5d9655128e22b6fc3ec7a30e027d425b578`
> Cypress dashboard: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8261408748&attempt=3&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank"> Click here!</a>
> The following are new failures, please fix them before merging the PR:
<ol>
> <li>cypress/e2e/Regression/ClientSide/BugTests/GitBugs_Spec.ts
> <li>cypress/e2e/Regression/ClientSide/ExplorerTests/API_Pane_spec.js
>
<li>cypress/e2e/Regression/ClientSide/ExplorerTests/CopyQuery_RenameDatasource_spec.js
> <li>cypress/e2e/Regression/ClientSide/ExplorerTests/Hide_Page_spec.js
> <li>cypress/e2e/Regression/ClientSide/ExplorerTests/Page_Load_Spec.js
> <li>cypress/e2e/Regression/ClientSide/ExplorerTests/Pages_spec.js
>
<li>cypress/e2e/Regression/ClientSide/ExplorerTests/Query_Datasource_spec.js
</ol>
> To know the list of identified flaky tests - <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">Refer here</a>
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced JavaScript and Query addition functionality in the IDE editor
pane for improved usability.
- **Refactor**
- Improved navigation handling in both JavaScript and Query addition
components for a more streamlined user experience.
- **Documentation**
- Added `jsCollectionListURL` import and `FocusEntityInfo` type import.
Introduced `getJSUrl` function for URL generation based on
`FocusEntityInfo` parameters.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This pull request aims to enhance the user experience within the
application by modifying the canvas behavior when it is displayed in
"Side by Side" mode alongside Queries or JavaScript sections. The key
change is the disabling of direct selections on the canvas, allowing
interactions with canvas elements only through cmd + click or by
clicking on the widget's name. This adjustment is intended to facilitate
a view-only mode for the canvas during Queries or JS editing, thereby
improving layout and user interaction.
Additionally, the PR introduces enhancements to the application's
testing framework, focusing on improving test reliability in scenarios
involving UI interaction and state changes. Notable updates include:
- Improved error tooltip handling in CurrencyInput_spec.js.
- Ensured page state saving before verifying element presence in
Listv2_BasicChildWidgetInteraction_spec.js.
- Replaced cy.wait("@updateLayout") with cy.assertPageSave() and
introduced a delay in Listv2_spec.js to accommodate functionality
changes.
- Implemented visibility checks in
TableV2_Button_Icon_validation_spec.js to prevent timing-related test
failures.
These technical updates collectively aim to bolster the application's
testing framework, enhancing the reliability and accuracy of automated
tests, especially in UI interaction and state change scenarios.
#### PR fixes following issue(s)
Fixes#30864
## Automation
/ok-to-test tags="@tag.Widget"
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8259916944>
> Commit: `15e1cf937a9d15adaea68e16a55006d993a07cbf`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8259916944&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
- **New Features**
- Added new constants for widget selection and focus management.
- Introduced a new event type for tracking widget selections in code
mode.
- **Tests**
- Enhanced test assertions and interactions for better reliability and
error handling in various widgets.
- **Refactor**
- Improved widget selection logic and URL handling for a more intuitive
user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## 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._
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="@tags.Sanity"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!CAUTION]
> If you modify the content in this section, you are likely to disrupt
the CI result for your PR.
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced analytics with the introduction of the "EDITOR_MODE_CHANGE"
event to track changes in the editor's view mode.
- Improved user experience in the IDE with the ability to track
full-screen and split-screen mode changes through analytics.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR adds the beta announcement modal for the new split pane.
Fixes#31657
## Automation
/ok-to-test tags="@tag.Sanity, @tag.IDE"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8244295273>
> Commit: `8f20379a3f045328c0c7fa0ddce9b28d34a86348`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8244295273&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
- **New Features**
- Introduced a beta version feature allowing users to work with code and
UI side-by-side, enhancing productivity and user experience.
- Added an announcement modal to inform users about the new split-screen
functionality, with options to try it immediately or learn more.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Replaces the current App IDE Navbar with the new one.
Fixes#31603
## 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/8244382997>
> Commit: `5dba98f326ce504de0bf32b56c195d615279bf69`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8244382997&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**
- Centralized page management actions in Cypress tests using the new
`PageList` module.
- **Tests**
- Enhanced Cypress test reliability and readability by consistently
using `PageList` methods for page management.
- **Chores**
- Optimized test support infrastructure by removing outdated commands
and imports in Cypress support files.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This is step 1 of completing the addition of building blocks within the
canvas explorer. It adds building blocks to the explorer and hides the
functionality behind a feature flag -
release_drag_drop_building_blocks_enabled.
1. Create a new hook to manage explorer items - widgets and building
blocks
2. Define the max items to display in the explorer for each tag
3. Define a utility function to return all explorer items alongside the
maxNoToRender per tag
4. Rename WidgetSidebarWithTags to UIEntitySidebar and move into a new
sidebar folder
5. Adjust newly renamed UIEntitySidebar to implement loading for
building blocks, new listing of blocks and widgets and manage "See more"
functionality for all items in explorer.
#### PR fixes following issue(s)
Fixes#31146
#### 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
>
>
>
## 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
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced new constants and functions to optimize widget management
and search functionality.
- Added loading indicators and a "See More" button for better user
interaction with widget cards.
- Enhanced widget filtering and display based on user interactions and
tag categories.
- Implemented a custom hook for managing UI explorer items like widgets
and building blocks.
- **Refactor**
- Updated import paths for better code organization and readability.
- **Style**
- Adjusted widget card rendering based on tags for an improved visual
hierarchy and user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Rahul Barwal <rahul.barwal@appsmith.com>