Skip to content

[Darwin] Surface granular pairing-failure context in MTRError + DNS-SD / BLE error preservation#72211

Open
woody-apple wants to merge 1 commit into
project-chip:masterfrom
woody-apple:darwin/preserve-commissioning-error-context
Open

[Darwin] Surface granular pairing-failure context in MTRError + DNS-SD / BLE error preservation#72211
woody-apple wants to merge 1 commit into
project-chip:masterfrom
woody-apple:darwin/preserve-commissioning-error-context

Conversation

@woody-apple

@woody-apple woody-apple commented May 27, 2026

Copy link
Copy Markdown
Contributor

[Darwin] Surface granular pairing-failure context in MTRError + DNS-SD / BLE error preservation

Consumers of MTRError currently see most commissioning failures surface as a
single "Error Domain=com.apple.MatterSupport Code=1 (null)". This change plumbs
structured detail into the bridged NSError so callers can disambiguate failure
modes, and tightens Darwin's CoreBluetooth / DNS-SD error mapping at the same
time.

Scope: this commit is intentionally limited to the Darwin framework
(MTRError), two new core DNS-SD CHIP_ERROR codes + their descriptions, and the
Darwin platform glue (DnssdError mapping, BLE error preservation). It is
additive only - it touches 13 files and reverts nothing on master. The earlier
core-controller plumbing (CompletionStatus widening, DevicePairingDelegate
overload, PASE/CASE status-code mapping) is already merged on master via
#72227/#72228 and is NOT part of this commit.

Darwin framework (MTRError):

  • Add NSError userInfo keys with unprefixed string values
    (MTR_PROVISIONALLY_AVAILABLE):
    MTRAttestationVerificationResultKey (= @"attestationVerificationResult")
    MTRAttestationDeviceVendorIDKey (= @"deviceVendorID")
    MTRAttestationDeviceProductIDKey (= @"deviceProductID")
    MTRUnderlyingErrorCodeKey (= @"errorCode" - same string as the key
    already documented for MTRErrorCodeGeneralError, so existing readers of
    userInfo[@"errorCode"] keep working).
  • Surface AttestationVerificationResult enum + BasicInformation VID/PID in
    attestation-failure NSErrors (VID/PID are what the device asserts; they may
    not match the device's certification).
  • New errorForCHIPErrorCode:logContext:additionalUserInfo: overload lets bridge
    call sites attach attestation metadata without losing the existing
    MTRErrorHolder association, and merges additionalUserInfo on both the
    IM-status and core-error bridge paths (framework-reserved keys win).
  • NSError (Matter) category: mtr_underlyingMatterErrorSourceFile and
    mtr_underlyingMatterErrorSourceLine read source location on demand from the
    existing MTRErrorHolder associated object via a single helper, rather than
    baking source file/line into userInfo on every mapped error.

DNS-SD codes (src/lib/core):

  • New CHIP_ERROR_DNSSD_NXDOMAIN (0xBE) - DNS-SD operational instance does not
    exist.
  • New CHIP_ERROR_DNSSD_SERVICE_NOT_RUNNING (0xC7) - DNS-SD platform service is
    not running.
  • Description arms in CHIPError.cpp; test entries in TestCHIPErrorStr.cpp;
    ERROR_CODES.md regenerated.

Platform/Darwin:

  • DnssdError.cpp: map kDNSServiceErr_NoSuchName / NoSuchRecord to
    CHIP_ERROR_DNSSD_NXDOMAIN, kDNSServiceErr_ServiceNotRunning to
    CHIP_ERROR_DNSSD_SERVICE_NOT_RUNNING, kDNSServiceErr_Timeout to
    CHIP_ERROR_TIMEOUT (instead of collapsing to CHIP_ERROR_INTERNAL).
  • BleConnectionDelegateImpl.mm: WrapCBErrorCodeAsKOS preserves the
    CoreBluetooth NSError.code in a kOS-range CHIP_ERROR for triage, with a
    24-bit overflow guard that falls back to the cross-platform BLE_ERROR_GATT_*
    sentinel; the existing HandleConnectionError contract is unchanged for
    non-Darwin consumers.

Testing

Unit tests added/extended (run by existing CI targets):

  • Core error-string coverage in src/lib/core/tests/TestCHIPErrorStr.cpp:
    the two new CHIP_ERROR_DNSSD_NXDOMAIN / CHIP_ERROR_DNSSD_SERVICE_NOT_RUNNING
    codes are added to the formattable-error list so chip::ErrorStr is asserted
    to produce a description for each, pinning the additive error-code allocation.

  • Darwin framework coverage in
    src/darwin/Framework/CHIPTests/MTRErrorMappingTests.m:

    • userInfo key string values are stable
      (MTRAttestationVerificationResultKey == "attestationVerificationResult",
      VID/PID keys), and MTRUnderlyingErrorCodeKey matches the existing
      documented key for general errors.
    • MTRUnderlyingErrorCodeKey is populated on bridged errors and on non-general
      error codes, round-trips through MTRErrorHolder, and is not corruptible by a
      caller-supplied additionalUserInfo value.
    • additionalUserInfo is merged on both the IM-status and core-error bridge
      paths, with framework-reserved keys winning on both paths; attestation keys
      (verification result + VID/PID) are populated on the integrity-check bridge and
      survive on non-integrity-check / general error codes.
    • BLE / KOS-range CoreBluetooth codes round-trip and stay distinct, including
      boundary values; the two new DNS-SD codes bridge and round-trip through a
      general error; category accessors return empty for arbitrary non-bridged
      NSErrors.
  • src/darwin/Framework/CHIPTests/MTRErrorTests.m: underlying-error source-file
    basename stripping handles mixed path separators.

Coverage limitations: DnssdError.cpp's DNSServiceErrorType -> CHIP_ERROR
switch and the file-local WrapCBErrorCodeAsKOS overflow guard have no direct
unit tests (no Darwin platform unit-test target; the underlying error codes are
covered in TestCHIPErrorStr.cpp, and CoreBluetooth codes are documented small
non-negative integers). Attestation-key population at the
MTRDeviceAttestationDelegateBridge.mm call site requires an end-to-end
attestation failure to exercise; the bridge merge logic it relies on is covered
by the mapping tests above.

(Edited by Claude)

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

Copy link
Copy Markdown
Contributor

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 enhances error reporting and diagnostic fidelity across the commissioning, attestation, DNS-SD, and BLE layers. It introduces several specific CHIP_ERROR codes (e.g., for CASE failures, DNS-SD NXDOMAIN, and ICD temporary unavailability) and surfaces detailed debug text and error values in CompletionStatus. Additionally, it exposes structured attestation verification results and device identifiers in Darwin's NSError userInfo. The review feedback highlights two important issues: a potential runtime crash in MTRDeviceAttestationDelegateBridge.mm when inserting nullable vendor/product IDs into an Objective-C dictionary literal, and a potential build-host path leak on Windows environments in MTRError.mm due to hardcoded forward-slash path separator checks.

Comment thread src/darwin/Framework/CHIP/MTRDeviceAttestationDelegateBridge.mm
Comment thread src/darwin/Framework/CHIP/MTRError.mm Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 preserves more granular commissioning and pairing failure context across controller, secure-channel, DNS-SD, and Darwin-facing error surfaces.

Changes:

  • Adds new CASE, DNS-SD, and ICD-specific CHIP_ERROR_* values and error-string coverage.
  • Extends commissioning status propagation with debug text, operational certificate status, network error values, Wi-Fi band capability data, and ICD LIT state.
  • Enriches Darwin NSError userInfo and BLE metrics with structured underlying failure details.

Reviewed changes

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

Show a summary per file
File Description
src/protocols/secure_channel/PASESession.cpp Maps additional secure-channel status reports to specific CHIP errors.
src/protocols/secure_channel/CASESession.cpp Refines CASE Sigma failure mapping and logs session-resumption fallback.
src/platform/Darwin/dnssd/DnssdError.cpp Adds Darwin DNS-SD mappings for NXDOMAIN, service-not-running, and timeout.
src/platform/Darwin/BleConnectionDelegateImpl.mm Preserves CoreBluetooth error codes in BLE metrics.
src/lib/core/tests/TestCHIPErrorStr.cpp Adds string-test coverage for new CHIP error constants.
src/lib/core/CHIPError.h Defines new public CHIP error constants.
src/lib/core/CHIPError.cpp Adds human-readable descriptions for new CHIP errors.
src/darwin/Framework/CHIP/MTRError.mm Adds richer CHIP error metadata to bridged NSError objects.
src/darwin/Framework/CHIP/MTRError.h Declares new public NSError userInfo keys.
src/darwin/Framework/CHIP/MTRError_Internal.h Adds an internal bridge overload for extra userInfo.
src/darwin/Framework/CHIP/MTRDeviceAttestationDelegateBridge.mm Adds attestation result and VID/PID context to attestation failure errors.
src/controller/DevicePairingDelegate.h Adds structured CompletionStatus commissioning-failure callback overload.
src/controller/CommissioningDelegate.h Extends commissioning report/status structs with additional failure context.
src/controller/CHIPDeviceController.cpp Preserves new commissioning context and reads supported Wi-Fi bands.
src/controller/AutoCommissioner.cpp Propagates new report fields into final commissioning completion status.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/darwin/Framework/CHIP/MTRError.mm Outdated
Comment thread src/darwin/Framework/CHIP/MTRError.mm Outdated
woody-apple added a commit to woody-apple/connectedhomeip that referenced this pull request May 27, 2026
…p#72211

Two fixes per project-chip#72211 review:

* MTRDeviceAttestationDelegateBridge.mm: switch the attestationUserInfo
  construction from an NSDictionary literal to a mutable dictionary with nil
  checks. NSDictionary literal syntax @{key:value} raises
  NSInvalidArgumentException on a nil value; the @(uint16_t) boxing for the
  VID/PID NSNumbers always succeeds today, but defensive construction guards
  against future DeviceInfoForAttestation struct changes that could make those
  fields nullable.

* MTRError.mm: handle Windows-style backslash path separators in
  errorCode.GetFile() basename stripping. CHIP builds run on Windows for some
  embedded controller targets; without the fallback to strrchr(file, '\\'),
  full Windows build-host paths would land in MTRCHIPErrorSourceFileKey,
  defeating the privacy intent.

Both flagged by gemini-code-assist's automated review.
@github-actions

Copy link
Copy Markdown

PR #72211: Size comparison from b3a691c to bae572a

Full report (5 builds for cc32xx, realtek, stm32)
platform target config section b3a691c bae572a change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568694 568822 128 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596182 596318 136 0.0
RAM 205256 205256 0 0.0
realtek light-switch-app rtl8777g FLASH 688192 688320 128 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729240 729368 128 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 477964 478080 116 0.0
RAM 141476 141476 0 0.0

AES_CCM_decrypt(parsedSigma2.msgR2EncryptedPayload.data(), parsedSigma2.msgR2EncryptedPayload.size(), nullptr, 0,
parsedSigma2.msgR2MIC.data(), parsedSigma2.msgR2MIC.size(), sr2k.KeyHandle(), kTBEData2_Nonce,
kTBEDataNonceLength, parsedSigma2.msgR2EncryptedPayload.data());
VerifyOrReturnError(aesErr == CHIP_NO_ERROR, CHIP_ERROR_CASE_SIGMA_DECRYPT_FAILURE);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think this is approach is generally frowned upon: dropping the original error (which contains also an original source) and translating it to a different one.

What we would really want is the equivalent of exceptions and some "origin" information, however that is probably too expensive for embedded.

How about having some form of ChipError::MapErrorTo() that would map any chip-error to the given subsitution error, but on large devices (linux/mac/android) we can choose to also log the original error so we do not lose it?

Then I can read ReturnErrorOnFailure(.... .MapErrorTo(CHIP_ERROR_SIGMA_DECRYPT_FAILURE)) and on large devices I would have a propper log. Maybe we can incur the cost of a call on all platforms and log these transforms.

Comment applies for all other places too.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

(FYI: This is Claude, on behalf of @woody-apple) Good call — agreed that translating without preserving the original drops useful diagnostic context. Implemented ChipError::MapErrorTo(target) in 1c0a11c:

  • Logs the original error (and source location when CHIP_CONFIG_ERROR_SOURCE is enabled) before returning the target code, so the underlying cause survives in diagnostics.
  • Compiles to nothing when CHIP_DETAIL_LOGGING=0, so it stays cheap on resource-constrained builds.

Applied to all six CASE translation sites (Sigma2/Sigma3 AES decrypt, NOC chain, ECDSA signature). Pattern is now:

ReturnErrorOnFailure(aesErr.MapErrorTo(CHIP_ERROR_CASE_SIGMA_DECRYPT_FAILURE));

Let me know if you'd prefer a different naming or want logging via a separate log id.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

(FYI: This is Claude — follow-up) Quick update: had to drop the in-method logging from MapErrorTo in 632d730. Adding the support:text_only_logging dep to lib/core:error created a GN cycle:

core:error -> support:text_only_logging -> support:memory -> core:error

The method now just performs the substitution. Callers that want diagnostic preservation can log the original error themselves at the call site before invoking MapErrorTo.

If you'd prefer the original-error-preserving behavior to live in core, we could add a registered logging hook (function pointer the caller installs from a layer with logging access) — happy to do that if it's worth the API surface. Otherwise the current shape is just a named, explicit substitution helper.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think in practice nobody will actually do the logging then, so essentially this pattern will become a "we drop the original error to the floor, including any logging.

Could there be alternatives?

  • figure out if we can fix the loop (may be hard indeed, since CHIP_ERROR is very low level)
  • a macro, like we have for the Verify and Return macros, so I have ReturnErrorOnFailure(RemapErrorsTo(..., CHIP_ERROR...))) and this can do logging
  • Have large platforms support a "original error chain" somehow (however then maybe logging is more complex and I am unsure how long the chain could be)

I think macro is the most short-term viable (but keep the MapErrorTo function as well, it is readable)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Another idea would be on big platforms to have something like std::unique_ptr<CHIP_ERROR> mReason and then we can build chains given that large platforms have heap.

I am also questioning these changes somewhat: the description of the PR complains that several errors are being collapsed into a common error. Yet this is exactly what this code does more: takes an error code that could be diverse and collapses it. So I wonder if this change should be split out with a different description instead.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

(FYI: This is Claude) Split done — the CASE Sigma2/Sigma3 error-code additions and the VerifyCredentials remap have moved to #72227, where they can be reviewed and merged on their own merits. The remap-vs-preserve-original tradeoff is exactly what that PR's description addresses. This PR (#72211) is now scoped to the structured-context plumbing and no longer touches CASESession.cpp or adds CASE error codes.

woody-apple added a commit to woody-apple/connectedhomeip that referenced this pull request May 28, 2026
…URCE

Per Copilot review on PR project-chip#72211:

- ChipError::GetFile() / GetLine() are only defined when CHIP is built with
  CHIP_CONFIG_ERROR_SOURCE; builds with that flag disabled fail to compile.
  Wrap the source-info userInfo block under the same #if so the keys are
  simply absent on those builds.

- Initialize legacyAdditionalUserInfo to nil at declaration. ARC zero-inits
  __strong locals already, but the explicit nil makes the contract clear.
Copilot AI review requested due to automatic review settings May 28, 2026 00:42
@github-actions

github-actions Bot commented May 29, 2026

Copy link
Copy Markdown

PR #72211: Size comparison from 8a8893e to e6ab8f0

Full report (35 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section 8a8893e e6ab8f0 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094196 1094196 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105508 1105508 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593280 1593280 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057208 1057208 0 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896004 896004 0 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776932 776932 0 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789628 789628 0 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738752 738752 0 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 718908 718908 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568670 568670 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596166 596166 0 0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994072 994072 0 0.0
RAM 131288 131288 0 0.0
BRD4338a FLASH 798669 798661 -8 -0.0
RAM 243424 243424 0 0.0
window-app BRD4187C FLASH 1100496 1100496 0 0.0
RAM 130360 130360 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621488 1621488 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834236 834236 0 0.0
RAM 157540 157540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733900 1733900 0 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622692 1622692 0 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1470180 1470180 0 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503316 1503316 0 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 845060 845060 0 0.0
RAM 127964 127964 0 0.0
lock-app qpg6200+debug FLASH 783808 783808 0 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 688600 688600 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729664 729664 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478372 478372 0 0.0
RAM 141476 141476 0 0.0
telink all-devices-app tl7218x FLASH 813010 813010 0 0.0
RAM 97196 97196 0 0.0
tlsr9118bdk40d FLASH 606462 606462 0 0.0
RAM 120152 120152 0 0.0
bridge-app tl7218x FLASH 731374 731374 0 0.0
RAM 95864 95864 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851730 851730 0 0.0
RAM 44332 44332 0 0.0
tl7218x FLASH 843058 843058 0 0.0
RAM 99656 99656 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 731864 731864 0 0.0
RAM 55980 55980 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 795090 795090 0 0.0
RAM 75164 75164 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 731794 731794 0 0.0
RAM 33468 33468 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614510 614510 0 0.0
RAM 118496 118496 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 841172 841176 4 0.0
RAM 97364 97364 0 0.0

@github-actions

github-actions Bot commented May 29, 2026

Copy link
Copy Markdown

PR #72211: Size comparison from ff181cb to 640d368

Full report (35 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section ff181cb 640d368 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094196 1094196 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105508 1105508 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593280 1593280 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057208 1057208 0 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896004 896004 0 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776932 776932 0 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789628 789628 0 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738752 738752 0 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 718908 718908 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568670 568670 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596166 596166 0 0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994056 994056 0 0.0
RAM 131288 131288 0 0.0
BRD4338a FLASH 798613 798613 0 0.0
RAM 243424 243424 0 0.0
window-app BRD4187C FLASH 1100448 1100448 0 0.0
RAM 130360 130360 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621488 1621488 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834236 834236 0 0.0
RAM 157540 157540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733900 1733900 0 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622692 1622692 0 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1470180 1470180 0 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503316 1503316 0 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 845060 845060 0 0.0
RAM 127964 127964 0 0.0
lock-app qpg6200+debug FLASH 783808 783808 0 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 688600 688600 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729664 729664 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478372 478372 0 0.0
RAM 141476 141476 0 0.0
telink all-devices-app tl7218x FLASH 813010 813010 0 0.0
RAM 97196 97196 0 0.0
tlsr9118bdk40d FLASH 606462 606462 0 0.0
RAM 120152 120152 0 0.0
bridge-app tl7218x FLASH 731374 731374 0 0.0
RAM 95864 95864 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851730 851730 0 0.0
RAM 44332 44332 0 0.0
tl7218x FLASH 843058 843058 0 0.0
RAM 99656 99656 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 731864 731864 0 0.0
RAM 55980 55980 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 795090 795090 0 0.0
RAM 75164 75164 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 731794 731794 0 0.0
RAM 33468 33468 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614510 614510 0 0.0
RAM 118496 118496 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 841172 841176 4 0.0
RAM 97364 97364 0 0.0

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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

Comment thread src/darwin/Framework/CHIP/MTRError_Test.h Outdated
Comment thread src/lib/core/CHIPError.h Outdated
@github-actions

github-actions Bot commented May 30, 2026

Copy link
Copy Markdown

PR #72211: Size comparison from 4894db9 to 421c2bb

Full report (35 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section 4894db9 421c2bb change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094216 1094216 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105524 1105524 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593296 1593296 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057224 1057224 0 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896020 896020 0 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776944 776944 0 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789640 789640 0 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738772 738772 0 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 718928 718928 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568690 568690 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596178 596178 0 0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994060 994060 0 0.0
RAM 131288 131288 0 0.0
BRD4338a FLASH 798629 798629 0 0.0
RAM 243424 243424 0 0.0
window-app BRD4187C FLASH 1100480 1100480 0 0.0
RAM 130360 130360 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621508 1621508 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834248 834248 0 0.0
RAM 157540 157540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733916 1733916 0 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622708 1622708 0 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1470196 1470196 0 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503332 1503332 0 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 845080 845080 0 0.0
RAM 127964 127964 0 0.0
lock-app qpg6200+debug FLASH 783812 783812 0 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 688624 688624 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729680 729680 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478384 478384 0 0.0
RAM 141476 141476 0 0.0
telink all-devices-app tl7218x FLASH 813028 813028 0 0.0
RAM 97196 97196 0 0.0
tlsr9118bdk40d FLASH 606480 606480 0 0.0
RAM 120152 120152 0 0.0
bridge-app tl7218x FLASH 731392 731392 0 0.0
RAM 95864 95864 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851748 851748 0 0.0
RAM 44332 44332 0 0.0
tl7218x FLASH 843076 843076 0 0.0
RAM 99656 99656 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 731882 731882 0 0.0
RAM 55980 55980 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 795108 795108 0 0.0
RAM 75164 75164 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 731812 731812 0 0.0
RAM 33468 33468 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614528 614528 0 0.0
RAM 118496 118496 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 841190 841194 4 0.0
RAM 97364 97364 0 0.0

@github-actions

github-actions Bot commented May 30, 2026

Copy link
Copy Markdown

PR #72211: Size comparison from 4894db9 to e31a329

Full report (21 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, nrfconnect, psoc6, qpg, realtek, stm32)
platform target config section 4894db9 e31a329 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094216 1094216 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105524 1105524 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593296 1593296 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057224 1057224 0 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896020 896020 0 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776944 776944 0 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789640 789640 0 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738772 738772 0 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 718928 718928 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568690 568690 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596178 596178 0 0.0
RAM 205256 205256 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834248 834248 0 0.0
RAM 157540 157540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733916 1733916 0 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622708 1622708 0 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1470196 1470196 0 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503332 1503332 0 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 845080 845080 0 0.0
RAM 127964 127964 0 0.0
lock-app qpg6200+debug FLASH 783812 783812 0 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 688624 688624 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729680 729680 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478384 478384 0 0.0
RAM 141476 141476 0 0.0

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@github-actions

github-actions Bot commented May 30, 2026

Copy link
Copy Markdown

PR #72211: Size comparison from 8a162c6 to 74553e8

Full report (35 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section 8a162c6 74553e8 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094216 1094216 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105524 1105524 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593296 1593296 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057224 1057224 0 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896020 896020 0 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776944 776944 0 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789640 789640 0 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738772 738772 0 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 718928 718928 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568690 568690 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596178 596178 0 0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994060 994060 0 0.0
RAM 131288 131288 0 0.0
BRD4338a FLASH 798629 798629 0 0.0
RAM 243424 243424 0 0.0
window-app BRD4187C FLASH 1100480 1100480 0 0.0
RAM 130360 130360 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621508 1621508 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834248 834248 0 0.0
RAM 157540 157540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733916 1733916 0 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622708 1622708 0 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1470196 1470196 0 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503332 1503332 0 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 845080 845080 0 0.0
RAM 127964 127964 0 0.0
lock-app qpg6200+debug FLASH 783812 783812 0 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 688624 688624 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729680 729680 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478384 478384 0 0.0
RAM 141476 141476 0 0.0
telink all-devices-app tl7218x FLASH 813028 813028 0 0.0
RAM 97196 97196 0 0.0
tlsr9118bdk40d FLASH 606480 606480 0 0.0
RAM 120152 120152 0 0.0
bridge-app tl7218x FLASH 731392 731392 0 0.0
RAM 95864 95864 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851748 851748 0 0.0
RAM 44332 44332 0 0.0
tl7218x FLASH 843076 843076 0 0.0
RAM 99656 99656 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 731882 731882 0 0.0
RAM 55980 55980 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 795108 795108 0 0.0
RAM 75164 75164 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 731812 731812 0 0.0
RAM 33468 33468 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614528 614528 0 0.0
RAM 118496 118496 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 841190 841194 4 0.0
RAM 97364 97364 0 0.0

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@github-actions

github-actions Bot commented May 30, 2026

Copy link
Copy Markdown

PR #72211: Size comparison from 8a162c6 to ccafbbd

Full report (35 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section 8a162c6 ccafbbd change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094216 1094216 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105524 1105524 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593296 1593296 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057224 1057224 0 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896020 896020 0 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776944 776944 0 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789640 789640 0 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738772 738772 0 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 718928 718928 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568690 568690 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596178 596178 0 0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994060 994060 0 0.0
RAM 131288 131288 0 0.0
BRD4338a FLASH 798629 798629 0 0.0
RAM 243424 243424 0 0.0
window-app BRD4187C FLASH 1100480 1100480 0 0.0
RAM 130360 130360 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621508 1621508 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834248 834248 0 0.0
RAM 157540 157540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733916 1733916 0 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622708 1622708 0 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1470196 1470196 0 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503332 1503332 0 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 845080 845080 0 0.0
RAM 127964 127964 0 0.0
lock-app qpg6200+debug FLASH 783812 783812 0 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 688624 688624 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729680 729680 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478384 478384 0 0.0
RAM 141476 141476 0 0.0
telink all-devices-app tl7218x FLASH 813028 813028 0 0.0
RAM 97196 97196 0 0.0
tlsr9118bdk40d FLASH 606480 606480 0 0.0
RAM 120152 120152 0 0.0
bridge-app tl7218x FLASH 731392 731392 0 0.0
RAM 95864 95864 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851748 851748 0 0.0
RAM 44332 44332 0 0.0
tl7218x FLASH 843076 843076 0 0.0
RAM 99656 99656 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 731882 731882 0 0.0
RAM 55980 55980 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 795108 795108 0 0.0
RAM 75164 75164 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 731812 731812 0 0.0
RAM 33468 33468 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614528 614528 0 0.0
RAM 118496 118496 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 841190 841194 4 0.0
RAM 97364 97364 0 0.0

@github-actions

github-actions Bot commented May 30, 2026

Copy link
Copy Markdown

PR #72211: Size comparison from 8a162c6 to 1bbc964

Full report (35 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section 8a162c6 1bbc964 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094216 1094216 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105524 1105524 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593296 1593296 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057224 1057224 0 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896020 896020 0 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776944 776944 0 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789640 789640 0 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738772 738772 0 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 718928 718928 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568690 568690 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596178 596178 0 0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994060 994060 0 0.0
RAM 131288 131288 0 0.0
BRD4338a FLASH 798629 798629 0 0.0
RAM 243424 243424 0 0.0
window-app BRD4187C FLASH 1100480 1100480 0 0.0
RAM 130360 130360 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621508 1621508 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834248 834248 0 0.0
RAM 157540 157540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733916 1733916 0 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622708 1622708 0 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1470196 1470196 0 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503332 1503332 0 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 845080 845080 0 0.0
RAM 127964 127964 0 0.0
lock-app qpg6200+debug FLASH 783812 783812 0 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 688624 688624 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729680 729680 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478384 478384 0 0.0
RAM 141476 141476 0 0.0
telink all-devices-app tl7218x FLASH 813028 813028 0 0.0
RAM 97196 97196 0 0.0
tlsr9118bdk40d FLASH 606480 606480 0 0.0
RAM 120152 120152 0 0.0
bridge-app tl7218x FLASH 731392 731392 0 0.0
RAM 95864 95864 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851748 851748 0 0.0
RAM 44332 44332 0 0.0
tl7218x FLASH 843076 843076 0 0.0
RAM 99656 99656 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 731882 731882 0 0.0
RAM 55980 55980 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 795108 795108 0 0.0
RAM 75164 75164 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 731812 731812 0 0.0
RAM 33468 33468 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614528 614528 0 0.0
RAM 118496 118496 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 841190 841194 4 0.0
RAM 97364 97364 0 0.0

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@github-actions

github-actions Bot commented May 31, 2026

Copy link
Copy Markdown

PR #72211: Size comparison from 8a162c6 to f989eb7

Full report (35 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section 8a162c6 f989eb7 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094216 1094216 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105524 1105524 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593296 1593296 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057224 1057224 0 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896020 896020 0 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776944 776944 0 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789640 789640 0 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738772 738772 0 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 718928 718928 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568690 568690 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596178 596178 0 0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994060 994060 0 0.0
RAM 131288 131288 0 0.0
BRD4338a FLASH 798629 798629 0 0.0
RAM 243424 243424 0 0.0
window-app BRD4187C FLASH 1100480 1100480 0 0.0
RAM 130360 130360 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621508 1621508 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834248 834248 0 0.0
RAM 157540 157540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733916 1733916 0 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622708 1622708 0 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1470196 1470196 0 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503332 1503332 0 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 845080 845080 0 0.0
RAM 127964 127964 0 0.0
lock-app qpg6200+debug FLASH 783812 783812 0 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 688624 688624 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729680 729680 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478384 478384 0 0.0
RAM 141476 141476 0 0.0
telink all-devices-app tl7218x FLASH 813028 813028 0 0.0
RAM 97196 97196 0 0.0
tlsr9118bdk40d FLASH 606480 606480 0 0.0
RAM 120152 120152 0 0.0
bridge-app tl7218x FLASH 731392 731392 0 0.0
RAM 95864 95864 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851748 851748 0 0.0
RAM 44332 44332 0 0.0
tl7218x FLASH 843076 843076 0 0.0
RAM 99656 99656 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 731882 731882 0 0.0
RAM 55980 55980 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 795108 795108 0 0.0
RAM 75164 75164 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 731812 731812 0 0.0
RAM 33468 33468 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614528 614528 0 0.0
RAM 118496 118496 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 841190 841194 4 0.0
RAM 97364 97364 0 0.0

@github-actions

github-actions Bot commented May 31, 2026

Copy link
Copy Markdown

PR #72211: Size comparison from 8a162c6 to f0dc9dd

Full report (35 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section 8a162c6 f0dc9dd change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094216 1094196 -20 -0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105524 1105508 -16 -0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593296 1593280 -16 -0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057224 1057208 -16 -0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896020 896004 -16 -0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776944 776932 -12 -0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789640 789628 -12 -0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738772 738752 -20 -0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 718928 718908 -20 -0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568690 568670 -20 -0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596178 596166 -12 -0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994060 994072 12 0.0
RAM 131288 131288 0 0.0
BRD4338a FLASH 798629 798661 32 0.0
RAM 243424 243424 0 0.0
window-app BRD4187C FLASH 1100480 1100496 16 0.0
RAM 130360 130360 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621508 1621488 -20 -0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834248 834236 -12 -0.0
RAM 157540 157540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733916 1733900 -16 -0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622708 1622692 -16 -0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1470196 1470180 -16 -0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503332 1503316 -16 -0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 845080 845060 -20 -0.0
RAM 127964 127964 0 0.0
lock-app qpg6200+debug FLASH 783812 783808 -4 -0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 688624 688600 -24 -0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729680 729664 -16 -0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478384 478372 -12 -0.0
RAM 141476 141476 0 0.0
telink all-devices-app tl7218x FLASH 813028 813010 -18 -0.0
RAM 97196 97196 0 0.0
tlsr9118bdk40d FLASH 606480 606462 -18 -0.0
RAM 120152 120152 0 0.0
bridge-app tl7218x FLASH 731392 731374 -18 -0.0
RAM 95864 95864 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851748 851730 -18 -0.0
RAM 44332 44332 0 0.0
tl7218x FLASH 843076 843058 -18 -0.0
RAM 99656 99656 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 731882 731864 -18 -0.0
RAM 55980 55980 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 795108 795090 -18 -0.0
RAM 75164 75164 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 731812 731794 -18 -0.0
RAM 33468 33468 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614528 614510 -18 -0.0
RAM 118496 118496 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 841190 841176 -14 -0.0
RAM 97364 97364 0 0.0

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@github-actions

github-actions Bot commented May 31, 2026

Copy link
Copy Markdown

PR #72211: Size comparison from 8a162c6 to 6962ec9

Full report (35 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section 8a162c6 6962ec9 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094216 1094216 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105524 1105524 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593296 1593296 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057224 1057224 0 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896020 896020 0 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776944 776944 0 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789640 789640 0 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738772 738772 0 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 718928 718928 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568690 568690 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596178 596178 0 0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994060 994060 0 0.0
RAM 131288 131288 0 0.0
BRD4338a FLASH 798629 798629 0 0.0
RAM 243424 243424 0 0.0
window-app BRD4187C FLASH 1100480 1100480 0 0.0
RAM 130360 130360 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621508 1621508 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834248 834248 0 0.0
RAM 157540 157540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733916 1733916 0 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622708 1622708 0 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1470196 1470196 0 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503332 1503332 0 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 845080 845080 0 0.0
RAM 127964 127964 0 0.0
lock-app qpg6200+debug FLASH 783812 783812 0 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 688624 688624 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729680 729680 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478384 478384 0 0.0
RAM 141476 141476 0 0.0
telink all-devices-app tl7218x FLASH 813028 813028 0 0.0
RAM 97196 97196 0 0.0
tlsr9118bdk40d FLASH 606480 606480 0 0.0
RAM 120152 120152 0 0.0
bridge-app tl7218x FLASH 731392 731392 0 0.0
RAM 95864 95864 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851748 851748 0 0.0
RAM 44332 44332 0 0.0
tl7218x FLASH 843076 843076 0 0.0
RAM 99656 99656 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 731882 731882 0 0.0
RAM 55980 55980 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 795108 795108 0 0.0
RAM 75164 75164 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 731812 731812 0 0.0
RAM 33468 33468 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614528 614528 0 0.0
RAM 118496 118496 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 841190 841194 4 0.0
RAM 97364 97364 0 0.0

@github-actions

github-actions Bot commented May 31, 2026

Copy link
Copy Markdown

PR #72211: Size comparison from 8a162c6 to b92d51f

Full report (35 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section 8a162c6 b92d51f change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094216 1094216 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105524 1105524 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593296 1593296 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057224 1057224 0 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896020 896020 0 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776944 776944 0 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789640 789640 0 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738772 738772 0 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 718928 718928 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568690 568690 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596178 596178 0 0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994060 994060 0 0.0
RAM 131288 131288 0 0.0
BRD4338a FLASH 798629 798629 0 0.0
RAM 243424 243424 0 0.0
window-app BRD4187C FLASH 1100480 1100480 0 0.0
RAM 130360 130360 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621508 1621508 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834248 834248 0 0.0
RAM 157540 157540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733916 1733916 0 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622708 1622708 0 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1470196 1470196 0 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503332 1503332 0 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 845080 845080 0 0.0
RAM 127964 127964 0 0.0
lock-app qpg6200+debug FLASH 783812 783812 0 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 688624 688624 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729680 729680 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478384 478384 0 0.0
RAM 141476 141476 0 0.0
telink all-devices-app tl7218x FLASH 813028 813028 0 0.0
RAM 97196 97196 0 0.0
tlsr9118bdk40d FLASH 606480 606480 0 0.0
RAM 120152 120152 0 0.0
bridge-app tl7218x FLASH 731392 731392 0 0.0
RAM 95864 95864 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851748 851748 0 0.0
RAM 44332 44332 0 0.0
tl7218x FLASH 843076 843076 0 0.0
RAM 99656 99656 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 731882 731882 0 0.0
RAM 55980 55980 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 795108 795108 0 0.0
RAM 75164 75164 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 731812 731812 0 0.0
RAM 33468 33468 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614528 614528 0 0.0
RAM 118496 118496 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 841190 841194 4 0.0
RAM 97364 97364 0 0.0

@github-actions

github-actions Bot commented May 31, 2026

Copy link
Copy Markdown

PR #72211: Size comparison from 8a162c6 to ab53774

Full report (35 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section 8a162c6 ab53774 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094216 1094216 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105524 1105524 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593296 1593296 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057224 1057224 0 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896020 896020 0 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776944 776944 0 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789640 789640 0 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738772 738772 0 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 718928 718928 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568690 568690 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596178 596178 0 0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994060 994060 0 0.0
RAM 131288 131288 0 0.0
BRD4338a FLASH 798629 798629 0 0.0
RAM 243424 243424 0 0.0
window-app BRD4187C FLASH 1100480 1100480 0 0.0
RAM 130360 130360 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621508 1621508 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834248 834248 0 0.0
RAM 157540 157540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733916 1733916 0 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622708 1622708 0 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1470196 1470196 0 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503332 1503332 0 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 845080 845080 0 0.0
RAM 127964 127964 0 0.0
lock-app qpg6200+debug FLASH 783812 783812 0 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 688624 688624 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729680 729680 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478384 478384 0 0.0
RAM 141476 141476 0 0.0
telink all-devices-app tl7218x FLASH 813028 813028 0 0.0
RAM 97196 97196 0 0.0
tlsr9118bdk40d FLASH 606480 606480 0 0.0
RAM 120152 120152 0 0.0
bridge-app tl7218x FLASH 731392 731392 0 0.0
RAM 95864 95864 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851748 851748 0 0.0
RAM 44332 44332 0 0.0
tl7218x FLASH 843076 843076 0 0.0
RAM 99656 99656 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 731882 731882 0 0.0
RAM 55980 55980 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 795108 795108 0 0.0
RAM 75164 75164 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 731812 731812 0 0.0
RAM 33468 33468 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614528 614528 0 0.0
RAM 118496 118496 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 841190 841194 4 0.0
RAM 97364 97364 0 0.0

@github-actions

Copy link
Copy Markdown

PR #72211: Size comparison from 8a162c6 to e4fdf39

Full report (5 builds for cc32xx, realtek, stm32)
platform target config section 8a162c6 e4fdf39 change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568690 568690 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596178 596178 0 0.0
RAM 205256 205256 0 0.0
realtek light-switch-app rtl8777g FLASH 688624 688624 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729680 729680 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478384 478384 0 0.0
RAM 141476 141476 0 0.0

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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

Comment thread src/platform/Darwin/BleConnectionDelegateImpl.mm Outdated
Comment thread src/platform/Darwin/BleConnectionDelegateImpl.mm Outdated
Comment thread src/platform/Darwin/BleConnectionDelegateImpl.mm
@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown

PR #72211: Size comparison from cb6d219 to 4fe8baa

Full report (35 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section cb6d219 4fe8baa change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094282 1094282 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105596 1105596 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593384 1593384 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057284 1057284 0 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896122 896122 0 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776944 776944 0 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789712 789712 0 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738836 738836 0 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 719000 719000 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568762 568762 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596250 596250 0 0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994156 994156 0 0.0
RAM 131288 131288 0 0.0
window-app BRD4187C FLASH 1100576 1100576 0 0.0
RAM 130360 130360 0 0.0
lock-app BRD4338a FLASH 798709 798709 0 0.0
RAM 243424 243424 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621602 1621602 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834252 834252 0 0.0
RAM 157540 157540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733644 1733644 0 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622724 1622724 0 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1469956 1469956 0 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503396 1503396 0 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 845048 845048 0 0.0
RAM 127964 127964 0 0.0
lock-app qpg6200+debug FLASH 783892 783892 0 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 688728 688728 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729680 729680 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478388 478388 0 0.0
RAM 141476 141476 0 0.0
telink light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851824 851824 0 0.0
RAM 44332 44332 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 731904 731904 0 0.0
RAM 33468 33468 0 0.0
all-devices-app tl7218x FLASH 813116 813116 0 0.0
RAM 97196 97196 0 0.0
bridge-app tl7218x FLASH 731480 731480 0 0.0
RAM 95864 95864 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl7218x FLASH 843152 843152 0 0.0
RAM 99656 99656 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 731974 731974 0 0.0
RAM 55980 55980 0 0.0
all-devices-app tlsr9118bdk40d FLASH 606574 606574 0 0.0
RAM 120152 120152 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614610 614610 0 0.0
RAM 118496 118496 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 841266 841270 4 0.0
RAM 97364 97364 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 795200 795200 0 0.0
RAM 75164 75164 0 0.0

@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown

PR #72211: Size comparison from cb6d219 to f34abd5

Full report (35 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section cb6d219 f34abd5 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094282 1094282 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105596 1105596 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593384 1593384 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057284 1057284 0 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896122 896122 0 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776944 776944 0 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789712 789712 0 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738836 738836 0 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 719000 719000 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568762 568762 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596250 596250 0 0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994156 994156 0 0.0
RAM 131288 131288 0 0.0
BRD4338a FLASH 798709 798709 0 0.0
RAM 243424 243424 0 0.0
window-app BRD4187C FLASH 1100576 1100576 0 0.0
RAM 130360 130360 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621602 1621602 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834252 834252 0 0.0
RAM 157540 157540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733644 1733644 0 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622724 1622724 0 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1469956 1469956 0 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503396 1503396 0 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 845048 845048 0 0.0
RAM 127964 127964 0 0.0
lock-app qpg6200+debug FLASH 783892 783892 0 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 688728 688728 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729680 729680 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478388 478388 0 0.0
RAM 141476 141476 0 0.0
telink all-devices-app tl7218x FLASH 813116 813116 0 0.0
RAM 97196 97196 0 0.0
tlsr9118bdk40d FLASH 606574 606574 0 0.0
RAM 120152 120152 0 0.0
bridge-app tl7218x FLASH 731480 731480 0 0.0
RAM 95864 95864 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851824 851824 0 0.0
RAM 44332 44332 0 0.0
tl7218x FLASH 843152 843152 0 0.0
RAM 99656 99656 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 731974 731974 0 0.0
RAM 55980 55980 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 795200 795200 0 0.0
RAM 75164 75164 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 731904 731904 0 0.0
RAM 33468 33468 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614610 614610 0 0.0
RAM 118496 118496 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 841266 841270 4 0.0
RAM 97364 97364 0 0.0

@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown

PR #72211: Size comparison from ca3e67c to 727d7e2

Full report (35 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section ca3e67c 727d7e2 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094324 1094324 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105636 1105636 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593424 1593424 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057326 1057326 0 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896162 896162 0 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776976 776976 0 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789744 789744 0 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738868 738868 0 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 719032 719032 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568818 568818 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596298 596298 0 0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994188 994188 0 0.0
RAM 131288 131288 0 0.0
BRD4338a FLASH 798741 798741 0 0.0
RAM 243424 243424 0 0.0
window-app BRD4187C FLASH 1100608 1100608 0 0.0
RAM 130360 130360 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621642 1621642 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834276 834276 0 0.0
RAM 157540 157540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733676 1733676 0 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622756 1622756 0 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1469988 1469988 0 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503428 1503428 0 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 844200 844200 0 0.0
RAM 127948 127948 0 0.0
lock-app qpg6200+debug FLASH 782276 782276 0 0.0
RAM 118856 118856 0 0.0
realtek light-switch-app rtl8777g FLASH 688760 688760 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729712 729712 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478416 478416 0 0.0
RAM 141476 141476 0 0.0
telink all-devices-app tl7218x FLASH 813116 813116 0 0.0
RAM 97196 97196 0 0.0
tlsr9118bdk40d FLASH 606574 606574 0 0.0
RAM 120152 120152 0 0.0
bridge-app tl7218x FLASH 731480 731480 0 0.0
RAM 95864 95864 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851824 851824 0 0.0
RAM 44332 44332 0 0.0
tl7218x FLASH 843152 843152 0 0.0
RAM 99656 99656 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 731974 731974 0 0.0
RAM 55980 55980 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 795200 795200 0 0.0
RAM 75164 75164 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 731904 731904 0 0.0
RAM 33468 33468 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614610 614610 0 0.0
RAM 118496 118496 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 841268 841272 4 0.0
RAM 97364 97364 0 0.0

@github-actions

github-actions Bot commented Jun 3, 2026

Copy link
Copy Markdown

PR #72211: Size comparison from 9cf1485 to 3bfe220

Full report (22 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, esp32, nrfconnect, psoc6, qpg, realtek, stm32)
platform target config section 9cf1485 3bfe220 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094324 1094324 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105636 1105636 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593424 1593424 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057326 1057326 0 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896162 896162 0 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776976 776976 0 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789744 789744 0 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738868 738868 0 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 719032 719032 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568818 568818 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596298 596298 0 0.0
RAM 205256 205256 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621642 1621642 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834276 834276 0 0.0
RAM 157540 157540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733676 1733676 0 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622756 1622756 0 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1469988 1469988 0 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503428 1503428 0 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 844200 844200 0 0.0
RAM 127948 127948 0 0.0
lock-app qpg6200+debug FLASH 782276 782276 0 0.0
RAM 118856 118856 0 0.0
realtek light-switch-app rtl8777g FLASH 688760 688760 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729712 729712 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478416 478416 0 0.0
RAM 141476 141476 0 0.0

@github-actions

github-actions Bot commented Jun 3, 2026

Copy link
Copy Markdown

PR #72211: Size comparison from 9cf1485 to 38cf510

Full report (25 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32)
platform target config section 9cf1485 38cf510 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094324 1094324 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105636 1105636 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593424 1593424 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057326 1057326 0 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896162 896162 0 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776976 776976 0 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789744 789744 0 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738868 738868 0 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 719032 719032 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568818 568818 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596298 596298 0 0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994188 994188 0 0.0
RAM 131288 131288 0 0.0
BRD4338a FLASH 798741 798741 0 0.0
RAM 243424 243424 0 0.0
window-app BRD4187C FLASH 1100608 1100608 0 0.0
RAM 130360 130360 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621642 1621642 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834276 834276 0 0.0
RAM 157540 157540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733676 1733676 0 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622756 1622756 0 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1469988 1469988 0 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503428 1503428 0 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 844200 844200 0 0.0
RAM 127948 127948 0 0.0
lock-app qpg6200+debug FLASH 782276 782276 0 0.0
RAM 118856 118856 0 0.0
realtek light-switch-app rtl8777g FLASH 688760 688760 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729712 729712 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478416 478416 0 0.0
RAM 141476 141476 0 0.0

@github-actions

github-actions Bot commented Jun 4, 2026

Copy link
Copy Markdown

PR #72211: Size comparison from 3ef818f to 95a9253

Full report (35 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section 3ef818f 95a9253 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094324 1094324 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105660 1105660 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593424 1593424 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057328 1057328 0 0.0
RAM 108525 108525 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896158 896158 0 0.0
RAM 105908 105908 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 777112 777112 0 0.0
RAM 103404 103404 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789864 789864 0 0.0
RAM 108684 108684 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738996 738996 0 0.0
RAM 97612 97612 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 719160 719160 0 0.0
RAM 97644 97644 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568818 568818 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596450 596450 0 0.0
RAM 205272 205272 0 0.0
efr32 lock-app BRD4187C FLASH 994308 994308 0 0.0
RAM 131292 131292 0 0.0
BRD4338a FLASH 798933 798933 0 0.0
RAM 243432 243432 0 0.0
window-app BRD4187C FLASH 1100816 1100816 0 0.0
RAM 130364 130364 0 0.0
esp32 all-clusters-app c3devkit DRAM 99724 99724 0 0.0
FLASH 1621798 1621798 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834360 834360 0 0.0
RAM 157548 157548 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733916 1733916 0 0.0
RAM 215268 215268 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622964 1622964 0 0.0
RAM 211556 211556 0 0.0
light cy8ckit_062s2_43012 FLASH 1470180 1470180 0 0.0
RAM 197436 197436 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503636 1503636 0 0.0
RAM 225268 225268 0 0.0
qpg lighting-app qpg6200+debug FLASH 844336 844336 0 0.0
RAM 127956 127956 0 0.0
lock-app qpg6200+debug FLASH 782412 782412 0 0.0
RAM 118864 118864 0 0.0
realtek light-switch-app rtl8777g FLASH 688888 688888 0 0.0
RAM 101780 101780 0 0.0
lighting-app rtl8777g FLASH 729840 729840 0 0.0
RAM 102052 102052 0 0.0
stm32 light STM32WB5MM-DK FLASH 478552 478552 0 0.0
RAM 141492 141492 0 0.0
telink all-devices-app tl7218x FLASH 813160 813160 0 0.0
RAM 97196 97196 0 0.0
tlsr9118bdk40d FLASH 606636 606636 0 0.0
RAM 120152 120152 0 0.0
bridge-app tl7218x FLASH 731588 731588 0 0.0
RAM 95876 95876 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851932 851932 0 0.0
RAM 44344 44344 0 0.0
tl7218x FLASH 843260 843260 0 0.0
RAM 99668 99668 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 732082 732082 0 0.0
RAM 55992 55992 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 795308 795308 0 0.0
RAM 75176 75176 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 732012 732012 0 0.0
RAM 33480 33480 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614736 614736 0 0.0
RAM 118508 118508 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 841376 841380 4 0.0
RAM 97376 97376 0 0.0

…D / BLE error preservation

Consumers of MTRError currently see most commissioning failures surface
as a single "Error Domain=com.apple.MatterSupport Code=1 (null)". This
change plumbs structured detail into the bridged NSError so callers can
disambiguate failure modes, and tightens Darwin's CoreBluetooth / DNS-SD
error mapping at the same time.

Scope: this commit is intentionally limited to the Darwin framework
(MTRError), two new core DNS-SD CHIP_ERROR codes + their descriptions,
and the Darwin platform glue (DnssdError mapping, BLE error
preservation). It is additive only - it touches 13 files and reverts
nothing on master. The earlier core-controller plumbing
(CompletionStatus widening, DevicePairingDelegate overload, PASE/CASE
status-code mapping) is already merged on master via project-chip#72227/project-chip#72228 and is
NOT part of this commit.

Darwin framework (MTRError):
- Add NSError userInfo keys with unprefixed string values
  (MTR_PROVISIONALLY_AVAILABLE):
  MTRAttestationVerificationResultKey (= @"attestationVerificationResult")
  MTRDeviceBasicInformationVendorIDKey (= @"deviceBasicInformationVendorID")
  MTRDeviceBasicInformationProductIDKey (= @"deviceBasicInformationProductID")
  MTRUnderlyingErrorCodeKey (= @"errorCode" - same string as the key
    already documented for MTRErrorCodeGeneralError).
  The Device*BasicInformation* names reflect what the keys actually
  store: the VID/PID the device asserts in its BasicInformation cluster,
  which is NOT guaranteed to match the device's certification declaration
  (mismatch is itself one of the attestation-failure modes).
- Surface AttestationVerificationResult enum + BasicInformation VID/PID
  in attestation-failure NSErrors.
- New errorForCHIPErrorCode:logContext:additionalUserInfo: overload
  lets bridge call sites attach attestation metadata without losing the
  existing MTRErrorHolder association, and merges additionalUserInfo on
  both the IM-status and core-error bridge paths (framework keys win).
- NSError (Matter) category: mtr_underlyingMatterErrorSourceFile and
  mtr_underlyingMatterErrorSourceLine read source location on demand from
  the existing MTRErrorHolder associated object via a single helper.

DNS-SD codes (src/lib/core):
- New CHIP_ERROR_DNSSD_NXDOMAIN (0xBE) - DNS-SD operational instance
  does not exist.
- New CHIP_ERROR_DNSSD_SERVICE_NOT_RUNNING (0xC7) - DNS-SD platform
  service is not running.
- Description arms in CHIPError.cpp; test entries in
  TestCHIPErrorStr.cpp; ERROR_CODES.md regenerated.

Platform/Darwin:
- DnssdError.cpp: map kDNSServiceErr_NoSuchName / NoSuchRecord to
  CHIP_ERROR_DNSSD_NXDOMAIN, kDNSServiceErr_ServiceNotRunning to
  CHIP_ERROR_DNSSD_SERVICE_NOT_RUNNING, kDNSServiceErr_Timeout to
  CHIP_ERROR_TIMEOUT (instead of collapsing to CHIP_ERROR_INTERNAL).
- BleConnectionDelegateImpl.mm: WrapCBErrorCodeAsKOS preserves the
  CoreBluetooth NSError.code in a kOS-range CHIP_ERROR for triage, with
  a 24-bit overflow guard that falls back to the cross-platform
  BLE_ERROR_GATT_* sentinel; the existing HandleConnectionError contract
  is unchanged for non-Darwin consumers.

Tests:
- MTRErrorMappingTests.m (new): MTRUnderlyingErrorCodeKey population +
  round-trip via errorToCHIPIntegerCode:, pins all 4 userInfo key string
  values (rename guard), proves the new key resolves to the @"errorCode"
  string already documented for MTRErrorCodeGeneralError, and guards
  additionalUserInfo merge on both the IM-status and core-error paths.
- MTRErrorTests.m: basename-only source-path assertions +
  MTRErrorBasenameForPath mixed-separator coverage.
- TestCHIPErrorStr.cpp: the 2 new DNS-SD codes (harness asserts each
  listed code yields a non-default description).

Known test-coverage limitations:
- DnssdError.cpp's DNSServiceErrorType -> CHIP_ERROR mapping has no
  direct unit test: src/platform/Darwin has no unit-test target, and
  standing one up for a 3-case switch is disproportionate. The underlying
  error codes are unit-tested in TestCHIPErrorStr.cpp.
- WrapCBErrorCodeAsKOS is a file-local static inline; testing it directly
  would require exposing a triage helper in the platform API surface,
  which is not worth the API cost for a defensive overflow guard
  (CoreBluetooth codes are documented small non-negative integers).
- Attestation-key population in MTRDeviceAttestationDelegateBridge.mm
  requires an end-to-end attestation failure to exercise and is not unit
  tested.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jun 4, 2026

Copy link
Copy Markdown

PR #72211: Size comparison from b468d0f to ac3b723

Full report (35 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section b468d0f ac3b723 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094324 1094324 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105660 1105660 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593424 1593424 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057328 1057328 0 0.0
RAM 108525 108525 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896158 896158 0 0.0
RAM 105908 105908 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 777112 777112 0 0.0
RAM 103404 103404 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789864 789864 0 0.0
RAM 108684 108684 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738996 738996 0 0.0
RAM 97612 97612 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 719160 719160 0 0.0
RAM 97644 97644 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568818 568818 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596450 596450 0 0.0
RAM 205272 205272 0 0.0
efr32 lock-app BRD4187C FLASH 994308 994308 0 0.0
RAM 131292 131292 0 0.0
BRD4338a FLASH 798933 798933 0 0.0
RAM 243432 243432 0 0.0
window-app BRD4187C FLASH 1100816 1100816 0 0.0
RAM 130364 130364 0 0.0
esp32 all-clusters-app c3devkit DRAM 99724 99724 0 0.0
FLASH 1621798 1621798 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834360 834360 0 0.0
RAM 157548 157548 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733916 1733916 0 0.0
RAM 215268 215268 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622964 1622964 0 0.0
RAM 211556 211556 0 0.0
light cy8ckit_062s2_43012 FLASH 1470180 1470180 0 0.0
RAM 197436 197436 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503636 1503636 0 0.0
RAM 225268 225268 0 0.0
qpg lighting-app qpg6200+debug FLASH 844336 844336 0 0.0
RAM 127956 127956 0 0.0
lock-app qpg6200+debug FLASH 782412 782412 0 0.0
RAM 118864 118864 0 0.0
realtek light-switch-app rtl8777g FLASH 688888 688888 0 0.0
RAM 101780 101780 0 0.0
lighting-app rtl8777g FLASH 729840 729840 0 0.0
RAM 102052 102052 0 0.0
stm32 light STM32WB5MM-DK FLASH 478552 478552 0 0.0
RAM 141492 141492 0 0.0
telink all-devices-app tl7218x FLASH 813160 813160 0 0.0
RAM 97196 97196 0 0.0
tlsr9118bdk40d FLASH 606636 606636 0 0.0
RAM 120152 120152 0 0.0
bridge-app tl7218x FLASH 731588 731588 0 0.0
RAM 95876 95876 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851932 851932 0 0.0
RAM 44344 44344 0 0.0
tl7218x FLASH 843260 843260 0 0.0
RAM 99668 99668 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 732082 732082 0 0.0
RAM 55992 55992 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 795308 795308 0 0.0
RAM 75176 75176 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 732012 732012 0 0.0
RAM 33480 33480 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614736 614736 0 0.0
RAM 118508 118508 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 841376 841380 4 0.0
RAM 97376 97376 0 0.0

Comment on lines +230 to +231
* For MTRInteractionErrorDomain errors the source location reflects the StatusIB
* encoding site inside the Matter SDK, not the device-reported origin of the status.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm not sure this is right. A StatusIB does not carry a source location with it... So presumably this would reflect the place where the StatusIB was converted to CHIP_ERROR or something? Might need some re-wording here.


/**
* The source-line where the underlying Matter error was originally created. Returns 0
* when not available.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
* when not available.
* when not available. Intended for triage; not stable across releases.

return [MTRError errorForIMStatus:status];
NSError * imError = [MTRError errorForIMStatus:status];
if (imError != nil) {
// Merge additionalUserInfo into the IM-domain NSError if any was supplied so callers

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
// Merge additionalUserInfo into the IM-domain NSError if any was supplied so callers
// Merge additionalUserInfo, if any was supplied, into the IM-domain NSError, so that callers

NSMutableDictionary<NSErrorUserInfoKey, id> * mergedUserInfo =
[NSMutableDictionary dictionaryWithDictionary:additionalUserInfo];
[mergedUserInfo addEntriesFromDictionary:(imError.userInfo ?: @{})];
mergedUserInfo[MTRUnderlyingErrorCodeKey] = @(errorCode.AsInteger());

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This looks wrong. If we have no additionalUserInfo this will not add the MTRUnderlyingErrorCodeKey entry to the dictionary, which seems wrong.

Note that errorForIMStatus does NOT add MTRUnderlyingErrorCodeKey.

The right logic here should probably just create a new dictionary unconditionally, copy additionalUserInfo into it if present, copy the error's current userInfo if present, set MTRUnderlyingErrorCodeKey (with a comment right before that line that we want it to reflect our errorCode, not whatever happens to be in additionalUserInfo or the userInfo created by errorForIMStatus), then create a clone of the error, etc.

Comment on lines +126 to +127
// Concretely: bridge a CHIP error that has no specific MTRErrorCode mapping (so we land in
// the GeneralError fallback) and confirm both spellings return the same NSNumber.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why is this test useful given the XCTAssertEqualObjects above?

Comment on lines +219 to +221
id underlying = bridged.userInfo[MTRUnderlyingErrorCodeKey];
XCTAssertTrue([underlying isKindOfClass:[NSNumber class]]);
XCTAssertEqual([(NSNumber *) underlying unsignedIntValue], kIntegrityCheckFailed);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This seems like a complicated way to write:

Suggested change
id underlying = bridged.userInfo[MTRUnderlyingErrorCodeKey];
XCTAssertTrue([underlying isKindOfClass:[NSNumber class]]);
XCTAssertEqual([(NSNumber *) underlying unsignedIntValue], kIntegrityCheckFailed);
XCTAssertEqualObjects(bridged.userInfo[MTRUnderlyingErrorCodeKey], @(kIntegrityCheckFailed));

Comment on lines +241 to +243
id underlying = bridged.userInfo[MTRUnderlyingErrorCodeKey];
XCTAssertTrue([underlying isKindOfClass:[NSNumber class]]);
XCTAssertEqual([(NSNumber *) underlying unsignedIntValue], kCBOperationCancelled);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Again, why not XCTAssertEqualObjects here?

Comment on lines +258 to +259
uint32_t code1 = [(NSNumber *) err1.userInfo[MTRUnderlyingErrorCodeKey] unsignedIntValue];
uint32_t code2 = [(NSNumber *) err2.userInfo[MTRUnderlyingErrorCodeKey] unsignedIntValue];

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Could avoid the casting and unsignedIntValue if the tests below used XCTAssertNotEqualObjects/XCTAssertEqualObjects.

Comment on lines +293 to +297
id underlying = bridged.userInfo[MTRUnderlyingErrorCodeKey];
XCTAssertTrue([underlying isKindOfClass:[NSNumber class]],
@"MTRUnderlyingErrorCodeKey missing for %@ (chip 0x%08X)", label, chipCode);
NSNumber * key = (NSNumber *) underlying;
XCTAssertEqual([key unsignedIntValue], chipCode, @"%@ key value mismatch", label);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
id underlying = bridged.userInfo[MTRUnderlyingErrorCodeKey];
XCTAssertTrue([underlying isKindOfClass:[NSNumber class]],
@"MTRUnderlyingErrorCodeKey missing for %@ (chip 0x%08X)", label, chipCode);
NSNumber * key = (NSNumber *) underlying;
XCTAssertEqual([key unsignedIntValue], chipCode, @"%@ key value mismatch", label);
XCTAssertEqualObjects(bridged.userInfo[MTRUnderlyingErrorCodeKey], samples[label], label);

Comment on lines +513 to +515
uint32_t a = [(NSNumber *) nxdomain.userInfo[MTRUnderlyingErrorCodeKey] unsignedIntValue];
uint32_t b = [(NSNumber *) serviceNotRunning.userInfo[MTRUnderlyingErrorCodeKey] unsignedIntValue];
uint32_t c = [(NSNumber *) unauthorized.userInfo[MTRUnderlyingErrorCodeKey] unsignedIntValue];

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Could avoid casts and unsignedIntValue if you just use XCTAssertNotEqualObjects.

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

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

5 participants