2021.7.6.1154 - SignalR for messaging system, user timezone offset and more
Hello everyone! I got another build for you! As I mentioned in #devlog, I paused work on BEPUv2 for a bit (just about two days) to integrate the SignalR service, given some issues that cloud has been having. As of this build it now powers the messaging system, which should greatly improve the overall responsiveness and robustness of the cloud, since the old system was the major source of load, especially with lots of people on.
It's also good foundation for lots of other features that are to come later as well (see the cloud roadmap on GitHub for more)! I might do a few of them soon too, I'll see how it goes. Since this is a major change to how the messaging system works too, keep an eye out on some weirdness and bugs as usual, we'll clean them up as they come and make adjustments like usual whenever something new comes out!
Also there's a whole bunch of goodies and quality of life improvements from @ProbablePrime | Docs, including user timezone nodes and blocking gizmo interactions from guests!
[h2]New Features:[/h2]
- Implemented new message delivery system based on the SignalR service
-- This is significantly more efficient and scaleable system (push notification vs polling)
-- This reduces the load on your connection and on the cloud servers, resulting in much better overall responsiveness (more cloud resources are available for other things like inventory, world searching and so on)
-- This also reduces the message delivery latency to near instant (ignoring networking lag)
-- The robustness is also improved, decreasing likelihood of failed delivery
-- The system is compatible with the old message API, but not that it will likely disappear or be severely restricted at some point!
-- Messages that have been viewed by the user are now marked green (note that it doesn't necessarily mean the other user has actually read them)
--- Note that this won't work for users on the old build
- Added nodes for getting user's time offset from UTC (requested by @Earthmark, @Alex from Alaska, implemented by @ProbablePrime | Docs)
-- User Time Offset - gives current TimeSpan offset of given user relative to UTC
-- User Time - gives given user's current time in their timezone
-- Local User Time Offset - gives time offset of local user
- Added DatetimeKindNode (implemented by @ProbablePrime | Docs)
-- This provides the type of DateTime structure - UTC, Local or Unknown
[h2]Tweaks:[/h2]
- Non-builders can no longer grab or click the LogiX node browser (reported by @Shifty | Quality Control Lead, Maliceowo, implemented by @ProbablePrime | Docs)
- Non-builders can no longer click gizmo buttons (reported by @Shifty | Quality Control Lead, Maliceowo, implemented by @ProbablePrime | Docs)
- DateTime LogiX display now shows (UTC) at the end when it's UTC. Nothing otherwise (based on request by @Shadow Panther [RU/EN, UTC+3], implemented by @ProbablePrime | Docs)
- Increased timeout for getting message history (this can help resolve cases of the history failing to load in some cases, reported by multiple users)
- Added warning about wallet needint to support ERC-20 tokens when making NCR withdrawal (suggested by @pammematth)
- Upgraded Cloud libraries to latest versions
- Merged Korean locale addition by @MirPASEC
- Merged English locale typo fix by @InnocentThief
[h2]Bugfixes:[/h2]
- Fixed CDN not being used for all accounts
- Fixed API accepting credit transactions addressed to the same account they're sent from

It's also good foundation for lots of other features that are to come later as well (see the cloud roadmap on GitHub for more)! I might do a few of them soon too, I'll see how it goes. Since this is a major change to how the messaging system works too, keep an eye out on some weirdness and bugs as usual, we'll clean them up as they come and make adjustments like usual whenever something new comes out!
Also there's a whole bunch of goodies and quality of life improvements from @ProbablePrime | Docs, including user timezone nodes and blocking gizmo interactions from guests!
[h2]New Features:[/h2]
- Implemented new message delivery system based on the SignalR service
-- This is significantly more efficient and scaleable system (push notification vs polling)
-- This reduces the load on your connection and on the cloud servers, resulting in much better overall responsiveness (more cloud resources are available for other things like inventory, world searching and so on)
-- This also reduces the message delivery latency to near instant (ignoring networking lag)
-- The robustness is also improved, decreasing likelihood of failed delivery
-- The system is compatible with the old message API, but not that it will likely disappear or be severely restricted at some point!
-- Messages that have been viewed by the user are now marked green (note that it doesn't necessarily mean the other user has actually read them)
--- Note that this won't work for users on the old build
- Added nodes for getting user's time offset from UTC (requested by @Earthmark, @Alex from Alaska, implemented by @ProbablePrime | Docs)
-- User Time Offset - gives current TimeSpan offset of given user relative to UTC
-- User Time - gives given user's current time in their timezone
-- Local User Time Offset - gives time offset of local user
- Added DatetimeKindNode (implemented by @ProbablePrime | Docs)
-- This provides the type of DateTime structure - UTC, Local or Unknown
[h2]Tweaks:[/h2]
- Non-builders can no longer grab or click the LogiX node browser (reported by @Shifty | Quality Control Lead, Maliceowo, implemented by @ProbablePrime | Docs)
- Non-builders can no longer click gizmo buttons (reported by @Shifty | Quality Control Lead, Maliceowo, implemented by @ProbablePrime | Docs)
- DateTime LogiX display now shows (UTC) at the end when it's UTC. Nothing otherwise (based on request by @Shadow Panther [RU/EN, UTC+3], implemented by @ProbablePrime | Docs)
- Increased timeout for getting message history (this can help resolve cases of the history failing to load in some cases, reported by multiple users)
- Added warning about wallet needint to support ERC-20 tokens when making NCR withdrawal (suggested by @pammematth)
- Upgraded Cloud libraries to latest versions
- Merged Korean locale addition by @MirPASEC
- Merged English locale typo fix by @InnocentThief
[h2]Bugfixes:[/h2]
- Fixed CDN not being used for all accounts
- Fixed API accepting credit transactions addressed to the same account they're sent from


