From 60b6aed220aedf4ddf02f5337e85385f019aa2ed Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 2 May 2025 19:30:33 +0530
Subject: [PATCH 1/7] chore: bump net.snowflake:snowflake-jdbc from 3.22.0 to
3.23.1 in /app/server/appsmith-plugins/snowflakePlugin (#39727)
Bumps
[net.snowflake:snowflake-jdbc](https://github.com/snowflakedb/snowflake-jdbc)
from 3.22.0 to 3.23.1.
Release notes
Sourced from net.snowflake:snowflake-jdbc's
releases .
v3.23.1
v3.23.0
Changelog
Sourced from net.snowflake:snowflake-jdbc's
changelog .
JDBC Driver 3.23.1
JDBC Driver 3.23.0
JDBC Driver 3.22.0
JDBC Driver 3.21.0
JDBC Driver 3.20.0
JDBC Driver 3.19.1
JDBC Driver 3.19.0
JDBC Driver 3.18.0
JDBC Driver 3.17.0
JDBC Driver 3.16.1
JDBC Driver 3.16.0
JDBC Driver 3.15.1
JDBC Driver 3.15.0
... (truncated)
Commits
bf16c4a
SNOW-1963153 bump version to 3.23.1 (#2122 )
1badfb0
[SNOW-1943092] Migrate JDBC tests (#2116 )
26c0d23
SNOW-1963153 bump version to 3.23.1 (#2120 )
93e2415
SNOW-1960848 - fix tests after MaxLobSize changes (#2109 )
c71218f
Snow 1853185 - Okta http retry storm - retries implementation for Okta
auth (...
72acaa8
SNOW-1957486 fix test (#2119 )
8f3def1
Snow 1915375 drop copyright header in comments from snowflake
repositories (#...
32fa12c
SNOW-1405682 - disable use of GCS default credentials as a default (#2117 )
ef81582
SNOW-1660591 Remove sensitive encryption info when logging (#2077 )
f8ab78a
SNOW-1965573 Fix file cache creation on windows (#2115 )
Additional commits viewable in compare
view
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/appsmithorg/appsmith/network/alerts).
> [!WARNING]
> Tests have not run on the HEAD
e50a86a9f1873c6089579f2e9b56abdb2903d636 yet
>
Thu, 13 Mar 2025 19:01:48 UTC
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
app/server/appsmith-plugins/snowflakePlugin/pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/server/appsmith-plugins/snowflakePlugin/pom.xml b/app/server/appsmith-plugins/snowflakePlugin/pom.xml
index 30c9245c3a..b91626e575 100644
--- a/app/server/appsmith-plugins/snowflakePlugin/pom.xml
+++ b/app/server/appsmith-plugins/snowflakePlugin/pom.xml
@@ -18,7 +18,7 @@
net.snowflake
snowflake-jdbc
- 3.22.0
+ 3.23.1
From 3212d738caf2aabd2267d6f0fa3e5c7a722c9da4 Mon Sep 17 00:00:00 2001
From: Diljit
Date: Mon, 5 May 2025 09:40:45 +0530
Subject: [PATCH 2/7] chore: remove extra reset in auto-commit (#40405)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## 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"
### :mag: Cypress test results
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
> Commit: 9c004ca65ac0842a24dea725dde539c176a6dba6
> Cypress dashboard .
> Tags: `@tag.All`
> Spec:
> Wed, 30 Apr 2025 05:08:47 UTC
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
## Summary by CodeRabbit
- **New Features**
- Introduced a new feature flag to control the enablement of updated Git
API contracts.
- **Enhancements**
- Improved the logic for reconstructing pages from Git repositories,
allowing for more granular control based on feature flags.
- Enhanced compatibility with future Git-related optimizations by adding
support for additional parameters in page reconstruction operations.
---
.../com/appsmith/git/files/FileUtilsCEImpl.java | 14 ++++++++++++--
.../appsmith/external/enums/FeatureFlagEnum.java | 1 +
.../com/appsmith/external/git/FileInterface.java | 7 ++++++-
.../server/helpers/ce/CommonGitFileUtilsCE.java | 13 +++++++++++--
4 files changed, 30 insertions(+), 5 deletions(-)
diff --git a/app/server/appsmith-git/src/main/java/com/appsmith/git/files/FileUtilsCEImpl.java b/app/server/appsmith-git/src/main/java/com/appsmith/git/files/FileUtilsCEImpl.java
index e36eea10f8..2aa964d5c4 100644
--- a/app/server/appsmith-git/src/main/java/com/appsmith/git/files/FileUtilsCEImpl.java
+++ b/app/server/appsmith-git/src/main/java/com/appsmith/git/files/FileUtilsCEImpl.java
@@ -1268,7 +1268,12 @@ public class FileUtilsCEImpl implements FileInterface {
@Override
public Mono reconstructPageFromGitRepo(
- String pageName, String branchName, Path baseRepoSuffixPath, Boolean resetToLastCommitRequired) {
+ String pageName,
+ String branchName,
+ Path baseRepoSuffixPath,
+ Boolean resetToLastCommitRequired,
+ Boolean useFSGitHandler,
+ Boolean keepWorkingDirChanges) {
Mono pageObjectMono;
try {
Mono resetToLastCommit = Mono.just(Boolean.TRUE);
@@ -1276,7 +1281,12 @@ public class FileUtilsCEImpl implements FileInterface {
if (Boolean.TRUE.equals(resetToLastCommitRequired)) {
// instead of checking out to last branch we are first cleaning the git repo,
// then checking out to the desired branch
- resetToLastCommit = gitExecutor.resetToLastCommit(baseRepoSuffixPath, branchName, false);
+ if (Boolean.TRUE.equals(useFSGitHandler)) {
+ resetToLastCommit =
+ fsGitHandler.resetToLastCommit(baseRepoSuffixPath, branchName, keepWorkingDirChanges);
+ } else {
+ resetToLastCommit = gitExecutor.resetToLastCommit(baseRepoSuffixPath, branchName, true);
+ }
}
pageObjectMono = resetToLastCommit.map(isSwitched -> {
diff --git a/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/enums/FeatureFlagEnum.java b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/enums/FeatureFlagEnum.java
index fcb8ab2c15..5aa764d353 100644
--- a/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/enums/FeatureFlagEnum.java
+++ b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/enums/FeatureFlagEnum.java
@@ -24,6 +24,7 @@ public enum FeatureFlagEnum {
* Feature flag to detect if the RTS git reset is enabled
*/
ab_rts_git_reset_enabled,
+ release_git_api_contracts_enabled,
// Deprecated CE flags over here
release_git_autocommit_feature_enabled,
diff --git a/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/git/FileInterface.java b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/git/FileInterface.java
index 7d4443f9a2..9203832403 100644
--- a/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/git/FileInterface.java
+++ b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/git/FileInterface.java
@@ -80,7 +80,12 @@ public interface FileInterface {
Mono reconstructPackageJsonFromGitRepository(Path repoSuffix);
Mono reconstructPageFromGitRepo(
- String pageName, String branchName, Path repoSuffixPath, Boolean checkoutRequired);
+ String pageName,
+ String branchName,
+ Path repoSuffixPath,
+ Boolean checkoutRequired,
+ Boolean useFSGitHandler,
+ Boolean keepWorkingDirChanges);
/**
* Once the user connects the existing application to a remote repo, we will initialize the repo with Readme.md -
diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ce/CommonGitFileUtilsCE.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ce/CommonGitFileUtilsCE.java
index fdeae3e1ba..3d52dd1239 100644
--- a/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ce/CommonGitFileUtilsCE.java
+++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ce/CommonGitFileUtilsCE.java
@@ -933,6 +933,9 @@ public class CommonGitFileUtilsCE {
String defaultArtifactId = gitArtifactMetadata.getDefaultArtifactId();
String refName = gitArtifactMetadata.getRefName();
String repoName = gitArtifactMetadata.getRepoName();
+ Mono useFSGitHandlerMono = featureFlagService.check(FeatureFlagEnum.release_git_api_contracts_enabled);
+ Mono keepWorkingDirChangesMono =
+ featureFlagService.check(FeatureFlagEnum.release_git_reset_optimization_enabled);
if (!hasText(workspaceId)) {
return Mono.error(new AppsmithException(AppsmithError.INVALID_PARAMETER, FieldName.WORKSPACE_ID));
@@ -957,8 +960,14 @@ public class CommonGitFileUtilsCE {
ArtifactGitFileUtils> artifactGitFileUtils = getArtifactBasedFileHelper(artifactType);
Path baseRepoSuffix = artifactGitFileUtils.getRepoSuffixPath(workspaceId, defaultArtifactId, repoName);
- Mono jsonObjectMono = fileUtils
- .reconstructPageFromGitRepo(pageDTO.getName(), refName, baseRepoSuffix, isResetToLastCommitRequired)
+ Mono jsonObjectMono = Mono.zip(useFSGitHandlerMono, keepWorkingDirChangesMono)
+ .flatMap(tuple -> fileUtils.reconstructPageFromGitRepo(
+ pageDTO.getName(),
+ refName,
+ baseRepoSuffix,
+ isResetToLastCommitRequired,
+ tuple.getT1(),
+ tuple.getT2()))
.onErrorResume(error -> Mono.error(
new AppsmithException(AppsmithError.GIT_ACTION_FAILED, RECONSTRUCT_PAGE, error.getMessage())))
.map(pageJson -> {
From b310d751e497c863917988f72b208f9db49aa174 Mon Sep 17 00:00:00 2001
From: Ashit Rath
Date: Mon, 5 May 2025 12:56:09 +0530
Subject: [PATCH 3/7] chore: Added isRenameDisabled and filtered UI modules
from widgets section (#40553)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## Description
Adds support for disabling widget renaming in the property pane through
a `isRenameDisabled` property. When enabled, it displays a tooltip
explaining this limitation when hovering over the widget name.
Additionally, this PR hides module widgets from the widget card
selection by filtering out widgets whose type starts with
"MODULE_WIDGET_".
Fixes https://github.com/appsmithorg/appsmith/issues/40495
## Automation
/ok-to-test tags="@tag.Widget"
### :mag: Cypress test results
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
> Commit: 3f94eafdef52b4d0543de99f9472fb3970ee415e
> Cypress dashboard .
> Tags: `@tag.Widget`
> Spec:
> Fri, 02 May 2025 13:12:08 UTC
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
## Summary by CodeRabbit
- **New Features**
- Added the ability to disable renaming for certain widget titles,
displaying a tooltip when renaming is not allowed.
- **Improvements**
- Widgets identified as module widgets are now excluded from the widget
cards list in the UI.
---
app/client/src/ce/constants/messages.ts | 2 +
.../Editor/PropertyPane/PropertyPaneTitle.tsx | 51 +++++++++++++------
.../Editor/PropertyPane/PropertyPaneView.tsx | 1 +
app/client/src/selectors/editorSelectors.tsx | 6 ++-
4 files changed, 43 insertions(+), 17 deletions(-)
diff --git a/app/client/src/ce/constants/messages.ts b/app/client/src/ce/constants/messages.ts
index 7967bb21fb..e5e35b8558 100644
--- a/app/client/src/ce/constants/messages.ts
+++ b/app/client/src/ce/constants/messages.ts
@@ -1627,6 +1627,8 @@ export const PROPERTY_PANE_EMPTY_SEARCH_RESULT_MESSAGE =
"No properties found based on your search";
export const PROPERTY_SEARCH_INPUT_PLACEHOLDER =
"Search for controls, labels etc";
+export const PROPERTY_PANE_TITLE_RENAME_DISABLED = () =>
+ "This widget cannot be renamed";
export const EXPLORER_BETA_ENTITY = () => "BETA";
export const BINDING_WIDGET_WALKTHROUGH_TITLE = () => "Widget properties";
export const BINDING_WIDGET_WALKTHROUGH_DESC = () =>
diff --git a/app/client/src/pages/Editor/PropertyPane/PropertyPaneTitle.tsx b/app/client/src/pages/Editor/PropertyPane/PropertyPaneTitle.tsx
index 21ee25646f..8b059c69f3 100644
--- a/app/client/src/pages/Editor/PropertyPane/PropertyPaneTitle.tsx
+++ b/app/client/src/pages/Editor/PropertyPane/PropertyPaneTitle.tsx
@@ -23,6 +23,10 @@ import {
getIsCurrentWidgetRecentlyAdded,
getPropertyPaneWidth,
} from "selectors/propertyPaneSelectors";
+import {
+ createMessage,
+ PROPERTY_PANE_TITLE_RENAME_DISABLED,
+} from "ee/constants/messages";
interface PropertyPaneTitleProps {
title: string;
@@ -31,6 +35,7 @@ interface PropertyPaneTitleProps {
updatePropertyTitle?: (title: string) => void;
onBackClick?: () => void;
isPanelTitle?: boolean;
+ isRenameDisabled?: boolean;
actions: Array<{
tooltipContent: string;
icon: ReactElement;
@@ -186,22 +191,36 @@ const PropertyPaneTitle = memo(function PropertyPaneTitle(
className="flex-grow"
onKeyDown={handleTabKeyDown}
>
-
+ {props.isRenameDisabled ? (
+
+ ) : (
+
+ )}
{/* ACTIONS */}
diff --git a/app/client/src/pages/Editor/PropertyPane/PropertyPaneView.tsx b/app/client/src/pages/Editor/PropertyPane/PropertyPaneView.tsx
index c6143c68bb..f1663bc579 100644
--- a/app/client/src/pages/Editor/PropertyPane/PropertyPaneView.tsx
+++ b/app/client/src/pages/Editor/PropertyPane/PropertyPaneView.tsx
@@ -287,6 +287,7 @@ function PropertyPaneView(
>
[string],
+) => config.type.startsWith("MODULE_WIDGET_");
+
export const getWidgetCards = createSelector(
getIsAutoLayout,
getIsAnvilLayout,
@@ -357,7 +361,7 @@ export const getWidgetCards = createSelector(
return config.widgetName !== "Map" && !config.hideCard;
}
- return !config.hideCard;
+ return !config.hideCard && !isModuleWidget(config);
});
const _cards: WidgetCardProps[] = cards.map((config) => {
From 4eae26879bb26cc1efd57c6241d70cdc24e536a0 Mon Sep 17 00:00:00 2001
From: Diljit
Date: Mon, 5 May 2025 17:55:25 +0530
Subject: [PATCH 4/7] chore: add feature flag for app computation cache
(#40543)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## 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"
### :mag: Cypress test results
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
> Commit: 8c69931e4d5fb6b319883e8d1ba33f553029f346
> Cypress dashboard .
> Tags: `@tag.All`
> Spec:
> Fri, 02 May 2025 07:00:53 UTC
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
## Summary by CodeRabbit
- **New Features**
- Introduced a new feature flag to control the computation cache
capability.
- **Enhancements**
- Added checks to ensure computation caching only occurs when the
corresponding feature flag is enabled.
---
app/client/src/ce/entities/FeatureFlag.ts | 2 ++
.../AppComputationCache/AppComputationCache.test.ts | 5 +++++
.../src/workers/common/AppComputationCache/index.ts | 10 +++++++++-
3 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/app/client/src/ce/entities/FeatureFlag.ts b/app/client/src/ce/entities/FeatureFlag.ts
index c9ed5ba670..b16c34ca15 100644
--- a/app/client/src/ce/entities/FeatureFlag.ts
+++ b/app/client/src/ce/entities/FeatureFlag.ts
@@ -58,6 +58,7 @@ export const FEATURE_FLAG = {
release_git_package_enabled: "release_git_package_enabled",
license_external_saas_plugins_enabled:
"license_external_saas_plugins_enabled",
+ release_computation_cache_enabled: "release_computation_cache_enabled",
} as const;
export type FeatureFlag = keyof typeof FEATURE_FLAG;
@@ -106,6 +107,7 @@ export const DEFAULT_FEATURE_FLAG_VALUE: FeatureFlags = {
release_table_custom_sort_function_enabled: false,
release_git_package_enabled: false,
license_external_saas_plugins_enabled: false,
+ release_computation_cache_enabled: false,
};
export const AB_TESTING_EVENT_KEYS = {
diff --git a/app/client/src/workers/common/AppComputationCache/AppComputationCache.test.ts b/app/client/src/workers/common/AppComputationCache/AppComputationCache.test.ts
index 223097799c..5f6369dc74 100644
--- a/app/client/src/workers/common/AppComputationCache/AppComputationCache.test.ts
+++ b/app/client/src/workers/common/AppComputationCache/AppComputationCache.test.ts
@@ -7,6 +7,8 @@ import { APP_MODE } from "entities/App";
import localforage from "localforage";
import loglevel from "loglevel";
import { AppComputationCache } from "./index";
+import { WorkerEnv } from "workers/Evaluation/handlers/workerEnv";
+import type { FeatureFlags } from "ee/entities/FeatureFlag";
jest.useFakeTimers();
@@ -68,6 +70,9 @@ describe("AppComputationCache", () => {
beforeEach(() => {
jest.clearAllMocks();
AppComputationCache.resetInstance();
+ WorkerEnv.setFeatureFlags({
+ release_computation_cache_enabled: true,
+ } as FeatureFlags);
// Now instantiate the singleton after mocks are set up
appComputationCache = AppComputationCache.getInstance();
diff --git a/app/client/src/workers/common/AppComputationCache/index.ts b/app/client/src/workers/common/AppComputationCache/index.ts
index f872a6b6c8..7b1a2b926b 100644
--- a/app/client/src/workers/common/AppComputationCache/index.ts
+++ b/app/client/src/workers/common/AppComputationCache/index.ts
@@ -9,6 +9,7 @@ import {
} from "./types";
import debounce from "lodash/debounce";
import { isFinite, isNumber, isString } from "lodash";
+import { WorkerEnv } from "workers/Evaluation/handlers/workerEnv";
interface ICachedData {
value: T;
@@ -82,6 +83,12 @@ export class AppComputationCache {
5000,
);
+ isComputationCacheFeatureEnabled() {
+ const featureFlags = WorkerEnv.getFeatureFlags();
+
+ return featureFlags["release_computation_cache_enabled"] || false;
+ }
+
/**
* Check if the computation result should be cached based on the app mode configuration
* @returns - A boolean indicating whether the cache should be enabled for the given app mode
@@ -95,7 +102,8 @@ export class AppComputationCache {
if (
!this.isAppModeValid(appMode) ||
!this.isTimestampValid(timestamp) ||
- !this.isDSLVersionValid(dslVersion)
+ !this.isDSLVersionValid(dslVersion) ||
+ !this.isComputationCacheFeatureEnabled()
) {
return false;
}
From 119eb524d03eadef56fd301becbd1c41f839e053 Mon Sep 17 00:00:00 2001
From: vadim
Date: Mon, 5 May 2025 16:56:39 +0200
Subject: [PATCH 5/7] chore: Adjust WDS border neutral subtle (light mode)
(#40578)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## Description
Slightly more subtle and nicer-looking border.
## Automation
/ok-to-test tags="@tag.Sanity"
### :mag: Cypress test results
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
> Commit: ba34566ae70e97803acd3ecf3a8fe726633a4fac
> Cypress dashboard .
> Tags: `@tag.Sanity`
> Spec:
> Mon, 05 May 2025 14:09:11 UTC
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
## Summary by CodeRabbit
- **Style**
- Adjusted the subtle neutral border color in light mode to appear less
bright, affecting the appearance of outlined buttons.
---
.../design-system/theming/src/color/src/LightModeTheme.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/client/packages/design-system/theming/src/color/src/LightModeTheme.ts b/app/client/packages/design-system/theming/src/color/src/LightModeTheme.ts
index 6b480526ea..5840db599d 100644
--- a/app/client/packages/design-system/theming/src/color/src/LightModeTheme.ts
+++ b/app/client/packages/design-system/theming/src/color/src/LightModeTheme.ts
@@ -1063,7 +1063,7 @@ export class LightModeTheme implements ColorModeTheme {
// Slightly subtler version of neutral border, used in outlined buttons
const color = this.bdNeutral.clone();
- color.oklch.l += 0.47;
+ color.oklch.l += 0.35;
return color;
}
From b7a2f5c2611523d52ae2c5142fcaefc7f819b41d Mon Sep 17 00:00:00 2001
From: Hetu Nandu
Date: Tue, 6 May 2025 16:02:38 +0530
Subject: [PATCH 6/7] chore: Add placeholder AI Integrations form (#40583)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## Description
Adds a new AI integrations form and a feature flag to control it
## Automation
/ok-to-test tags="@tag.Sanity"
### :mag: Cypress test results
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
> Commit: 047893cddfa36128ca4b07263ef2e49afba40fe1
> Cypress dashboard .
> Tags: `@tag.Sanity`
> Spec:
> Tue, 06 May 2025 06:16:52 UTC
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
## Summary by CodeRabbit
- **New Features**
- Introduced a new AI Chat Integrations form control component.
- Added a feature flag to enable or disable AI Chat Integrations.
- **Chores**
- Registered the new form control type and component in the form control
registry.
- Updated feature flag override capabilities to include the new AI Chat
Integrations flag.
---
.../formControls/AIChatIntegrationsControl.tsx | 18 ++++++++++++++++++
.../src/ce/components/formControls/index.ts | 1 +
app/client/src/ce/entities/FeatureFlag.ts | 2 ++
.../AIChatIntegrationsControl/index.ts | 1 +
.../utils/formControl/FormControlRegistry.tsx | 9 +++++++++
.../src/utils/formControl/formControlTypes.ts | 1 +
.../src/utils/hooks/useFeatureFlagOverride.ts | 1 +
7 files changed, 33 insertions(+)
create mode 100644 app/client/src/ce/components/formControls/AIChatIntegrationsControl.tsx
create mode 100644 app/client/src/ce/components/formControls/index.ts
create mode 100644 app/client/src/ee/components/formControls/AIChatIntegrationsControl/index.ts
diff --git a/app/client/src/ce/components/formControls/AIChatIntegrationsControl.tsx b/app/client/src/ce/components/formControls/AIChatIntegrationsControl.tsx
new file mode 100644
index 0000000000..39a0550f3f
--- /dev/null
+++ b/app/client/src/ce/components/formControls/AIChatIntegrationsControl.tsx
@@ -0,0 +1,18 @@
+import React from "react";
+import BaseControl, {
+ type ControlProps,
+} from "components/formControls/BaseControl";
+import type { ControlType } from "constants/PropertyControlConstants";
+
+interface AIChatIntegrationsControlProps extends ControlProps {}
+
+class AIChatIntegrationsControl extends BaseControl {
+ getControlType(): ControlType {
+ return "AI_CHAT_INTEGRATIONS_FORM";
+ }
+ public render() {
+ return AIChatIntegrationsControl
;
+ }
+}
+
+export default AIChatIntegrationsControl;
diff --git a/app/client/src/ce/components/formControls/index.ts b/app/client/src/ce/components/formControls/index.ts
new file mode 100644
index 0000000000..977f194275
--- /dev/null
+++ b/app/client/src/ce/components/formControls/index.ts
@@ -0,0 +1 @@
+export { default } from "./AIChatIntegrationsControl";
diff --git a/app/client/src/ce/entities/FeatureFlag.ts b/app/client/src/ce/entities/FeatureFlag.ts
index b16c34ca15..63f151e0e7 100644
--- a/app/client/src/ce/entities/FeatureFlag.ts
+++ b/app/client/src/ce/entities/FeatureFlag.ts
@@ -59,6 +59,7 @@ export const FEATURE_FLAG = {
license_external_saas_plugins_enabled:
"license_external_saas_plugins_enabled",
release_computation_cache_enabled: "release_computation_cache_enabled",
+ release_ai_chat_integrations_enabled: "release_ai_chat_integrations_enabled",
} as const;
export type FeatureFlag = keyof typeof FEATURE_FLAG;
@@ -108,6 +109,7 @@ export const DEFAULT_FEATURE_FLAG_VALUE: FeatureFlags = {
release_git_package_enabled: false,
license_external_saas_plugins_enabled: false,
release_computation_cache_enabled: false,
+ release_ai_chat_integrations_enabled: false,
};
export const AB_TESTING_EVENT_KEYS = {
diff --git a/app/client/src/ee/components/formControls/AIChatIntegrationsControl/index.ts b/app/client/src/ee/components/formControls/AIChatIntegrationsControl/index.ts
new file mode 100644
index 0000000000..eb7d8e90e0
--- /dev/null
+++ b/app/client/src/ee/components/formControls/AIChatIntegrationsControl/index.ts
@@ -0,0 +1 @@
+export { default } from "ce/components/formControls/AIChatIntegrationsControl";
diff --git a/app/client/src/utils/formControl/FormControlRegistry.tsx b/app/client/src/utils/formControl/FormControlRegistry.tsx
index 06ae0c609c..0dc64d91a7 100644
--- a/app/client/src/utils/formControl/FormControlRegistry.tsx
+++ b/app/client/src/utils/formControl/FormControlRegistry.tsx
@@ -56,6 +56,7 @@ import {
AiChatSystemInstructionsControl,
type AiChatSystemInstructionsControlProps,
} from "components/formControls/AIChatSystemInstructionsControl";
+import AIChatIntegrationsControl from "ee/components/formControls/AIChatIntegrationsControl";
/**
* NOTE: If you are adding a component that uses FormControl
@@ -253,6 +254,14 @@ class FormControlRegistry {
},
},
);
+ FormControlFactory.registerControlBuilder(
+ formControlTypes.AI_CHAT_INTEGRATIONS_FORM,
+ {
+ buildPropertyControl(controlProps): JSX.Element {
+ return ;
+ },
+ },
+ );
FormControlFactory.registerControlBuilder(
formControlTypes.DATASOURCE_LINK,
{
diff --git a/app/client/src/utils/formControl/formControlTypes.ts b/app/client/src/utils/formControl/formControlTypes.ts
index 7564fd922d..c5f9468aff 100644
--- a/app/client/src/utils/formControl/formControlTypes.ts
+++ b/app/client/src/utils/formControl/formControlTypes.ts
@@ -27,4 +27,5 @@ export default {
DATASOURCE_LINK: "DATASOURCE_LINK",
CUSTOM_ACTIONS_CONFIG_FORM: "CUSTOM_ACTIONS_CONFIG_FORM",
AI_CHAT_SYSTEM_INSTRUCTIONS: "AI_CHAT_SYSTEM_INSTRUCTIONS",
+ AI_CHAT_INTEGRATIONS_FORM: "AI_CHAT_INTEGRATIONS_FORM",
};
diff --git a/app/client/src/utils/hooks/useFeatureFlagOverride.ts b/app/client/src/utils/hooks/useFeatureFlagOverride.ts
index ab30f18f42..03dbe071a0 100644
--- a/app/client/src/utils/hooks/useFeatureFlagOverride.ts
+++ b/app/client/src/utils/hooks/useFeatureFlagOverride.ts
@@ -16,6 +16,7 @@ export const AvailableFeaturesToOverride: FeatureFlag[] = [
"release_anvil_enabled",
"release_layout_conversion_enabled",
"license_ai_agent_enabled",
+ "release_ai_chat_integrations_enabled",
];
export type OverriddenFeatureFlags = Partial>;
From c57cc56775e8e97f023fad1d39e00e5d05eba162 Mon Sep 17 00:00:00 2001
From: vadim
Date: Wed, 7 May 2025 12:06:40 +0200
Subject: [PATCH 7/7] chore: WDS adjust neutral subtle colors (#40595)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## Description
Fixes #39932
| Before | After |
|--------|--------|
| | |
## Automation
/ok-to-test tags="@tag.Sanity"
### :mag: Cypress test results
> [!IMPORTANT]
> 🟣 🟣 🟣 Your tests are running.
> Tests running at:
> Commit: f691f26b504269eaaa960626392789db7ff7f0f3
> Workflow: `PR Automation test suite`
> Tags: `@tag.Sanity`
> Spec: ``
> Wed, 07 May 2025 08:48:38 UTC
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
## Summary by CodeRabbit
- **Style**
- Adjusted the brightness of subtle neutral background and foreground
colors in light mode for improved visual appearance.
- **Tests**
- Updated expected color values in tests to match the new brightness
adjustments.
---
.../theming/src/color/src/LightModeTheme.ts | 4 ++--
.../theming/src/color/tests/LightModeTheme.test.ts | 12 ++++++------
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/app/client/packages/design-system/theming/src/color/src/LightModeTheme.ts b/app/client/packages/design-system/theming/src/color/src/LightModeTheme.ts
index 5840db599d..dfcf36aa3a 100644
--- a/app/client/packages/design-system/theming/src/color/src/LightModeTheme.ts
+++ b/app/client/packages/design-system/theming/src/color/src/LightModeTheme.ts
@@ -413,7 +413,7 @@ export class LightModeTheme implements ColorModeTheme {
}
if (!this.seedIsVeryLight) {
- color.oklch.l = 0.97;
+ color.oklch.l = 0.975;
}
if (this.seedChroma > 0.002) {
@@ -785,7 +785,7 @@ export class LightModeTheme implements ColorModeTheme {
private get fgNeutralSubtle() {
const color = this.fgNeutral.clone();
- color.oklch.l += 0.12;
+ color.oklch.l += 0.1;
return color;
}
diff --git a/app/client/packages/design-system/theming/src/color/tests/LightModeTheme.test.ts b/app/client/packages/design-system/theming/src/color/tests/LightModeTheme.test.ts
index da4a6f7557..861c1199d3 100644
--- a/app/client/packages/design-system/theming/src/color/tests/LightModeTheme.test.ts
+++ b/app/client/packages/design-system/theming/src/color/tests/LightModeTheme.test.ts
@@ -358,7 +358,7 @@ describe("bgNeutralSubtle color", () => {
"oklch(0.92 0.03 170)",
).getColors();
- expect(bgNeutralSubtle).toEqual("rgb(95.592% 96.251% 95.981%)");
+ expect(bgNeutralSubtle).toEqual("rgb(96.247% 96.906% 96.636%)");
});
it("should return correct color when seedChroma > 0.01", () => {
@@ -366,7 +366,7 @@ describe("bgNeutralSubtle color", () => {
"oklch(0.92 0.1 170)",
).getColors();
- expect(bgNeutralSubtle).toEqual("rgb(95.592% 96.251% 95.981%)");
+ expect(bgNeutralSubtle).toEqual("rgb(96.247% 96.906% 96.636%)");
});
it("should return correct color when chroma < 0.04", () => {
@@ -374,7 +374,7 @@ describe("bgNeutralSubtle color", () => {
"oklch(0.92 0.03 170)",
).getColors();
- expect(bgNeutralSubtle).toEqual("rgb(95.592% 96.251% 95.981%)");
+ expect(bgNeutralSubtle).toEqual("rgb(96.247% 96.906% 96.636%)");
});
});
@@ -384,7 +384,7 @@ describe("bgNeutralSubtleHover color", () => {
"oklch(0.92 0.1 170)",
).getColors();
- expect(bgNeutralSubtleHover).toEqual("rgb(97.164% 97.825% 97.554%)");
+ expect(bgNeutralSubtleHover).toEqual("rgb(97.82% 98.482% 98.21%)");
});
});
@@ -394,7 +394,7 @@ describe("bgNeutralSubtleActive color", () => {
"oklch(0.92 0.1 170)",
).getColors();
- expect(bgNeutralSubtleActive).toEqual("rgb(94.286% 94.944% 94.674%)");
+ expect(bgNeutralSubtleActive).toEqual("rgb(94.939% 95.597% 95.327%)");
});
});
@@ -692,7 +692,7 @@ describe("fgNeutralSubtle color", () => {
"oklch(0.45 0.03 60)",
).getColors();
- expect(fgNeutralSubtle).toEqual("rgb(43.337% 43.337% 43.337%)");
+ expect(fgNeutralSubtle).toEqual("rgb(41.086% 41.086% 41.086%)");
});
});