Basic Polkadot/Substrate UI for interacting with a Polkadot and Substrate node. This is the main user-facing application, allowing access to all features available on Substrate chains.
What is the current behavior and expected behavior?
When the council pallet includes members from both elections and a separate source at the same time, apps just assumes only one must be the correct source, the moment an election candidate becomes a member, all other sources disappear and the UI gets confused about how many members there actually are.
I found the issue to be in this section of this function, which is the source for this data in the apps UI: https://github.com/polkadot-js/api/blob/master/packages/api-derive/src/elections/info.ts#L116-L118
Expected behavior is that the UI should always prioritize the members list from the council collective pallet and not from elections, as the latter might not always be correct, and the storage in the collective pallet will always be. A merge of both should happen in this case so that the elected members display their backing in the UI and the separate source members display something else, maybe their source.
What is the motivation for changing the behavior?
It just shows wrong information when the pallets don't behave exactly like in the relays, this is not a modified council collective pallet, it's just being used in a different way other than what the apps UI is used to. This should be flexible and display the correct data regardless of how many sources of members are at play in the chain.
Expected behavior is that the UI should always prioritize the members list from the council collective pallet and not from elections, as the latter might not always be correct, and the storage in the collective pallet will always be. A merge of both should happen in this case so that the elected members display their backing in the UI and the separate source members display something else, maybe their source.