Skip to content

Conversation

@yufengwangca
Copy link
Contributor

Summary

Reland #40432

Related issues

N/A

Testing

Validated by CI

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request refactors the WebRTC Provider Cluster to use the new Server Cluster Interface, which is a good improvement for consistency and maintainability. The changes are mostly correct and align with the new cluster implementation pattern. However, I've identified a critical bug in the HandleSolicitOffer implementation where the stream selection logic was broken during the refactoring. Please see the detailed comment.

Copilot finished reviewing on behalf of yufengwangca November 20, 2025 18:08
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR migrates the WebRTC Transport Provider cluster from the legacy AttributeAccessInterface/CommandHandlerInterface pattern to the modern ServerClusterInterface using DefaultServerCluster as a base. This migration aligns with the SDK's effort to standardize cluster implementations and improve testability through a cleaner separation of concerns.

Key Changes:

  • Replaced manual registration with automatic registration through CodegenDataModelProvider registry
  • Changed from unique_ptr ownership to LazyRegisteredServerCluster for explicit lifecycle management
  • Removed the WebRTCTransportProviderController abstraction layer, simplifying the architecture

Reviewed Changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/app/clusters/webrtc-transport-provider-server/webrtc-transport-provider-cluster.h Migrated class from AttributeAccessInterface/CommandHandlerInterface to DefaultServerCluster; updated method signatures and constructor parameter order
src/app/clusters/webrtc-transport-provider-server/webrtc-transport-provider-cluster.cpp Refactored ReadAttribute and InvokeCommand to use new ServerClusterInterface pattern; updated attribute change notifications to use NotifyAttributeChanged
src/app/clusters/webrtc-transport-provider-server/BUILD.gn Updated build file to create a proper source_set with explicit dependencies instead of an empty group
src/app/clusters/webrtc-transport-provider-server/app_config_dependent_sources.gni Cleared app_config_dependent_sources since sources are now handled directly in BUILD.gn
src/app/clusters/webrtc-transport-provider-server/app_config_dependent_sources.cmake Updated to reference renamed files (webrtc-transport-provider-cluster instead of webrtc-transport-provider-server)
scripts/tools/check_includes_config.py Updated file path reference for include checking
examples/camera-app/camera-common/src/camera-app.cpp Changed from unique_ptr instantiation with Init/Shutdown to LazyRegisteredServerCluster with Create/Destroy and explicit registry registration
examples/camera-app/camera-common/include/camera-app.h Changed member from unique_ptr to LazyRegisteredServerCluster for better lifecycle management
examples/camera-app/camera-common/include/webrtc-provider-controller/webrtc-provider-controller.h Deleted file - removed controller abstraction layer
examples/camera-app/camera-common/include/camera-device-interface.h Replaced GetWebRTCProviderController with SetWebRTCTransportProvider for direct server instance setting
examples/camera-app/camera-common/BUILD.gn Removed reference to deleted controller header and added dependency on webrtc-transport-provider-server
examples/camera-app/linux/include/clusters/webrtc-provider/webrtc-provider-manager.h Removed WebRTCTransportProviderController inheritance; changed to raw pointer for server instance
examples/camera-app/linux/include/camera-device.h Updated interface method signature for SetWebRTCTransportProvider
examples/camera-app/linux/src/camera-device.cpp Updated implementation to call SetWebRTCTransportProvider instead of GetWebRTCProviderController
examples/camera-app/linux/src/clusters/webrtc-provider/webrtc-provider-manager.cpp Updated method signature to accept raw pointer instead of unique_ptr
Comments suppressed due to low confidence (2)

src/app/clusters/webrtc-transport-provider-server/webrtc-transport-provider-cluster.cpp:661

  • The code is using req.videoStreamID and req.audioStreamID directly instead of the local variables videoStreamID and audioStreamID that were declared at lines 503-504. These local variables are passed by reference to mDelegate.ValidateStreamUsage() at line 641, which may modify them. The delegate should populate these with stream IDs when they are null. Using the original request values instead of the potentially modified local variables will cause the wrong values to be passed to the delegate's HandleSolicitOffer method.

Change lines 660-661 to use the local variables:

args.videoStreamId         = videoStreamID;
args.audioStreamId         = audioStreamID;

src/app/clusters/webrtc-transport-provider-server/webrtc-transport-provider-cluster.h:361

  • The documentation comment says "with the specified delegate and endpoint" but the actual parameter order is endpointId first, then delegate. Update the comment to reflect the correct parameter order:
/**
 * @brief
 *   Constructs the WebRTCTransportProviderServer with the specified endpoint and delegate.
 *
 * @param[in] endpointId The Endpoint where the WebRTC Transport Provider cluster is published.
 * @param[in] delegate   A reference to an implementation of the Delegate interface. Must remain
 *                       valid for the lifetime of this object.
 */

@github-actions
Copy link

github-actions bot commented Nov 20, 2025

PR #42067: Size comparison from ee2ab5e to 74e2761

Full report (35 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, nxp, psoc6, qpg, realtek, stm32, telink)
platform target config section ee2ab5e 74e2761 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1106404 1106404 0 0.0
RAM 178930 178930 0 0.0
bl702 lighting-app bl702+eth FLASH 661476 661476 0 0.0
RAM 135025 135025 0 0.0
bl702+wifi FLASH 837072 837072 0 0.0
RAM 124445 124445 0 0.0
bl706+mfd+rpc+littlefs FLASH 1070676 1070676 0 0.0
RAM 117317 117317 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 901386 901386 0 0.0
RAM 105788 105788 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 983422 983422 0 0.0
RAM 109796 109796 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 771180 771180 0 0.0
RAM 103360 103360 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 784008 784008 0 0.0
RAM 108680 108680 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 729052 729052 0 0.0
RAM 97420 97420 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 713520 713520 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 555366 555366 0 0.0
RAM 205776 205776 0 0.0
lock CC3235SF_LAUNCHXL FLASH 589150 589150 0 0.0
RAM 206032 206032 0 0.0
efr32 lock-app BRD4187C FLASH 965192 965192 0 0.0
RAM 123732 123732 0 0.0
BRD4338a FLASH 759520 759520 0 0.0
RAM 254340 254340 0 0.0
window-app BRD4187C FLASH 1060628 1060620 -8 -0.0
RAM 119960 119960 0 0.0
esp32 all-clusters-app c3devkit DRAM 102596 102596 0 0.0
FLASH 1837816 1837816 0 0.0
IRAM 93540 93540 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 934528 934528 0 0.0
RAM 161399 161399 0 0.0
nxp contact mcxw71+release FLASH 694656 694656 0 0.0
RAM 61712 61712 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1679324 1679324 0 0.0
RAM 213980 213980 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1594516 1594516 0 0.0
RAM 211156 211156 0 0.0
light cy8ckit_062s2_43012 FLASH 1460756 1460756 0 0.0
RAM 197776 197776 0 0.0
lock cy8ckit_062s2_43012 FLASH 1494732 1494732 0 0.0
RAM 225648 225648 0 0.0
qpg lighting-app qpg6200+debug FLASH 839104 839104 0 0.0
RAM 127920 127920 0 0.0
lock-app qpg6200+debug FLASH 776316 776316 0 0.0
RAM 118880 118880 0 0.0
realtek light-switch-app rtl8777g FLASH 709256 709256 0 0.0
RAM 107148 107148 0 0.0
lighting-app rtl8777g FLASH 757960 757960 0 0.0
RAM 127296 127296 0 0.0
stm32 light STM32WB5MM-DK FLASH 470592 470592 0 0.0
RAM 141352 141352 0 0.0
telink bridge-app tl7218x FLASH 710590 710590 0 0.0
RAM 90600 90600 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 797094 797094 0 0.0
RAM 41024 41024 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 788288 788288 0 0.0
RAM 93700 93700 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 717154 717154 0 0.0
RAM 52068 52068 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 750470 750470 0 0.0
RAM 71108 71108 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 727392 727392 0 0.0
RAM 34800 34800 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 602656 602656 0 0.0
RAM 109648 109648 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 820900 820904 4 0.0
RAM 92096 92096 0 0.0

@github-actions
Copy link

github-actions bot commented Nov 21, 2025

PR #42067: Size comparison from d4bc686 to 498782e

Full report (35 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, nxp, psoc6, qpg, realtek, stm32, telink)
platform target config section d4bc686 498782e change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1106634 1106634 0 0.0
RAM 178954 178954 0 0.0
bl702 lighting-app bl702+eth FLASH 661452 661452 0 0.0
RAM 135041 135041 0 0.0
bl702+wifi FLASH 837046 837046 0 0.0
RAM 124477 124477 0 0.0
bl706+mfd+rpc+littlefs FLASH 1070908 1070908 0 0.0
RAM 117349 117349 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 901618 901618 0 0.0
RAM 105820 105820 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 983654 983654 0 0.0
RAM 109828 109828 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 771324 771324 0 0.0
RAM 103384 103384 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 784136 784136 0 0.0
RAM 108704 108704 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 729172 729172 0 0.0
RAM 97444 97444 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 713648 713648 0 0.0
RAM 97660 97660 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 555494 555494 0 0.0
RAM 205800 205800 0 0.0
lock CC3235SF_LAUNCHXL FLASH 589278 589278 0 0.0
RAM 206056 206056 0 0.0
efr32 lock-app BRD4187C FLASH 965304 965304 0 0.0
RAM 123764 123764 0 0.0
BRD4338a FLASH 759720 759720 0 0.0
RAM 254364 254364 0 0.0
window-app BRD4187C FLASH 1060764 1060764 0 0.0
RAM 119960 119960 0 0.0
esp32 all-clusters-app c3devkit DRAM 102620 102620 0 0.0
FLASH 1837966 1837966 0 0.0
IRAM 93540 93540 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 934664 934664 0 0.0
RAM 161423 161423 0 0.0
nxp contact mcxw71+release FLASH 694792 694792 0 0.0
RAM 61736 61736 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1679476 1679476 0 0.0
RAM 214004 214004 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1594652 1594652 0 0.0
RAM 211180 211180 0 0.0
light cy8ckit_062s2_43012 FLASH 1460900 1460900 0 0.0
RAM 197800 197800 0 0.0
lock cy8ckit_062s2_43012 FLASH 1494876 1494876 0 0.0
RAM 225672 225672 0 0.0
qpg lighting-app qpg6200+debug FLASH 839240 839240 0 0.0
RAM 127944 127944 0 0.0
lock-app qpg6200+debug FLASH 776444 776444 0 0.0
RAM 118904 118904 0 0.0
realtek light-switch-app rtl8777g FLASH 709376 709376 0 0.0
RAM 107172 107172 0 0.0
lighting-app rtl8777g FLASH 758088 758088 0 0.0
RAM 127320 127320 0 0.0
stm32 light STM32WB5MM-DK FLASH 470720 470720 0 0.0
RAM 141376 141376 0 0.0
telink bridge-app tl7218x FLASH 710686 710686 0 0.0
RAM 90624 90624 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 797190 797190 0 0.0
RAM 41048 41048 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 788384 788384 0 0.0
RAM 93724 93724 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 717250 717250 0 0.0
RAM 52092 52092 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 750566 750566 0 0.0
RAM 71132 71132 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 727488 727488 0 0.0
RAM 34824 34824 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 602752 602752 0 0.0
RAM 109672 109672 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 820996 821000 4 0.0
RAM 92120 92120 0 0.0

@CLAassistant
Copy link

CLAassistant commented Nov 25, 2025

CLA assistant check
All committers have signed the CLA.

@gmarcosb
Copy link
Contributor

Would you mind re-running CI before submitting this? #41955 may result in your PR breaking CI

@mergify mergify bot added the conflict label Nov 27, 2025
Copilot AI review requested due to automatic review settings November 27, 2025 16:37
@mergify mergify bot removed the conflict label Nov 27, 2025
Copilot finished reviewing on behalf of yufengwangca November 27, 2025 16:39
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 15 out of 15 changed files in this pull request and generated no new comments.

@github-actions
Copy link

github-actions bot commented Nov 27, 2025

PR #42067: Size comparison from 6fd991a to b28c922

Full report (35 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, nxp, psoc6, qpg, realtek, stm32, telink)
platform target config section 6fd991a b28c922 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1106692 1106692 0 0.0
RAM 178954 178954 0 0.0
bl702 lighting-app bl702+eth FLASH 661510 661510 0 0.0
RAM 135041 135041 0 0.0
bl702+wifi FLASH 837104 837104 0 0.0
RAM 124477 124477 0 0.0
bl706+mfd+rpc+littlefs FLASH 1071012 1071012 0 0.0
RAM 117349 117349 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 901792 901792 0 0.0
RAM 105820 105820 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 983758 983758 0 0.0
RAM 109828 109828 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 771456 771456 0 0.0
RAM 103392 103392 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 784292 784292 0 0.0
RAM 108712 108712 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 729324 729324 0 0.0
RAM 97452 97452 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 713800 713800 0 0.0
RAM 97660 97660 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 555470 555470 0 0.0
RAM 205808 205808 0 0.0
lock CC3235SF_LAUNCHXL FLASH 589250 589250 0 0.0
RAM 206064 206064 0 0.0
efr32 lock-app BRD4187C FLASH 965508 965508 0 0.0
RAM 123764 123764 0 0.0
BRD4338a FLASH 759860 759860 0 0.0
RAM 254372 254372 0 0.0
window-app BRD4187C FLASH 1060904 1060904 0 0.0
RAM 119992 119992 0 0.0
esp32 all-clusters-app c3devkit DRAM 102660 102660 0 0.0
FLASH 1838580 1838580 0 0.0
IRAM 93540 93540 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 935176 935176 0 0.0
RAM 161452 161452 0 0.0
nxp contact mcxw71+release FLASH 694992 694992 0 0.0
RAM 61736 61736 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1680156 1680156 0 0.0
RAM 214028 214028 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1594604 1594604 0 0.0
RAM 211188 211188 0 0.0
light cy8ckit_062s2_43012 FLASH 1460916 1460916 0 0.0
RAM 197808 197808 0 0.0
lock cy8ckit_062s2_43012 FLASH 1494892 1494892 0 0.0
RAM 225680 225680 0 0.0
qpg lighting-app qpg6200+debug FLASH 839380 839380 0 0.0
RAM 127952 127952 0 0.0
lock-app qpg6200+debug FLASH 776648 776648 0 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 709544 709544 0 0.0
RAM 107180 107180 0 0.0
lighting-app rtl8777g FLASH 758232 758232 0 0.0
RAM 127320 127320 0 0.0
stm32 light STM32WB5MM-DK FLASH 470892 470892 0 0.0
RAM 141384 141384 0 0.0
telink bridge-app tl7218x FLASH 704374 704374 0 0.0
RAM 90636 90636 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 790658 790658 0 0.0
RAM 41052 41052 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 782032 782032 0 0.0
RAM 93736 93736 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 710538 710538 0 0.0
RAM 52108 52108 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 746370 746370 0 0.0
RAM 71132 71132 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 720980 720980 0 0.0
RAM 34832 34832 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 602856 602856 0 0.0
RAM 117452 117452 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 815534 815538 4 0.0
RAM 92124 92124 0 0.0

…port-provider-cluster.cpp

Co-authored-by: Andrei Litvin <[email protected]>
Copilot AI review requested due to automatic review settings November 30, 2025 23:31
Copilot finished reviewing on behalf of yufengwangca November 30, 2025 23:35
@github-actions
Copy link

github-actions bot commented Nov 30, 2025

PR #42067: Size comparison from 6fd991a to b950736

Full report (10 builds for cc13x4_26x4, cc32xx, nrfconnect, realtek, stm32)
platform target config section 6fd991a b950736 change % change
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 771456 771472 16 0.0
RAM 103392 103392 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 784292 784292 0 0.0
RAM 108712 108712 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 729324 729324 0 0.0
RAM 97452 97452 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 713800 713800 0 0.0
RAM 97660 97660 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 555470 555470 0 0.0
RAM 205808 205808 0 0.0
lock CC3235SF_LAUNCHXL FLASH 589250 589250 0 0.0
RAM 206064 206064 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 935176 937184 2008 0.2
RAM 161452 161580 128 0.1
realtek light-switch-app rtl8777g FLASH 709544 709552 8 0.0
RAM 107180 107180 0 0.0
lighting-app rtl8777g FLASH 758232 758240 8 0.0
RAM 127320 127320 0 0.0
stm32 light STM32WB5MM-DK FLASH 470892 470900 8 0.0
RAM 141384 141384 0 0.0

@github-actions
Copy link

github-actions bot commented Dec 1, 2025

PR #42067: Size comparison from 6fd991a to 5d53525

Full report (35 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, nxp, psoc6, qpg, realtek, stm32, telink)
platform target config section 6fd991a 5d53525 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1106692 1106692 0 0.0
RAM 178954 178954 0 0.0
bl702 lighting-app bl702+eth FLASH 661510 661510 0 0.0
RAM 135041 135041 0 0.0
bl702+wifi FLASH 837104 837360 256 0.0
RAM 124477 124477 0 0.0
bl706+mfd+rpc+littlefs FLASH 1071012 1071012 0 0.0
RAM 117349 117349 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 901792 903854 2062 0.2
RAM 105820 105900 80 0.1
lighting-app bl702l+mfd+littlefs FLASH 983758 983758 0 0.0
RAM 109828 109828 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 771456 771472 16 0.0
RAM 103392 103392 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 784292 784292 0 0.0
RAM 108712 108712 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 729324 729324 0 0.0
RAM 97452 97452 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 713800 713800 0 0.0
RAM 97660 97660 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 555470 555470 0 0.0
RAM 205808 205808 0 0.0
lock CC3235SF_LAUNCHXL FLASH 589250 589250 0 0.0
RAM 206064 206064 0 0.0
efr32 lock-app BRD4187C FLASH 965508 965508 0 0.0
RAM 123764 123764 0 0.0
BRD4338a FLASH 759860 759892 32 0.0
RAM 254372 254372 0 0.0
window-app BRD4187C FLASH 1060904 1060936 32 0.0
RAM 119992 119992 0 0.0
esp32 all-clusters-app c3devkit DRAM 102660 102772 112 0.1
FLASH 1838580 1839540 960 0.1
IRAM 93540 93540 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 935176 937184 2008 0.2
RAM 161452 161580 128 0.1
nxp contact mcxw71+release FLASH 694992 695024 32 0.0
RAM 61736 61736 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1680156 1683164 3008 0.2
RAM 214028 214164 136 0.1
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1594604 1597612 3008 0.2
RAM 211188 211332 144 0.1
light cy8ckit_062s2_43012 FLASH 1460916 1460948 32 0.0
RAM 197808 197808 0 0.0
lock cy8ckit_062s2_43012 FLASH 1494892 1494908 16 0.0
RAM 225680 225680 0 0.0
qpg lighting-app qpg6200+debug FLASH 839380 839396 16 0.0
RAM 127952 127952 0 0.0
lock-app qpg6200+debug FLASH 776648 776664 16 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 709544 709552 8 0.0
RAM 107180 107180 0 0.0
lighting-app rtl8777g FLASH 758232 758240 8 0.0
RAM 127320 127320 0 0.0
stm32 light STM32WB5MM-DK FLASH 470892 470900 8 0.0
RAM 141384 141384 0 0.0
telink bridge-app tl7218x FLASH 704374 704428 54 0.0
RAM 90636 90636 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 790658 790712 54 0.0
RAM 41052 41052 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 782032 782086 54 0.0
RAM 93736 93736 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 710538 710592 54 0.0
RAM 52108 52108 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 746370 746424 54 0.0
RAM 71132 71132 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 720980 721034 54 0.0
RAM 34832 34832 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 602856 602910 54 0.0
RAM 117452 117452 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 815534 815592 58 0.0
RAM 92124 92124 0 0.0

Copilot AI review requested due to automatic review settings December 1, 2025 03:46
Copilot finished reviewing on behalf of yufengwangca December 1, 2025 03:50
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 15 out of 15 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

src/app/clusters/webrtc-transport-provider-server/webrtc-transport-provider-cluster.h:399

  • [nitpick] The member variable ordering places mDelegate before mCurrentSessions, but the private helper methods and command handlers are listed after. For better code organization and consistency with other cluster implementations (like PushAvStreamTransportCluster), consider placing all member variables together at the end of the private section, after all method declarations.

@github-actions
Copy link

github-actions bot commented Dec 1, 2025

PR #42067: Size comparison from 6fd991a to 2adc8d3

Full report (35 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, nxp, psoc6, qpg, realtek, stm32, telink)
platform target config section 6fd991a 2adc8d3 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1106692 1106692 0 0.0
RAM 178954 178954 0 0.0
bl702 lighting-app bl702+eth FLASH 661510 661510 0 0.0
RAM 135041 135041 0 0.0
bl702+wifi FLASH 837104 837360 256 0.0
RAM 124477 124477 0 0.0
bl706+mfd+rpc+littlefs FLASH 1071012 1071012 0 0.0
RAM 117349 117349 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 901792 903854 2062 0.2
RAM 105820 105900 80 0.1
lighting-app bl702l+mfd+littlefs FLASH 983758 983758 0 0.0
RAM 109828 109828 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 771456 771472 16 0.0
RAM 103392 103392 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 784292 784292 0 0.0
RAM 108712 108712 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 729324 729324 0 0.0
RAM 97452 97452 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 713800 713800 0 0.0
RAM 97660 97660 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 555470 555470 0 0.0
RAM 205808 205808 0 0.0
lock CC3235SF_LAUNCHXL FLASH 589250 589250 0 0.0
RAM 206064 206064 0 0.0
efr32 lock-app BRD4187C FLASH 965508 965508 0 0.0
RAM 123764 123764 0 0.0
BRD4338a FLASH 759860 759892 32 0.0
RAM 254372 254372 0 0.0
window-app BRD4187C FLASH 1060904 1060936 32 0.0
RAM 119992 119992 0 0.0
esp32 all-clusters-app c3devkit DRAM 102660 102772 112 0.1
FLASH 1838580 1839540 960 0.1
IRAM 93540 93540 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 935176 937184 2008 0.2
RAM 161452 161580 128 0.1
nxp contact mcxw71+release FLASH 694992 695024 32 0.0
RAM 61736 61736 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1680156 1683164 3008 0.2
RAM 214028 214164 136 0.1
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1594604 1597612 3008 0.2
RAM 211188 211332 144 0.1
light cy8ckit_062s2_43012 FLASH 1460916 1460948 32 0.0
RAM 197808 197808 0 0.0
lock cy8ckit_062s2_43012 FLASH 1494892 1494908 16 0.0
RAM 225680 225680 0 0.0
qpg lighting-app qpg6200+debug FLASH 839380 839396 16 0.0
RAM 127952 127952 0 0.0
lock-app qpg6200+debug FLASH 776648 776664 16 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 709544 709552 8 0.0
RAM 107180 107180 0 0.0
lighting-app rtl8777g FLASH 758232 758240 8 0.0
RAM 127320 127320 0 0.0
stm32 light STM32WB5MM-DK FLASH 470892 470900 8 0.0
RAM 141384 141384 0 0.0
telink bridge-app tl7218x FLASH 704374 704428 54 0.0
RAM 90636 90636 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 790658 790712 54 0.0
RAM 41052 41052 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 782032 782086 54 0.0
RAM 93736 93736 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 710538 710592 54 0.0
RAM 52108 52108 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 746370 746424 54 0.0
RAM 71132 71132 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 720980 721034 54 0.0
RAM 34832 34832 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 602856 602910 54 0.0
RAM 117452 117452 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 815534 815592 58 0.0
RAM 92124 92124 0 0.0

Copy link
Contributor

@andy31415 andy31415 left a comment

Choose a reason for hiding this comment

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

@yufengwangca code driven cluster conversions should start having unit tests.

Given that this is an existing cluster conversion, we are not asking for full coverage, however please add at least one test to prove that testing is possible. This is usually something like a test that attribute listing works or read some simple attribute (e.g. read revision and check that that works).

@github-actions
Copy link

github-actions bot commented Dec 2, 2025

PR #42067: Size comparison from 94d3bbb to 0295002

Full report (34 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, nrfconnect, nxp, psoc6, qpg, realtek, stm32, telink)
platform target config section 94d3bbb 0295002 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1106694 1106694 0 0.0
RAM 178954 178954 0 0.0
bl702 lighting-app bl702+eth FLASH 661512 661512 0 0.0
RAM 135041 135041 0 0.0
bl702+wifi FLASH 837362 837362 0 0.0
RAM 124477 124477 0 0.0
bl706+mfd+rpc+littlefs FLASH 1071014 1071014 0 0.0
RAM 117349 117349 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 903856 903856 0 0.0
RAM 105900 105900 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 983760 983760 0 0.0
RAM 109828 109828 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 771472 771472 0 0.0
RAM 103392 103392 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 784276 784276 0 0.0
RAM 108712 108712 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 729324 729324 0 0.0
RAM 97452 97452 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 713784 713784 0 0.0
RAM 97660 97660 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 555294 555294 0 0.0
RAM 205808 205808 0 0.0
lock CC3235SF_LAUNCHXL FLASH 589242 589242 0 0.0
RAM 206064 206064 0 0.0
efr32 lock-app BRD4187C FLASH 965348 965348 0 0.0
RAM 123764 123764 0 0.0
BRD4338a FLASH 759876 759876 0 0.0
RAM 254372 254372 0 0.0
window-app BRD4187C FLASH 1060712 1060712 0 0.0
RAM 119992 119992 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 937424 937424 0 0.0
RAM 161576 161576 0 0.0
nxp contact mcxw71+release FLASH 695008 695008 0 0.0
RAM 61736 61736 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1683036 1683036 0 0.0
RAM 214156 214156 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1597356 1597356 0 0.0
RAM 211332 211332 0 0.0
light cy8ckit_062s2_43012 FLASH 1460948 1460948 0 0.0
RAM 197808 197808 0 0.0
lock cy8ckit_062s2_43012 FLASH 1494892 1494892 0 0.0
RAM 225680 225680 0 0.0
qpg lighting-app qpg6200+debug FLASH 839396 839396 0 0.0
RAM 127952 127952 0 0.0
lock-app qpg6200+debug FLASH 776664 776664 0 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 709536 709536 0 0.0
RAM 107180 107180 0 0.0
lighting-app rtl8777g FLASH 758248 758248 0 0.0
RAM 127320 127320 0 0.0
stm32 light STM32WB5MM-DK FLASH 470924 470924 0 0.0
RAM 141384 141384 0 0.0
telink bridge-app tl7218x FLASH 704442 704442 0 0.0
RAM 90636 90636 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 790742 790742 0 0.0
RAM 41052 41052 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 782116 782116 0 0.0
RAM 93736 93736 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 710594 710594 0 0.0
RAM 52108 52108 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 746426 746426 0 0.0
RAM 71132 71132 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 721036 721036 0 0.0
RAM 34832 34832 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 602940 602940 0 0.0
RAM 117452 117452 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 815618 815622 4 0.0
RAM 92124 92124 0 0.0

…bRTCTransportProviderCluster.cpp

Co-authored-by: Andrei Litvin <[email protected]>
Copilot AI review requested due to automatic review settings December 2, 2025 18:51
Copilot finished reviewing on behalf of yufengwangca December 2, 2025 18:55
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 18 out of 18 changed files in this pull request and generated 1 comment.

@github-actions
Copy link

github-actions bot commented Dec 2, 2025

PR #42067: Size comparison from 94d3bbb to 7eec9e2

Full report (30 builds for bl602, bl702, bl702l, cc32xx, efr32, nrfconnect, nxp, psoc6, qpg, realtek, stm32, telink)
platform target config section 94d3bbb 7eec9e2 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1106694 1106694 0 0.0
RAM 178954 178954 0 0.0
bl702 lighting-app bl702+eth FLASH 661512 661512 0 0.0
RAM 135041 135041 0 0.0
bl702+wifi FLASH 837362 837362 0 0.0
RAM 124477 124477 0 0.0
bl706+mfd+rpc+littlefs FLASH 1071014 1071014 0 0.0
RAM 117349 117349 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 903856 903856 0 0.0
RAM 105900 105900 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 983760 983760 0 0.0
RAM 109828 109828 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 555294 555294 0 0.0
RAM 205808 205808 0 0.0
lock CC3235SF_LAUNCHXL FLASH 589242 589242 0 0.0
RAM 206064 206064 0 0.0
efr32 lock-app BRD4187C FLASH 965348 965348 0 0.0
RAM 123764 123764 0 0.0
BRD4338a FLASH 759876 759876 0 0.0
RAM 254372 254372 0 0.0
window-app BRD4187C FLASH 1060712 1060712 0 0.0
RAM 119992 119992 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 937424 937424 0 0.0
RAM 161576 161576 0 0.0
nxp contact mcxw71+release FLASH 695008 695008 0 0.0
RAM 61736 61736 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1683036 1683036 0 0.0
RAM 214156 214156 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1597356 1597356 0 0.0
RAM 211332 211332 0 0.0
light cy8ckit_062s2_43012 FLASH 1460948 1460948 0 0.0
RAM 197808 197808 0 0.0
lock cy8ckit_062s2_43012 FLASH 1494892 1494892 0 0.0
RAM 225680 225680 0 0.0
qpg lighting-app qpg6200+debug FLASH 839396 839396 0 0.0
RAM 127952 127952 0 0.0
lock-app qpg6200+debug FLASH 776664 776664 0 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 709536 709536 0 0.0
RAM 107180 107180 0 0.0
lighting-app rtl8777g FLASH 758248 758248 0 0.0
RAM 127320 127320 0 0.0
stm32 light STM32WB5MM-DK FLASH 470924 470924 0 0.0
RAM 141384 141384 0 0.0
telink bridge-app tl7218x FLASH 704442 704442 0 0.0
RAM 90636 90636 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 790742 790742 0 0.0
RAM 41052 41052 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 782116 782116 0 0.0
RAM 93736 93736 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 710594 710594 0 0.0
RAM 52108 52108 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 746426 746426 0 0.0
RAM 71132 71132 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 721036 721036 0 0.0
RAM 34832 34832 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 602940 602940 0 0.0
RAM 117452 117452 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 815618 815622 4 0.0
RAM 92124 92124 0 0.0

@github-actions
Copy link

github-actions bot commented Dec 2, 2025

PR #42067: Size comparison from 94d3bbb to 595e844

Full report (34 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, nrfconnect, nxp, psoc6, qpg, realtek, stm32, telink)
platform target config section 94d3bbb 595e844 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1106694 1106694 0 0.0
RAM 178954 178954 0 0.0
bl702 lighting-app bl702+eth FLASH 661512 661512 0 0.0
RAM 135041 135041 0 0.0
bl702+wifi FLASH 837362 837362 0 0.0
RAM 124477 124477 0 0.0
bl706+mfd+rpc+littlefs FLASH 1071014 1071014 0 0.0
RAM 117349 117349 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 903856 903856 0 0.0
RAM 105900 105900 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 983760 983760 0 0.0
RAM 109828 109828 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 771472 771472 0 0.0
RAM 103392 103392 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 784276 784276 0 0.0
RAM 108712 108712 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 729324 729324 0 0.0
RAM 97452 97452 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 713784 713784 0 0.0
RAM 97660 97660 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 555294 555294 0 0.0
RAM 205808 205808 0 0.0
lock CC3235SF_LAUNCHXL FLASH 589242 589242 0 0.0
RAM 206064 206064 0 0.0
efr32 lock-app BRD4187C FLASH 965348 965348 0 0.0
RAM 123764 123764 0 0.0
BRD4338a FLASH 759876 759876 0 0.0
RAM 254372 254372 0 0.0
window-app BRD4187C FLASH 1060712 1060712 0 0.0
RAM 119992 119992 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 937424 937424 0 0.0
RAM 161576 161576 0 0.0
nxp contact mcxw71+release FLASH 695008 695008 0 0.0
RAM 61736 61736 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1683036 1683012 -24 -0.0
RAM 214156 214156 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1597356 1597356 0 0.0
RAM 211332 211332 0 0.0
light cy8ckit_062s2_43012 FLASH 1460948 1460948 0 0.0
RAM 197808 197808 0 0.0
lock cy8ckit_062s2_43012 FLASH 1494892 1494892 0 0.0
RAM 225680 225680 0 0.0
qpg lighting-app qpg6200+debug FLASH 839396 839396 0 0.0
RAM 127952 127952 0 0.0
lock-app qpg6200+debug FLASH 776664 776664 0 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 709536 709536 0 0.0
RAM 107180 107180 0 0.0
lighting-app rtl8777g FLASH 758248 758248 0 0.0
RAM 127320 127320 0 0.0
stm32 light STM32WB5MM-DK FLASH 470924 470924 0 0.0
RAM 141384 141384 0 0.0
telink bridge-app tl7218x FLASH 704442 704442 0 0.0
RAM 90636 90636 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 790742 790742 0 0.0
RAM 41052 41052 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 782116 782116 0 0.0
RAM 93736 93736 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 710594 710594 0 0.0
RAM 52108 52108 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 746426 746426 0 0.0
RAM 71132 71132 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 721036 721036 0 0.0
RAM 34832 34832 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 602940 602940 0 0.0
RAM 117452 117452 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 815618 815622 4 0.0
RAM 92124 92124 0 0.0

@andy31415 andy31415 added the sdk-maintainer-approved PR marked by `matter-sdk-maintainers` as suitable for MERGE - meets guideline & sufficient reviews. label Dec 4, 2025
@mergify mergify bot merged commit 3ec9f2e into project-chip:master Dec 4, 2025
78 of 81 checks passed
@yufengwangca yufengwangca deleted the pr/webrtcp/code branch December 4, 2025 15:16
marybadalyan pushed a commit to marybadalyan/connectedhomeip that referenced this pull request Dec 5, 2025
…roject-chip#42067)

* [Camera] Migrate WebRTC Provider Cluster to Server Cluster Interface

* Update src/app/clusters/webrtc-transport-provider-server/webrtc-transport-provider-cluster.cpp

Co-authored-by: Andrei Litvin <[email protected]>

* Address review comments

* Remove un-used variables

* Name things UpperCamelCaseCluster for code driven clusters

* Update src/app/clusters/webrtc-transport-provider-server/tests/TestWebRTCTransportProviderCluster.cpp

Co-authored-by: Andrei Litvin <[email protected]>

* Address review comments

---------

Co-authored-by: Andrei Litvin <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app examples review - pending scripts sdk-maintainer-approved PR marked by `matter-sdk-maintainers` as suitable for MERGE - meets guideline & sufficient reviews.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants