Skip to content

feat : RDKEMW-24274-Backport Firebolt AppActions Feature to Ripple - #951

Merged
Vinodsathyaseelan merged 2 commits into
3.3.rcfrom
RDKEMW-24274
Oct 2, 2026
Merged

Vinodsathyaseelan merged 2 commits into
3.3.rcfrom
RDKEMW-24274

Conversation

@Vinodsathyaseelan

Copy link
Copy Markdown
Contributor

What

What does this PR add or remove?

Why

Why are these changes needed?

How

How do these changes achieve the goal?

Test

How has this been tested? How can a reviewer test it?

Checklist

  • I have self-reviewed this PR
  • I have added tests that prove the feature works or the fix is effective

Copilot AI lite review requested due to automatic review settings September 14, 2026 21:50

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Changes recommended

The OpenRPC contract, advertised actions.start method, and intent state updates require correction before approval.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Backports Firebolt AppActions intent support to Ripple’s SDK, app manager, and RPC gateway.

Changes:

  • Adds intent response modeling, tracking, and event emission.
  • Implements and registers actions.intent and actions.onIntent.
  • Updates the reference manifest and discovery definitions.
File summaries
File Summary Review findings
examples/reference-manifest/IpStb/firebolt-device-manifest.json Advertises Actions methods. Moderate (3 votes): actions.start has no handler and should be implemented or removed.
core/sdk/src/api/firebolt/fb_discovery.rs Adds the intent event constant. None.
core/sdk/src/api/apps.rs Adds the intent response model and tests. None.
core/main/src/service/apps/delegated_launcher_handler.rs Tracks intent IDs and emits events. Moderate (1 vote): Existing sessions without a new intent can overwrite the previous intent. Moderate (2 votes): Separate locks can expose inconsistent intent data.
core/main/src/firebolt/mod.rs Exposes the Actions handler module. None.
core/main/src/firebolt/handlers/actions_rpc.rs Implements Actions RPC methods. None.
core/main/src/bootstrap/start_fbgateway_step.rs Registers the Actions provider. Critical (2 votes): The OpenRPC contract lacks Actions methods, schemas, and capability metadata, causing gateway requests to be rejected.
Review details

Suppressed comments (1)

core/main/src/service/apps/delegated_launcher_handler.rs:1197

  • For an existing app, start_session permits a session whose launch.intent is None. This assignment then overwrites the previous intent in current_session, while Actions.intent reads only that field; after such an activation the getter no longer returns the most recently received intent and falls back to intentId 0. Preserve the last intent separately or update the stored intent only when the session carries a new one.
        platform_state
            .app_manager_state
            .set_session(&app_id, session.clone());
  • Files reviewed: 7/7 changed files
  • Comments generated: 3
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread core/main/src/bootstrap/start_fbgateway_step.rs
Comment thread core/main/src/service/apps/delegated_launcher_handler.rs Outdated
Comment thread examples/reference-manifest/IpStb/firebolt-device-manifest.json
…acquisitions.

A concurrent Actions.intent call could observe a new intent with the old ID or vice versa.
Fixed by combining both updates into a single apps.write() lock block in new_active_session().
Copilot AI review requested due to automatic review settings September 14, 2026 22:31
@github-actions

Copy link
Copy Markdown

Code Coverage

Package Line Rate Health
core.main.src.broker.rules 78% ✔
device.thunder_ripple_sdk.src.client 61% ➖
core.main.src.broker 69% ➖
core.main.src.processor 0% ❌
core.sdk.src.utils 58% ➖
core.sdk.src.api.manifest 74% ➖
core.main.src.processor.storage 0% ❌
core.sdk.src.service 65% ➖
device.thunder_ripple_sdk.src.bootstrap 0% ❌
core.main.src.state.cap 42% ❌
core.main.src.utils 28% ❌
core.sdk.src.api.gateway 69% ➖
core.main.src.service.extn 25% ❌
core.sdk.src.api.firebolt 85% ✔
core.sdk.src.service.mock_app_gw.appgw 0% ❌
device.thunder_ripple_sdk.src.events 43% ❌
core.sdk.src.api.device 76% ✔
core.sdk.src.extn 76% ✔
core.sdk.src.api.observability 57% ➖
core.main.src.service.ripple_service 9% ❌
core.sdk.src.api.distributor 29% ❌
core.main.src.firebolt 13% ❌
core.main.src.bootstrap.manifest 0% ❌
core.main.src.broker.test 90% ✔
core.main.src.service 32% ❌
core.sdk.src.api 45% ❌
core.sdk.src.framework 64% ➖
core.sdk.src.processor 9% ❌
core.main.src.broker.thunder 37% ❌
core.sdk.src.service.mock_app_gw 0% ❌
core.main.src.bootstrap 0% ❌
device.thunder_ripple_sdk.src.processors.events 0% ❌
core.main.src.firebolt.handlers 13% ❌
core.sdk.src.manifest 0% ❌
core.sdk.src.extn.ffi 0% ❌
core.main.src.service.apps 36% ❌
core.main.src.bootstrap.extn 0% ❌
core.tdk.src.gateway 100% ✔
core.main.src.state 36% ❌
device.thunder_ripple_sdk.src 13% ❌
core.main.src 0% ❌
device.thunder_ripple_sdk.src.processors 19% ❌
device.mock_device.src 56% ➖
core.tdk.src.utils 0% ❌
core.sdk.src.extn.client 81% ✔
Summary 50% (22165 / 44428) ➖

Minimum allowed line rate is 48%

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Changes recommended

Three critical issues remain in intent representation and per-app transition ordering.

Get a fresh assessment by requesting another Copilot review.

Review details
  • Files reviewed: 7/7 changed files
  • Comments generated: 3
  • Review effort level: Lite

Comment thread core/main/src/firebolt/handlers/actions_rpc.rs
Comment thread core/main/src/service/apps/delegated_launcher_handler.rs
Comment thread core/main/src/service/apps/delegated_launcher_handler.rs
@Vinodsathyaseelan
Vinodsathyaseelan requested review from a team September 17, 2026 18:08
@Vinodsathyaseelan
Vinodsathyaseelan merged commit 6c923cd into 3.3.rc Oct 2, 2026
9 checks passed
@Vinodsathyaseelan
Vinodsathyaseelan deleted the RDKEMW-24274 branch October 2, 2026 03:15
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 2, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants