-
Notifications
You must be signed in to change notification settings - Fork 4.1k
fix: Cyclic dependencies for reactive queries run behavior changes #40481
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: Cyclic dependencies for reactive queries run behavior changes #40481
Conversation
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review (2)
Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the WalkthroughThis update replaces the legacy boolean property Changes
Sequence Diagram(s)sequenceDiagram
participant UI
participant Redux
participant Saga
participant API
participant Server
UI->>Redux: Dispatch SET_ACTION_RUN_BEHAVIOR (runBehavior)
Redux->>Saga: Watch for SET_ACTION_RUN_BEHAVIOR
Saga->>API: Call updateActionRunBehavior(actionId, runBehavior)
API->>Server: PUT /runBehavior/{actionId} { behavior: runBehavior }
Server->>Server: Update Action.runBehavior & sync executeOnLoad
Server-->>API: Return updated Action
API-->>Saga: Return updated Action
Saga-->>Redux: Dispatch UPDATE_ACTION_RUN_BEHAVIOR_SUCCESS
Redux-->>UI: Update state with new runBehavior
Suggested labels
Poem
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongl 8000 y recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (3)
app/client/src/entities/Action/actionProperties.test.ts (1)
13-13
: Replaced executeOnLoad with runBehavior in DEFAULT_ACTIONThe change from
executeOnLoad: false
torunBehavior: "MANUAL"
is consistent with the refactoring effort. However, I notice that the value is a string literal here rather than using the enum value as in other files (ActionRunBehaviour.MANUAL). Consider using the enum for consistency if applicable.app/client/src/ce/sagas/PageSagas.tsx (2)
542-544
: Consider using Object.hasOwn() instead of direct hasOwnProperty calls.Using the hasOwnProperty method directly on objects can be unsafe if the property has been overridden on the object's prototype chain.
-const jsActions = actionUpdates.filter((d) => - d.hasOwnProperty("collectionId"), -); +const jsActions = actionUpdates.filter((d) => + Object.hasOwn(d, "collectionId"), +);🧰 Tools
🪛 Biome (1.9.4)
[error] 543-543: Do not access Object.prototype method 'hasOwnProperty' from target object.
It's recommended using Object.hasOwn() instead of using Object.hasOwnProperty().
See MDN web docs for more details.(lint/suspicious/noPrototypeBuiltins)
546-546
: Consider using optional chaining for cleaner null checks.The current null check pattern can be simplified using optional chaining for better readability.
-if (jsActions && jsActions.length) { +if (jsActions?.length) {🧰 Tools
🪛 Biome (1.9.4)
[error] 546-546: Change to an optional chain.
Unsafe fix: Change to an optional chain.
(lint/complexity/useOptionalChain)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (71)
app/client/src/PluginActionEditor/components/PluginActionSettings/SettingsPopover.tsx
(1 hunks)app/client/src/PluginActionEditor/constants/PluginActionConstants.ts
(0 hunks)app/client/src/PluginActionEditor/transformers/RestActionTransformers.test.ts
(1 hunks)app/client/src/PluginActionEditor/types/PluginActionTypes.ts
(1 hunks)app/client/src/actions/pluginActionActions.ts
(2 hunks)app/client/src/api/ActionAPI.tsx
(2 hunks)app/client/src/api/PageApi.tsx
(2 hunks)app/client/src/ce/components/editorComponents/GPT/index.tsx
(1 hunks)app/client/src/ce/constants/ReduxActionConstants.tsx
(4 hunks)app/client/src/ce/constants/messages.ts
(1 hunks)app/client/src/ce/entities/DataTree/dataTreeJSAction.test.ts
(4 hunks)app/client/src/ce/reducers/entityReducers/actionsReducer.tsx
(3 hunks)app/client/src/ce/reducers/entityReducers/jsActionsReducer.tsx
(4 hunks)app/client/src/ce/sagas/PageSagas.tsx
(2 hunks)app/client/src/ce/utils/autocomplete/EntityDefinitions.test.ts
(2 hunks)app/client/src/ce/utils/moduleInstanceNavigationData.ts
(1 hunks)app/client/src/components/editorComponents/CodeEditor/EditorConfig.ts
(1 hunks)app/client/src/components/editorComponents/CodeEditor/MarkHelpers/entityMarker.ts
(1 hunks)app/client/src/components/editorComponents/CodeEditor/commandsHelper.ts
(1 hunks)app/client/src/components/editorComponents/CodeEditor/index.tsx
(1 hunks)app/client/src/components/editorComponents/PartialImportExport/PartialExportModal/unitTestUtils.ts
(10 hunks)app/client/src/components/editorComponents/utils.test.ts
(2 hunks)app/client/src/components/formControls/DropDownControl.tsx
(4 hunks)app/client/src/constants/AppsmithActionConstants/formConfig/ApiSettingsConfig.ts
(1 hunks)app/client/src/constants/AppsmithActionConstants/formConfig/GoogleSheetsSettingsConfig.ts
(1 hunks)app/client/src/constants/AppsmithActionConstants/formConfig/QuerySettingsConfig.ts
(1 hunks)app/client/src/entities/Action/actionProperties.test.ts
(1 hunks)app/client/src/entities/Action/index.ts
(2 hunks)app/client/src/entities/DataTree/dataTreeTypes.ts
(2 hunks)app/client/src/pages/Editor/EntityNavigation/JSObjectsPane/index.ts
(1 hunks)app/client/src/pages/Editor/JSEditor/JSEditorToolbar/components/JSFunctionSettings.test.tsx
(2 hunks)app/client/src/pages/Editor/JSEditor/JSEditorToolbar/components/JSFunctionSettings.tsx
(3 hunks)app/client/src/pages/Editor/JSEditor/JSEditorToolbar/types.ts
(1 hunks)app/client/src/pages/Editor/JSEditor/utils.test.ts
(2 hunks)app/client/src/pages/Editor/SaaSEditor/__data__/FinalState.json
(8 hunks)app/client/src/pages/Editor/SaaSEditor/__data__/InitialState.json
(8 hunks)app/client/src/sagas/ActionExecution/PluginActionSaga.ts
(2 hunks)app/client/src/sagas/ActionSagas.ts
(4 hunks)app/client/src/sagas/BuildingBlockSagas/tests/fixtures.ts
(1 hunks)app/client/src/sagas/JSPaneSagas.ts
(4 hunks)app/client/src/selectors/navigationSelectors.ts
(1 hunks)app/client/src/utils/DynamicBindingUtils.test.ts
(1 hunks)app/client/src/utils/FilterInternalProperties/JsAction.ts
(2 hunks)app/client/src/utils/JSPaneUtils.test.ts
(11 hunks)app/client/src/utils/JSPaneUtils.tsx
(5 hunks)app/client/src/utils/NavigationSelector/JsChildren.ts
(1 hunks)app/client/src/utils/NavigationSelector/WidgetChildren.ts
(1 hunks)app/client/src/utils/NavigationSelector/common.ts
(1 hunks)app/client/test/factories/Actions/API.ts
(1 hunks)app/client/test/factories/Actions/GoogleSheetFactory.ts
(1 hunks)app/client/test/factories/Actions/JSObject.ts
(2 hunks)app/client/test/factories/Actions/Postgres.ts
(1 hunks)app/client/test/factories/MockPluginsState.ts
(4 hunks)app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/RunBehaviorEnum.java
(1 hunks)app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/ce/ActionCE_DTO.java
(2 hunks)app/server/appsmith-plugins/amazons3Plugin/src/main/resources/setting.json
(1 hunks)app/server/appsmith-plugins/anthropicPlugin/src/main/resources/setting.json
(1 hunks)app/server/appsmith-plugins/appsmithAiPlugin/src/main/resources/setting.json
(1 hunks)app/server/appsmith-plugins/firestorePlugin/src/main/resources/setting.json
(1 hunks)app/server/appsmith-plugins/googleAiPlugin/src/main/resources/setting.json
(1 hunks)app/server/appsmith-plugins/googleSheetsPlugin/src/main/resources/setting.json
(1 hunks)app/server/appsmith-plugins/mongoPlugin/src/main/resources/setting.json
(1 hunks)app/server/appsmith-plugins/mssqlPlugin/src/main/resources/setting.json
(1 hunks)app/server/appsmith-plugins/mysqlPlugin/src/main/resources/setting.json
(1 hunks)app/server/appsmith-plugins/openAiPlugin/src/main/resources/setting.json
(1 hunks)app/server/appsmith-plugins/oraclePlugin/src/main/resources/setting.json
(1 hunks)app/server/appsmith-plugins/postgresPlugin/src/main/resources/setting.json
(1 hunks)app/server/appsmith-server/src/main/java/com/appsmith/server/controllers/ce/ActionControllerCE.java
(2 hunks)app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/LayoutActionServiceCE.java
(2 hunks)app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/LayoutActionServiceCEImpl.java
(3 hunks)app/server/appsmith-server/src/test/java/com/appsmith/server/services/LayoutActionServiceTest.java
(2 hunks)
💤 Files with no reviewable changes (1)
- app/client/src/PluginActionEditor/constants/PluginActionConstants.ts
🧰 Additional context used
🧬 Code Graph Analysis (11)
app/client/src/api/PageApi.tsx (1)
app/client/src/PluginActionEditor/types/PluginActionTypes.ts (1)
ActionRunBehaviourType
(25-25)
app/client/src/pages/Editor/JSEditor/JSEditorToolbar/types.ts (1)
app/client/src/PluginActionEditor/types/PluginActionTypes.ts (1)
ActionRunBehaviourType
(25-25)
app/client/src/constants/AppsmithActionConstants/formConfig/ApiSettingsConfig.ts (1)
app/client/src/PluginActionEditor/types/PluginActionTypes.ts (2)
RUN_BEHAVIOR
(10-21)RUN_BEHAVIOR_VALUES
(23-23)
app/client/src/constants/AppsmithActionConstants/formConfig/QuerySettingsConfig.ts (1)
app/client/src/PluginActionEditor/types/PluginActionTypes.ts (2)
RUN_BEHAVIOR
(10-21)RUN_BEHAVIOR_VALUES
(23-23)
app/client/src/sagas/ActionExecution/PluginActionSaga.ts (2)
app/client/src/ce/reducers/entityReducers/actionsReducer.tsx (1)
ActionData
(18-22)app/client/src/ce/selectors/entitiesSelector.ts (1)
getCurrentActions
(694-702)
app/client/src/api/ActionAPI.tsx (1)
app/client/src/PluginActionEditor/types/PluginActionTypes.ts (1)
ActionRunBehaviourType
(25-25)
app/client/src/constants/AppsmithActionConstants/formConfig/GoogleSheetsSettingsConfig.ts (1)
app/client/src/PluginActionEditor/types/PluginActionTypes.ts (2)
RUN_BEHAVIOR
(10-21)RUN_BEHAVIOR_VALUES
(23-23)
app/client/src/entities/DataTree/dataTreeTypes.ts (1)
app/client/src/ce/entities/DataTree/types.ts (1)
EntityTypeValue
(37-37)
app/client/src/entities/Action/index.ts (1)
app/client/src/PluginActionEditor/types/PluginActionTypes.ts (1)
ActionRunBehaviourType
(25-25)
app/client/src/ce/reducers/entityReducers/jsActionsReducer.tsx (2)
app/client/src/ce/constants/ReduxActionConstants.tsx (1)
ReduxActionTypes
(1281-1324)app/client/src/PluginActionEditor/types/PluginActionTypes.ts (1)
ActionRunBehaviourType
(25-25)
app/client/src/components/formControls/DropDownControl.tsx (2)
app/client/src/ce/pages/workspace/InviteUsersForm.tsx (1)
OptionLabel
(127-134)app/client/packages/design-system/ads/src/Select/Select.tsx (1)
Option
(143-143)
🪛 Biome (1.9.4)
app/client/src/ce/sagas/PageSagas.tsx
[error] 543-543: Do not access Object.prototype method 'hasOwnProperty' from target object.
It's recommended using Object.hasOwn() instead of using Object.hasOwnProperty().
See MDN web docs for more details.
(lint/suspicious/noPrototypeBuiltins)
[error] 546-546: Change to an optional chain.
Unsafe fix: Change to an optional chain.
(lint/complexity/useOptionalChain)
⏰ Context from checks skipped due to timeout of 90000ms (5)
- GitHub Check: client-lint / client-lint
- GitHub Check: client-unit-tests / client-unit-tests
- GitHub Check: server-unit-tests / server-unit-tests
- GitHub Check: client-unit-tests / client-unit-tests
- GitHub Check: server-unit-tests / server-unit-tests
🔇 Additional comments (131)
app/client/src/ce/components/editorComponents/GPT/index.tsx (1)
6-6
: Inconsistent import path for EntityNavigationData
This file importsEntityNavigationData
from"ee/entities/DataTree/types"
, whereas other modules reference the centralized"entities/DataTree/dataTreeTypes"
location. Please verify that"ee/entities/DataTree/types"
is the intended source or update this import to the shareddataTreeTypes
module to ensure consistency.app/client/src/ce/utils/moduleInstanceNavigationData.ts (1)
2-2
: Centralized import of EntityNavigationData
Good update: importingEntityNavigationData
fromentities/DataTree/dataTreeTypes
removes duplication and aligns with the new shared type definitions.app/client/src/components/editorComponents/CodeEditor/MarkHelpers/entityMarker.ts (1)
4-4
: Updated import for navigation types
SwitchingEntityNavigationData
andNavigationData
imports to the centralizedentities/DataTree/dataTreeTypes
is correct and maintains type consistency across editor components.app/client/src/utils/NavigationSelector/JsChildren.ts (1)
10-10
: Consistent navigation type imports
Usingentities/DataTree/dataTreeTypes
forEntityNavigationData
andNavigationData
aligns this selector with the refactor. No further changes needed here.app/client/src/utils/NavigationSelector/common.ts (1)
5-5
: Consolidated import of navigation types
Great to seeEntityNavigationData
andNavigationData
now imported from the centralizedentities/DataTree/dataTreeTypes
module, removing old duplicates.app/client/src/PluginActionEditor/components/PluginActionSettings/SettingsPopover.tsx (1)
16-16
: Import updated forTHEME
constant
Switching the import to../../types/PluginActionTypes
aligns with the refactor.app/client/src/components/editorComponents/CodeEditor/commandsHelper.ts (1)
21-21
: Centralize navigation types import
ImportingEntityNavigationData
andNavigationData
fromentities/DataTree/dataTreeTypes
is correct and improves consistency.app/client/src/utils/NavigationSelector/WidgetChildren.ts (1)
5-5
: ConsolidateEntityNavigationData
import
This change centralizes the type indataTreeTypes
as intended.app/client/src/ce/utils/autocomplete/EntityDefinitions.test.ts (2)
47-47
: Update test fixture to userunBehavior
ReplacingexecuteOnLoad
withrunBehavior: "MANUAL"
matches the new model.
89-89
: Align second action withrunBehavior
Good consistency—both fixtures now reflect the manual run behavior.app/client/src/components/editorComponents/CodeEditor/EditorConfig.ts (1)
3-6
: Consolidate navigation type imports
ImportingDataTree
andEntityNavigationData
fromdataTreeTypes
centralizes the definitions.app/client/src/components/editorComponents/CodeEditor/index.tsx (1)
125-125
: Import path updated to use centralized type definition.The import for
EntityNavigationData
now comes from a centralized location in the dataTreeTypes module rather than from the navigationSelectors. This helps reduce type duplication and improves maintainability.app/client/src/sagas/BuildingBlockSagas/tests/fixtures.ts (1)
132-132
: Replace boolean executeOnLoad with expressive runBehavior property.The change replaces the legacy boolean property
executeOnLoad
with the more descriptiverunBehavior
string property set to"ON_PAGE_LOAD"
. This improves code readability and provides more flexibility for run behavior options.app/client/src/utils/DynamicBindingUtils.test.ts (1)
123-123
: Replace boolean executeOnLoad with expressive runBehavior property.The test fixture now uses
runBehavior: "MANUAL"
instead of the booleanexecuteOnLoad
flag. This aligns with the broader refactoring to standardize action run behavior across the codebase.app/client/test/factories/Actions/JSObject.ts (1)
33-33
: Replace boolean executeOnLoad with expressive runBehavior property.Both JS action objects in the factory now use
runBehavior: "MANUAL"
instead of the booleanexecuteOnLoad
flag. This aligns with the system-wide migration from boolean flags to a more expressive string-based enum for controlling when actions run.Also applies to: 73-73
app/client/src/ce/constants/messages.ts (1)
2592-2592
: Change improves message clarity for new run behavior modelUpdated message title aligns with the new
runBehavior
property model, making it clearer that this is about choosing when functions run rather than specifically about page load execution.app/client/src/ce/entities/DataTree/dataTreeJSAction.test.ts (1)
47-47
: Boolean flag replaced with explicit string enumThe test fixtures have been updated to use
runBehavior: "MANUAL"
instead of the previous booleanexecuteOnLoad: false
. This change maintains the same functional behavior while adopting the more expressive run behavior model.Also applies to: 94-94, 242-242, 289-289
app/client/test/factories/Actions/GoogleSheetFactory.ts (1)
66-66
: Test factory updated to use new run behavior propertyThe Google Sheet test factory now correctly uses
runBehavior: "MANUAL"
instead of a boolean flag, aligning with the architectural changes made throughout the codebase.app/client/src/pages/Editor/EntityNavigation/JSObjectsPane/index.ts (1)
84-84
: Updated property path check in tab selection logicThe navigation logic has been properly updated to check for the new
runBehavior
property path instead of the deprecatedexecuteOnLoad
property path when determining which editor tab to display.app/client/src/components/editorComponents/utils.test.ts (2)
2-2
: Added necessary import for ActionRunBehaviour enumThe import is required to support the updated test fixture.
34-34
: Updated test fixture to use runBehavior instead of executeOnLoadThis change aligns the test data with the broader refactoring from boolean
executeOnLoad
to the more expressiveActionRunBehaviour
enum. TheMANUAL
value is the equivalent replacement for what was likelyfalse
in the previous implementation.app/client/test/factories/Actions/Postgres.ts (1)
34-34
:❌ Incorrect review comment
Replaced executeOnLoad with runBehavior in PostgresFactory
The change from
executeOnLoad
torunBehavior: "MANUAL"
is aligned with the overall refactoring. However, if the original value wasexecuteOnLoad: true
, the logical equivalent would berunBehavior: "ON_PAGE_LOAD"
rather than"MANUAL"
. Verify that this change doesn't alter the expected behavior of tests using this factory.
🏁 Script executed:
#!/bin/bash # Verify if this factory was originally using executeOnLoad: true git show HEAD~1:app/client/test/factories/Actions/Postgres.ts | grep executeOnLoadLength of output: 84
Let’s search the entire repo for any
executeOnLoad
references to confirm its prior usage:
🏁 Script executed:
#!/bin/bash # Search for any executeOnLoad references across the codebase rg executeOnLoad -n .Length of output: 65790
No executeOnLoad in PostgresFactory – original comment can be ignored
This factory never defined an
executeOnLoad
property, so there’s no priortrue
value to map. The newrunBehavior: "MANUAL"
aligns with the updated API and requires no further action.Likely an incorrect or invalid review comment.
app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/LayoutActionServiceCE.java (2)
4-4
: Added import for RunBehaviorEnumThis import supports the newly added method for setting run behavior.
21-21
:✅ Verification successful
Added new method to set run behavior
The new
setRunBehavior
method complements the existingsetExecuteOnLoad
method, providing a more expressive way to control action execution behavior. This is a good approach that maintains backward compatibility while introducing the new functionality.Let's check if the implementation of this method properly synchronizes with the legacy
executeOnLoad
property:
🏁 Script executed:
#!/bin/bash # Check implementation of setRunBehavior in the implementation class fd "LayoutActionServiceCEImpl.java" --type f | xargs grep -A 20 "setRunBehavior"Length of output: 3850
Implementation correctly updates executeOnLoad for backward compatibility
Verified that the
setRunBehavior
implementation inLayoutActionServiceCEImpl.java
:
- Calls
action.setUserSetOnLoad(true)
- Sets the new
RunBehaviorEnum
- Updates
executeOnLoad
totrue
ifRunBehaviorEnum.ON_PAGE_LOAD
, otherwise tofalse
This preserves backward compatibility with the legacy
executeOnLoad
property. No changes required.app/client/src/pages/Editor/JSEditor/JSEditorToolbar/types.ts (1)
3-3
: Good type refinement for better type safetyReplacing the generic
boolean | number
with the more specificActionRunBehaviourType
ensures stronger type checking and better code clarity. This aligns with the broader refactor to standardize run behavior across the application.Also applies to: 6-6
app/client/test/factories/Actions/API.ts (1)
66-66
: Proper update for test factoryThe factory has been correctly updated to use
runBehavior: "MANUAL"
instead of the previous boolean flag. This ensures test data consistency with the new behavior model.app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/RunBehaviorEnum.java (1)
1-9
: Well-structured enum implementationThe enum is well-documented with clear comments explaining each value's purpose. This provides a type-safe way to represent run behaviors and aligns with the client-side implementation.
app/client/src/PluginActionEditor/transformers/RestActionTransformers.test.ts (1)
18-18
: Test fixture correctly updatedThe test fixture now properly uses the new run behavior model with
"MANUAL"
corresponding to the previousfalse
value forexecuteOnLoad
.app/client/src/sagas/ActionExecution/PluginActionSaga.ts (2)
172-172
: Import added for new enum typeThe addition of this import supports the transition from boolean
executeOnLoad
to the more expressiveActionRunBehaviour
enum.
1557-1566
: Correctly replaced boolean flag with enum-based behaviorGood implementation of the refactoring pattern - replacing the boolean check with a more expressive enum comparison. The comment has been properly updated to reflect the new condition logic.
app/client/src/api/PageApi.tsx (2)
12-12
: Added ActionRunBehaviourType importAppropriate import to support the type change in SavePageResponseData.
73-73
: Updated action property from boolean to typed enumUpdated SavePageResponseData interface to use the more expressive ActionRunBehaviourType instead of a boolean flag, aligning with the application-wide refactoring pattern.
app/client/src/pages/Editor/JSEditor/utils.test.ts (2)
9-9
: Added import for ActionRunBehaviour enumRequired import to support the test fixture updates.
48-48
: Test fixture updated from boolean to enumCorrectly updated the test fixture from
executeOnLoad: false
torunBehavior: ActionRunBehaviour.MANUAL
, preserving the same functional behavior while implementing the new type system.app/client/src/entities/Action/index.ts (2)
13-13
: Added import for ActionRunBehaviourTypeRequired import to support the interface updates.
143-143
: Core interface updated from boolean to typed enumCritical change to the BaseAction interface that replaces the boolean
executeOnLoad
property with the more expressiverunBehavior
property. This change propagates to all action types in the application.app/client/src/constants/AppsmithActionConstants/formConfig/QuerySettingsConfig.ts (2)
1-4
: Correctly imported new run behavior constants.These imports support the new dropdown-based run behavior configuration, replacing the previous boolean switch.
12-16
: Good implementation of the run behavior dropdown.The change from a boolean toggle to a dropdown with multiple options improves clarity and extensibility. Setting the default to MANUAL is a sensible choice for queries as it prevents unnecessary database calls.
app/client/src/utils/FilterInternalProperties/JsAction.ts (2)
4-4
: Appropriate import added for ActionRunBehaviour enum.This import supports the updated condition check for run behavior.
19-22
: Correctly updated conditional logic.The condition has been properly updated to check for the specific enum value instead of the boolean flag, which maintains the same logical behavior while using the new property structure.
app/server/appsmith-plugins/postgresPlugin/src/main/resources/setting.json (1)
8-24
: Proper implementation of run behavior dropdown in PostgreSQL plugin.The configuration has been correctly updated to use a dropdown with clear options. Good job providing helpful subtext for each option to guide users.
app/client/src/constants/AppsmithActionConstants/formConfig/GoogleSheetsSettingsConfig.ts (2)
1-4
: Correctly imported run behavior constants.These imports align with the implementation in other action configurations.
12-16
: Good implementation of run behavior dropdown for Google Sheets.The change is consistent with other action configurations, using the same pattern and defaults. This consistency will help users understand the behavior across different action types.
app/client/src/pages/Editor/JSEditor/JSEditorToolbar/components/JSFunctionSettings.test.tsx (2)
7-7
: New enum import properly addedThe import for
ActionRunBehaviour
is correctly added to support the test cases using the new run behavior enum values.
58-58
: Updated test cases to use new enum valuesTest cases now properly use
ActionRunBehaviour.ON_PAGE_LOAD
andActionRunBehaviour.MANUAL
instead of boolean flags, maintaining the same test coverage while adapting to the new data model.Also applies to: 62-62
app/server/appsmith-plugins/googleAiPlugin/src/main/resources/setting.json (1)
8-23
:✅ Verification successful
Improved configuration with runBehavior dropdown
The configuration properly replac 10000 es the boolean switch with a more expressive dropdown control. The labels and subtext provide clear guidance to users about the behavior of each option.
One thing to verify is that any existing queries with
executeOnLoad: true
will be correctly migrated to userunBehavior: "ON_PAGE_LOAD"
.
🏁 Script executed:
#!/bin/bash # Verify migration logic between executeOnLoad and runBehavior grep -r "executeOnLoad.*runBehavior" --include="*.java" app/server/Length of output: 276
🏁 Script executed:
#!/bin/bash FILE="app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/LayoutActionServiceCEImpl.java" echo "Matches for executeOnLoad:" grep -n "executeOnLoad" "$FILE" echo -e "\nMatches for runBehavior:" grep -n "runBehavior" "$FILE" echo -e "\nContext (lines 200–260):" sed -n '200,260p' "$FILE"Length of output: 4193
🏁 Script executed:
#!/bin/bash FILE="app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/LayoutActionServiceCEImpl.java" echo "Context around forward compatibility mapping (lines 280–340):" sed -n '280,340p' "$FILE" echo -e "\nContext around backward compatibility mapping and clone handling (lines 420–480):" sed -n '420,480p' "$FILE"Length of output: 7076
Migration mapping verified in LayoutActionServiceCEImpl
The
setExecuteOnLoad
andsetRunBehavior
methods already handle forward‐ and backward‐compatibility betweenexecuteOnLoad
andrunBehavior
, including clone-page scenarios:• In
LayoutActionServiceCEImpl.setExecuteOnLoad(...)
:
–true
⇒RunBehaviorEnum.ON_PAGE_LOAD
–false
⇒RunBehaviorEnum.MANUAL
• In
LayoutActionServiceCEImpl.setRunBehavior(...)
:
–ON_PAGE_LOAD
⇒executeOnLoad = true
– others ⇒executeOnLoad = false
• Clone handling (in the same class) also re-assigns
runBehavior
based on existingexecuteOnLoad
.No further changes required.
app/client/src/api/ActionAPI.tsx (2)
13-13
: Added import for ActionRunBehaviourTypeThe import for the new type is correctly added to support the API method changes.
305-311
:✅ Verification successful
Replaced executeOnLoad API with runBehavior
The API method has been properly renamed and updated to use the new
runBehavior
parameter and endpoint. This change supports the transition from boolean flags to a more expressive enum-based approach.Ensure that the backend endpoint and handling have been updated consistently.
🏁 Script executed:
#!/bin/bash # Check for the new API endpoint implementation in the backend grep -r "runBehavior.*mapping" --include="*.java" app/server/Length of output: 63
Additional backend validation needed
The initial grep yielded no references to the newrunBehavior
endpoint. Let’s search more broadly across the server code for any occurrences:
🏁 Script executed:
#!/bin/bash # 1. Find all references to runBehavior in server code grep -R "runBehavior" -n app/server/ # 2. Look specifically for mapping annotations tied to runBehavior grep -R "@.*Mapping.*runBehavior" -n app/server/ # 3. Search for the literal endpoint path in strings grep -R "\"/runBehavior" -n app/server/Length of output: 3234
Backend endpoint
/runBehavior/{branchedActionId}
verified
The server’s controller, service, and tests have all been updated to support the newrunBehavior
enum:
- app/server/appsmith-server/src/main/java/com/appsmith/server/controllers/ce/ActionControllerCE.java
• @PutMapping("/runBehavior/{branchedActionId}") at line 120- app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/LayoutActionServiceCEImpl.java
• Logic updated forrunBehavior
(forward-compatibility, cloning scenarios)- app/server/appsmith-server/src/test/java/com/appsmith/server/services/LayoutActionServiceTest.java
• Tests for ON_PAGE_LOAD and MANUAL behaviorsAll backend changes are in place—no further action required.
app/server/appsmith-plugins/googleSheetsPlugin/src/main/resources/setting.json (1)
8-23
: Consistent implementation of runBehavior configurationThe Google Sheets plugin settings have been properly updated to use the same dropdown pattern as seen in other plugins. The consistent implementation across plugins ensures a unified user experience.
app/client/src/selectors/navigationSelectors.ts (1)
36-36
: Type import centralization looks goodThis change appropriately centralizes the
EntityNavigationData
type import fromentities/DataTree/dataTreeTypes
instead of maintaining a local definition, which promotes code reuse and type consistency across the application.app/client/src/constants/AppsmithActionConstants/formConfig/ApiSettingsConfig.ts (2)
9-12
: Import of run behavior types is appropriateClean import of the necessary run behavior constants from the centralized types file.
20-25
: Good replacement of boolean toggle with more expressive dropdownReplacing the binary
executeOnLoad
boolean with a more flexiblerunBehavior
dropdown improves extensibility and user clarity. This change allows for more nuanced control over API execution behavior.app/server/appsmith-plugins/oraclePlugin/src/main/resources/setting.json (1)
8-23
:❓ Verification inconclusive
Good configuration for plugin run behavior settings
The implementation correctly replaces the boolean
executeOnLoad
with a more descriptiverunBehavior
dropdown in the Oracle plugin configuration. The options include helpful subText that clearly explains the behavior differences to users.Note that the default is set to "MANUAL" which is a change from the previous behavior. Ensure this is the intended default for backward compatibility.
🏁 Script executed:
#!/bin/bash # Check other plugin configurations to verify consistent defaults find app/server/appsmith-plugins -name "setting.json" -type f -exec grep -l "runBehavior" {} \; | xargs grep -l "initialValue" | xargs grep "initialValue"Length of output: 2753
🏁 Script executed:
#!/bin/bash # Display the first 200 lines of the Oracle plugin settings to inspect both runBehavior and any lingering executeOnLoad entries sed -n '1,200p' app/server/appsmith-plugins/oraclePlugin/src/main/resources/setting.jsonLength of output: 1692
Default runBehavior “MANUAL” Is Consistent Across Plugins
The Oracle plugin’srunBehavior
dropdown now defaults to"MANUAL"
, matching every other updated Appsmith plugin (S3, MongoDB, PostgreSQL, etc.). No code changes are required.• File: app/server/appsmith-plugins/oraclePlugin/src/main/resources/setting.json –
initialValue: "MANUAL"
Please confirm that switching from the old
executeOnLoad: true
default to manual aligns with your backward-compatibility requirements.app/client/test/factories/MockPluginsState.ts (4)
6955-6973
: Good implementation of the runBehavior dropdown replacement.The switch from a boolean
executeOnLoad
to a more expressiverunBehavior
dropdown with clear options improves readability and user understanding. The descriptive subtext for each option is particularly helpful.
7035-7053
: Consistent implementation for GraphQL API plugin settings.The same dropdown configuration is correctly applied here, maintaining consistency across plugin types.
7115-7133
: Properly implemented for Appsmith AI plugin settings.The dropdown implementation with "ON_PAGE_LOAD" and "MANUAL" options is correctly applied, with appropriate subtext descriptions.
7159-7177
: PostgreSQL plugin settings properly updated.The implementation here matches the pattern used in other plugins, ensuring a consistent user experience across the application.
app/client/src/utils/JSPaneUtils.test.ts (1)
44-44
: Consistent migration from executeOnLoad to runBehaviorAll test objects have been properly updated to use the new
runBehavior: "MANUAL"
property instead of the legacy booleanexecuteOnLoad: false
. This change ensures the test fixtures remain in sync with the implementation code.Also applies to: 86-86, 154-154, 196-196, 280-280, 361-361, 472-472, 552-552, 627-627, 702-702, 757-757
app/server/appsmith-plugins/appsmithAiPlugin/src/main/resources/setting.json (1)
8-23
: Improved UX with dropdown for run behaviorThe configuration has been appropriately updated from a boolean toggle to a more descriptive dropdown with clear options. The labels and subtext provide better context to users about when their queries will execute.
app/server/appsmith-plugins/mssqlPlugin/src/main/resources/setting.json (1)
8-23
: Appropriate UI control for run behavior optionsThe run behavior dropdown implementation is consistent with the design pattern used in the AI plugin, maintaining a uniform user experience across different plugins. The subtext explanations effectively communicate the behavior differences.
app/client/src/utils/JSPaneUtils.tsx (3)
6-6
: Added import for ActionRunBehaviour enumCorrectly added the import for the ActionRunBehaviour enum to support the migration from boolean flags to enum values.
134-135
: Updated object creation to use ActionRunBehaviour.MANUALThe new action creation in
getDifferenceInJSCollection
now correctly uses the enum value instead of the boolean flag.
233-234
: Consistent usage of ActionRunBehaviour enum in action creatorsThe utility functions for creating JS actions (
createDummyJSCollectionActions
andcreateSingleFunctionJsCollection
) have been properly updated to use theActionRunBehaviour.MANUAL
enum value, maintaining consistency across the codebase.Also applies to: 245-246, 285-286
app/server/appsmith-plugins/mysqlPlugin/src/main/resources/setting.json (1)
8-23
: Improved UI configuration with more descriptive run behavior optionsThe change from a boolean switch to a dropdown with explicit options provides better clarity for users about when their queries will execute. The subtext descriptions are particularly helpful for understanding the behavior differences.
app/server/appsmith-plugins/openAiPlugin/src/main/resources/setting.json (1)
8-23
: Consistent implementation of run behavior dropdown across pluginsThe implementation matches the pattern used in other plugins, maintaining consistency in the user experience. Good job maintaining the same options and descriptive subtext.
app/server/appsmith-plugins/amazons3Plugin/src/main/resources/setting.json (1)
8-23
: Standardized run behavior dropdown consistent with other pluginsThe implementation correctly follows the same pattern used across all plugins, providing a consistent configuration interface with clear explanatory text for each option.
app/server/appsmith-plugins/anthropicPlugin/src/main/resources/setting.json (1)
8-23
: Good implementation of run behavior dropdown.The dropdown implementation for run behavior is well-structured with clear labels and helpful subtext descriptions for each option. The default value of "MANUAL" is a safe choice as it prevents queries from automatically running without explicit user action.
app/server/appsmith-plugins/mongoPlugin/src/main/resources/setting.json (1)
8-23
: Consistent implementation with other plugins.The run behavior dropdown implementation matches the pattern used in other plugins, maintaining consistency throughout the application. The labels and descriptions effectively communicate the behavior differences between options.
app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/ce/ActionCE_DTO.java (2)
18-18
: Import for new RunBehaviorEnum added correctly.The new import for RunBehaviorEnum is properly added to support the transition from boolean executeOnLoad to typed run behavior.
104-113
:✅ Verification successful
Properly deprecating executeOnLoad while adding runBehavior.
Good implementation of the new runBehavior field with:
- Clear deprecation notice for executeOnLoad with migration guidance
- Appropriate default value of MANUAL for safety
- Same JSON view annotations for both fields to ensure consistent serialization
This approach maintains backward compatibility while encouraging migration to the new field.
However, we should ensure synchronization between these fields is handled in the service layer to maintain consistency.
🏁 Script executed:
#!/bin/bash # Check if the service layer synchronizes executeOnLoad and runBehavior values rg -A 10 -B 5 "executeOnLoad.*runBehavior|runBehavior.*executeOnLoad" --type javaLength of output: 4996
Service layer already synchronizes executeOnLoad and runBehavior—no further action needed
The
LayoutActionServiceCEImpl
class contains explicit mappings betweenexecuteOnLoad
andrunBehavior
(both for new actions and cloned pages), ensuring the two fields stay in sync. Everything looks correct:
- On action creation/update,
isExecuteOnLoad
drivesrunBehavior
to eitherON_PAGE_LOAD
orMANUAL
- In clone flows, the same mapping is applied based on the deprecated field
- Default values and JSON views remain consistent
Great work on the deprecation and migration strategy—approving these changes.
app/server/appsmith-plugins/firestorePlugin/src/main/resources/setting.json (1)
8-23
: Consistent run behavior implementation.The run behavior dropdown follows the same pattern as other plugins, ensuring a consistent user experience across the application. The change from a boolean toggle to a more descriptive dropdown improves clarity about when queries will execute.
app/client/src/entities/DataTree/dataTreeTypes.ts (3)
6-6
: Proper import of EntityTypeValue for type safety.Adding this import makes sense as it will be used to type the
type
property in the newly addedNavigationData
interface.
28-44
: Good centralization of NavigationData interface.This change centralizes the NavigationData interface in the data tree types module, improving maintainability by establishing a single source of truth for navigation-related type definitions.
46-46
: Appropriate type alias for EntityNavigationData.The type alias complements the NavigationData interface and completes the centralization of navigation-related types.
app/server/appsmith-server/src/main/java/com/appsmith/server/controllers/ce/ActionControllerCE.java (3)
5-5
: Required import for the new RunBehaviorEnum.This import supports the new endpoint parameter type.
119-127
: Well-structured new endpoint for run behavior.The implementation follows standard patterns with:
- Proper annotations
- Descriptive logging
- Clear return type handling
- Delegation to the appropriate service method
129-132
: Correct Javadoc comment and deprecation marking.The deprecated endpoint is properly documented with clear instructions to use the new endpoint instead.
app/client/src/pages/Editor/SaaSEditor/__data__/FinalState.json (3)
86-86
: Replaced executeOnLoad with runBehavior property.The boolean
executeOnLoad
has been properly replaced with the more expressive string enumrunBehavior
set to "MANUAL" as the default.
2545-2562
: Well-designed UI control for run behavior.The dropdown implementation provides:
- Clear labeling with "Run behavior"
- Descriptive options with helpful subtext explaining each behavior
- Proper default value set to "MANUAL"
2592-2607
: Consistent implementation across multiple plugin types.The same dropdown configuration has been applied consistently across SQL, REST API, Firestore, Google Sheets, S3, and Redis plugin types, ensuring a uniform user experience.
Also applies to: 2638-2653, 2690-2705, 2729-2744, 2775-2790, 2821-2836
app/client/src/ce/reducers/entityReducers/actionsReducer.tsx (2)
16-16
: Imported the required ActionRunBehaviourType.This type is correctly imported to support the new payload structure.
314-332
: Properly updated reducer to handle the new run behavior.The changes include:
- Updated action type name to SET_ACTION_RUN_BEHAVIOR (line 314)
- Changed payload type from executeOnLoad boolean to runBehavior enum (line 318)
- Updated the property assignment in the reducer logic (lines 328-329)
This maintains the same functionality but with a more expressive model.
app/client/src/pages/Editor/JSEditor/JSEditorToolbar/components/JSFunctionSettings.tsx (6)
2-8
: Appropriate addition of imports for the UI components.These imports support the updated dropdown UI for runtime behavior.
17-21
: Good addition of new types for run behavior.Proper imports for the run behavior types from their dedicated file, replacing the previous boolean flag.
23-36
: Well-structured styled components for the dropdown options.Good separation of styling concerns with clear naming conventions. The styling is properly scoped and follows the design system variables.
49-50
: State management updated to use runBehavior.Correctly updated state from boolean executeOnLoad to the more expressive runBehavior enum.
52-67
: Well-refactored callback function for handling runtime behavior changes.The callback now properly handles the ActionRunBehaviourType instead of a boolean flag. The analytics tracking is maintained with the new value type.
69-107
: UI updated from Switch to Select with improved layout.The component layout has been improved with better alignment and spacing. The dropdown now clearly displays both the label and explanatory subtext for each option.
app/client/src/components/formControls/DropDownControl.tsx (4)
23-32
: Enhanced imports for flexible dropdown option rendering.Added Flex and Text components to support the new styled option layouts.
34-43
: Well-defined styled components for dropdown options.Good use of styled components to maintain consistent styling for option labels and subtexts. The color variables from the design system ensure theme consistency.
477-477
: Fixed listHeight for consistent dropdown experience.Setting a fixed list height of 240px ensures a consistent dropdown size across the application.
510-541
: Enhanced option rendering with conditional layout for subtexts.The renderOptionWithIcon function now intelligently renders options with a vertical layout when subtext is present, improving readability and user experience.
app/client/src/PluginActionEditor/types/PluginActionTypes.ts (4)
1-3
: Good import and constant definition.Properly imports the theme and defines a constant for it.
5-8
: Well-defined enum for action run behavior.The enum clearly defines the two possible run behaviors with descriptive names.
10-21
: Comprehensive metadata for run behavior options.The RUN_BEHAVIOR object provides rich metadata including labels and descriptive subtexts, which improves the UI/UX for developers selecting these options.
23-25
: Good helper exports for type-safe access.RUN_BEHAVIOR_VALUES provides easy access to the options array, and ActionRunBehaviourType ensures type safety when working with the string literals.
app/client/src/pages/Editor/SaaSEditor/__data__/InitialState.json (4)
85-85
: Added runBehavior property to replace executeOnLoad.Properly set the default value to "MANUAL", which is safer by requiring explicit action to execute.
2545-2560
: Consistent configuration for MongoDB plugin settings.Good implementation of the dropdown control with clear labels and helpful subtexts to guide users.
2591-2606
: Consistent configuration for PostgreSQL plugin settings.Maintains the same pattern as other plugins, ensuring consistent user experience across different data sources.
2637-2652
: Consistent implementation across all plugins.The run behavior dropdown is consistently implemented across all plugin settings (REST API, Firebase, Google Sheets, S3, and Redis), with identical options and helpful descriptions.
Also applies to: 2689-2704, 2728-2743, 2774-2789, 2820-2835
app/server/appsmith-server/src/test/java/com/appsmith/server/services/LayoutActionServiceTest.java (2)
1357-1402
: Good implementation of tests for the new RunBehavior functionality.The test
testSetRunBehavior_WhenRunBehaviorChanged_ValuesUpdatedCorrectly
thoroughly verifies the synchronization betweenrunBehavior
andexecuteOnLoad
properties. It confirms that:
- Setting
runBehavior
toON_PAGE_LOAD
setsexecuteOnLoad
totrue
- Setting
runBehavior
toMANUAL
setsexecuteOnLoad
tofalse
- The
userSetOnLoad
property remainstrue
when toggling between behaviors- Changes are correctly persisted in the repository
1404-1441
: Comprehensive testing of backward compatibility.This test validates that the legacy
setExecuteOnLoad
method correctly updates the newrunBehavior
property, ensuring bidirectional synchronization between the two properties. This approach maintains backward compatibility while allowing the migration to the new enum-based model.app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/LayoutActionServiceCEImpl.java (3)
304-310
: Good backward compatibility implementation.The modification to
setExecuteOnLoad
ensures that the newrunBehavior
property stays synchronized with the legacyexecuteOnLoad
flag. This maintains compatibility with existing code while enabling the transition to the more expressive enum-based approach.
322-349
: Well-structured implementation of the new setRunBehavior method.The new method follows consistent patterns with the existing code:
- Proper permission checks before finding the action
- Error handling when action is not found
- Updates both
runBehavior
andexecuteOnLoad
to keep them in sync- Updates the page layout to reflect the changes
427-434
: Proper initialization of runBehavior during action creation.This code ensures that the new
runBehavior
property is properly initialized based on the action'sexecuteOnLoad
setting during cloning operations. For new actions and cloned actions, the values are set consistently with appropriate defaults.app/client/src/actions/pluginActionActions.ts (3)
23-23
: Appropriate import for the new type.Adding the import for
ActionRunBehaviourType
properly introduces the type needed for the refactored action creators.
355-366
: Good function rename to align with backend changes.Renamed from
setActionsToExecuteOnPageLoad
tosetActionsRunBehavior
and updated the parameter type to use the newrunBehavior
enum instead of the booleanexecuteOnLoad
. This maintains consistency with the server-side model.
368-380
: Consistent naming pattern applied to JS actions.The function for JavaScript actions follows the same naming pattern, creating a consistent API across different action types. The update to use
runBehavior
instead ofexecuteOnLoad
aligns with the new model.app/client/src/components/editorComponents/PartialImportExport/PartialExportModal/unitTestUtils.ts (5)
2310-2310
: Good implementation of the new runBehavior propertyThe change from boolean
executeOnLoad
to enum-stylerunBehavior
with "ON_PAGE_LOAD" value improves code readability and makes behavior more explicit.
2394-2394
: Correctly implemented runBehavior for manual executionThe "MANUAL" value here appropriately replaces what was likely
executeOnLoad: false
in the previous implementation.
10041-10058
: Well-designed UI configuration for the run behavior dropdownThe dropdown implementation is well-structured with clear labels and helpful subtext that explains each option's behavior to users. This is a significant improvement over the previous boolean toggle approach.
10092-10109
: Consistent implementation across multiple plugin configurationsThe run behavior dropdown is consistently implemented across different plugins with identical options and descriptions, which ensures a uniform user experience.
Also applies to: 10143-10160, 10223-10240
10415-10415
: Consistent JS action configuration with runBehavior propertyThe JS actions are correctly configured with the "MANUAL" run behavior, maintaining consistency with the overall refactoring approach.
Also applies to: 10465-10465, 10549-10549, 10599-10599
app/client/src/ce/reducers/entityReducers/jsActionsReducer.tsx (3)
11-11
: Import ofActionRunBehaviourType
added for type safety.This import supports the transition from boolean
executeOnLoad
to enum-basedrunBehavior
property, improving type safety and making the code more self-documenting.
364-392
: Redux action handler updated to userunBehavior
instead ofexecuteOnLoad
.The Redux action handler now properly uses the typed
runBehavior
property instead of the booleanexecuteOnLoad
, making the code more expressive and maintainable.
393-420
: Handler for setting run behavior on JS actions refactored.The migration from
executeOnLoad
torunBehavior
is well-implemented. The code maintains functionality while using the new property name, improving clarity around when actions run.app/client/src/sagas/ActionSagas.ts (4)
150-150
: Added import for typed run behavior enum.This import correctly brings in the typed
ActionRunBehaviourType
to replace the previous boolean flag.
1042-1052
: Updated property saga to handle run behavior property.The saga now properly dispatches the new action type with the
runBehavior
value when this property is being updated.
1064-1089
: Renamed and updated saga for action run behavior.Saga has been correctly renamed from
toggleActionExecuteOnLoadSaga
toupdateActionRunBehaviorSaga
to match the new semantics. The implementation properly uses the typedrunBehavior
parameter instead of the booleanshouldExecute
.
1269-1271
: Updated saga watcher for new action type.The watcher saga now correctly listens for the new action type
UPDATE_ACTION_RUN_BEHAVIOR_INIT
instead of the legacyTOGGLE_ACTION_EXECUTE_ON_LOAD_INIT
.app/client/src/sagas/JSPaneSagas.ts (4)
104-104
: Added import for typed run behavior enum.Correctly imports the new
ActionRunBehaviourType
type to support refactoring from boolean to enum-based property.
786-797
: Updated function property saga to handle run behavior.The saga now properly checks for and handles the
runBehavior
property, dispatching the updated action type.
850-882
: Renamed and updated saga for JS function run behavior.Saga has been properly renamed from
toggleFunctionExecuteOnLoadSaga
toupdateFunctionRunBehaviorSaga
to reflect the new semantics. The implementation now correctly uses the typedrunBehavior
property.
947-948
: Updated saga watcher for new action type.The watcher saga now listens for the updated action type, completing the refactoring from toggle to update semantics.
app/client/src/ce/constants/ReduxActionConstants.tsx (4)
69-73
: Updated JSEditorActionTypes to use run behavior terminology.Action types have been renamed from
executeOnLoad
torunBehavior
variants, ensuring consistent terminology across the codebase.
87-87
: Updated error action type for run behavior.Error action type has been updated to maintain consistency with the new naming scheme.
808-810
: Added new action types for action run behavior.These new action types support the more flexible run behavior model for actions, replacing the boolean toggle approach.
824-824
: Added error type for action run behavior.Error type has been added to properly handle failures in the updated run behavior flow.
app/client/src/ce/sagas/PageSagas.tsx (3)
91-92
: Action creator imports updated to align with new run behavior naming convention.The import names have been changed from execution-centric naming (setActionsToExecuteOnPageLoad) to behavior-centric naming (setActionsRunBehavior), which better reflects the enum-based approach being implemented.
539-540
: Updated action dispatch to use new run behavior action creator.This change properly replaces the legacy executeOnLoad boolean approach with the new runBehavior enum-based system for regular actions.
547-548
: Updated JS action dispatch to use new run behavior action creator.This change properly replaces the legacy executeOnLoad boolean approach with the new runBehavior enum-based system for JS actions.
…com/appsmithorg/appsmith into fix/reactive-cyclic-dependencies
d1af0b8
into
feat/reactive-actions-run-behaviour
Description
Fixing cyclic dependencies for reactive queries run behavior changes
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
Warning
Tests have not run on the HEAD 72c296c yet
Tue, 29 Apr 2025 16:52:23 UTC
Communication
Should the DevRel and Marketing teams inform users about this change?
Summary by CodeRabbit
New Features
Improvements
Bug Fixes
Documentation
Tests
Chores