8000 Linux: Move UniqueId from ChipFactory to ChipConfig namespace by ksperling-apple · Pull Request #39879 · project-chip/connectedhomeip · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Linux: Move UniqueId from ChipFactory to ChipConfig namespace #39879

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

ksperling-apple
Copy link
Contributor

Summary

The UniqueId must be cleared on factory reset, so it does not belong in the factory namespace. See #39852.

Testing

Existing CI tests. Manually tested the migration code path.

The UniqueId must be cleared on factory reset, so it does not belong in the
factory namespace. See project-chip#39852.
Copy link
Contributor
@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

The code changes move the UniqueId to the ChipConfig namespace and include data migration logic. There's a potential issue with error handling in the migration logic that could mask failures during the migration process. The suggested change ensures that any errors are properly propagated, leading to a more reliable system.

Copy link
github-actions bot commented Jul 7, 2025

PR #39879: Size comparison from ce90b61 to 96192a2

Full report (71 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section ce90b61 96192a2 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1103300 1103300 0 0.0
RAM 179026 179026 0 0.0
bl702 lighting-app bl702+eth FLASH 656454 656454 0 0.0
RAM 134977 134977 0 0.0
bl702+wifi FLASH 833892 833892 0 0.0
RAM 124541 124541 0 0.0
bl706+mfd+rpc+littlefs FLASH 1066260 1066260 0 0.0
RAM 117397 117397 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 895806 895806 0 0.0
RAM 105676 105676 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 979524 979524 0 0.0
RAM 109876 109876 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 764080 764080 0 0.0
RAM 103368 103368 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 775772 775772 0 0.0
RAM 108536 108536 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 721880 721880 0 0.0
RAM 96940 96940 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 706180 706180 0 0.0
RAM 97148 97148 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549470 549470 0 0.0
RAM 205144 205144 0 0.0
lock CC3235SF_LAUNCHXL FLASH 582590 582590 0 0.0
RAM 205344 205344 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 663541 663541 0 0.0
RAM 77472 77472 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 683385 683385 0 0.0
RAM 80112 80112 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 683385 683385 0 0.0
RAM 80112 80112 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 640325 640325 0 0.0
RAM 72540 72540 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 624917 624917 0 0.0
RAM 73784 73784 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 644545 644545 0 0.0
RAM 76336 76336 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 644545 644545 0 0.0
RAM 76336 76336 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 645853 645853 0 0.0
RAM 76784 76784 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 665561 665561 0 0.0
RAM 79336 79336 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 665561 665561 0 0.0
RAM 79336 79336 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 620529 620529 0 0.0
RAM 70888 70888 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 640381 640381 0 0.0
RAM 73520 73520 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 640381 640381 0 0.0
RAM 73520 73520 0 0.0
efr32 lock-app BRD4187C FLASH 948148 948148 0 0.0
RAM 131528 131528 0 0.0
BRD4338a FLASH 745604 745596 -8 -0.0
RAM 206896 206896 0 0.0
window-app BRD4187C FLASH 1041512 1041504 -8 -0.0
RAM 127656 127656 0 0.0
esp32 all-clusters-app c3devkit DRAM 102272 102272 0 0.0
FLASH 1781456 1781456 0 0.0
IRAM 83862 83862 0 0.0
m5stack DRAM 121156 121156 0 0.0
FLASH 1748690 1748690 0 0.0
IRAM 117071 117071 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2799334 2800108 774 0.0
RAM 117384 117384 0 0.0
all-clusters-app debug unknown 5664 5664 0 0.0
FLASH 6202796 6203570 774 0.0
RAM 531280 531280 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5476632 5477406 774 0.0
RAM 228072 228072 0 0.0
bridge-app debug unknown 5560 5560 0 0.0
FLASH 4809914 4810720 806 0.0
RAM 207776 207776 0 0.0
camera-app debug unknown 8968 8968 0 0.0
FLASH 6936651 6937419 768 0.0
RAM 230088 230088 0 0.0
camera-controller debug unknown 9184 9184 0 0.0
FLASH 14373755 14374523 768 0.0
RAM 661336 661336 0 0.0
chip-tool debug unknown 6240 6240 0 0.0
FLASH 14721407 14722181 774 0.0
RAM 654856 654856 0 0.0
chip-tool-ipv6only arm64 unknown 40648 40648 0 0.0
FLASH 12698415 12699023 608 0.0
RAM 701152 701152 0 0.0
fabric-admin debug unknown 5920 5920 0 0.0
FLASH 12784861 12785635 774 0.0
RAM 653848 653848 0 0.0
fabric-bridge-app debug unknown 4808 4808 0 0.0
FLASH 4596162 4596968 806 0.0
RAM 193520 193520 0 0.0
fabric-sync debug unknown 5056 5056 0 0.0
FLASH 5745549 5746333 784 0.0
RAM 491712 491712 0 0.0
lighting-app debug+rpc+ui unknown< 8000 /em> 6272 6272 0 0.0
FLASH 5658897 5659665 768 0.0
RAM 209912 209912 0 0.0
lock-app debug unknown 5488 5488 0 0.0
FLASH 4840180 4840986 806 0.0
RAM 197160 197160 0 0.0
ota-provider-app debug unknown 4848 4848 0 0.0
FLASH 4448760 4449566 806 0.0
RAM 186208 186208 0 0.0
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4520918 4521692 774 0.0
RAM 189064 189064 0 0.0
shell debug unknown 4256 4256 0 0.0
FLASH 3081004 3081804 800 0.0
RAM 147328 147328 0 0.0
thermostat-no-ble arm64 unknown 9832 9832 0 0.0
FLASH 4237007 4237583 576 0.0
RAM 233384 233384 0 0.0
tv-app debug unknown 5824 5824 0 0.0
FLASH 6109789 6110605 816 0.0
RAM 615960 615960 0 0.0
tv-casting-app debug unknown 5336 5336 0 0.0
FLASH 12874237 12875037 800 0.0
RAM 771440 771440 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 889212 889212 0 0.0
RAM 166162 166162 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 897256 897256 0 0.0
RAM 145100 145100 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 859740 859740 0 0.0
RAM 141049 141049 0 0.0
nxp contact mcxw71+release FLASH 625824 625824 0 0.0
RAM 63164 63164 0 0.0
lock mcxw71+release FLASH 777056 777056 0 0.0
RAM 67820 67820 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1632916 1632916 0 0.0
RAM 211104 211104 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1577108 1577108 0 0.0
RAM 208472 208472 0 0.0
light cy8ckit_062s2_43012 FLASH 1449708 1449708 0 0.0
RAM 197184 197184 0 0.0
lock cy8ckit_062s2_43012 FLASH 1482076 1482076 0 0.0
RAM 224904 224904 0 0.0
qpg lighting-app qpg6200+debug FLASH 744800 744800 0 0.0
RAM 94220 94220 0 0.0
lock-app qpg6200+debug FLASH 754572 754572 0 0.0
RAM 94248 94248 0 0.0
stm32 light STM32WB5MM-DK FLASH 466252 466252 0 0.0
RAM 141376 141376 0 0.0
telink bridge-app tl7218x FLASH 703352 703352 0 0.0
RAM 93600 93600 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 795066 795066 0 0.0
RAM 44016 44016 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 783472 783472 0 0.0
RAM 100912 100912 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 710778 710778 0 0.0
RAM 54240 54240 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 747352 747352 0 0.0
RAM 77404 77404 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 724098 724098 0 0.0
RAM 36996 36996 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 603650 603650 0 0.0
RAM 112532 112532 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 819046 819050 4 0.0
RAM 99164 99164 0 0.0
tizen all-clusters-app arm unknown 5096 5096 0 0.0
FLASH 1698696 1698696 0 0.0
RAM 91428 91428 0 0.0
chip-tool-ubsan arm unknown 20752 20752 0 0.0
FLASH 21031098 21031098 0 0.0
RAM 9154436 9154436 0 0.0

@ksperling-apple ksperling-apple marked this pull request as ready for review July 7, 2025 23:35
@ksperling-apple ksperling-apple requested a review from a team as a code owner July 7, 2025 23:35
@kiel-apple kiel-apple requested a review from Copilot July 8, 2025 00:27
Copy link
Contributor
@Copilot 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 moves the UniqueId key out of the factory namespace into the chip configuration namespace so that it gets cleared on factory reset, and adds migration logic on Linux to move any existing stored value.

  • Changed the UniqueId key namespace in both Linux and Darwin implementations from ChipFactory to ChipConfig.
  • Added fallback and migration logic in Linux ReadConfigValueStr to read from the old factory namespace and re-write into the new one.

Reviewed Changes

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

File Description
src/platform/Linux/PosixConfig.cpp Updated UniqueId namespace and added migration code on read
src/platform/Darwin/PosixConfig.cpp Moved UniqueId declaration to ChipConfig namespace

@mergify mergify bot merged commit dda2252 into project-chip:master Jul 8, 2025
74 of 77 checks passed
@github-project-automation github-project-automation bot moved this from Todo to Done in [Platform] Darwin Jul 8, 2025
@ksperling-apple ksperling-apple deleted the uniqueid-config-namespace branch July 8, 2025 01:38
dsavitsky-dsr pushed a commit to dsavitsky-dsr/connectedhomeip that referenced this pull request Jul 9, 2025
…t-chip#39879)

* Linux: Move UniqueId from ChipFactory to ChipConfig namespace

The UniqueId must be cleared on factory reset, so it does not belong in the
factory namespace. See project-chip#39852.

* Make the linter happy and improve comment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants
0