Skip to content
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

Add a way to initialize a subscription-with-resubscribe ReadClient with just a ScopedNodeId, not a session #23983

Closed
bzbarsky-apple opened this issue Dec 9, 2022 · 1 comment · Fixed by #27941

Comments

@bzbarsky-apple
Copy link
Contributor

Right now, doing a SendAutoResubscribeRequest will handle setting up CASE as needed if the session ever drops, but not for the initial session setup. That means that if you want retries on the original session setup you have to do it manually.

I was talking to @mrjerryjohns and he suggests that we add a way to have exactly one of ScopedNodeId and a session in ReadPrepareParams, and then the ReadClient could handle the session bits as needed, effectively running the "resubscribe" machinery up front to get the session. This might simplify the logic for consumers a bit.

@stale
Copy link

stale bot commented Jun 9, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@stale stale bot added the stale Stale issue or PR label Jun 9, 2023
@bzbarsky-apple bzbarsky-apple removed the stale Stale issue or PR label Jun 10, 2023
bzbarsky-apple added a commit to bzbarsky-apple/connectedhomeip that referenced this issue Jul 13, 2023
This delegates all the work of setting up the CASE session, and the attendant
retries, to the ReadClient.

Fixes project-chip#23983
@mergify mergify bot closed this as completed in #27941 Jul 14, 2023
mergify bot pushed a commit that referenced this issue Jul 14, 2023
…27941)

* Allow setting up an auto-resubscribe ReadClient with just a peer id.

This delegates all the work of setting up the CASE session, and the attendant
retries, to the ReadClient.

Fixes #23983

* Address review comment.
cliffamzn added a commit to cliffamzn/connectedhomeip that referenced this issue Jul 18, 2023
* Add Basic Resource Monitoring Server Implementation

* Add Basic Working Resource Monitoring Example App

* Improve log output

* Replace some HepafilterMonitoring specifics with more general ResourceMonitoring defines

- using `using`
- and adding by hand

* Apply clang-format

* More Hepa to ResourceMonitoring replacement

* Add ActivatedCarbonFilterMonitoring Cluster

* Rename ActivatedCarbonFilterMonitoring.cpp to ActivatedCarbonFilterMonitoringDelegate.cpp

* Split delegate definitions into separate files

* Cleanup some Headers

* Rename member variables

* Refactoring: Rename Delegate to Instance

Add cluster-objects.h / cpp instead of defining it inside the server.h / cpp

* Refactoring: Implement Read and Write function

- have External Attribute Storage inside Instances
- implement getters and Setters for Attributes

* Refactoring: reorder methods to math the order in the .h file

* Run Clang-Format

* Add Getter for DegradationDirection Attribute

- also clean up some namespaces

* Add Construction Option To Set OnResetCondition To Supported

Also add basic OnResetCondition implementation.

* Add Default Values

* Modified the AttributePersistenceProvider ReadValue function signiture to take the required attribute information directly rather than as a EmberAfAttributeMetadata structure.

* Force External Storage for All Resource Monitoring Clusters

* Force External Storage for All Resource Monitoring Clusters

Regenerated Code

* Expanded AttributePersistanceProvider API to include reading and wirting of uint8 and nullable uint8

* Add LastChangedTime to Attributes For ResourceMonitoring Clusters

* Add LastChangedTime to Attributes For ResourceMonitoring Clusters

Regenerated Code

* Add `LastChangedTime` to Forced External Storage List For Resource Monitoring

* Add LastChangedTime To Resource-Monitoring Server Implementation

* Templated the AttributePersistanceProvider read and wiret function to work for all uint types.

* Fixed AttributePersistanceProvider accepted types. Added read helper for type bool.

* Restyled by clang-format

* Formatting and some comments

* Make OnResetCondition Pure Virtual

And remove implementation from resource-monitor-server.cpp.
It's not allowed to use the resource-monitoring-server::instance without deriving it yourself.

* Set LastChangedTime In the OnResetCondition Handler

* Fixed mismatched size return error of DefaultAttributePersistenceProvider

* Add All Missing Aliased Clusters

- CeramicFilterMonitoring
- ElectrostaticFilterMonitoring
- FuelTankMonitoring
- InkCartridgeMonitoring
- IonizingFilterMonitoring
- OzoneFilterMonitoring
- TonerCartridgeMonitoring
- UvFilterMonitoring
- WaterTankMonitoring
- ZeoliteFilterMonitoring

* Started work on tests for the AttributePersistenceProvider.

* Add Missing Instances to resourceMonitoring Test App

* Add Persistent Storage To LastChangedTime

* Add README.md

* Remove `ResourceMonitoringAliasesInstanceMap` as it wasn't really needed

* Update Description Of Init()

* Update Description of AppInit() and OnResetCondition()

* Added unit tests for AttributePersistenceProvider testing the storage and retrival of all unsigned types and their nullable veriaties, bool and ByteSpan. Tested for small buffer errors.

* Changed the type of aSize in ReadValue to size_t

* Removed the dependancy on generated code in the AttributePersistencezprovider.h

* Added static funtctions to get the KVS null representation for different types.

* Fix Errors after Merge

* Some Changes From Comments From The ModeBase PR

* Added functions to read and write nullable bools and accompanying tests.

* Incorporated boolean tests in the scalar test.

* Added failure before init test

* Restyled by clang-format

* Move Headers To Resource-Monitoring-Common

* Move Cpp files To resource-monitor-common

* Remove All Unused Aliases For The Resource-Monitoring-Cluster

this was decided in the AirQuality Call on 06.07.2023

* Fixed after merge.

* Removed the failure on init test as it may have been causing seg faults in some tests.

* Renamed GetNull -> GetNullValueForNullableType

* Added the initialisation of valueReadBack and added a new templated function for nullable types to avoid the error: The left operand of '==' is a garbage value, on some platforms.

* Added handline of signed ints and accompanying tests.

* Added handline of nullable signed ints and accompanying tests.

* Type cast null.

* Restyled by clang-format

* Changed shift bit to be af the same type are the return val.

* Added tests got GetNull functions

* Remove Aliased Clusters From Resource Monitoring Clusters except Hepa and ActivatedCarbon

enable LastChangedTime for Hepa and ActivatedCarbon

* Add Resource Monitoring Aliased Clusters Server implementation To Linux All-Clusters-App

* Remove Todo

* Remove Aliased Clusters From Resource Monitoring Clusters except Hepa and ActivatedCarbon

* Remove Redundant Check

apparently it's not necessary / allow to check this

* Apply Restyled patch

* Remove Tests For Removed Aliased Clusters

- all except Hepa and ActivatedCarbon

* Fix Spelling

* Remove Unused / disallowed #include <maps>

* Remove resource-monitoring-instances.h

* Remove Unneeded Destructors

* Use Default Descructor and Make Class Non copyable or moveable

* Change IsAliascluster to IsValidAliasCluster

* Fix Typo

* Reset ChangeIndication Attribute On ResetCondition Command

Spec requires this to be reset as well

* Set FeatureMap To 3

For testing with Warning Feature enabled

* Rename mFeature To mFeatureMap

* Rewrite Some Comments From "function" to "method"

* Remove Const

* Update Comment Of Init() Method

added the exact CHIP_ERROR_XXX that this can return.

* Remove Commented Code

* Added TODO For REP Feature

* Change From "Next value" To "UINT8_MAX"

* Use ChipLogDetail Instead Of ChipLogError

* Fix Log on Some Platforms

On some platforms (e.g. ASR) uint32_t seems to be a long and will produce a error if %u is used. So cast it to unsinged long on all platforms and use %lu.

* Update README.md For Linux Resource-Monitoring-Example-App

* Remove Aliased Clusters From Resource Monitoring Clusters except Hepa and ActivatedCarbon

* Regen Code

* Apply Restylerd Patch

* Update Wordlist

- Add HEPA

* Remove PICS values For Resource Monitoring Clusters That Were Removed

* Remove PICS For Resource Monitoring Clusters from PICS.yaml

* Add Resource Monitoring README.md To docs/examples/index.md

* TC-IDM-1.2 (project-chip#27024)

* TC-IDM-1.2

Adds automation for TC-IDM-1.2
Also Adds suppressResponse to CommandSender as well as a test-only
function to test timedResponse flag with no corresponding
TimedInvoke action + plumbing through the python layers

* Restyled by isort

* Updates from review comments

* Couple formatting fixes

* Cleanup.

* Add a port to pase in python, fix filtering

* Consolidate CommandSender functions

* Timed invoke can be inferred

---------

Co-authored-by: Restyled.io <[email protected]>

* 【Feature】operational state cluster sdk implementation and example cluster server application (project-chip#26971)

* Add operational state cluster implement

* Enable operational state cluster server in all-clusters-app.zap

* Restyled by clang-format

* Restyled by gn

* Enable CommandHandlerInterfaceOnlyClusters feature in operational state cluster

* Fix the data type no match the operational state cluster xml

* Add Uncopyable feature to operational state server class

* Fix no define function

* Add operational state cluster in other platform

* Restyled by clang-format

* Restyled by gn

* Function / Data Struct in headfile are documented.

* Document why operational states to be in storage

* document the function note

* Add prefix members with m for class OperationalStateServer

* Fix Bug: do const_cast no needed

* Optimize to returning a const reference

* Remove the api no needed to be implemented

* use to_underlying to instead static_cast

* use reduce_size api to optimize the MutableByteSpan

* Fix: memory leak in exceptional situation

* Rename the structs for pretty confusing

* comment the member

* remove the documentation return in functions

* Add delete keyword in Uncopyable class

* modify the document of functions

* modify the document of functions

* Fix spelling error in function notes

* Fix: memory leak in exceptional situation

* Fix: read operational state list or phase list fail in some exception situations

* use MakeOptional to optimize the function call

* modify the document of functions

* Fix: ErrorStateStruct's ErrorStateDetails need to be null/missing

* Add the document for function

* Optimize ErrorStateStruct's field -- ErrorStateLabel and ErrorStateDetails

* document the method signature

* document the class

* remove temporary variable

* Add test cases in TestOperationalStateDataProvider

* Remove implementing EnumerateAcceptedCommands in Operational State Cluster

* Enable all commands in operational state cluster for all-clusters-app

* Zap regen all

* Revert file same as master branch

* Optimize operational state server's implement

* Add operational state delegate implement

* Add operational state cluster delegates

* Zap regen

* Modify path of head file included

* add file included in BUILD.gn

* Restyled by whitespace

* Restyled by clang-format

* Restyled by gn

* add operational state cluster impl in other platforms

* Restyled by gn

* Remove log in operational-state-delegate-impl.cpp

* remove unuseful file

* Update src/app/clusters/operational-state-server/operational-state-delegate.h

Co-authored-by: Boris Zbarsky <[email protected]>

* Optimize struct GenericOperationalState

* drop the extra chip:: in operational-state api

* Optimize struct GenericOperationalError

* Optimize to put a struct instance on the state, then call the delegate to fill it in

* Use  GetOperationalStateAtIndex api to instead GetOperationalStateList api

* Optimize struct GenericOperationalPhase

* Optimize struct GenericOperationalPhase

* Optimize HandleXXStateCallback api param

* Remove unuseful code and document

* Use constexpr val to instead number

* Fix use of totalOperationalTime

* enable operational state cluster event in Operatinal State cluster

* Add unit test of operational state delegate

* Add the rest unit test of operational state delegate

* Optimize class OperationalStateDelegate , add two private member

* move the constexpr val

* fix the err in TestOperationalStateDelegate

* Optimize api GenericOperationalError

* Add OperationalStateDelegateImpl unit test

* add document

* change Log event api in operational state cluster

* Add document

* sync code to examples/placeholder

* Restyled by whitespace

* Restyled by clang-format

* Restyled by gn

* replace GetOperationalState with GetCurrentOperationalState

* update document

* update document

* update document

* replace GetOperationalError with GenericOperationalError

* update document

* document the api for GetOperationalStateDelegate in head file

* optimize the use of operator [] for Span class

* fix the spelling error

* provide a way to  construct a GenericOperationalState without providing a state

* optimize the code of if-else

* Optimize code

* update document

* Optimize class OperationalStateServer:
put all the public bits together instead of interleaving them with the private bits.

* modify document

* Add CurrentPhase and CountdownTime attribute into AttributeAccessInterface-only

* zap regen

* remove unuseful member in class Delegate

* remove useful code

* document the api

* Add set/get current phase api

* Add set/get countdownTime api

* delegate could be null, and that should be handled without crashing, via returning an error

* command callbacks need to respond with an error

* remove something that is not in the spec

* optimize the name of class member function

* Optimize struct GenericOperationCompletion

* update struct GenericOperationCompletion test case

* Optimize struct GenericOperationCompletion api

* add coutdownTime attribute in operational state cluter

* change api of initializing OperationalStateServer instances

* remove the code using operational state in other platform

* Add operational state server init in linux all-cluster-app

* Restyled by whitespace

* Restyled by clang-format

* Restyled by prettier-json

* Add TestOperationalState.yaml

* rm TestOperationalStateDelegateImpl.cpp

* Restyled by whitespace

* Restyled by gn

* Restyled by prettier-yaml

* remove the api,  filing a followup issue to emit the right events

* fix CI build error

* fix CI build err

* Restyled by clang-format

* fix build error

* Restyled by clang-format

* update document

* use NullOptional to instead Missing

* return CHIP_ERROR_INCORRECT_STATE when delegate is nullptr

* optimize reading the operational state list

* move the position of testcase

* fix ci build err

* fix ci build err

* Restyled by clang-format

* fix readability-else-after-return error

* fix Unknown key in CI build

* add note in ciTest.json for darwin-framework-tool

* update document for api

* use Zcl instead NotSpecified in log

* fix TestOperationalState error

* zap_regen_all

* optimize lambda function use

* Restyled by clang-format

* fix ci error: readability-else-after-return

---------

Co-authored-by: Restyled.io <[email protected]>
Co-authored-by: Justin Wood <[email protected]>
Co-authored-by: Boris Zbarsky <[email protected]>

* Add Smoke CO Cluster to All Clusters App (project-chip#27124)

* Smoke/CO: Add Cluster to All Clusters App

Implement SelfTestRequest in all-clusters-app

* Smoke/CO: Update zap

Update endOfServiceAlert
Add Smoke CO Alarm events

* Modify the flash settings of nrf52840dk_nrf52840

* Modify the flash settings of nrf52840dk_nrf52840

* Modify the flash settings of nrf52840dk_nrf52840

* Revert "Modify the flash settings of nrf52840dk_nrf52840"

This reverts commit 3ab364b.

* Revert "Modify the flash settings of nrf52840dk_nrf52840"

This reverts commit 4fc1ff9.

* Revert "Modify the flash settings of nrf52840dk_nrf52840"

This reverts commit 136efe7.

* Disable nrf testing DFU in CI for all-clusters-app

* Revert "Disable nrf testing DFU in CI for all-clusters-app"

This reverts commit 4a7525b.

* Add smco-stub to Open IoT SDK

---------

Co-authored-by: Hare <[email protected]>

* Remove redundant chip::app:: prefixes

* Use Bitset Instead Of Just a Number For FeatureMap

* Remove Options from CHIPProjectAppConfig.h

not needed or wrong

* Remove network commissioning bits

As of earlier today that's handled by AppInit. Which is good, because the bits here are buggy.

* Make Hepa And ActivateCarbon Filter Monitoring Instances Static

* Remove ClusterId From Specialized Hepa and Activated Carbon Construtors

They should know their cluster ids, and now they do!

* Add Getter for Endpoint

* Remove Nonsense Comment

* Remove Aliased Cluster IDs That Got Removed

* Fix Typo

* Simplify HandleResetCondition Method

* [SMCO] Update XML to spec changes (project-chip#27606)

* [SMCO] Update XML to spec changes

* [SMCO] Regen zap

---------

Co-authored-by: Hare <[email protected]>

* Update Smoke CO Alarm Implementation (project-chip#27566)

* Smoke/CO: Add ExpiryDate

* Smoke/CO: Add emberAfHandleEventTrigger

* Smoke/CO: Update the handling of attribute changes

Unmute when critical alarm is triggered

* Smoke/CO: Update the handling of DeviceMuted

Cannot mute when critical alarms exist

* Smoke/CO: Update zap

* Smoke/CO: Update README.md

Add building options description

* Smoke/CO: Update zap

fix UnitTesting cluster

* Revert "Smoke/CO: Update zap"

This reverts commit 4607dab.

* Revert "Smoke/CO: Update zap"

This reverts commit 7534419.

* Add Unit Testing

* Smoke/CO: Update zap

Sync Silab changes

* Smoke/CO: Add ExpressedState priority

* Smoke/CO: Update endOfServiceAlert of zap

* [SMCO] Add mExpressedStatePriority

* [SMCO] Add timer for test

* Separate Warning and Critical Triggered Event

---------

Co-authored-by: Hare <[email protected]>

* [ota-requestor] Added update cancelling in case of apply failure (project-chip#27591)

The Ota Requestor's Apply API returns CHIP_ERROR, however it is
not handled by the DefaultOTARequestorDriver.

Added cancelling update in case of Apply failure to reset the
OTA Requestor state and prevent stucking in kApplying state.

* Zap regen all (project-chip#27939)

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

* Workaround Fan PercentSetting floating point precision error after "ceil()" (project-chip#27912)

* Workaround Fan Percent Setting floating point err

Workaround floating point precision error which will cause invalid value
after ceil()

For example, the current value:
   speedMax: 10
   percent: 70
   speedMax * (percent * 0.01) = 7.000000000000001 (floating point
precision error)
   ceil(speedMax * (percent * 0.01)) = 8 => The error propagate to ceil
and cause the final result error.

* Restyled by clang-format

* Workaround Fan PercentSetting float error (2nd)

Use integer multiply & devide to workaround floating
point precision error which causes incorrect Fan PercentSetting
value after ceil calculation.

* Update src/app/clusters/fan-control-server/fan-control-server.cpp

Co-authored-by: Boris Zbarsky <[email protected]>

---------

Co-authored-by: Restyled.io <[email protected]>
Co-authored-by: Andrei Litvin <[email protected]>
Co-authored-by: Boris Zbarsky <[email protected]>

* [ReadHandler] Report Scheduler class (project-chip#27553)

* Added a new class that will handle the scheduling of reports.

* Restyled by clang-format

* Removed un-necessary define in TestReportScheduler and applied refactor of SetReportingIntervals to SetMaxReportingIntervals to platform code

* Added TimerDelegate and wrapper functions around calls to Timer. Remove unnecessary checks for nullptr

* Added VerifyOrReturn after NL_TEST_ASSERTS for nullptr

* Completed TimerDelegate class and modified ReadHandlerNodes so they carry their own callback

* Modified TimerDelegate to allow to pass different objects as context

* ifdefing out ScheduleRun() to debug failing CI

* Added issue # to TODOs, refactored Min/Max Intervals to Min/Max Timestamp

* Clarified some comments regarding timing

* Restyled by whitespace

* Restyled by clang-format

* Added interface to GetMonotonicTimestamp in the timer delegate

* Apply suggestions from code review

Co-authored-by: Boris Zbarsky <[email protected]>

* Completed renaming to eliminate compiling error, moved TestReporScehduler in reporting namespace, addressed some low hanging fruits

* Removed useless objects from tests as well as useless typecasting, and unnecessary check

* Fixed comment about private methods used in ReportScheduler as a friend class

* Changed to SetMinReportInterval to SetMinReportingIntervalForTests, removed the IsChunkedReport from comment about friend class, added a mock timestamp and timer to test to better control time in simulation for specific timing test cases

* Apply suggestions from code review

Co-authored-by: Boris Zbarsky <[email protected]>

* Restyled by clang-format

* Removed all calls to ReadHandler States to prevent Engine calls from the Test as it seems to impact the CI

---------

Co-authored-by: Restyled.io <[email protected]>
Co-authored-by: Boris Zbarsky <[email protected]>

* [wifi] combine ipv4 and ipv6 event so that dns server will start only when ipv6 is ready (project-chip#27884)

* [Ameba] Route hook voidptr (project-chip#27882)

* [routehook] fix void ptr dereference

* restyle

* Change endpointId type to int to align with other override functions (project-chip#27922)

* Remove dead-code init callbacks from some clusters. (project-chip#27936)

Init callbacks are only called for clusters listed in
ClustersWithInitFunctions.  "Basic" was not the right name for "Basic
Information", so that one was effectively not listed, and neither "Refrigerator
Alarm" nor "Group Key Management" were listed.

* [Python] unrestrict vendor id (project-chip#27911)

* Change the names of cluster-objects function arguments. (project-chip#27945)

Using "tag" as a function argument leads to compile failure when a struct with a
field named "Tag" (which becomes a member named "tag") is added to the spec.
Change to aTag (and aWriter) to avoid the name collision.

This does not change either API or ABI for consumers; just the naming of the
argument inside the function.

* Make FindOrEstablishSession inside CASE callbacks work. (project-chip#27942)

The following sequence of events:

1. Someone calls FindOrEstablishSession.
2. When the session establishment fails, OperationalSessionSetup dispatches the
   relevant notifications.
3. One of those notification handlers tries to FindOrEstablishSession to the
   same peer.

failed, because FindOrEstablishSession would pick up the existing
OperationalSessionSetup and add the new callbacks to it... but the existing
OperationalSessionSetup was already in callback notification, so would just
ignore the new callbacks.  So the new FindOrEstablishSession call would never
complete and would never try any actual session establishment.

The fix is to destroy the OperationalSessionSetup before notifying its
callbacks, so a FindOrEstablishSession from one of the callbacks ends up
creating a new OperationalSessionSetup as needed.

* Allow setting up an auto-resubscribe ReadClient with just a peer id. (project-chip#27941)

* Allow setting up an auto-resubscribe ReadClient with just a peer id.

This delegates all the work of setting up the CASE session, and the attendant
retries, to the ReadClient.

Fixes project-chip#23983

* Address review comment.

* update ci to 0.7.25 (project-chip#27585)

* update ci to 0.7.25

* change some container versions to fix ci error

* Add Copyright

* Sort out Includes

Add what is needed using "include what you use" tool

* Make Methods To Private

and move private section to bottom instead of in between

* Initialize All The Member Varaibles With Initializer List

also updated the comment with the new parameters

* Explicit Delete Move Constructors

* Make More Methods To Private

* Update Comment For OnResetCondition Command Handler

* Add FeatureMap To Zcl*.json Files

* [Ameba] [wifi] fix ssid and password length after getting from nvs (project-chip#27883)

* [wifi] fix ssid and password length after getting from nvs

* Restyled by clang-format

---------

Co-authored-by: Restyled.io <[email protected]>

* [Python] SetupPayload export version property. (project-chip#27959)

* Moving us to github container registry (project-chip#27879)

Co-authored-by: Restyled.io <[email protected]>

* Add a "country-code" argument to darwin-framework-tool pairing commands. (project-chip#27951)

* [matter_yamltests] Add timeout argument supports for the chip-tool/python yaml runner (project-chip#27934)

* [Python] Modify rotatingId to a hexadecimal string (project-chip#27933)

* Allow use of already commissioned device in TC_DeviceBasicComposition (project-chip#27919)

Testcase adjusted to allow commissioned device in test instead of PASE based device

* [Bouffalolab] Add build option to enable rotating device id (project-chip#27906)

* add option to enable rotating device id

* add more files for mbedtls for bl702

* fix restyle and test data

* [ICD]Post the MsgSentEvent on retransmits also (project-chip#27968)

* Post the MsgSentEvent on retransmits also

* Add a comment explaining why we set ExpectedResponse to false

* Fixing the .zap files for contradicting device type data (project-chip#27962)

* Fixing the .zap files for contradicting device type data
Github: ZAP#862

* Minor cleanup
Github: ZAP#862

* Fixing script typos (project-chip#27971)

* [Telink] Add Smoke Sensor app demo (project-chip#27609)

* [Telink]: Added draft smoke sensor

Added draft smoke sensor app for telink platform

Signed-off-by: dmytro.k <[email protected]>

* [Telink]: Added draft smoke sensor

Added draft smoke sensor app for telink platform

Signed-off-by: dmytro.k <[email protected]>

* [Telink]: Added draft smoke sensor

Added smoke sensor app for telink platform

Signed-off-by: dmytro.k <[email protected]>

* [Teilnk] format fix

* [Telink]: Added smoke sensor

Added smoke sensor app for telink platform

Signed-off-by: dmytro.k <[email protected]>

* [Telink] remove spaces

* Restyled by whitespace

* Restyled by clang-format

* Restyled by prettier-markdown

* code style fix

* reviewer feedback fix

---------

Signed-off-by: dmytro.k <[email protected]>
Co-authored-by: dmytro.k <[email protected]>
Co-authored-by: Restyled.io <[email protected]>

* Do not allow zero size array in test (project-chip#27973)

* Modifed test july 14 (project-chip#27960)

* Semi-Automated ---> Automated
TC-ACL-2.2
TC-APPLAUNCHER-3.8
TC-APPLAUNCHER-3.9
TC-SC-5.1
TC-SC-5.2

Semi-Automated test
TC-BINFO-2.2

* Auto generated files

* Modified endpoint variable to readable format

* Update Smoke CO Alarm Implementation (project-chip#27955)

* Add event field to Smoke CO Alarm implementation

* Fix INVALID_COMMAND

* Simplify the switch-case

---------

Co-authored-by: Hare <[email protected]>

* [Linux] DnssdImpl: rework avahi implementation (project-chip#26397)

* InetInterface: add IsLoopback() to InterfaceIterator and InterfaceAddressIterator

Required for improving dns-sd avahi based implementation

* [Linux] DnssdImpl: rework avahi implementation

This commit fixes two problems with the previous avahi based dns-sd implementation:

- Publishing more than one service at the same time did not work.
  This needs to be possible e.g. when a node is commissioned into multiple fabrics.
  The previous implementation falsely assumed that additional services can be added
  to already committed (=published) AvahiEntryGroup, which is not the case.
  An AvahiEntryGroup can only publish multiple services ALL AT ONCE.
  The new implementation creates a new AvahiEntryGroup per service, on demand.

- The previous implementation took ownership of the platform-global default hostname,
  (by overwriting it). This is not a good idea because the default hostname is usually
  of relevance for other non-matter services on a given Linux platform.
  The new implementation establishes the matter-mandated MAC-derived hostname separately
  and explicitly adds interface addresses.

* DnssdImpl.cpp: avoid shadowing local vars to prevent warning/error

* DnssdImpl.cpp: make work without INET_CONFIG_ENABLE_IPV4

* DnssdImpl.cpp: fix missing error variable assignment in SuccessOrExit()

(found by code-lints)

* Apply restyled Patch

* Remove ResetCondtion::Type And Encode

they are only needed for sending the command, it does not send the command.

* Remove While Loop's Body

is a very complicated no-op. Keep the while itself, it basically check if this is not malformed TLV

* Reclassify excessive logging in LevelControl and OnOffServer from Progress to Detail (project-chip#27938)

* [OPSTATE] Fix: change in type for OperationalState attribute (project-chip#27958)

* OperationalState attribute simply to Enum

* temporary remove some test step in TestOperationalState

* zap regen all

* modify the code related of the OperationalState attribute type

* update OperationalState type to Enum in TestOperationalState.yaml

* Restyled by clang-format

* modify the api of GetCurrentOperationalState in class Delegate

* modify the api of SetOperationalState in class Delegate

* optimize the Operational State cluster definition

* zap regen all

* Restyled by clang-format

* modify the note for RVC Operational State cluster definition

---------

Co-authored-by: Restyled.io <[email protected]>

* Add a "country-code" argument to chip-tool pairing commands. (project-chip#27948)

* Move cloudbuild to github images since 0.7.25 vscode image does not exist (project-chip#27992)

* Bump third_party/openthread/repo from `8bc2504` to `f7690fe` (project-chip#27984)

Bumps [third_party/openthread/repo](https://github.com/openthread/openthread) from `8bc2504` to `f7690fe`.
- [Release notes](https://github.com/openthread/openthread/releases)
- [Commits](openthread/openthread@8bc2504...f7690fe)

---
updated-dependencies:
- dependency-name: third_party/openthread/repo
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump third_party/mbedtls/repo from `b18d45f` to `4e73afe` (project-chip#27983)

Bumps [third_party/mbedtls/repo](https://github.com/ARMmbed/mbedtls) from `b18d45f` to `4e73afe`.
- [Release notes](https://github.com/ARMmbed/mbedtls/releases)
- [Commits](Mbed-TLS/mbedtls@b18d45f...4e73afe)

---
updated-dependencies:
- dependency-name: third_party/mbedtls/repo
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Move OnResetCondition Handling to Cluster Implementation

- add PreResetCondition and PostResetCondition() methods to be overwritten

fixes project-chip#27986

* Apply Restyled Patch

* Fix Typo

* Update cloudbuild image to 1 from 0.8 (project-chip#27994)

* TC-TIMESYNC-3.1: python automation (project-chip#27925)

Using python because it's the easiest way to do wildcard
and iterate over all the endpoints

Also changing other tests to force EP0

* update time sync TC_TIMESYNC_2_7 and TC_TIMESYNC_2_8 (project-chip#27545)

* include missed set time zone

* expect null when DST expires, missed offset sign, removed unused variables

* Remove gdbgui requirement for esp32 (project-chip#28007)

* Remove gdbgui requirement for esp32

* Fix qemu

* Fix chef as well

* Added check for board control before including header/function calls (project-chip#28008)

* Bump pip-tools to 7.0.0 (project-chip#28009)

* Enforce length constraint for CountryCode in SetRegulatoryConfig. (project-chip#27949)

We were not checking the length (which must be 2), so would allow 1-char or
0-char values.

Also aligns the exact logic with the Location attribute write code and adds some
error logging.

* [matter_yamltests] Be stricter about the response key for command targetting group and disallow the use of the endpoint key (project-chip#27989)

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

* [ICD]Add needed elements to the ICD Manager to handle LIT mode (project-chip#27916)

* Add needed elements to the ICD Manager to handle LIT mode

* separate IcdMonitorinTable in its own sourceset to fix build issues on examples that have the ICD cluster but not not enable chip_enable_icd_server

* address comments. Don't force Slow Polling interval in SIT to 15s to respect the current SHOULD conformance

* fix test build

* Make the Darwin compat story for struct/event renames better (project-chip#28012)

* Refactor struct/event codegen in Darwin a bit.

This makes the cluster and struct/event names into inline partial parameters.
This changeset has been tested to not modify the generated code at all.

* Make our renamed struct/event codegen more backwards compatible.

When we just moved all the members to the super-class, it left the subclass in a
situation where none of its properties are available in the release where the
subclass itself is available.

This change restores those properties on the subclasses.

The @dynamic in implementations is needed to avoid compiler errors.

* Remove Init For Resource Monitoring Clusters From main-common.cpp

And put it in resource-monitoring-helper.cpp.
This will use the ClusterInitCallbacks to initialize the instance objects.

This removes the need to have the init code in every example app, just include the helper.cpp file.

* Apply Restyled Patch

---------

Signed-off-by: dmytro.k <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Graf Tobias <[email protected]>
Co-authored-by: William Hicklin <[email protected]>
Co-authored-by: William <[email protected]>
Co-authored-by: Restyled.io <[email protected]>
Co-authored-by: C Freeman <[email protected]>
Co-authored-by: mideayanghui <[email protected]>
Co-authored-by: Justin Wood <[email protected]>
Co-authored-by: Boris Zbarsky <[email protected]>
Co-authored-by: EricZijian_Siter <[email protected]>
Co-authored-by: Hare <[email protected]>
Co-authored-by: Kamil Kasperczyk <[email protected]>
Co-authored-by: Andrei Litvin <[email protected]>
Co-authored-by: Andrei Litvin <[email protected]>
Co-authored-by: Erwin Pan <[email protected]>
Co-authored-by: lpbeliveau-silabs <[email protected]>
Co-authored-by: pankore <[email protected]>
Co-authored-by: Yufeng Wang <[email protected]>
Co-authored-by: tianfeng-yang <[email protected]>
Co-authored-by: Vivien Nicolas <[email protected]>
Co-authored-by: Timothy Maes <[email protected]>
Co-authored-by: wyhong <[email protected]>
Co-authored-by: Junior Martinez <[email protected]>
Co-authored-by: Bharat Raju <[email protected]>
Co-authored-by: Alex Tsitsiura <[email protected]>
Co-authored-by: dmytro.k <[email protected]>
Co-authored-by: manjunath-grl <[email protected]>
Co-authored-by: Lukas Zeller <[email protected]>
Co-authored-by: milanr-q <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: fesseha-eve <[email protected]>
Co-authored-by: CuRahman <[email protected]>
Co-authored-by: Anthony DiGirolamo <[email protected]>
erwinpan1 pushed a commit to erwinpan1/connectedhomeip that referenced this issue Jul 21, 2023
…roject-chip#27941)

* Allow setting up an auto-resubscribe ReadClient with just a peer id.

This delegates all the work of setting up the CASE session, and the attendant
retries, to the ReadClient.

Fixes project-chip#23983

* Address review comment.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant