Last release introduced Push Notifications. The feature was quite rough around the edges, and needed improvements to become less spammy and more useful. This release contains many of those improvements.
Apart from that, this release is mainly about stability, including solving a bug that has been causing random client crashes since the very beginning of this project.
So, let’s take a closer look at what we’ve got.
Improvements
Notification Improvements
Notification grouping
Any one device will now only show a single notification (per account). If multiple notifications are sent to a client, any previous notification will be replaced with the latest notification, plus a line that tells how many other notifications have been received:
New post
Accipiter made a new post
+2 other events
GitHub issue #276 - Group notifications
No notification when active on another device
When using multiple devices, like a desktop and a mobile device, push notifications will no longer be sent if the app is open and visible on any other device.
This means that, while you are active on the desktop, the phone will remain quiet.
Tip
Minimize the game tab on your browser when you leave your computer, if you wish to start receiving push notifications to your phone.
GitHub issue #280 - Cancel pending notification
Closing Notifications when app is opened
Any currently open notification will be automatically closed as soon as you return to the app on that device.
GitHub issue #278 - Close notifications on visible
De-duplication of Notifications trigged by the same event
If you control two characters, and a single event (e.g. a multi-target whisper) triggers notifications for both of them, only one Notification will be sent to any single device.
No notifications for bots
Bots no longer triggers push notifications.
No full stop in notification messages
To make the notifications slightly more clean, full stops were removed from the message body.
Fixes
Random crashes
Since before the game was even launched, we’ve had issues with seemingly random client crashes, showing up as errors in the browser’s Console with messages such as:
Error: Resource XXX not found in cache
or
Uncaught TypeError: Cannot read properties of undefined (reading ‘addIndirect’)
While it has been possible to resolve it by simply reloading the game, it has been a thorn in my side, and the cause of frustration. This has finally been tracked down to a bug in Resgate. By updating to Resgate v1.8.0, these issues should now be resolved.
GitHub issue #9 - Error reading addIndirect
Muted characters forgotten on logout and login
Muted characters appeared to be forgotten on logout and login, but muting them again showed an error saying that they were already muted. This has been fixed.
Thanks to @Puma who reported the issue in this topic, and to @Kelmi who troubleshot the issue, and created a work-around until this proper fix could be made.
GitHub issue #274 - Muted characters forgotten on logout and login
Deleted characters break focus list
If there was a deleted character lingering on your focus list, it became impossible to use list focused
. It also became impossible to unfocus
the deleted character. This has now been fixed.
All credits to @Kelmi who both reported the issue and fixed it in GitHub PR #272!
GitHub issue #282 - Deleted characters breaks list focus and unfocus
Add paths config for Intellisense
The TypeScript engine config didn’t list the webpack mappings for the common modules (utils
etc.). The config has now been extended to allow the usage of e.g. Go To Definition with those imports.
All credits to @Kelmi who both reported the issue and provided a solution in GitHub PR #273!
GitHub issue #283 - Add paths config for Intellisense
JSON encoder occasionally produces invalid JSON
The JSON encoder that is being used by the backend had a memory-reuse race bug, that in rare cases caused invalid JSON to be produced, which could result in seemingly random error responses from the API. This has been fixed.