Skip to content

Commit

Permalink
v1.2.0
Browse files Browse the repository at this point in the history
- 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. `<strong>Start connection</strong>`)
- 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
  • Loading branch information
JovannMC committed Aug 21, 2024
1 parent 1705ffd commit 9e53a8f
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 11 deletions.
22 changes: 12 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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/
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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": {
Expand Down

0 comments on commit 9e53a8f

Please sign in to comment.