Not sure how I feel about a function that creates classes. Can we inherit from a base class instead?
The original idea here was that we'd have a predicate for things like whether the method can be displayed as a message group, whether it should show a timestamp, or whatever other things could affect the display based on the class. I haven't actually put this method to any use yet.
Again here. I think a better way would be to have a base class like MembershipEvent, and then for each kind of membership we subclass it and only implement the canRender method on each.
If you see the events in the timeline, they're passed as timeline events, not state events. Probably nothing to worry about.
Maybe fixed in e18c8c77aef6a5ac36b2a9c22daa8f3fb8efb7cb? Please try, you can use https://carbon.chat to find out.