Skip to content

Conversation

@tersal
Copy link
Contributor

@tersal tersal commented Nov 25, 2025

Summary

This is a migration from the ember based implementation of the ValveConfigurationAndControl to a CodeDriven approach.

Still some work missing and potential improvements so still a WIP.

Related issues

Fixes #41581

Testing

Added unit tests for basic functionality and ran Integration tests locally, they should be executed by the CI too.

Copilot AI review requested due to automatic review settings November 25, 2025 05:19
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 ValveConfigurationAndControl cluster from an Ember-based implementation to a Code-Driven approach. The migration involves removing generated attribute accessors and command callbacks, implementing a new cluster class that manages attributes internally, and updating configuration files to mark the cluster as code-driven.

Key changes include:

  • New ValveConfigurationAndControlCluster class for managing cluster state and behavior
  • Removal of auto-generated attribute accessors from zap-generated files
  • Introduction of TimeSyncTracker interface for TimeSync cluster dependency
  • Updated integration layer with CodegenIntegration files

Reviewed changes

Copilot reviewed 28 out of 29 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
valve-configuration-and-control-cluster.h Defines new cluster class with internal attribute storage
valve-configuration-and-control-cluster.cpp Implements cluster logic, command handlers, and attribute management
CodegenIntegration.cpp Provides integration layer for codegen data model provider
TimeSyncTracker.h Interface for abstracting TimeSync cluster dependency
config-data.yaml Marks cluster as CommandHandlerInterfaceOnly and CodeDriven
zcl.json Configures attributes as code-driven (external storage)
Test files Unit tests for basic cluster functionality

@github-actions
Copy link

PR #42134: Size comparison from d83c06e to 28e8cef

Full report (1 build for stm32)
platform target config section d83c06e 28e8cef change % change
stm32 light STM32WB5MM-DK FLASH 470728 470728 0 0.0
RAM 141376 141376 0 0.0

Copilot AI review requested due to automatic review settings November 25, 2025 06:04
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 28 out of 28 changed files in this pull request and generated 8 comments.

@github-actions
Copy link

github-actions bot commented Nov 25, 2025

PR #42134: Size comparison from d83c06e to b203f51

Full report (35 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, nxp, psoc6, qpg, realtek, stm32, telink)
platform target config section d83c06e b203f51 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 1070954 1070954 0 0.0
RAM 117349 117349 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 901664 901664 0 0.0
RAM 105820 105820 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 983700 983700 0 0.0
RAM 109828 109828 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 771332 771332 0 0.0
RAM 103384 103384 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 784144 784144 0 0.0
RAM 108704 108704 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 729180 729180 0 0.0
RAM 97444 97444 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 713656 713656 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 965336 965336 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 102708 88 0.1
FLASH 1837958 1838524 566 0.0
IRAM 93540 93540 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 934656 935604 948 0.1
RAM 161423 161493 70 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 1679468 1680692 1224 0.1
RAM 214004 214084 80 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 839256 839256 0 0.0
RAM 127944 127944 0 0.0
lock-app qpg6200+debug FLASH 776460 776460 0 0.0
RAM 118904 118904 0 0.0
realtek light-switch-app rtl8777g FLASH 709392 709392 0 0.0
RAM 107172 107172 0 0.0
lighting-app rtl8777g FLASH 758096 758096 0 0.0
RAM 127320 127320 0 0.0
stm32 light STM32WB5MM-DK FLASH 470728 470728 0 0.0
RAM 141376 141376 0 0.0
telink bridge-app tl7218x FLASH 710692 710692 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 788390 788390 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 821002 821006 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.

Copilot AI review requested due to automatic review settings November 25, 2025 16:38
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 28 out of 28 changed files in this pull request and generated 4 comments.

@github-actions
Copy link

github-actions bot commented Nov 25, 2025

PR #42134: Size comparison from d83c06e to ddd5939

Full report (35 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, nxp, psoc6, qpg, realtek, stm32, telink)
platform target config section d83c06e ddd5939 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 1070954 1070954 0 0.0
RAM 117349 117349 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 901664 901664 0 0.0
RAM 105820 105820 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 983700 983700 0 0.0
RAM 109828 109828 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 771332 771332 0 0.0
RAM 103384 103384 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 784144 784144 0 0.0
RAM 108704 108704 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 729180 729180 0 0.0
RAM 97444 97444 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 713656 713656 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 965336 965336 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 102708 88 0.1
FLASH 1837958 1838524 566 0.0
IRAM 93540 93540 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 934656 935604 948 0.1
RAM 161423 161493 70 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 1679468 1680692 1224 0.1
RAM 214004 214084 80 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 839256 839256 0 0.0
RAM 127944 127944 0 0.0
lock-app qpg6200+debug FLASH 776460 776460 0 0.0
RAM 118904 118904 0 0.0
realtek light-switch-app rtl8777g FLASH 709392 709392 0 0.0
RAM 107172 107172 0 0.0
lighting-app rtl8777g FLASH 758096 758096 0 0.0
RAM 127320 127320 0 0.0
stm32 light STM32WB5MM-DK FLASH 470728 470728 0 0.0
RAM 141376 141376 0 0.0
telink bridge-app tl7218x FLASH 710692 710692 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 788390 788390 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 821002 821006 4 0.0
RAM 92120 92120 0 0.0

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 29 out of 29 changed files in this pull request and generated 3 comments.

@github-actions
Copy link

PR #42134: Size comparison from 147004c to 2855e3e

Full report (5 builds for cc32xx, realtek, stm32)
platform target config section 147004cb 2855e3e change % change
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
realtek light-switch-app rtl8777g FLASH 709552 709552 0 0.0
RAM 107180 107180 0 0.0
lighting-app rtl8777g FLASH 758240 758240 0 0.0
RAM 127320 127320 0 0.0
stm32 light STM32WB5MM-DK FLASH 470900 470900 0 0.0
RAM 141384 141384 0 0.0

@github-actions
Copy link

github-actions bot commented Nov 28, 2025

PR #42134: Size comparison from 147004c to f4e0c3f

Full report (33 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, nxp, psoc6, qpg, realtek, stm32, telink)
platform target config section 147004cb f4e0c3f 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 837360 837360 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 903854 903854 0 0.0
RAM 105900 105900 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 771472 771472 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 759892 759892 0 0.0
RAM 254372 254372 0 0.0
window-app BRD4187C FLASH 1060936 1060936 0 0.0
RAM 119992 119992 0 0.0
nxp contact mcxw71+release FLASH 695024 695024 0 0.0
RAM 61736 61736 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1683164 1684484 1320 0.1
RAM 214164 214244 80 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1597612 1597612 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 1494908 1494908 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 709552 709552 0 0.0
RAM 107180 107180 0 0.0
lighting-app rtl8777g FLASH 758240 758240 0 0.0
RAM 127320 127320 0 0.0
stm32 light STM32WB5MM-DK FLASH 470900 470900 0 0.0
RAM 141384 141384 0 0.0
telink bridge-app tl7218x FLASH 704428 704428 0 0.0
RAM 90636 90636 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 790712 790712 0 0.0
RAM 41052 41052 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 782086 782086 0 0.0
RAM 93736 93736 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 710592 710592 0 0.0
RAM 52108 52108 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 746424 746424 0 0.0
RAM 71132 71132 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 721034 721034 0 0.0
RAM 34832 34832 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 602910 602910 0 0.0
RAM 117452 117452 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 815588 815592 4 0.0
RAM 92124 92124 0 0.0

Copilot AI review requested due to automatic review settings December 2, 2025 06:25
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 29 out of 29 changed files in this pull request and generated 4 comments.

Comment on lines 454 to 461
bool ValveConfigurationAndControlCluster::ValueCompliesWithLevelStep(const uint8_t value) const
{
if (mOptionalAttributeSet.IsSet(Attributes::LevelStep::Id))
{
commandObj->AddStatus(commandPath, Status::Success);
if ((value != 100u) && ((value % mLevelStep) != 0))
{
return false;
}
Copy link

Copilot AI Dec 2, 2025

Choose a reason for hiding this comment

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

The condition on line 458 uses (value % mLevelStep) != 0 which will fail when mLevelStep is 0, causing a division by zero. Although the default is 1, the attribute could potentially be set to 0 through external means. Add a check to ensure mLevelStep is not 0 before performing the modulo operation.

Copilot uses AI. Check for mistakes.
Comment on lines 498 to 510
void ValveConfigurationAndControlCluster::emitValveLevelEvent(chip::Percent currentLevel)
{
ValveConfigurationAndControl::Events::ValveStateChanged::Type event;
event.valveLevel = MakeOptional<Percent>(currentLevel);
mContext->interactionContext.eventsGenerator.GenerateEvent(event, mPath.mEndpointId);
}

void MatterValveConfigurationAndControlPluginServerInitCallback()
void ValveConfigurationAndControlCluster::emitValveChangeEvent(ValveConfigurationAndControl::ValveStateEnum currentState)
{
AttributeAccessInterfaceRegistry::Instance().Register(&gAttrAccess);
ValveConfigurationAndControl::Events::ValveStateChanged::Type event;
event.valveState = currentState;
mContext->interactionContext.eventsGenerator.GenerateEvent(event, mPath.mEndpointId);
}
Copy link

Copilot AI Dec 2, 2025

Choose a reason for hiding this comment

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

The event emission methods emitValveLevelEvent and emitValveChangeEvent should follow the codebase naming convention. Method names in this codebase typically use PascalCase for public methods (e.g., EmitValveFault), but these two methods use camelCase with a lowercase first letter. Rename to EmitValveLevelEvent and EmitValveChangeEvent for consistency.

Copilot uses AI. Check for mistakes.
Comment on lines 224 to 264
CHIP_ERROR ValveConfigurationAndControlCluster::CloseValve()
{
RemainingDurationTable * item = reinterpret_cast<RemainingDurationTable *>(data);
VerifyOrReturn(item != nullptr, ChipLogError(Zcl, "Error retrieving RemainingDuration item"));
CHIP_ERROR err = CHIP_NO_ERROR;

DataModel::Nullable<uint32_t> rDuration = item->remainingDuration;
VerifyOrReturn(!rDuration.IsNull());
// OpenDuration and RemainingDuration should be set to Null
SaveAndReportIfChanged(mOpenDuration, DataModel::NullNullable, Attributes::OpenDuration::Id);
SetRemainingDuration(DataModel::NullNullable);

EndpointId ep = item->endpoint;
// TargetState should be set to Closed and CurrentState to Transitioning
SaveAndReportIfChanged(mTargetState, DataModel::Nullable<ValveStateEnum>(ValveStateEnum::kClosed), Attributes::TargetState::Id);
SaveAndReportIfChanged(mCurrentState, DataModel::Nullable<ValveStateEnum>(ValveStateEnum::kTransitioning),
Attributes::CurrentState::Id);

if (rDuration.Value() > 0)
// If TimeSync is enabled, AutoCloseTime should be set to Null
if (mFeatures.Has(Feature::kTimeSync))
{
SetRemainingDuration(ep, DataModel::MakeNullable<uint32_t>(--rDuration.Value()));
startRemainingDurationTick(ep);
SaveAndReportIfChanged(mAutoCloseTime, DataModel::NullNullable, Attributes::AutoCloseTime::Id);
}
else

// Set the TargetLevel to 0
if (mFeatures.Has(Feature::kLevel))
{
SetRemainingDurationNull(ep);
SaveAndReportIfChanged(mTargetLevel, Percent(0), Attributes::TargetLevel::Id);
}
}

void startRemainingDurationTick(EndpointId ep)
{
RemainingDurationTable * item = GetRemainingDurationItem(ep);
VerifyOrReturn(item != nullptr, ChipLogError(Zcl, "Error retrieving RemainingDuration item"));

DataModel::Nullable<uint32_t> rDuration = item->remainingDuration;
VerifyOrReturn(!rDuration.IsNull());
Delegate * delegate = GetDelegate(item->endpoint);
VerifyOrReturn(!isDelegateNull(delegate));

delegate->HandleRemainingDurationTick(rDuration.Value());
if (rDuration.Value() > 0)
if (mDelegate != nullptr)
{
(void) DeviceLayer::SystemLayer().StartTimer(System::Clock::Seconds16(1), onValveConfigurationAndControlTick, item);
err = mDelegate->HandleCloseValve();
}
else

// If there was an error, we know nothing about the current state
if (err != CHIP_NO_ERROR)
{
TEMPORARY_RETURN_IGNORED ValveConfigurationAndControl::CloseValve(ep);
(void) DeviceLayer::SystemLayer().CancelTimer(onValveConfigurationAndControlTick, item);
SaveAndReportIfChanged(mCurrentLevel, DataModel::NullNullable, Attributes::CurrentLevel::Id);
SaveAndReportIfChanged(mCurrentState, DataModel::NullNullable, Attributes::CurrentState::Id);
}
}

namespace chip {
namespace app {
namespace Clusters {
namespace ValveConfigurationAndControl {
// Emit the Transition state.
emitValveChangeEvent(ValveStateEnum::kTransitioning);

void SetDefaultDelegate(EndpointId endpoint, Delegate * delegate)
{
uint16_t ep = emberAfGetClusterServerEndpointIndex(endpoint, ValveConfigurationAndControl::Id,
MATTER_DM_VALVE_CONFIGURATION_AND_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT);
// if endpoint is found
if (ep < kValveConfigurationAndControlDelegateTableSize)
{
gDelegateTable[ep] = delegate;
}
return err;
Copy link

Copilot AI Dec 2, 2025

Choose a reason for hiding this comment

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

The error handling doesn't set appropriate status codes when the delegate fails. If mDelegate->HandleCloseValve() returns an error, the function still returns that error (line 264), but attributes have already been modified. This could leave the cluster in an inconsistent state. Consider returning a proper status code or rolling back attribute changes on failure.

Copilot uses AI. Check for mistakes.
ValveConfigurationAndControl::Events::ValveFault::Type event;
event.valveFault = fault;
mContext->interactionContext.eventsGenerator.GenerateEvent(event, mPath.mEndpointId);
mValveFault = fault;
Copy link

Copilot AI Dec 2, 2025

Choose a reason for hiding this comment

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

The EmitValveFault method updates mValveFault (line 517) but doesn't report the attribute change. The ValveFault attribute should be marked dirty and reported when it changes. Add NotifyAttributeChanged(Attributes::ValveFault::Id) after setting the value.

Suggested change
mValveFault = fault;
mValveFault = fault;
NotifyAttributeChanged(Attributes::ValveFault::Id);

Copilot uses AI. Check for mistakes.
@github-actions
Copy link

github-actions bot commented Dec 2, 2025

PR #42134: Size comparison from 48df2e2 to 26861db

Full report (33 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, nxp, psoc6, qpg, realtek, stm32, telink)
platform target config section 48df2e2 26861db 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 837360 837360 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 903854 903854 0 0.0
RAM 105900 105900 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 771488 771488 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 729340 729340 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 555302 555302 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 759892 759892 0 0.0
RAM 254372 254372 0 0.0
window-app BRD4187C FLASH 1060936 1060936 0 0.0
RAM 119992 119992 0 0.0
nxp contact mcxw71+release FLASH 695024 695024 0 0.0
RAM 61736 61736 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1683052 1684356 1304 0.1
RAM 214156 214236 80 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1597372 1597372 0 0.0
RAM 211332 211332 0 0.0
light cy8ckit_062s2_43012 FLASH 1460964 1460964 0 0.0
RAM 197808 197808 0 0.0
lock cy8ckit_062s2_43012 FLASH 1494908 1494908 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 709552 709552 0 0.0
RAM 107180 107180 0 0.0
lighting-app rtl8777g FLASH 758264 758264 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 704440 704440 0 0.0
RAM 90636 90636 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 790740 790740 0 0.0
RAM 41052 41052 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 782114 782114 0 0.0
RAM 93736 93736 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 710592 710592 0 0.0
RAM 52108 52108 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 746424 746424 0 0.0
RAM 71132 71132 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 721034 721034 0 0.0
RAM 34832 34832 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 602938 602938 0 0.0
RAM 117452 117452 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 815616 815620 4 0.0
RAM 92124 92124 0 0.0

@github-actions
Copy link

github-actions bot commented Dec 8, 2025

PR #42134: Size comparison from efdf99d to dc48c58

Full report (33 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, nxp, psoc6, qpg, realtek, stm32, telink)
platform target config section efdf99d dc48c58 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1105860 1105860 0 0.0
RAM 178954 178954 0 0.0
bl702 lighting-app bl702+eth FLASH 660680 660680 0 0.0
RAM 135025 135025 0 0.0
bl702+wifi FLASH 836530 836530 0 0.0
RAM 124485 124485 0 0.0
bl706+mfd+rpc+littlefs FLASH 1070174 1070174 0 0.0
RAM 117341 117341 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 902384 902384 0 0.0
RAM 105932 105932 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 982920 982920 0 0.0
RAM 109844 109844 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 770776 770776 0 0.0
RAM 103392 103392 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 783588 783588 0 0.0
RAM 108712 108712 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 728616 728616 0 0.0
RAM 97452 97452 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 713064 713064 0 0.0
RAM 97660 97660 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 554588 554588 0 0.0
RAM 205472 205472 0 0.0
lock CC3235SF_LAUNCHXL FLASH 588528 588528 0 0.0
RAM 205720 205720 0 0.0
efr32 lock-app BRD4187C FLASH 964748 964748 0 0.0
RAM 123776 123776 0 0.0
BRD4338a FLASH 759072 759072 0 0.0
RAM 254388 254388 0 0.0
window-app BRD4187C FLASH 1059888 1059888 0 0.0
RAM 120004 120004 0 0.0
nxp contact mcxw71+release FLASH 695104 695104 0 0.0
RAM 61744 61744 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1680956 1682260 1304 0.1
RAM 214188 214268 80 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1595436 1595436 0 0.0
RAM 211364 211364 0 0.0
light cy8ckit_062s2_43012 FLASH 1460060 1460060 0 0.0
RAM 197800 197800 0 0.0
lock cy8ckit_062s2_43012 FLASH 1494004 1494004 0 0.0
RAM 225672 225672 0 0.0
qpg lighting-app qpg6200+debug FLASH 838248 838248 0 0.0
RAM 127984 127984 0 0.0
lock-app qpg6200+debug FLASH 775984 775984 0 0.0
RAM 118920 118920 0 0.0
realtek light-switch-app rtl8777g FLASH 708688 708688 0 0.0
RAM 107188 107188 0 0.0
lighting-app rtl8777g FLASH 757392 757392 0 0.0
RAM 127320 127320 0 0.0
stm32 light STM32WB5MM-DK FLASH 470244 470244 0 0.0
RAM 141392 141392 0 0.0
telink bridge-app tl7218x FLASH 703898 703898 0 0.0
RAM 90760 90760 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 790246 790246 0 0.0
RAM 41176 41176 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 781558 781558 0 0.0
RAM 93860 93860 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 710042 710042 0 0.0
RAM 52232 52232 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 745874 745874 0 0.0
RAM 71256 71256 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 720554 720554 0 0.0
RAM 34956 34956 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 602362 602362 0 0.0
RAM 117736 117736 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 815066 815070 4 0.0
RAM 92248 92248 0 0.0

@github-actions
Copy link

github-actions bot commented Dec 9, 2025

PR #42134: Size comparison from efdf99d to f12f7a4

Full report (33 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, nxp, psoc6, qpg, realtek, stm32, telink)
platform target config section efdf99d f12f7a4 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1105860 1105616 -244 -0.0
RAM 178954 178970 16 0.0
bl702 lighting-app bl702+eth FLASH 660680 660708 28 0.0
RAM 135025 135041 16 0.0
bl702+wifi FLASH 836530 836292 -238 -0.0
RAM 124485 124501 16 0.0
bl706+mfd+rpc+littlefs FLASH 1070174 1070018 -156 -0.0
RAM 117341 117373 32 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 902384 902642 258 0.0
RAM 105932 105948 16 0.0
lighting-app bl702l+mfd+littlefs FLASH 982920 983020 100 0.0
RAM 109844 109876 32 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 770776 770680 -96 -0.0
RAM 103392 103400 8 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 783588 783692 104 0.0
RAM 108712 108728 16 0.0
pump-app LP_EM_CC1354P10_6 FLASH 728616 728708 92 0.0
RAM 97452 97468 16 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 713064 713284 220 0.0
RAM 97660 97676 16 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 554588 554540 -48 -0.0
RAM 205472 205480 8 0.0
lock CC3235SF_LAUNCHXL FLASH 588528 588416 -112 -0.0
RAM 205720 205736 16 0.0
efr32 lock-app BRD4187C FLASH 964748 964880 132 0.0
RAM 123776 123808 32 0.0
BRD4338a FLASH 759072 759312 240 0.0
RAM 254388 254404 16 0.0
window-app BRD4187C FLASH 1059888 1060284 396 0.0
RAM 120004 120004 0 0.0
nxp contact mcxw71+release FLASH 695104 695416 312 0.0
RAM 61744 61776 32 0.1
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1680956 1682180 1224 0.1
RAM 214188 214284 96 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1595436 1595388 -48 -0.0
RAM 211364 211372 8 0.0
light cy8ckit_062s2_43012 FLASH 1460060 1460060 0 0.0
RAM 197800 197808 8 0.0
lock cy8ckit_062s2_43012 FLASH 1494004 1494140 136 0.0
RAM 225672 225688 16 0.0
qpg lighting-app qpg6200+debug FLASH 838248 837996 -252 -0.0
RAM 127984 127992 8 0.0
lock-app qpg6200+debug FLASH 775984 775980 -4 -0.0
RAM 118920 118944 24 0.0
realtek light-switch-app rtl8777g FLASH 708688 709000 312 0.0
RAM 107188 107204 16 0.0
lighting-app rtl8777g FLASH 757392 757408 16 0.0
RAM 127320 127336 16 0.0
stm32 light STM32WB5MM-DK FLASH 470244 470048 -196 -0.0
RAM 141392 141400 8 0.0
telink bridge-app tl7218x FLASH 703898 704336 438 0.1
RAM 90760 90772 12 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 790246 790494 248 0.0
RAM 41176 41208 32 0.1
light-app-ota-shell-factory-data tl7218x FLASH 781558 781858 300 0.0
RAM 93860 93872 12 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 710042 710474 432 0.1
RAM 52232 52244 12 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 745874 746306 432 0.1
RAM 71256 71268 12 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 720554 720960 406 0.1
RAM 34956 34972 16 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 602362 602602 240 0.0
RAM 117736 117768 32 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 815066 815380 314 0.0
RAM 92248 92260 12 0.0

@github-actions
Copy link

github-actions bot commented Dec 9, 2025

PR #42134: Size comparison from efdf99d to c4e373c

Full report (33 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, nxp, psoc6, qpg, realtek, stm32, telink)
platform target config section efdf99d c4e373c change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1105860 1105616 -244 -0.0
RAM 178954 178970 16 0.0
bl702 lighting-app bl702+eth FLASH 660680 660708 28 0.0
RAM 135025 135041 16 0.0
bl702+wifi FLASH 836530 836292 -238 -0.0
RAM 124485 124501 16 0.0
bl706+mfd+rpc+littlefs FLASH 1070174 1070018 -156 -0.0
RAM 117341 117373 32 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 902384 902642 258 0.0
RAM 105932 105948 16 0.0
lighting-app bl702l+mfd+littlefs FLASH 982920 983020 100 0.0
RAM 109844 109876 32 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 770776 770680 -96 -0.0
RAM 103392 103400 8 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 783588 783692 104 0.0
RAM 108712 108728 16 0.0
pump-app LP_EM_CC1354P10_6 FLASH 728616 728708 92 0.0
RAM 97452 97468 16 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 713064 713284 220 0.0
RAM 97660 97676 16 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 554588 554540 -48 -0.0
RAM 205472 205480 8 0.0
lock CC3235SF_LAUNCHXL FLASH 588528 588416 -112 -0.0
RAM 205720 205736 16 0.0
efr32 lock-app BRD4187C FLASH 964748 964880 132 0.0
RAM 123776 123808 32 0.0
BRD4338a FLASH 759072 759312 240 0.0
RAM 254388 254404 16 0.0
window-app BRD4187C FLASH 1059888 1060284 396 0.0
RAM 120004 120004 0 0.0
nxp contact mcxw71+release FLASH 695104 695416 312 0.0
RAM 61744 61776 32 0.1
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1680956 1682180 1224 0.1
RAM 214188 214284 96 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1595436 1595388 -48 -0.0
RAM 211364 211372 8 0.0
light cy8ckit_062s2_43012 FLASH 1460060 1460060 0 0.0
RAM 197800 197808 8 0.0
lock cy8ckit_062s2_43012 FLASH 1494004 1494140 136 0.0
RAM 225672 225688 16 0.0
qpg lighting-app qpg6200+debug FLASH 838248 837996 -252 -0.0
RAM 127984 127992 8 0.0
lock-app qpg6200+debug FLASH 775984 775980 -4 -0.0
RAM 118920 118944 24 0.0
realtek light-switch-app rtl8777g FLASH 708688 709000 312 0.0
RAM 107188 107204 16 0.0
lighting-app rtl8777g FLASH 757392 757408 16 0.0
RAM 127320 127336 16 0.0
stm32 light STM32WB5MM-DK FLASH 470244 470048 -196 -0.0
RAM 141392 141400 8 0.0
telink bridge-app tl7218x FLASH 703898 704336 438 0.1
RAM 90760 90772 12 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 790246 790494 248 0.0
RAM 41176 41208 32 0.1
light-app-ota-shell-factory-data tl7218x FLASH 781558 781858 300 0.0
RAM 93860 93872 12 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 710042 710474 432 0.1
RAM 52232 52244 12 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 745874 746306 432 0.1
RAM 71256 71268 12 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 720554 720960 406 0.1
RAM 34956 34972 16 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 602362 602602 240 0.0
RAM 117736 117768 32 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 815066 815380 314 0.0
RAM 92248 92260 12 0.0

@github-actions
Copy link

github-actions bot commented Dec 9, 2025

PR #42134: Size comparison from efdf99d to 6854105

Increases above 0.2%:

platform target config section efdf99d 6854105 change % change
nxp contact mcxw71+release FLASH 695104 697384 2280 0.3
Full report (35 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, nxp, psoc6, qpg, realtek, stm32, telink)
platform target config section efdf99d 6854105 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1105860 1105616 -244 -0.0
RAM 178954 178970 16 0.0
bl702 lighting-app bl702+eth FLASH 660680 660708 28 0.0
RAM 135025 135041 16 0.0
bl702+wifi FLASH 836530 836292 -238 -0.0
RAM 124485 124501 16 0.0
bl706+mfd+rpc+littlefs FLASH 1070174 1070018 -156 -0.0
RAM 117341 117373 32 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 902384 902642 258 0.0
RAM 105932 105948 16 0.0
lighting-app bl702l+mfd+littlefs FLASH 982920 983020 100 0.0
RAM 109844 109876 32 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 770776 770680 -96 -0.0
RAM 103392 103400 8 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 783588 783692 104 0.0
RAM 108712 108728 16 0.0
pump-app LP_EM_CC1354P10_6 FLASH 728616 728708 92 0.0
RAM 97452 97468 16 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 713064 713284 220 0.0
RAM 97660 97676 16 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 554588 554540 -48 -0.0
RAM 205472 205480 8 0.0
lock CC3235SF_LAUNCHXL FLASH 588528 588416 -112 -0.0
RAM 205720 205736 16 0.0
efr32 lock-app BRD4187C FLASH 964748 964880 132 0.0
RAM 123776 123808 32 0.0
BRD4338a FLASH 759072 759312 240 0.0
RAM 254388 254404 16 0.0
window-app BRD4187C FLASH 1059888 1060284 396 0.0
RAM 120004 120004 0 0.0
esp32 all-clusters-app c3devkit DRAM 102812 102900 88 0.1
FLASH 1830854 1831206 352 0.0
IRAM 93540 93540 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 936264 937084 820 0.1
RAM 161724 161806 82 0.1
nxp contact mcxw71+release FLASH 695104 697384 2280 0.3
RAM 61744 61816 72 0.1
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1680956 1682180 1224 0.1
RAM 214188 214284 96 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1595436 1595388 -48 -0.0
RAM 211364 211372 8 0.0
light cy8ckit_062s2_43012 FLASH 1460060 1460060 0 0.0
RAM 197800 197808 8 0.0
lock cy8ckit_062s2_43012 FLASH 1494004 1494140 136 0.0
RAM 225672 225688 16 0.0
qpg lighting-app qpg6200+debug FLASH 838248 837996 -252 -0.0
RAM 127984 127992 8 0.0
lock-app qpg6200+debug FLASH 775984 775980 -4 -0.0
RAM 118920 118944 24 0.0
realtek light-switch-app rtl8777g FLASH 708688 709000 312 0.0
RAM 107188 107204 16 0.0
lighting-app rtl8777g FLASH 757392 757408 16 0.0
RAM 127320 127336 16 0.0
stm32 light STM32WB5MM-DK FLASH 470244 470048 -196 -0.0
RAM 141392 141400 8 0.0
telink bridge-app tl7218x FLASH 703898 704344 446 0.1
RAM 90760 90772 12 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 790246 790504 258 0.0
RAM 41176 41208 32 0.1
light-app-ota-shell-factory-data tl7218x FLASH 781558 781866 308 0.0
RAM 93860 93872 12 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 710042 710484 442 0.1
RAM 52232 52244 12 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 745874 746296 422 0.1
RAM 71256 71268 12 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 720554 720972 418 0.1
RAM 34956 34972 16 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 602362 602602 240 0.0
RAM 117736 117896 160 0.1
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 815066 815368 302 0.0
RAM 92248 92260 12 0.0

@tersal
Copy link
Contributor Author

tersal commented Dec 10, 2025

The PR history for this change is a little messy for all the Copilot repeated comments added after each commit. Closing this one and creating a new clean one since there are no many comments yet from non-AI participants. Will request review from Copilot and Gemini in the new PR.

@tersal tersal closed this Dec 10, 2025
@mergify
Copy link

mergify bot commented Dec 10, 2025

⚠️ The sha of the head commit of this PR conflicts with #42366. Mergify cannot evaluate rules on this PR. ⚠️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app cluster-decoupling Work for cluster decoupling: remove direct app-specific code dependency and allow unit testing examples chef Changes in examples/chef examples scripts

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ServerClusterInterface: Decouple ValveConfigurationAndControl cluster

5 participants