Persisting always-on clients was panicking if client X believed it was a member of channel Y, but channel Y didn't have a record of client X.
I'm not really satisfied with the root cause analysis here, but in principle there is no overriding mutex synchronizing these states (it would probably be a global bottleneck), so these can temporarily be out of sync. (If they are out of sync, will things eventually converge?)
Persisting always-on clients was panicking if client X believed it was a member of channel Y, but channel Y didn't have a record of client X.
I'm not really satisfied with the root cause analysis here, but in principle there is no overriding mutex synchronizing these states (it would probably be a global bottleneck), so these can temporarily be out of sync. (If they are out of sync, will things eventually converge?)