* MM-70516 - Add ability to edit channel attribute values from Channel Info
* Add API methods for patching property fields and setting channel attribute requirements
* Update channel attribute clearing behavior for required and non-required fields
* MM-70564 - use channel attributes on channel creation
* Fix undefined propertyValues and ternary formatting in channel attributes
* Fix spelling of "colour" to "color" in attribute chip tests and related comments
* Add visibility checks for channel attribute labels in tests
* Fix data-integrity, permission, and accessibility issues in channel attributes: scoped pruning, atomic writes, race serialization, required clear/stale-option guards
* Fix handling of null values in apiGetChannelAttributeValue and update test assertions for channel attributes
* Improve channel attribute editor sizing for long labels, keep Save visible, and prevent keyboard overlap on Android
* Address CodeRabbit feedback for nullable values, bottom-sheet state, async validation, and reliable E2E cleanup
* lock-safe field fetch, create-time gate recheck, scoped value pruning, and tappable header chips
* Address CodeRabbit feedback: drop queued attribute saves on channel switch and use page object selectors in E2E
* Respect the ChannelAttributesRequired flag on channel creation and enable it for channel attribute E2E
* Skip required channel attribute E2E tests and stop enabling ChannelAttributesRequired on the shared server until they move to SITE_3
* Fix clearing channel attributes on iOS by sending an empty value instead of null, and stop E2E suites from turning off the ChannelAttributes flag mid-run
* Refactor getEmptyPropertyValue to accept string type for fieldType parameter
* E2E: give channel attribute test fields a suite-unique suffix
Pool shards may only create optional property fields named <name>_<6 hex>; fixed names were blocked by the pool guard.
* E2E: restore channel attribute cleanup checks; name network error codes
Brings back the PR's afterEach/afterAll error handling that the main merge replaced, and makes a no-response error show its codes (an AggregateError has an empty message).
* E2E: run channel attribute creation and editing specs on server B
Their 11 required-attribute tests could not run on the shared servers. Both specs now run on the mutation server with ChannelAttributesRequired on for their run, and the tests are re-enabled. setChannelAttributesRequired moves to the shared helper.
* Check header chips instead of their wrapper and use toExist for the create screen in channel attribute E2E
---------
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>