0.8.17.28049 - Cloud optimizations, streaming status and headless additions
More optimizations and fixes to the cloud infrastructure, hopefully last to ensure the stability of the service. Also some new additions and improvaments!
- Added "Live" badge to avatars whenever interactive camera mirroring is enabled or OBS is connected and recording/streaming
-- It can also be manually shown by clicking the "Show Live Badge" in the interactive camera dialog
-- You can make a custom badge by using the AvatarLiveIndicator component under Users/Common Avatar System
-- This is to help make users aware when someone is streaming or recording (based on feedback by @Zane , @Dante , @Veer and @Mr. MegaTronic )
- Added ability to set specific role for each user in the headless server config rather than just admin (based on request from )
-- This replaces the previous setting listing admin users
-- Use a JSON dictionary/value mapping - the key is username and value is the role name
- Added ability to automatically spawn items on headless by listing their URL's in the config file (requested by @tehturk )
- Added ability to list and accept friend requests from headless client (requested by @Dante )
-- Use the friendRequests and acceptFriendRequest commands
- Added keepOriginalRoles setting for the headless server which will preserve the saved roles in the loaded world (requested by @tehturk )
- Redeployed the cloud server from scratch to fix database connection issues which prevented the service from responding
- Upgraded CosmosDB SDK to help with database connection problems
- Tweaked database retry limits and timeouts to help avoid server congestion
- Added parallel processing for record preprocessing and asset upload finalizations to cloud worker to reduce client-side wait
- Moved App Insights to the same region as cloud servers to help reduce startup and bandwidth issues
- Switched to Self-Contained deployment for the cloud services
- Groups are fetched serially on login rather than all at once, fixing other cloud information (e.g. settings and online status) taking a while to load for users with several groups
- Added clientside header caching when making requests to improve performance and reduce memory usage
- Fixed incorrect throttling on sent messages in the chat
- Fixed cloud worker endlessly trying to preprocess outdated records
- Fixed Steam rich presence status showing private worlds to friends (reported by @Coffee )

New Features:
- Added "Live" badge to avatars whenever interactive camera mirroring is enabled or OBS is connected and recording/streaming
-- It can also be manually shown by clicking the "Show Live Badge" in the interactive camera dialog
-- You can make a custom badge by using the AvatarLiveIndicator component under Users/Common Avatar System
-- This is to help make users aware when someone is streaming or recording (based on feedback by @Zane , @Dante , @Veer and @Mr. MegaTronic )
- Added ability to set specific role for each user in the headless server config rather than just admin (based on request from )
-- This replaces the previous setting listing admin users
-- Use a JSON dictionary/value mapping - the key is username and value is the role name
- Added ability to automatically spawn items on headless by listing their URL's in the config file (requested by @tehturk )
- Added ability to list and accept friend requests from headless client (requested by @Dante )
-- Use the friendRequests and acceptFriendRequest commands
- Added keepOriginalRoles setting for the headless server which will preserve the saved roles in the loaded world (requested by @tehturk )
Optimizations:
- Redeployed the cloud server from scratch to fix database connection issues which prevented the service from responding
- Upgraded CosmosDB SDK to help with database connection problems
- Tweaked database retry limits and timeouts to help avoid server congestion
- Added parallel processing for record preprocessing and asset upload finalizations to cloud worker to reduce client-side wait
- Moved App Insights to the same region as cloud servers to help reduce startup and bandwidth issues
- Switched to Self-Contained deployment for the cloud services
- Groups are fetched serially on login rather than all at once, fixing other cloud information (e.g. settings and online status) taking a while to load for users with several groups
- Added clientside header caching when making requests to improve performance and reduce memory usage
Bugfixes:
- Fixed incorrect throttling on sent messages in the chat
- Fixed cloud worker endlessly trying to preprocess outdated records
- Fixed Steam rich presence status showing private worlds to friends (reported by @Coffee )


