- Add FORCE_HTTP=true env option to skip built-in SSL (for Caddy/nginx/Traefik)
- Update startup scripts (bash, bat, Docker) to respect FORCE_HTTP
- Disable HSTS header when FORCE_HTTP is active
- Add auto_assign column to roles table with DB migration
- Default 'User' role is auto-assigned on registration
- Admin UI: toggle auto-assign per role, visual indicator
- join-channel auto-assigns flagged roles to new members
- Fix window.app reference for desktop voice hook
- Relocated voice controls panel from left sidebar to right sidebar
- Buttons are now icon-only circles with hover tooltips (Mute, Deafen, Share, Music)
- Added Voice Settings gear button that toggles a slide-up panel with NS slider
- Right sidebar restructured: Voice section (pinned top) > Online Users (scrollable) > Settings (pinned bottom)
- Voice section takes priority; user list scrolls independently below
- Mobile: header voice indicator opens right sidebar instead of left
- Includes all prior changes: admin self-nerf prevention, Channel Roles tags rework, Docker audit