1. Add validation for the tag before building the image or doing
anything. This is strict case-sensitive validation, that will allow only
three numbers in the version, and the first number has to be a single
digit. Support for `-beta` versions is also being removed, as we just
don't use it. Thanks to removing this, we'll build the `latest` and
`v1.2.3` images together, instead of building two separate images.
2. The server and client are reading version from `version` key in
`info.json`, but RTS is reading it from `githubRef` key in `info.json`.
This discrepancy is debt, and has no reason to exist. We fix RTS to also
read the version from the `version` field.
Why are we doing this? [Slack
conversation](https://theappsmith.slack.com/archives/C0341RERY4R/p1714098736865219?thread_ts=1714066995.288859&cid=C0341RERY4R).
## Description
These two specs have been in flaky list and now as we are sunsetting on
auto layout, we decided to remove these instead of work on them.
Related conversation here --
https://theappsmith.slack.com/archives/C025SE88KNE/p1713255626419959
Specs number - 23 & 43
https://www.notion.so/appsmith/Cypress-tests-analysis-4090efa5e3064a2e87f262d3c399a339
- Phase 1
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
1. Spec has been flaky because when JS toggle is on a property in edit
mode it should remain after entering edit mode from deployed mode. In
this PR, we are going to check if JS mode on for each trigger paths and
if not, toggle JS mode before adding trigger functions in each test.
2. We were asserting external URL(google.com) for `Navigate To`
functionality and navigating back from external URL using
`BrowserNavigation` to app was creating flakiness. Now we will be
stubbing the URL for same window.
Link - **Spec 36**
https://www.notion.so/appsmith/Cypress-tests-analysis-4090efa5e3064a2e87f262d3c399a339
Phase 1
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Tests**
- Enhanced test scenarios to assert the state of JavaScript toggles in
the Tree Select widget.
- **New Features**
- Introduced a method to toggle and verify JavaScript mode in the
Property Pane.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Apeksha Bhosale <7846888+ApekshaBhosale@users.noreply.github.com>
[](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=MA2NqRe)
## Description
> [!TIP]
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel 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._
In #33040 we added a state exclusively to capture modals that are
opened/closed to avoid computing which modal is open based on meta
state.
However the problem with this approach that I had understood after
testing it with deployed apps is that closing a modal is not done only
via the saga, but is done via actions and the modal itself without
dispatching the common saga.
Obviously the above implementation dunked.
Reverting to the previous implementation of relying on meta state to
select visible detached widgets.
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.Anvil"
### 🔍 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/8895170744>
> Commit: 517ffc6ac5302bae6940b17b76774a963a18f773
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8895170744&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
## Description
Adding back the function call for triggering audit log event on JS
action execution on EE
Fixes [#4013](https://github.com/appsmithorg/appsmith-ee/issues/4013)
## 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/8881877825>
> Commit: 6cb9398e847525a92d075c518731033e03358716
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8881877825&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
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced logging capabilities for JavaScript function executions to
improve debugging and monitoring.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
The autoGeneratedHeaders property in actionConfiguration is
unnecessarily getting introduced as git changes. This PR fixes that
issue.
With current implementation, In a git connected application, when we
create any action and bind it to table widget, once we successfully
commit these changes, after surfing the application without making any
changes, we can see new changes to be committed for git and in those
changes we can see `autoGeneratedHeaders: []` inside
actionConfiguration. This issue has been fixed by initialising the field
by default when we create action.
<img width="932" alt="gittest"
src="https://github.com/appsmithorg/appsmith/assets/30018882/9d76ab45-7cb4-4aa4-ba44-baf19a1f38e0">
Redux unit tests have been added to assert the fix
Fixes#27941
_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.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/8874903423>
> Commit: 769749d63ca9f02c2e635ee393d93657201274cf
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8874903423&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 API and GraphQL editors with support for auto-generated
headers to streamline configuration processes.
- **Tests**
- Added new tests to ensure the reliability of API configuration
functionalities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Co-authored-by: “sneha122” <“sneha@appsmith.com”>
## Description
> [!TIP]
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel 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 https://github.com/appsmithorg/appsmith/issues/32903
## 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/8892306251>
> Commit: 6b2c1c8e637dc89eebf51d431f5e78f92ae9ac23
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8892306251&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 functionality to set collection IDs during partial imports.
- **Tests**
- Improved testing for partial imports by adding new assertions to
verify action names.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Jacques Ikot <jacquesikot@gmail.com>
Co-authored-by: Rahul Barwal <rahul.barwal@appsmith.com>
[](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=M62wKah)
## Description
Currently we render all the detached widgets(Modal) via a hook and the
widget shows up when the metaValue for visibility is toggled for a
modal.
Problems with this:
- we render all modal widgets even before they are needed.
- everytime something on the canvas changes the widgets are rendered.
To solve this we are going to rely on a state that captures the
currently open detached widgets in anvil
`anvilDetachedWidgets.currentlyOpenDetachedWidgets`
This is captured and reset currently based on show and close operations
of a modal.
we now have the modals that are currently open, we simply use this state
to render detached widgets by extracting the widget from the
`canvasWidgetsStructure` in the `useDetachedChildren` hook.
PS: we are taking advantage of the fact that modal widgets can only be a
child of main canvas in anvil. extracting modal states/props from
`canvasWidgetsStructure` becomes more performant coz its a targetted
search now.
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.Anvil"
### 🔍 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/8890517497>
> Commit: b68ad19c09f768b99d28b72626ceefaa1b79056d
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8890517497&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**
- Introduced a new component for rendering detached child widgets within
the Anvil layout system.
- **Refactor**
- Updated the handling and rendering process of detached widgets across
various components in the Anvil system.
- **Bug Fixes**
- Adjusted selector logic to correctly retrieve and manage detached
widget states.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
[](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=MfLLKnB)
## Description
> [!TIP]
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel 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="@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/8877065723>
> Commit: 918fd45704546793524f2c97c05ab01e27063b6c
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8877065723&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
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced widget configuration logic to better handle icons based on
widget methods.
- **Refactor**
- Improved the filtering logic for widget cards in the editor, now
supports different layout configurations more effectively.
- Renamed variables for better clarity in widget card selection based on
layout system.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Updating the action calls for sagas to trigger the Admin setting APIs.
This was required after the consolidated API changes came in, as the API
takes long time to load and `FETCH_USER_SUCCESS` call happens before
`FETCH_FEATURE_FLAGS_SUCCESS` call. We need both of the actions to be
successful before adding the saga. Hence updating it to the action
`END_CONSOLIDATED_PAGE_LOAD` now.
Fixes [#33034](https://github.com/appsmithorg/appsmith/issues/33034)
## Automation
/ok-to-test tags="@tag.Settings"
### 🔍 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/8877126026>
> Commit: a5f7a066af16a450d67596a732c6a00cd1c6d9ff
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8877126026&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
- **New Features**
- Enhanced the initialization process for super users to conditionally
trigger actions based on specific feature availability.
- **Refactor**
- Updated logic in the Super User initialization to improve how feature
flags and user details are checked and utilized.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
If we use REST API action and file picker widget to upload any
multimedia files (image, audio, video, pdf, xlsx), The file upload would
be successful but file would get corrupted upon uploading. This was
happening because file picker widget encodes this file to base64 format,
and we were uploading this same base64 string using REST API url.
Instead we should have decoded this base64 and then uploaded the file to
retain the original contents of the file.
This PR fixes that issue by adding a new tab in body of the REST API
action called `binary`, once we select this tab, we get autogenerated
header for `Content-Type: application/octet-stream`, in this binary
input field we can then provide base64 encoded file contents, the server
then decodes the contents before triggering the respective REST API and
uploading the file.
### Steps to test the issue
1. Add a file picker widget on canvas
2. Select data format as `Base64`
3. Upload any of pdf, image, audio, video, xlsx in file picker
4. Create a REST API action using [Dropbox upload
API](https://www.dropbox.com/developers/documentation/http/documentation#files-upload)
5. Configure the API headers as mentioned in the documentation, also
configure file name in the header correctly
6. Go to body tab, select binary and file contents in input box using
binding like {{Filepicker1.files[0].data}}
7. Execute this API
8. Now go to your dropbox account and check the uploaded file, you
should be able to successfully preview it
Fixes#32378
_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.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/8844375718>
> Commit: 3316290a4d7d77ae3f9d8969245c5f470ef1ab5c
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8844375718&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**
- Added support for binary file uploads in API requests, including
handling of base64-encoded files.
- Expanded content type options to include a new "BINARY" type for API
requests.
- **Tests**
- Implemented new tests to verify the functionality of binary file
uploads with dynamic data binding.
- **Bug Fixes**
- Ensured correct handling and auto-generation of headers for binary
file types and form urlencoded data formats.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: “sneha122” <“sneha@appsmith.com”>
## Description
- Fixed the issue where the animation of the progress bar wouldn't work
if the value was going from zero or going to zero.
- Made the animation consistent even when the introduced value is less
than zero.
Fixes#11915
## 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 -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved the `ProgressWidget` to correctly handle negative progress
values by ensuring the progress bar width is never negative.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
> [!TIP]
**Problem**
The current building block on canvas implementation uses the pasteSaga
logic, and this logic requires the mousePosition to know where to paste
the widgets. Due to building blocks being mimicked as a single widget,
we get grid position values instead of mouse location when dragging and
dropping building blocks, this forced us to create e utility function
that generates mousePosition from gridPosition values. This logic was
flawed and led to building blocks placement being wrong when the view is
scrolled.
**Solution**
We have decided to implement the pasteSaga to allow both mousePosition
and gridPosition as expected values for dropping the copied widgets unto
the canvas.
Fixes#32962
## Automation
/ok-to-test tags="@tag.Widget"
### 🔍 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/8875384318>
> Commit: 6f425a394a7349b6461576b3762b0c152eed5659
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8875384318&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 building block functionalities including new actions and
templates for a smoother drag-and-drop experience.
- Added ability to specify exact grid positions when placing widgets,
enhancing layout precision.
- **Refactor**
- Streamlined sagas related to widget operations and building blocks for
improved performance and maintainability.
- **Bug Fixes**
- Adjusted widget addition logic to prevent UI issues during
drag-and-drop actions.
- **Chores**
- Removed outdated functions and reorganized imports to align with
updated functionalities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Jacques Ikot <jacquesikot@gmail.com>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced new functionalities to count and retrieve Git-connected
applications within a specific workspace.
- **Bug Fixes**
- Removed outdated method for counting applications by workspace ID to
enhance performance and accuracy.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
[](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=MdeCkAG)
## Description
In this PR,
- we are refactoring Anvil DnD to use dom elements to render highlights
instead of canvas.
Why?
- Doesn't have the ability to overflow a widget and still allow dnd
events(section widget use case)
- limitations with respect to being testable
- we are adding compensators to dnd layers, so that DnD is not just for
layout but for the entire widget.
Widget is the appsmith entity.
layout is something present in container like widgets like Section and
Zone which allow you to contain children widgets based on a the layout
structure.
What are compensators?
- additional padding for DnD layers in a widget
- additional position offsets for highlights in a widget so that they
don't stick to the layout.
Why compensators?
- Section widget can be activated to show highlights in areas
overlapping with main canvas
- DnD should be possible even at spacings created by parent widget like
in Zone widget
- we are also removing canvas activation logic and moving to using mouse
move event to activate a canvas for DnD.
Fixes#32016
_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.Anvil"
### 🔍 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/8872919856>
> Commit: 3f6603bf8480a99437552ac73764c9de1d6f7f95
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8872919856&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
## Summary by CodeRabbit
- **New Features**
- Introduced a new layout property for widgets, enhancing customization
options.
- Added a custom error boundary component to handle and display errors
elegantly.
- New drag-and-drop components and utilities to improve interaction
within the editor canvas.
- Adjusted component hierarchies in Anvil editor and viewer for better
performance and structure.
- **Refactor**
- Simplified rendering logic in `AnvilWidgetComponent` by removing
conditional boundaries.
- Updated the hierarchy within the Anvil editor, enhancing component
nesting and interaction.
- **Bug Fixes**
- Adjusted padding values and added new constants for better UI
alignment and interaction feedback.
- **Chores**
- Renamed and reorganized Cypress locators and methods for clearer and
more efficient testing automation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes a spec for slider and cateogry widget where it fails when changing
and asserting the background color
/ok-to-test tags="@tag.Slider"<!-- This is an auto-generated comment:
Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8873791272>
> Commit: b7111f115b691aeb6e6ccc2eceb30c476b91e3a3
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8873791272&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
- **Tests**
- Modified a specific test case to run exclusively, improving focus on
critical functionality during testing.
- **New Features**
- Enhanced color selection capabilities in the property control for a
more intuitive user interface.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
## Description
As per the documentation the where clause must always come before the
order by clause, and the startAfter clause must come after the order by
clause i.e the recommended order : `where clause --> order by --> start
after`. However, the way code was written it applies the where clause
after the startAfter i.e as per the code : `order by --> start after -->
where clause` .
In this PR, we change the logic to make sure we follow the order `where
clause -> order by and startAfter / endBefore` when generating query.
Fixes https://github.com/appsmithorg/appsmith/issues/32604
documentation link. -
https://firebase.google.com/docs/firestore/query-data/query-cursors
Changes were taken from the PR created by @sumitsum here
https://github.com/appsmithorg/appsmith-ee/pull/4001
## Automation
/ok-to-test tags="@tag.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/8814737910>
> Commit: 4c7ed97cc1808a537d40682fc0e930cd0e30be70
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8814737910&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
- **Refactor**
- Improved the order of operations in Firestore queries to enhance query
performance and reliability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This is to resolve the NPE introduced in this
[PR](https://github.com/appsmithorg/appsmith/pull/32552)
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
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Improved handling of null values in event tracking properties to
ensure more reliable analytics data.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## 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 -->
We're abstracting the search function here, as a search query, instead
of a generic regex query, so that is can be implemented with regex on
MongoDB, but with SQL's `LIKE` operator on Postgres.
/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/8859444126>
> Commit: 60f0086858a8add161f483572d0cd0dbd41e9217
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8859444126&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**
- Introduced new methods for enhanced search capabilities, including
case-insensitive searches.
- Improved entity field filtering using custom query methods.
- **Refactor**
- Updated entity field references in `Workspace` and `Application` for
consistency.
- Replaced traditional criteria with custom query classes to simplify
logic in filtering processes.
- **Deprecations**
- Deprecated older methods for case-insensitive regex matching in favor
of new search methods.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
We're currently relying on ipify.org for this, and this PR will move to
using CS for this information. This is so that all external
communication from the core of the product's backend, is only to
cs.appsmith.com, which makes whitelisting easier for users.
Also removing the unused variables `APPSMITH_CLOUD_SERVICES_USERNAME`
and `APPSMITH_CLOUD_SERVICES_PASSWORD`.
⚠️ This will cause conflicts on sync.
/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/8859016811>
> Commit: 46576ca46adcba288693c3d5aaa9cc547c1e8f57
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8859016811&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
- **Refactor**
- Removed username and password fields from cloud services configuration
to enhance security.
- Updated network utilities to initialize with new cloud services
configuration, improving integration and functionality.
- **Bug Fixes**
- Adjusted the method of fetching and handling IP address data to
improve reliability and accuracy of network services.
- **Chores**
- Updated application properties and deployment scripts to align with
the new configuration and address retrieval methods.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Outputs on having the container up and running
On kubernetes:
```
root@ce32552-appsmith-66fc68d7f-97tjn:/opt/appsmith# cat /tmp/appsmith/infra.json
{"cloudProvider":"amazon","Tool":"kubernetes","EFS":"present","Hostname":"ce32552-appsmith-66fc68d7f-97tjn"}
```
On local setup:
```
root@26327db8d65a:/opt/appsmith# cat /tmp/appsmith/infra.json
{"cloudProvider":"local","Tool":"docker","EFS":"absent","Hostname":"26327db8d65a"}
```
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced infrastructure detection to enhance system insights,
including cloud provider, deployment tools, and host details.
- Enhanced analytics by incorporating deployment properties into event
tracking.
- **Refactor**
- Modified server configuration and initialization to integrate new
deployment properties.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Trisha Anand <trisha@appsmith.com>
RCA:
Migration spec was having duplicate code and click on image link and
navigation back was causing issues
Solution:
1.Removed redundant code
2.stub image click event and validate rather than navigating to actual
image url which is external.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Removed stubbing of `window.open` to ensure new tabs open correctly.
- Enhanced validation checks for table data, widget mappings, and credit
limit computations.
- Improved state button interactions and menu button validations for
smoother user experience.
- Optimized performance by eliminating redundant code and unnecessary
wait times.
- Refined page validation and code editor content accuracy.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
RCA:
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Tests**
- Updated the test specification file and focused test execution on a
specific test case.
- Added a new assertion to verify the presence of a specific element in
the DOM.
- Added a new declaration to the `CommonLocators` class for improved
test reliability.
<!-- 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 -->
## Description
Makes minor changes in copy and style for better readability in Side by
Side mode
Fixes#31558Fixes#31565Fixes#31566
## Automation
/ok-to-test tags="@tag.IDE, @tag.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/8830604958>
> Commit: 4f3a8a13685ef2a04077bc4641ddb8691101b852
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8830604958&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
- **Documentation**
- Improved clarity in user interface messaging for data source creation
and table search functionalities.
- **Style**
- Updated spacing in dropdown components and form rows to use custom CSS
variables, ensuring a more consistent design across the platform.
<!-- 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
Sending configTree from the webworker is a redundant operation, we can
directly the same from the main thread state. By removing this property
we reduce the transmission cost between the main thread to webworker, we
are seeing as much as 10% reduction in main thread scripting from these
changes.
Fixes#32969
> [!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/8832685819>
> Commit: 58ad75ebf73714e7a6603a95f074826fcd11ec67
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8832685819&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
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **Refactor**
- Optimized the evaluation process by streamlining how configuration
data is retrieved and handled across different components.
- Updated data retrieval methods in sagas and workers to improve
efficiency and maintain consistency.
<!-- 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 -->