Frontend behaviorΒΆ

The home page handles registration, login, logout, account status, email attachment, friend requests, server creation, and server navigation. The server page lists channels, streams messages, uploads attachments, manages roles, creates invites, and reports content. The conversations page lists DMs/groups, opens one WebSocket for the selected conversation, and supports messages, replies, attachments, reactions, and reports.

Authenticated page handlers still enforce server-side authorization; hiding a button in JavaScript is only a usability feature, not an access control.