v2.5
m1k1o/nekov2.5Nov 30, 2021by m1k1o
AI Summary
Major update focusing on security controls (locks and control protection), iOS audio support, and ARM architecture improvements.
Key Highlights
- Global lock controls for users via configuration.
- Control protection feature requiring at least one admin in the room.
- Audio support on iOS devices (version 15+).
- Automatic WebRTC SDP negotiation for dynamic track management.
New Features
- Lock controls via config `NEKO_LOCKS`.
- Control protection enabled by `NEKO_CONTROL_PROTECTION`.
- Emotes sending on mouse down holding.
- Enhanced stats data including `control_protection` status.
- XSS sanitization for display names and markdown.
- Display unmute overlay on join.
Full Release Notes
### Bugs - Fix ungoogled-chromium auto build bug. - Audio on iOS works now! Apparently only for 15+ though [#62](https://github.com/m1k1o/neko/issues/62). ### New Features - Lock controls for users, globally. - Ability to set locks from config `NEKO_LOCKS=control login`. - Added control protection - users can gain control only if at least one admin is in the room `NEKO_CONTROL_PROTECTION=true`. - Emotes sending on mouse down holding. - Include `banned`, `locked`, `server_started_at`, `last_admin_left_at`, `last_user_left_at`, `control_protection` data in stats. ### Misc - ARM-based images not bound to Raspberry Pi only. - Repository cleanup, renamed `.m1k1o` to `.docker`. - Updated docs, now available at https://neko.m1k1o.net. - Add japanese characters support. - Sanitize display name and markdown codeblock input to prevent xss. - Display unmute overlay when joined. - Sync player play/pause/mute/umpute/volume state with store (beneficial for mobiles when using fullscreen mode). - Automatic WebRTC SDP negotiation using `onnegotiationneeded` handlers. This allows adding/removing track on demand in a session.