Skip to content

[Platform] Ember removal process #39094

Open
@jennygaz

Description

@jennygaz

Reproduction steps

To step away from Ember, there are still a lot of files using it in some way or another. The current lint workflow from #38006 aims to evaluate the usage of ember in current files and provide a way to detect it, by slowly removing exclusions. The symbols found that use ember as of today, May 20th 2025, are inside the following file, symbols.txt, from which the following list seems like a good place to start:

  1. examples/fabric-bridge-app/fabric-bridge-common/src/BridgedAdministratorCommissioning.cpp:33
  2. examples/fabric-sync/bridge/src/BridgedAdministratorCommissioning.cpp:33
  3. examples/tv-app/linux/main.cpp:47
  4. src/app/app-platform/ContentAppPlatform.cpp:289
  5. src/app/util/attribute-storage.h:218
  6. src/darwin/Framework/CHIP/ServerEndpoint/MTRServerEndpoint.mm:327
  7. examples/energy-management-app/energy-management-common/common/src/EnergyManagementAppCommonMain.cpp:298
  8. examples/energy-management-app/energy-management-common/device-energy-management/src/device-energy-management-mode.cpp:96
  9. src/app/app-platform/ContentAppPlatform.cpp:246
  10. src/app/util/attribute-storage.cpp:224
  11. src/app/util/attribute-storage.cpp:281
  12. src/app/util/attribute-storage.cpp:982
  13. src/data-model-providers/codegen/CodegenDataModelProvider.cpp:302
  14. src/data-model-providers/codegen/CodegenDataModelProvider.cpp:396

This is because all of these places apparently have ember only in some comments, however, we still must check thoroughly if some indirect call to ember is taking place or not and either exclude it (but maybe add information) or tackle it.

Darwin might need to migrate the provider later on, albeit dynamicdispatcher should do it for sure.

For more info regarding the creation of this issue, please check the following: #38006

symbols.txt

Platform

core (please add to version below)

Platform Version(s)

1.0.1

Type

YAML tested

(Optional) If manually tested please explain why this is only manually tested

No response

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions