While working on T318832: Modify the JS Client to be used non MW powered sites, I noticed that the streamconfigs action API query module returns everything(?) as associative arrays. This means that the lists in streams[].producers.metrics_platform_client.events and .provide_values are encoded as associative arrays, e.g. consider the following (truncated) config for the media.edit_attempt stream:
{ "streams": { "mediawiki.edit_attempt": { "producers": { "metrics_platform_client": { "events": { "0": "eas." }, "provide_values": { "0": "agent_client_platform_family" } } } } } }
In JS, Java, and Swift, those properties will be deserialized to maps rather than lists.
Notes
- This behavior was introduced in T259917: Streams with empty configs should be rendered as {} in the JSON returned by StreamConfig API