* feat(ui): hide chat avatars in direct sessions
* fix(ui): classify direct threads from full history, not the render window
* fix(ui): classify direct threads by canonical session kind
* fix(ui): match session metadata across equivalent alias keys in the chat thread
* fix(ui): classify unmatched chat sessions by canonical key shape
* fix(ui): keep avatars in global sessions that can aggregate group senders
* docs(ui): note global-alias limitation on chat avatar classification