From 9e53a8f80527e5d09cca2f930138e255860233c1 Mon Sep 17 00:00:00 2001 From: JovannMC Date: Wed, 21 Aug 2024 03:25:29 +0300 Subject: [PATCH] v1.2.0 - New onboarding process when setting up SlimeTora for the first time - The new onboarding setup will guide you through the basics of how to set up the app and SlimeVR Server - "Automatic setup" allows you to make use of the new auto-detection feature, allowing you to let the program ***set up the program for you!*** - Auto-detection automatically detects the tracker model, connection mode (and COM ports if applicable), and even import your tracker settings! - You can always re-open the onboarding setup through the "Open onboarding" button (or deleting your `config.json`) - New "Update checking" settings - Update checker for the app (on startup) - Update channel used when checking for updates (stable/beta) - Updater for app translations (on startup) - No need to wait for new releases to get the new translations if more are added! - New "compact view" option - This makes the "tracker information" cards compact, allowing you to see more of your trackers without scrolling - This removes the "rotation" and "acceleration" data to give it its compact size - Logging overhaul - Three logging levels, INFO (for general logging), WARN (for warnings that may not impact general use), and ERROR (for errors that impact general use) - "ERROR" logs will always be shown, no matter the logging mode set in-app - "All data" now logs raw, unprocessed data coming from the trackers (via `haritorax-interpreter`) - Logging messages are grouped into its own categories (e.g. connection, settings, updater, etc) - Language/translation updates - Add Italian translation (TBC by @francescatanuki) - Language files are now loaded asynchronously - Warn console about missing translation key/values and use default (en.json) - Translations can use inline HTML for formatting (e.g. `Start connection`) - Update credits page - Add support for battery voltage (and charge status in logs) to HaritoraX Wireless trackers connected via Bluetooth (LE) - Add "support page" button to debugging section - Do more cleanup of memory when closing the app - Properly handle invalid mag statuses being received - Truncate device names if too long - Remove need to restart connection for certain settings - Add a failsafe if no data is received by the app from trackers - Gracefully handle/fix many runtime errors - Most of these don't affect the end-user but this is just so I stop getting screamed at :p - Fix "connection failed" error not showing up if the program fails to start the connection - This uh, apparently never worked when introduced with v1.1.0 lol - With this, error handling in the program can now be easily handled in the future as I mostly fixed and rewrote how it works - Fix bug with `HaritoraX Wireless` trackers (connected via `GX(6/2)` dongles) not immediately reporting its battery data when first connected - The dongles actually immediately report the (last known) battery information of the trackers (even if not connected), so uh now you can see it almost immediately lol - You now don't have to wait for the trackers to report their battery and magnetometer data, the program now requests the data from the trackers upon connection! - Fix bug with `HaritoraX Wireless` trackers (connected via `Bluetooth (LE)`) where magnetometer and battery data would not show - I accidentally introduced this bug with v1.1.0 when I released `haritorax-interpreter` v2.0.0 by not checking the results of a "search and replace", oops. - Fix bug with `HaritoraX Wireless` trackers (connected via `Bluetooth (LE)`) where magnetometer and battery data don't show immediately - Fix SlimeVR Server rapidly hiding/showing ping - ..fixed by sending some "funny" signal strength information to SlimeVR server - You may also notice another "funny" thing - your trackers may seem to be.. toasty :) - (Hint: enable "Developer Mode" under "Appearance") - Fix bug where disabling settings while being in an active connection causing breakage by either: - giving you the funny "no connection to stop" error by accident (you didn't use inspect element) - only stopping one type of connection, then break the app when starting the connection again (without restarting the app) lol - Fix "accelerometer" always being enabled on startup, even if manually disabled by the user - Thank you to `hioshim` on Discord for reporting this! - Fix bug where incorrect tracker settings will be applied when the trackers are connected - Previously, you would sometimes have to press the save button again (while connection is active) for the correct tracker settings to be actually applied - Thank you to `arubedo.` on Discord for reporting this! - Fix bug with external links opening in the app instead of browser - Fix debug parameter accidentally being left in for i18next - Fix battery info not showing immediately upon connection if multiple are connected as the connection starts - Fix "status" not translating when switching between languages - Fix "{trackerName}" sometimes appearing in the per-tracker settings window - Fix voltage being shown in mV instead of V - Fix "waiting for SlimeVR server" delay if skipping SlimeVR checks is on - Fix "deinit" JS errors when exiting SlimeTora - Fix "invalid settings" warning when receiving an empty sensor auto correction list - Fix per-tracker settings not applying properly - Fix null errors on tracker connection - Fix "error" logs being undefined sometimes - Fix multiple development issues - Package updates - Other bugfixes & optimizations --- README.md | 22 ++++++++++++---------- package.json | 2 +- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index e0848f4..cbd0d33 100644 --- a/README.md +++ b/README.md @@ -29,33 +29,35 @@ Read the wiki to get started: https://github.com/OCSYT/SlimeTora/wiki - Unknown support for `Haritora` (before Shiftall // DIY) - `Bluetooth` (LE/Classic) and `COM`/`GX(6/2)` support (with all at the same time supported on `HaritoraX Wireless`) - Use of [haritorax-interpreter](https://github.com/JovannMC/haritorax-interpreter) package to process tracker data -- **(v1.2.0-beta2)** Set up the app easily with settings auto-detection +- Get started with the program (and SlimeVR Server) easily through the guided onboarding process! + - Through the "automatic setup", run auto-detection to let the program ***set itself up for you***! - Automatically detect your tracker model, connection mode (including COM ports), and tracker settings - Set tracker settings per-tracker (`HaritoraX Wireless` only) - Localization support - You can help translate the program! Clone the repo and make a new file under `/src/static/languages/` with a two-letter language identifier (ending with .json, e.g. `jp.json`)! - Linux support - This was done as SlimeVR is supported on Linux, making this the first time HaritoraX trackers work on Linux! - - ..however this needs more testing. Please let us know if there are issues. + - ..however this needs more testing. Please let us know if there are issues - Button bindings to SlimeVR functions (e.g. resets) - Read more on the [SlimeVR basics](https://github.com/OCSYT/SlimeTora/wiki/SlimeVR#resets--calibration) wiki page +- Update checking (for app and translations) - Tracker visualization - Magnetometer statuses - Per-tracker battery information (in-app and SlimeVR/SteamVR) +- Compact view of the trackers - Censor tracker serial numbers in-app - Debugging options - ..and many more improvements coming soon! # Known issues -- Battery and mag info for `HaritoraX Wireless` trackers (connected via BT) not displaying - - Fixed with the `v1.2.0` betas, check [releases](https://github.com/OCSYT/SlimeTora/releases). -- Detection of being unable to access trackers unreliable - - Fixed with the `v1.2.0` betas, check [releases](https://github.com/OCSYT/SlimeTora/releases). - Battery information jumps to incorrect percentages/voltage randomly - - Unfortunately this is an issue I can't fix.. because it's literally an issue with the trackers themselves. - - This has been slightly mitigated with [v1.2.0-beta2](https://github.com/OCSYT/SlimeTora/releases/v1.2.0-beta2), which uses a "stable average" of the battery percentage and voltage instead. -- **(v1.2.0-beta3)** Running "auto-detection" more than once without restarting breaks tracker settings detection + - Unfortunately this is an issue I can't fix.. because it's literally an issue with the trackers themselves + - This has been slightly mitigated with [v1.2.0](https://github.com/OCSYT/SlimeTora/releases/v1.2.0), which uses a "stable average" of the battery percentage and voltage instead +- Running "auto-detection" more than once without restarting breaks tracker settings auto-detection (device/ports detection still works) +- **(LINUX)** Connecting to trackers via "Bluetooth (LE)" always fails + - The Bluetooth package we are using, [noble](https://github.com/abandonware/noble), requires root/sudo to be able to interact with BLE devices - its workarounds (and running as sudo) break [Electron](https://www.electronjs.org/) due to `setcap` disabling the `LD_LIBRARY_PATH` environment variable for security and modifying the `bluetooth.conf` for dbus does not work (at least, for me) + - Any help on this is appreciated, though [haritorax-interpreter](https://github.com/JovannMC/haritorax-interpreter) may need to use both [noble](https://github.com/abandonware/noble) and [node-ble](https://github.com/chrvadala/node-ble) (with a minor tweak on the user's side) to work. # Documentation & Getting Started @@ -72,4 +74,4 @@ Love SlimeTora? You can show your support to the developers of SlimeTora through ### Special thanks to the project's supporters: -- LuzianVR - https://www.instagram.com/luzianvr/ +- LuzianVR - https://www.instagram.com/luzianvr/ diff --git a/package.json b/package.json index 3dbc96a..a5e5c87 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "slimetora", "productName": "slimetora", "type": "module", - "version": "1.2.0-beta3", + "version": "1.2.0", "description": "A program that connects the HaritoraX full body trackers to the SlimeVR server", "private": true, "author": {