Some broadcasting software (e.g., Prism Live Studio) strips special
characters from stream keys, making Owncast-generated keys incompatible.
Changes:
- Create separate STREAM_KEY_COMPLEXITY_RULES without special char requirement
- Update generateRndKey() to only use alphanumeric characters
- Keep PASSWORD_COMPLEXITY_RULES unchanged for admin password security
- Update tooltip text to reflect new requirements
- Add comprehensive tests for stream key generation
Fixes#4690
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Add Pixelfed as a supported social platform, including the platform
entry in socialHandle.go and the SVG icon.
Closes#4726
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Adds a 'readonly' prop to ChatContainer that conditionally applies a
'readonly-chat' CSS class to the chat container element. This allows
streamers using OBS to target the readonly chat embed with custom CSS.
The readonly embed at /embed/chat/readonly now passes readonly={true}
to ChatContainer, which adds the class to the container div.
Fixes#4266
Co-authored-by: Gabe Kangas <gabek@real-ity.com>