Skip to content

feat: backend changes for updating run behaviour to automatic #40671

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

Merged
merged 5 commits into from
May 21, 2025

Conversation

sneha122
Copy link
Contributor

@sneha122 sneha122 commented May 16, 2025

Description

This PR adds backend changes for making run behaviour either of Automatic (Which means query will be triggered every time its dependency changes) or Page load (Query executed only on page load) based on feature flag.

Fixes #40468 #40467
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

Tip

🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/15112643740
Commit: 8fe5458
Cypress dashboard.
Tags: @tag.Datasource
Spec:


Mon, 19 May 2025 12:55:41 UTC

Communication

Should the DevRel and Marketing teams inform users about this change?

  • Yes
  • No

Summary by CodeRabbit

  • New Features

    • Introduced a feature flag to enable reactive actions.
    • Added an automatic run behavior for actions to trigger on dependency changes when enabled.
  • Enhancements

    • Enhanced action execution configurability based on feature flag status.
  • Tests

    • Added tests verifying action run behavior updates respecting the new feature flag and user settings.

Copy link
Contributor

coderabbitai bot commented May 16, 2025

Walkthrough

A new feature flag for reactive actions was introduced, and both the FeatureFlagEnum and RunBehaviourEnum enums were updated accordingly. The backend logic in OnLoadExecutablesUtilCEImpl now conditionally sets the run behavior based on this flag, and the relevant utility class constructors were updated to support the new dependency.

Changes

File(s) Change Summary
.../appsmith-interfaces/src/main/java/com/appsmith/external/enums/FeatureFlagEnum.java Added release_reactive_actions_enabled to the feature flag enum.
.../appsmith-interfaces/src/main/java/com/appsmith/external/models/RunBehaviourEnum.java Added AUTOMATIC to the run behavior enum.
.../appsmith-server/src/main/java/com/appsmith/server/onload/internal/OnLoadExecutablesUtilCEImpl.java Updated updateExecutablesRunBehaviour to use the new feature flag, set run behavior accordingly, and made a method public.
.../appsmith-server/src/main/java/com/appsmith/server/onload/internal/OnLoadExecutablesUtilImpl.java Updated constructor to accept and pass FeatureFlagService to the superclass.
.../appsmith-server/src/test/java/com/appsmith/server/onload/internal/OnLoadExecutablesUtilCEImplTest.java Added unit tests for updateExecutablesRunBehaviour covering feature flag enabled/disabled cases and user overrides.

Sequence Diagram(s)

sequenceDiagram
    participant Frontend
    participant OnLoadExecutablesUtilCEImpl
    participant FeatureFlagService

    Frontend->>OnLoadExecutablesUtilCEImpl: Update page layout (binding/unbinding)
    OnLoadExecutablesUtilCEImpl->>FeatureFlagService: Check release_reactive_actions_enabled
    FeatureFlagService-->>OnLoadExecutablesUtilCEImpl: Return flag status
    alt Flag enabled
        OnLoadExecutablesUtilCEImpl->>Frontend: Send runBehaviour = AUTOMATIC in actionUpdates
    else Flag disabled
        OnLoadExecutablesUtilCEImpl->>Frontend: Send runBehaviour = ON_PAGE_LOAD in actionUpdates
    end
Loading

Assessment against linked issues

Objective Addressed Explanation
Send runBehaviour as AUTOMATIC or ON_PAGE_LOAD in actionUpdates based on feature flag when binding occurs (#40468)
Send runBehaviour as MANUAL in actionUpdates on removal of binding, depending on feature flag (#40468) The code and summary do not explicitly show handling or propagation of MANUAL runBehaviour on unbinding.

Poem

Reactive flags now take the stage,
With enums and logic all the rage!
AUTOMATIC runs, if the flag is true,
ON_PAGE_LOAD if not—what else is new?
Code flows with feature flair,
Backend and frontend, a perfect pair!
🚦✨

Note

⚡️ AI Code Reviews for VS Code, Cursor, Windsurf

CodeRabbit now has a plugin for VS Code, Cursor and Windsurf. This brings AI code reviews directly in the code editor. Each commit is reviewed immediately, finding bugs before the PR is raised. Seamless context handoff to your AI code agent ensures that you can easily incorporate review feedback.
Learn more here.


Note

⚡️ Faster reviews with caching

CodeRabbit now supports caching for code and dependencies, helping speed up reviews. This means quicker feedback, reduced wait times, and a smoother review experience overall. Cached data is encrypted and stored securely. This feature will be automatically enabled for all accounts on May 16th. To opt out, configure Review - Disable Cache at either the organization or repository level. If you prefer to disable all data retention across your organization, simply turn off the Data Retention setting under your Organization Settings.
Enjoy the performance boost—your workflow just got faster.


📜 Recent review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro (Legacy)

📥 Commits

Reviewing files that changed from the base of the PR and between 0421974 and 8fe5458.

📒 Files selected for processing (2)
  • app/server/appsmith-server/src/main/java/com/appsmith/server/onload/internal/OnLoadExecutablesUtilCEImpl.java (4 hunks)
  • app/server/appsmith-server/src/test/java/com/appsmith/server/onload/internal/OnLoadExecutablesUtilCEImplTest.java (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • app/server/appsmith-server/src/test/java/com/appsmith/server/onload/internal/OnLoadExecutablesUtilCEImplTest.java
  • app/server/appsmith-server/src/main/java/com/appsmith/server/onload/internal/OnLoadExecutablesUtilCEImpl.java

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly 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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@github-actions github-actions bot added the Enhancement New feature or request label May 16, 2025
Copy link

Failed server tests

  • com.appsmith.server.git.ServerSchemaMigrationEnforcerTest#saveGitRepo_ImportAndThenExport_diffOccurs

@sneha122 sneha122 added ok-to-test Required label for CI and removed ok-to-test Required label for CI labels May 19, 2025
@sneha122 sneha122 marked this pull request as ready for review May 19, 2025 07:31
@sneha122 sneha122 requested a review from subrata71 May 19, 2025 07:31
@github-actions github-actions bot added Core Query Execution Issues related to the execution of all queries IDE Pod Issues that new developers face while exploring the IDE IDE Product Issues related to the IDE Product Integrations Pod Integrations Product Issues related to a specific integration Query Settings Issues related to the settings of all queries Query Widgets & IDE Pod All issues related to Query, JS, Eval, Widgets & IDE Task A simple Todo labels May 19, 2025
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between acec507 and e001296.

📒 Files selected for processing (4)
  • app/server/appsmith-interfaces/src/main/java/com/appsmith/external/enums/FeatureFlagEnum.java (1 hunks)
  • app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/RunBehaviourEnum.java (1 hunks)
  • app/server/appsmith-server/src/main/java/com/appsmith/server/onload/internal/OnLoadExecutablesUtilCEImpl.java (5 hunks)
  • app/server/appsmith-server/src/main/java/com/appsmith/server/onload/internal/OnLoadExecutablesUtilImpl.java (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (490)
  • GitHub Check: perform-test / ci-test / ci-test (59)
  • GitHub Check: perform-test / ci-test / ci-test (58)
  • GitHub Check: perform-test / ci-test / ci-test (57)
  • GitHub Check: perform-test / ci-test / ci-test (56)
  • GitHub Check: perform-test / ci-test / ci-test (55)
  • GitHub Check: perform-test / ci-test / ci-test (54)
  • GitHub Check: perform-test / ci-test / ci-test (51)
  • GitHub Check: perform-test / ci-test / ci-test (50)
  • GitHub Check: perform-test / ci-test / ci-test (49)
  • GitHub Check: perform-test / ci-test / ci-test (47)
  • GitHub Check: perform-test / ci-test / ci-test (45)
  • GitHub Check: perform-test / ci-test / ci-test (44)
  • GitHub Check: perform-test / ci-test / ci-test (43)
  • GitHub Check: perform-test / ci-test / ci-test (42)
  • GitHub Check: perform-test / ci-test / ci-test (41)
  • GitHub Check: perform-test / ci-test / ci-test (39)
  • GitHub Check: perform-test / ci-test / ci-test (38)
  • GitHub Check: perform-test / ci-test / ci-test (37)
  • GitHub Check: perform-test / ci-test / ci-test (36)
  • GitHub Check: perform-test / ci-test / ci-test (35)
  • GitHub Check: perform-test / ci-test / ci-test (34)
  • GitHub Check: perform-test / ci-test / ci-test (33)
  • GitHub Check: perform-test / ci-test / ci-test (32)
  • GitHub Check: perform-test / ci-test / ci-test (31)
  • GitHub Check: perform-test / ci-test / ci-test (30)
  • GitHub Check: perform-test / ci-test / ci-test (29)
  • GitHub Check: perform-test / ci-test / ci-test (28)
  • GitHub Check: perform-test / ci-test / ci-test (27)
  • GitHub Check: perform-test / ci-test / ci-test (26)
  • GitHub Check: perform-test / ci-test / ci-test (25)
  • GitHub Check: perform-test / ci-test / ci-test (24)
  • GitHub Check: perform-test / ci-test / ci-test (23)
  • GitHub Check: perform-test / ci-test / ci-test (22)
  • GitHub Check: perform-test / ci-test / ci-test (21)
  • GitHub Check: perform-test / ci-test / ci-test (19)
  • GitHub Check: perform-test / ci-test / ci-test (18)
  • GitHub Check: perform-test / ci-test / ci-test (17)
  • GitHub Check: perform-test / ci-test / ci-test (16)
  • GitHub Check: perform-test / ci-test / ci-test (13)
  • GitHub Check: perform-test / ci-test / ci-test (12)
  • GitHub Check: perform-test / ci-test / ci-test (11)
  • GitHub Check: perform-test / ci-test / ci-test (10)
  • GitHub Check: perform-test / ci-test / ci-test (9)
  • GitHub Check: perform-test / ci-test / ci-test (8)
  • GitHub Check: perform-test / ci-test / ci-test (7)
  • GitHub Check: perform-test / ci-test / ci-test (5)
  • GitHub Check: perform-test / ci-test / ci-test (2)
  • GitHub Check: perform-test / ci-test / ci-test (1)
  • GitHub Check: perform-test / ci-test / ci-test (0)
  • GitHub Check: perform-test / ci-test / ci-test (59)
  • GitHub Check: perform-test / ci-test / ci-test (58)
  • GitHub Check: perform-test / ci-test / ci-test (57)
  • GitHub Check: perform-test / ci-test / ci-test (56)
  • GitHub Check: perform-test / ci-test / ci-test (55)
  • GitHub Check: perform-test / ci-test / ci-test (54)
  • GitHub Check: perform-test / ci-test / ci-test (51)
  • GitHub Check: perform-test / ci-test / ci-test (50)
  • GitHub Check: perform-test / ci-test / ci-test (49)
  • GitHub Check: perform-test / ci-test / ci-test (47)
  • GitHub Check: perform-test / ci-test / ci-test (45)
  • GitHub Check: perform-test / ci-test / ci-test (44)
  • GitHub Check: perform-test / ci-test / ci-test (43)
  • GitHub Check: perform-test / ci-test / ci-test (42)
  • GitHub Check: perform-test / ci-test / ci-test (41)
  • GitHub Check: perform-test / ci-test / ci-test (39)
  • GitHub Check: perform-test / ci-test / ci-test (38)
  • GitHub Check: perform-test / ci-test / ci-test (37)
  • GitHub Check: perform-test / ci-test / ci-test (36)
  • GitHub Check: perform-test / ci-test / ci-test (35)
  • GitHub Check: perform-test / ci-test / ci-test (34)
  • GitHub Check: perform-test / ci-test / ci-test (33)
  • GitHub Check: perform-test / ci-test / ci-test (32)
  • GitHub Check: perform-test / ci-test / ci-test (31)
  • GitHub Check: perform-test / ci-test / ci-test (30)
  • GitHub Check: perform-test / ci-test / ci-test (29)
  • GitHub Check: perform-test / ci-test / ci-test (28)
  • GitHub Check: perform-test / ci-test / ci-test (27)
  • GitHub Check: perform-test / ci-test / ci-test (26)
  • GitHub Check: perform-test / ci-test / ci-test (25)
  • GitHub Check: perform-test / ci-test / ci-test (24)
  • GitHub Check: perform-test / ci-test / ci-test (23)
  • GitHub Check: perform-test / ci-test / ci-test (22)
  • GitHub Check: perform-test / ci-test / ci-test (21)
  • GitHub Check: perform-test / ci-test / ci-test (19)
  • GitHub Check: perform-test / ci-test / ci-test (18)
  • GitHub Check: perform-test / ci-test / ci-test (17)
  • GitHub Check: perform-test / ci-test / ci-test (16)
  • GitHub Check: perform-test / ci-test / ci-test (13)
  • GitHub Check: perform-test / ci-test / ci-test (12)
  • GitHub Check: perform-test / ci-test / ci-test (11)
  • GitHub Check: perform-test / ci-test / ci-test (10)
  • GitHub Check: perform-test / ci-test / ci-test (9)
  • GitHub Check: perform-test / ci-test / ci-test (8)
  • GitHub Check: perform-test / ci-test / ci-test (7)
  • GitHub Check: perform-test / ci-test / ci-test (5)
  • GitHub Check: perform-test / ci-test / ci-test (2)
  • GitHub Check: perform-test / ci-test / ci-test (1)
  • GitHub Check: perform-test / ci-test / ci-test (0)
  • GitHub Check: perform-test / ci-test / ci-test (59)
  • GitHub Check: perform-test / ci-test / ci-test (58)
  • GitHub Check: perform-test / ci-test / ci-test (57)
  • GitHub Check: perform-test / ci-test / ci-test (56)
  • GitHub Check: perform-test / ci-test / ci-test (55)
  • GitHub Check: perform-test / ci-test / ci-test (54)
  • GitHub Check: perform-test / ci-test / ci-test (51)
  • GitHub Check: perform-test / ci-test / ci-test (50)
  • GitHub Check: perform-test / ci-test / ci-test (49)
  • GitHub Check: perform-test / ci-test / ci-test (47)
  • GitHub Check: perform-test / ci-test / ci-test (45)
  • GitHub Check: perform-test / ci-test / ci-test (44)
  • GitHub Check: perform-test / ci-test / ci-test (43)
  • GitHub Check: perform-test / ci-test / ci-test (42)
  • GitHub Check: perform-test / ci-test / ci-test (41)
  • GitHub Check: perform-test / ci-test / ci-test (39)
  • GitHub Check: perform-test / ci-test / ci-test (38)
  • GitHub Check: perform-test / ci-test / ci-test (37)
  • GitHub Check: perform-test / ci-test / ci-test (36)
  • GitHub Check: perform-test / ci-test / ci-test (35)
  • GitHub Check: perform-test / ci-test / ci-test (34)
  • GitHub Check: perform-test / ci-test / ci-test (33)
  • GitHub Check: perform-test / ci-test / ci-test (32)
  • GitHub Check: perform-test / ci-test / ci-test (31)
  • GitHub Check: perform-test / ci-test / ci-test (30)
  • GitHub Check: perform-test / ci-test / ci-test (29)
  • GitHub Check: perform-test / ci-test / ci-test (28)
  • GitHub Check: perform-test / ci-test / ci-test (27)
  • GitHub Check: perform-test / ci-test / ci-test (26)
  • GitHub Check: perform-test / ci-test / ci-test (25)
  • GitHub Check: perform-test / ci-test / ci-test (24)
  • GitHub Check: perform-test / ci-test / ci-test (23)
  • GitHub Check: perform-test / ci-test / ci-test (22)
  • GitHub Check: perform-test / ci-test / ci-test (21)
  • GitHub Check: perform-test / ci-test / ci-test (19)
  • GitHub Check: perform-test / ci-test / ci-test (18)
  • GitHub Check: perform-test / ci-test / ci-test (17)
  • GitHub Check: perform-test / ci-test / ci-test (16)
  • GitHub Check: perform-test / ci-test / ci-test (13)
  • GitHub Check: perform-test / ci-test / ci-test (12)
  • GitHub Check: perform-test / ci-test / ci-test (11)
  • GitHub Check: perform-test / ci-test / ci-test (10)
  • GitHub Check: perform-test / ci-test / ci-test (9)
  • GitHub Check: perform-test / ci-test / ci-test (8)
  • GitHub Check: perform-test / ci-test / ci-test (7)
  • GitHub Check: perform-test / ci-test / ci-test (5)
  • GitHub Check: perform-test / ci-test / ci-test (2)
  • GitHub Check: perform-test / ci-test / ci-test (1)
  • GitHub Check: perform-test / ci-test / ci-test (0)
  • GitHub Check: perform-test / ci-test / ci-test (59)
  • GitHub Check: perform-test / ci-test / ci-test (58)
  • GitHub Check: perform-test / ci-test / ci-test (57)
  • GitHub Check: perform-test / ci-test / ci-test (56)
  • GitHub Check: perform-test / ci-test / ci-test (55)
  • GitHub Check: perform-test / ci-test / ci-test (54)
  • GitHub Check: perform-test / ci-test / ci-test (51)
  • GitHub Check: perform-test / ci-test / ci-test (50)
  • GitHub Check: perform-test / ci-test / ci-test (49)
  • GitHub Check: perform-test / ci-test / ci-test (47)
  • GitHub Check: perform-test / ci-test / ci-test (45)
  • GitHub Check: perform-test / ci-test / ci-test (44)
  • GitHub Check: perform-test / ci-test / ci-test (43)
  • GitHub Check: perform-test / ci-test / ci-test (42)
  • GitHub Check: perform-test / ci-test / ci-test (41)
  • GitHub Check: perform-test / ci-test / ci-test (39)
  • GitHub Check: perform-test / ci-test / ci-test (38)
  • GitHub Check: perform-test / ci-test / ci-test (37)
  • GitHub Check: perform-test / ci-test / ci-test (36)
  • GitHub Check: perform-test / ci-test / ci-test (35)
  • GitHub Check: perform-test / ci-test / ci-test (34)
  • GitHub Check: perform-test / ci-test / ci-test (33)
  • GitHub Check: perform-test / ci-test / ci-test (32)
  • GitHub Check: perform-test / ci-test / ci-test (31)
  • GitHub Check: perform-test / ci-test / ci-test (30)
  • GitHub Check: perform-test / ci-test / ci-test (29)
  • GitHub Check: perform-test / ci-test / ci-test (28)
  • GitHub Check: perform-test / ci-test / ci-test (27)
  • GitHub Check: perform-test / ci-test / ci-test (26)
  • GitHub Check: perform-test / ci-test / ci-test (25)
  • GitHub Check: perform-test / ci-test / ci-test (24)
  • GitHub Check: perform-test / ci-test / ci-test (23)
  • GitHub Check: perform-test / ci-test / ci-test (22)
  • GitHub Check: perform-test / ci-test / ci-test (21)
  • GitHub Check: perform-test / ci-test / ci-test (19)
  • GitHub Check: perform-test / ci-test / ci-test (18)
  • GitHub Check: perform-test / ci-test / ci-test (17)
  • GitHub Check: perform-test / ci-test / ci-test (16)
  • GitHub Check: perform-test / ci-test / ci-test (13)
  • GitHub Check: perform-test / ci-test / ci-test (12)
  • GitHub Check: perform-test / ci-test / ci-test (11)
  • GitHub Check: perform-test / ci-test / ci-test (10)
  • GitHub Check: perform-test / ci-test / ci-test (9)
  • GitHub Check: perform-test / ci-test / ci-test (8)
  • GitHub Check: perform-test / ci-test / ci-test (7)
  • GitHub Check: perform-test / ci-test / ci-test (5)
  • GitHub Check: perform-test / ci-test / ci-test (2)
  • GitHub Check: perform-test / ci-test / ci-test (1)
  • GitHub Check: perform-test / ci-test / ci-test (0)
  • GitHub Check: perform-test / ci-test / ci-test (59)
  • GitHub Check: perform-test / ci-test / ci-test (58)
  • GitHub Check: perform-test / ci-test / ci-test (57)
  • GitHub Check: perform-test / ci-test / ci-test (56)
  • GitHub Check: perform-test / ci-test / ci-test (55)
  • GitHub Check: perform-test / ci-test / ci-test (54)
  • GitHub Check: perform-test / ci-test / ci-test (51)
  • GitHub Check: perform-test / ci-test / ci-test (50)
  • GitHub Check: perform-test / ci-test / ci-test (49)
  • GitHub Check: perform-test / ci-test / ci-test (47)
  • GitHub Check: perform-test / ci-test / ci-test (45)
  • GitHub Check: perform-test / ci-test / ci-test (44)
  • GitHub Check: perform-test / ci-test / ci-test (43)
  • GitHub Check: perform-test / ci-test / ci-test (42)
  • GitHub Check: perform-test / ci-test / ci-test (41)
  • GitHub Check: perform-test / ci-test / ci-test (39)
  • GitHub Check: perform-test / ci-test / ci-test (38)
  • GitHub Check: perform-test / ci-test / ci-test (37)
  • GitHub Check: perform-test / ci-test / ci-test (36)
  • GitHub Check: perform-test / ci-test / ci-test (35)
  • GitHub Check: perform-test / ci-test / ci-test (34)
  • GitHub Check: perform-test / ci-test / ci-test (33)
  • GitHub Check: perform-test / ci-test / ci-test (32)
  • GitHub Check: perform-test / ci-test / ci-test (31)
  • GitHub Check: perform-test / ci-test / ci-test (30)
  • GitHub Check: perform-test / ci-test / ci-test (29)
  • GitHub Check: perform-test / ci-test / ci-test (28)
  • GitHub Check: perform-test / ci-test / ci-test (27)
  • GitHub Check: perform-test / ci-test / ci-test (26)
  • GitHub Check: perform-test / ci-test / ci-test (25)
  • GitHub Check: perform-test / ci-test / ci-test (24)
  • GitHub Check: perform-test / ci-test / ci-test (23)
  • GitHub Check: perform-test / ci-test / ci-test (22)
  • GitHub Check: perform-test / ci-test / ci-test (21)
  • GitHub Check: perform-test / ci-test / ci-test (19)
  • GitHub Check: perform-test / ci-test / ci-test (18)
  • GitHub Check: perform-test / ci-test / ci-test (17)
  • GitHub Check: perform-test / ci-test / ci-test (16)
  • GitHub Check: perform-test / ci-test / ci-test (13)
  • GitHub Check: perform-test / ci-test / ci-test (12)
  • GitHub Check: perform-test / ci-test / ci-test (11)
  • GitHub Check: perform-test / ci-test / ci-test (10)
  • GitHub Check: perform-test / ci-test / ci-test (9)
  • GitHub Check: perform-test / ci-test / ci-test (8)
  • GitHub Check: perform-test / ci-test / ci-test (7)
  • GitHub Check: perform-test / ci-test / ci-test (5)
  • GitHub Check: perform-test / ci-test / ci-test (2)
  • GitHub Check: perform-test / ci-test / ci-test (1)
  • GitHub Check: perform-test / ci-test / ci-test (0)
  • GitHub Check: perform-test / ci-test / ci-test (59)
  • GitHub Check: perform-test / ci-test / ci-test (58)
  • GitHub Check: perform-test / ci-test / ci-test (57)
  • GitHub Check: perform-test / ci-test / ci-test (56)
  • GitHub Check: perform-test / ci-test / ci-test (55)
  • GitHub Check: perform-test / ci-test / ci-test (54)
  • GitHub Check: perform-test / ci-test / ci-test (51)
  • GitHub Check: perform-test / ci-test / ci-test (50)
  • GitHub Check: perform-test / ci-test / ci-test (49)
  • GitHub Check: perform-test / ci-test / ci-test (47)
  • GitHub Check: perform-test / ci-test / ci-test (45)
  • GitHub Check: perform-test / ci-test / ci-test (44)
  • GitHub Check: perform-test / ci-test / ci-test (43)
  • GitHub Check: perform-test / ci-test / ci-test (42)
  • GitHub Check: perform-test / ci-test / ci-test (41)
  • GitHub Check: perform-test / ci-test / ci-test (39)
  • GitHub Check: perform-test / ci-test / ci-test (38)
  • GitHub Check: perform-test / ci-test / ci-test (37)
  • GitHub Check: perform-test / ci-test / ci-test (36)
  • GitHub Check: perform-test / ci-test / ci-test (35)
  • GitHub Check: perform-test / ci-test / ci-test (34)
  • GitHub Check: perform-test / ci-test / ci-test (33)
  • GitHub Check: perform-test / ci-test / ci-test (32)
  • GitHub Check: perform-test / ci-test / ci-test (31)
  • GitHub Check: perform-test / ci-test / ci-test (30)
  • GitHub Check: perform-test / ci-test / ci-test (29)
  • GitHub Check: perform-test / ci-test / ci-test (28)
  • GitHub Check: perform-test / ci-test / ci-test (27)
  • GitHub Check: perform-test / ci-test / ci-test (26)
  • GitHub Check: perform-test / ci-test / ci-test (25)
  • GitHub Check: perform-test / ci-test / ci-test (24)
  • GitHub Check: perform-test / ci-test / ci-test (23)
  • GitHub Check: perform-test / ci-test / ci-test (22)
  • GitHub Check: perform-test / ci-test / ci-test (21)
  • GitHub Check: perform-test / ci-test / ci-test (19)
  • GitHub Check: perform-test / ci-test / ci-test (18)
  • GitHub Check: perform-test / ci-test / ci-test (17)
  • GitHub Check: perform-test / ci-test / ci-test (16)
  • GitHub Check: perform-test / ci-test / ci-test (13)
  • GitHub Check: perform-test / ci-test / ci-test (12)
  • GitHub Check: perform-test / ci-test / ci-test (11)
  • GitHub Check: perform-test / ci-test / ci-test (10)
  • GitHub Check: perform-test / ci-test / ci-test (9)
  • GitHub Check: perform-test / ci-test / ci-test (8)
  • GitHub Check: perform-test / ci-test / ci-test (7)
  • GitHub Check: perform-test / ci-test / ci-test (5)
  • GitHub Check: perform-test / ci-test / ci-test (2)
  • GitHub Check: perform-test / ci-test / ci-test (1)
  • GitHub Check: perform-test / ci-test / ci-test (0)
  • GitHub Check: perform-test / ci-test / ci-test (59)
  • GitHub Check: perform-test / ci-test / ci-test (58)
  • GitHub Check: perform-test / ci-test / ci-test (57)
  • GitHub Check: perform-test / ci-test / ci-test (56)
  • GitHub Check: perform-test / ci-test / ci-test (55)
  • GitHub Check: perform-test / ci-test / ci-test (54)
  • GitHub Check: perform-test / ci-test / ci-test (51)
  • GitHub Check: perform-test / ci-test / ci-test (50)
  • GitHub Check: perform-test / ci-test / ci-test (49)
  • GitHub Check: perform-test / ci-test / ci-test (47)
  • GitHub Check: perform-test / ci-test / ci-test (45)
  • GitHub Check: perform-test / ci-test / ci-test (44)
  • GitHub Check: perform-test / ci-test / ci-test (43)
  • GitHub Check: perform-test / ci-test / ci-test (42)
  • GitHub Check: perform-test / ci-test / ci-test (41)
  • GitHub Check: perform-test / ci-test / ci-test (39)
  • GitHub Check: perform-test / ci-test / ci-test (38)
  • GitHub Check: perform-test / ci-test / ci-test (37)
  • GitHub Check: perform-test / ci-test / ci-test (36)
  • GitHub Check: perform-test / ci-test / ci-test (35)
  • GitHub Check: perform-test / ci-test / ci-test (34)
  • GitHub Check: perform-test / ci-test / ci-test (33)
  • GitHub Check: perform-test / ci-test / ci-test (32)
  • GitHub Check: perform-test / ci-test / ci-test (31)
  • GitHub Check: perform-test / ci-test / ci-test (30)
  • GitHub Check: perform-test / ci-test / ci-test (29)
  • GitHub Check: perform-test / ci-test / ci-test (28)
  • GitHub Check: perform-test / ci-test / ci-test (27)
  • GitHub Check: perform-test / ci-test / ci-test (26)
  • GitHub Check: perform-test / ci-test / ci-test (25)
  • GitHub Check: perform-test / ci-test / ci-test (24)
  • GitHub Check: perform-test / ci-test / ci-test (23)
  • GitHub Check: perform-test / ci-test / ci-test (22)
  • GitHub Check: perform-test / ci-test / ci-test (21)
  • GitHub Check: perform-test / ci-test / ci-test (19)
  • GitHub Check: perform-test / ci-test / ci-test (18)
  • GitHub Check: perform-test / ci-test / ci-test (17)
  • GitHub Check: perform-test / ci-test / ci-test (16)
  • GitHub Check: perform-test / ci-test / ci-test (13)
  • GitHub Check: perform-test / ci-test / ci-test (12)
  • GitHub Check: perform-test / ci-test / ci-test (11)
  • GitHub Check: perform-test / ci-test / ci-test (10)
  • GitHub Check: perform-test / ci-test / ci-test (9)
  • GitHub Check: perform-test / ci-test / ci-test (8)
  • GitHub Check: perform-test / ci-test / ci-test (7)
  • GitHub Check: perform-test / ci-test / ci-test (5)
  • GitHub Check: perform-test / ci-test / ci-test (2)
  • GitHub Check: perform-test / ci-test / ci-test (1)
  • GitHub Check: perform-test / ci-test / ci-test (0)
  • GitHub Check: perform-test / ci-test / ci-test (59)
  • GitHub Check: perform-test / ci-test / ci-test (58)
  • GitHub Check: perform-test / ci-test / ci-test (57)
  • GitHub Check: perform-test / ci-test / ci-test (56)
  • GitHub Check: perform-test / ci-test / ci-test (55)
  • GitHub Check: perform-test / ci-test / ci-test (54)
  • GitHub Check: perform-test / ci-test / ci-test (51)
  • GitHub Check: perform-test / ci-test / ci-test (50)
  • GitHub Check: perform-test / ci-test / ci-test (49)
  • GitHub Check: perform-test / ci-test / ci-test (47)
  • GitHub Check: perform-test / ci-test / ci-test (45)
  • GitHub Check: perform-test / ci-test / ci-test (44)
  • GitHub Check: perform-test / ci-test / ci-test (43)
  • GitHub Check: perform-test / ci-test / ci-test (42)
  • GitHub Check: perform-test / ci-test / ci-test (41)
  • GitHub Check: perform-test / ci-test / ci-test (39)
  • GitHub Check: perform-test / ci-test / ci-test (38)
  • GitHub Check: perform-test / ci-test / ci-test (37)
  • GitHub Check: perform-test / ci-test / ci-test (36)
  • GitHub Check: perform-test / ci-test / ci-test (35)
  • GitHub Check: perform-test / ci-test / ci-test (34)
  • GitHub Check: perform-test / ci-test / ci-test (33)
  • GitHub Check: perform-test / ci-test / ci-test (32)
  • GitHub Check: perform-test / ci-test / ci-test (31)
  • GitHub Check: perform-test / ci-test / ci-test (30)
  • GitHub Check: perform-test / ci-test / ci-test (29)
  • GitHub Check: perform-test / ci-test / ci-test (28)
  • GitHub Check: perform-test / ci-test / ci-test (27)
  • GitHub Check: perform-test / ci-test / ci-test (26)
  • GitHub Check: perform-test / ci-test / ci-test (25)
  • GitHub Check: perform-test / ci-test / ci-test (24)
  • GitHub Check: perform-test / ci-test / ci-test (23)
  • GitHub Check: perform-test / ci-test / ci-test (22)
  • GitHub Check: perform-test / ci-test / ci-test (21)
  • GitHub Check: perform-test / ci-test / ci-test (19)
  • GitHub Check: perform-test / ci-test / ci-test (18)
  • GitHub Check: perform-test / ci-test / ci-test (17)
  • GitHub Check: perform-test / ci-test / ci-test (16)
  • GitHub Check: perform-test / ci-test / ci-test (13)
  • GitHub Check: perform-test / ci-test / ci-test (12)
  • GitHub Check: perform-test / ci-test / ci-test (11)
  • GitHub Check: perform-test / ci-test / ci-test (10)
  • GitHub Check: perform-test / ci-test / ci-test (9)
  • GitHub Check: perform-test / ci-test / ci-test (8)
  • GitHub Check: perform-test / ci-test / ci-test (7)
  • GitHub Check: perform-test / ci-test / ci-test (5)
  • GitHub Check: perform-test / ci-test / ci-test (2)
  • GitHub Check: perform-test / ci-test / ci-test (1)
  • GitHub Check: perform-test / ci-test / ci-test (0)
  • GitHub Check: perform-test / ci-test / ci-test (59)
  • GitHub Check: perform-test / ci-test / ci-test (58)
  • GitHub Check: perform-test / ci-test / ci-test (57)
  • GitHub Check: perform-test / ci-test / ci-test (56)
  • GitHub Check: perform-test / ci-test / ci-test (55)
  • GitHub Check: perform-test / ci-test / ci-test (54)
  • GitHub Check: perform-test / ci-test / ci-test (51)
  • GitHub Check: perform-test / ci-test / ci-test (50)
  • GitHub Check: perform-test / ci-test / ci-test (49)
  • GitHub Check: perform-test / ci-test / ci-test (47)
  • GitHub Check: perform-test / ci-test / ci-test (45)
  • GitHub Check: perform-test / ci-test / ci-test (44)
  • GitHub Check: perform-test / ci-test / ci-test (43)
  • GitHub Check: perform-test / ci-test / ci-test (42)
  • GitHub Check: perform-test / ci-test / ci-test (41)
  • GitHub Check: perform-test / ci-test / ci-test (39)
  • GitHub Check: perform-test / ci-test / ci-test (38)
  • GitHub Check: perform-test / ci-test / ci-test (37)
  • GitHub Check: perform-test / ci-test / ci-test (36)
  • GitHub Check: perform-test / ci-test / ci-test (35)
  • GitHub Check: perform-test / ci-test / ci-test (34)
  • GitHub Check: perform-test / ci-test / ci-test (33)
  • GitHub Check: perform-test / ci-test / ci-test (32)
  • GitHub Check: perform-test / ci-test / ci-test (31)
  • GitHub Check: perform-test / ci-test / ci-test (30)
  • GitHub Check: perform-test / ci-test / ci-test (29)
  • GitHub Check: perform-test / ci-test / ci-test (28)
  • GitHub Check: perform-test / ci-test / ci-test (27)
  • GitHub Check: perform-test / ci-test / ci-test (26)
  • GitHub Check: perform-test / ci-test / ci-test (25)
  • GitHub Check: perform-test / ci-test / ci-test (24)
  • GitHub Check: perform-test / ci-test / ci-test (23)
  • GitHub Check: perform-test / ci-test / ci-test (22)
  • GitHub Check: perform-test / ci-test / ci-test (21)
  • GitHub Check: perform-test / ci-test / ci-test (19)
  • GitHub Check: perform-test / ci-test / ci-test (18)
  • GitHub Check: perform-test / ci-test / ci-test (17)
  • GitHub Check: perform-test / ci-test / ci-test (16)
  • GitHub Check: perform-test / ci-test / ci-test (13)
  • GitHub Check: perform-test / ci-test / ci-test (12)
  • GitHub Check: perform-test / ci-test / ci-test (11)
  • GitHub Check: perform-test / ci-test / ci-test (10)
  • GitHub Check: perform-test / ci-test / ci-test (9)
  • GitHub Check: perform-test / ci-test / ci-test (8)
  • GitHub Check: perform-test / ci-test / ci-test (7)
  • GitHub Check: perform-test / ci-test / ci-test (5)
  • GitHub Check: perform-test / ci-test / ci-test (2)
  • GitHub Check: perform-test / ci-test / ci-test (1)
  • GitHub Check: perform-test / ci-test / ci-test (0)
  • GitHub Check: perform-test / ci-test / ci-test (59)
  • GitHub Check: perform-test / ci-test / ci-test (58)
  • GitHub Check: perform-test / ci-test / ci-test (57)
  • GitHub Check: perform-test / ci-test / ci-test (56)
  • GitHub Check: perform-test / ci-test / ci-test (55)
  • GitHub Check: perform-test / ci-test / ci-test (54)
  • GitHub Check: perform-test / ci-test / ci-test (51)
  • GitHub Check: perform-test / ci-test / ci-test (50)
  • GitHub Check: perform-test / ci-test / ci-test (49)
  • GitHub Check: perform-test / ci-test / ci-test (47)
  • GitHub Check: perform-test / ci-test / ci-test (45)
  • GitHub Check: perform-test / ci-test / ci-test (44)
  • GitHub Check: perform-test / ci-test / ci-test (43)
  • GitHub Check: perform-test / ci-test / ci-test (42)
  • GitHub Check: perform-test / ci-test / ci-test (41)
  • GitHub Check: perform-test / ci-test / ci-test (39)
  • GitHub Check: perform-test / ci-test / ci-test (38)
  • GitHub Check: perform-test / ci-test / ci-test (37)
  • GitHub Check: perform-test / ci-test / ci-test (36)
  • GitHub Check: perform-test / ci-test / ci-test (35)
  • GitHub Check: perform-test / ci-test / ci-test (34)
  • GitHub Check: perform-test / ci-test / ci-test (33)
  • GitHub Check: perform-test / ci-test / ci-test (32)
  • GitHub Check: perform-test / ci-test / ci-test (31)
  • GitHub Check: perform-test / ci-test / ci-test (30)
  • GitHub Check: perform-test / ci-test / ci-test (29)
  • GitHub Check: perform-test / ci-test / ci-test (28)
  • GitHub Check: perform-test / ci-test / ci-test (27)
  • GitHub Check: perform-test / ci-test / ci-test (26)
  • GitHub Check: perform-test / ci-test / ci-test (25)
  • GitHub Check: perform-test / ci-test / ci-test (24)
  • GitHub Check: perform-test / ci-test / ci-test (23)
  • GitHub Check: perform-test / ci-test / ci-test (22)
  • GitHub Check: perform-test / ci-test / ci-test (21)
  • GitHub Check: perform-test / ci-test / ci-test (19)
  • GitHub Check: perform-test / ci-test / ci-test (18)
  • GitHub Check: perform-test / ci-test / ci-test (17)
  • GitHub Check: perform-test / ci-test / ci-test (16)
  • GitHub Check: perform-test / ci-test / ci-test (13)
  • GitHub Check: perform-test / ci-test / ci-test (12)
  • GitHub Check: perform-test / ci-test / ci-test (11)
  • GitHub Check: perform-test / ci-test / ci-test (10)
  • GitHub Check: perform-test / ci-test / ci-test (9)
  • GitHub Check: perform-test / ci-test / ci-test (8)
  • GitHub Check: perform-test / ci-test / ci-test (7)
  • GitHub Check: perform-test / ci-test / ci-test (5)
  • GitHub Check: perform-test / ci-test / ci-test (2)
  • GitHub Check: perform-test / ci-test / ci-test (1)
  • GitHub Check: perform-test / ci-test / ci-test (0)
🔇 Additional comments (5)
app/server/appsmith-interfaces/src/main/java/com/appsmith/external/enums/FeatureFlagEnum.java (1)

32-32: Feature flag addition for reactive actions

The new feature flag release_reactive_actions_enabled is correctly positioned alongside other feature flags in the enum.

app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/RunBehaviourEnum.java (1)

8-9: New run behavior type added correctly

The AUTOMATIC enum value has been added with a good description explaining its behavior. This will enable actions to run automatically when dependencies change, controlled by the feature flag.

app/server/appsmith-server/src/main/java/com/appsmith/server/onload/internal/OnLoadExecutablesUtilImpl.java (1)

7-7: Constructor updated to support feature flag service

The FeatureFlagService dependency has been properly injected and passed to the superclass constructor, enabling the feature flag check in the superclass implementation.

Also applies to: 22-30

app/server/appsmith-server/src/main/java/com/appsmith/server/onload/internal/OnLoadExecutablesUtilCEImpl.java (2)

5-5: Feature flag service integration

The necessary imports and field declaration for FeatureFlagService have been added to support the conditional run behavior functionality.

Also applies to: 22-22, 95-95


326-435: Updated method to conditionally set run behavior based on feature flag

The updateExecutablesRunBehaviour method has been enhanced to check the release_reactive_actions_enabled feature flag and conditionally set the run behavior to either AUTOMATIC or ON_PAGE_LOAD. The implementation preserves existing functionality while adding the new behavior option.

// If this executable is newly found to be on load, turn execute on load to true
if (turnedOnExecutableNames.contains(executableName)) {
// Use the prefetched feature flag value
if (isReactiveActionsEnabled) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you plan to include the auto-commit change in this PR?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We won't need auto commit changes for this right? We are not introducing new prop now, we are introducing new state for that new prop we added in milestone 1

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a case which can cause diff on top of the clean state of the app.

Let’s assume the app is connected to Git and an action is set to run on page load (ON_PAGE_LOAD in the DB) with no diffs. When the feature flag for AUTOMATIC run behavior is enabled, and the user makes changes that turn off the on-page load setting, the DB updates to MANUAL. After discarding changes and pulling the latest commit, the app should have no diffs. However, the feature flag causes the run behavior to switch to AUTOMATIC during reconstruction, resulting in an unexpected diff. This is the specific edge case I’m referring to.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a very valid concern and thanks for raising this!! @subrata71

@infinitetrooper @pedro-santos-rodrigues Can you please check this edge case and let me know what should happen in this case?

I have triggered EE DP here in case you need to test this scenario

CC: @vivek-appsmith @ankitakinger

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As far as I understood the scenario you're discussing, it seems that this won't be an issue since a change from ON_PAGE_LOAD to AUTOMATIC is never done itself by the system when the feature flag is enabled but rather in the next time the Query/JS is going to be bound in a widget with a .data after enabling the feature flag, as you can check in the Migration Path defined:
image

Am I missing anything here, or with that point it gets clear the expected behavior?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pedro-santos-rodrigues Could you please review the scenario I shared? Do you agree that, in this specific case, it would lead to uncommitted changes? If so, do you think this is something we should be concerned about?

Copy link
Contributor

@coderabbitai coderabbitai bot left a 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

♻️ Duplicate comments (1)
app/server/appsmith-server/src/main/java/com/appsmith/server/onload/internal/OnLoadExecutablesUtilCEImpl.java (1)

1497-1497: 🛠️ Refactor suggestion

Revert getExecutableOnLoadService to protected unless external access is truly required

The method visibility was widened from protected to public, but all invocations remain inside this class. Exposing it publicly risks breaking encapsulation.

-    public ExecutableOnLoadService<?> getExecutableOnLoadService(CreatorContextType contextType) {
+    protected ExecutableOnLoadService<?> getExecutableOnLoadService(CreatorContextType contextType) {
🧹 Nitpick comments (1)
app/server/appsmith-server/src/main/java/com/appsmith/server/onload/internal/OnLoadExecutablesUtilCEImpl.java (1)

334-336: Use Java's standard collection check methods

The isNullOrEmpty() method is not a standard Java method. Consider using standard checks like isEmpty() and null checks or using a utility like CollectionUtils.isEmpty().

- if (creatorContextExecutables.isNullOrEmpty()) {
+ if (creatorContextExecutables == null || creatorContextExecutables.isEmpty()) {
    return Mono.just(FALSE);
}

- if (existingOnLoadExecutables.isNullOrEmpty()
-         && (onLoadExecutables == null || onLoadExecutables.isNullOrEmpty())) {
+ if ((existingOnLoadExecutables == null || existingOnLoadExecutables.isEmpty())
+         && (onLoadExecutables == null || onLoadExecutables == null || onLoadExecutables.isEmpty())) {
    return Mono.just(FALSE);
}

Also applies to: 341-343

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro (Legacy)

📥 Commits

Reviewing files that changed from the base of the PR and between e001296 and e3c2589.

📒 Files selected for processing (2)
  • app/server/appsmith-server/src/main/java/com/appsmith/server/onload/internal/OnLoadExecutablesUtilCEImpl.java (5 hunks)
  • app/server/appsmith-server/src/test/java/com/appsmith/server/onload/internal/OnLoadExecutablesUtilCEImplTest.java (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (5)
  • GitHub Check: perform-test / server-build / server-unit-tests
  • GitHub Check: perform-test / rts-build / build
  • GitHub Check: perform-test / client-build / client-build
  • GitHub Check: server-spotless / spotless-check
  • GitHub Check: server-unit-tests / server-unit-tests
🔇 Additional comments (5)
app/server/appsmith-server/src/test/java/com/appsmith/server/onload/internal/OnLoadExecutablesUtilCEImplTest.java (1)

1-260: Clean, comprehensive tests for the reactive actions feature

The test suite thoroughly covers the new feature flag behavior, validating both the AUTOMATIC and ON_PAGE_LOAD scenarios. Good job on testing edge cases like user-set executables and empty executable lists.

app/server/appsmith-server/src/main/java/com/appsmith/server/onload/internal/OnLoadExecutablesUtilCEImpl.java (4)

5-5: Good addition of required import

The FeatureFlagEnum import is necessary for the reactive actions feature flag implementation.


22-22: Good addition of required import

The FeatureFlagService import is necessary for the feature flag checks.


95-95: Good addition of FeatureFlagService dependency

The FeatureFlagService dependency is properly injected for feature flag checks.


326-435: Conditional run behavior based on feature flag

The implementation correctly determines the run behavior based on the release_reactive_actions_enabled feature flag. When enabled, it sets executables to AUTOMATIC, otherwise to ON_PAGE_LOAD.

@sneha122 sneha122 requested a review from subrata71 May 19, 2025 11:55
Copy link
Contributor

@subrata71 subrata71 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This discussion can go in parallel. Approving this as it's not an immediate blocker for this PR.

@sneha122 sneha122 changed the title feat: backend changes for updating run behaviour to automatic [DO NOT MERGE] feat: backend changes for updating run behaviour to automatic May 19, 2025
@github-actions github-actions bot removed the Enhancement New feature or request label May 19, 2025
@sneha122
Copy link
Contributor Author

Not merging this PR because its equivalent PR has few cypress tests failing

@sneha122 sneha122 changed the title [DO NOT MERGE] feat: backend changes for updating run behaviour to automatic feat: backend changes for updating run behaviour to automatic May 21, 2025
@sneha122
Copy link
Contributor Author

All tests have now passed on equivalent EE PR as well

@github-actions github-actions bot added the Enhancement New feature or request label May 21, 2025
@sneha122 sneha122 merged commit 32421da into release May 21, 2025
47 checks passed
@sneha122 sneha122 deleted the feat/server-updates-automatic-behaviour branch May 21, 2025 08:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Core Query Execution Issues related to the execution of all queries Enhancement New feature or request IDE Pod Issues that new developers face while exploring the IDE IDE Product Issues related to the IDE Product Integrations Pod Integrations Product Issues related to a specific integration ok-to-test Required label for CI Query Settings Issues related to the settings of all queries Query Widgets & IDE Pod All issues related to Query, JS, Eval, Widgets & IDE Task A simple Todo
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Task]: Update backend logic to send runBehaviour in actionUpdates when binding / unbinding happens
3 participants