In many places we use unnecessary checks and casts. Instead we should just add new methods to User and just make ChatUser return its own stuff, and let people decide how their own user implementation should work.
A good example is the new User#hasPermission method I've added in #144.
In many places we use unnecessary checks and casts. Instead we should just add new methods to User and just make ChatUser return its own stuff, and let people decide how their own user implementation should work.
A good example is the new User#hasPermission method I've added in #144.