Releases: hai-vr/XYVR
Releases · hai-vr/XYVR
0.0.1-alpha.15
Features:
- VRChat live sessions now have a button to invite yourself to the session.
- Resonite live sessions now have a button to join that session.
- In the settings, there is now a setting to toggle whether Resonite sub-sessions are displayed. This does not affect how sessions are displayed during a search.
- Live monitoring now shows your own session you're in.
- Clicking an account or an individual will open that individual in a modal.
- That modal also shows the previous account usernames, links, notes, and bio.
Changes:
- We normally refresh the list of sessions slowly due to rate limiting, but this caused the list of sessions in the UI to reorder itself every time a session is refreshed, making the list of sessions in the UI practically unusable.
- Now, when we're refreshing the list of sessions to update the total number of users in a session, the updated list of sessions is pushed to the UI all at once. This means the UI will no longer reorder itself while we're making the API requests to refresh that list.
- The UI theme is undergoing changes.
- The button to copy the account ID to the clipboard is now only shown in the modal.
Internal changes:
- The custom name of live sessions is now hidden in demonstration mode.
- Requests to VRChat API are more aggressively canceled when the application exits.
- Replaced an incorrect localization line.
0.0.1-alpha.14
Features:
- Add ChilloutVR live monitoring, contributed by @art0007i.
- The CVRX license by AstroDogeDX is now referenced in the third-party acknowledgements.
Changes:
- In the login page message privacy disclosure, clarify that data is never transmitted to a third-party.
- Nothing actually changed in the privacy considerations, this just makes it explicit that no third-party is involved.
0.0.1-alpha.13
Features:
- Add Simplified Chinese locale, contributed by @modimobeikete.
Changes:
- Live monitoring will now start when logging into an account. Previously, the program needed to be restarted.
- Live monitoring will now stop when logging out of an account.
- Reorganized how the buttons are placed in the settings.
- ChilloutVR API URL has been switched to
api.chilloutvr.netby request from a member of the ChilloutVR team. - Documentation URL has changed. References to documentation URLs inside the app have been changed accordingly.
Internal changes:
- Compiling localization files is now dynamic, based on a manifest file.
- Accounts can now be tagged as lost during data collection. This happens when a user deletes their VRChat account.
- The live monitoring agent is now considered core functionality.
0.0.1-alpha.12
Fixes:
- Fix live monitoring for Resonite and VRChat should now recover after Internet connection is lost.
- Fix Resonite schema was causing failure to retrieve contacts due to badge format, contributed by @art0007i.
0.0.1-alpha.11
Features:
- Add Japanese locale, contributed by @kazu0617.
- Tentatively add Arch Linux package builds, based on previous work by @kazu0617.
- Instance names are now shown below the world name, if available.
Fixes:
- Fix Windows frontend was missing.
- Fix a possible crash that would have been caused by some Resonite status updates for which we could not find the session for.
Changes:
- All world thumbnails are now cached on disk to comply with VRChat's recent policy change regarding thumbnails.
0.0.1-alpha.10
Fixes:
- Try to fix an issue where resolving multisessions would crash because the user does not have a hashSalt defined.
- Try to fix an issue with how multisessions were not being updated during live updates.
- Delete cached VRChat worlds not seen for more than 45 days to avoid indefinitely increasing RAM usage.
- Try to fix a multithreading issue affecting Resonite session IDs.
- Try to fix a multithreading issue affecting how VRChat worlds are cached.
Changes:
- VRChat's policy on thumbnails is about to change. From now on, XYVR will start caching world thumbnail URLs on disk.
- In the future, we will use those cached world thumbnails. This is not implemented yet as it requires a dynamic API URL to serve the images, which is something we have never used so far in neither Microsoft WebView 2 nor Photino.
Internal changes:
- Add more logging when sessions are being logged.
- Log errors happening in Resonite more aggressively.
0.0.1-alpha.9
Fixes:
- Try to fix various cases where VRChat contacts were still considered to be in a session even after leaving.
- Frontend will no longer request for /null as a thumbnail image when a session does not have a thumbnail.
- Fix crash should no longer occur when caching worlds that don't have an asset creation date. We no longer try to interpret some of the world data cache that we were not interested in.
- If a message in SignalR fails to be interpreted, log it and skip processing that event instead of crashing.
- Fix when all participants leave a session, that session is now properly ignored when new information about it arrives from SignalR.
- Try to fix an issue in Resonite where the sessions that a contact was located in were not tracked properly when the focused session changes at the same time as the list of sessions that this contact is in.
Changes:
- When performing a ChilloutVR data collection, your own account will now be included in the data being collected as a contact.
- The main page now shows online individuals unless there is an active search.
- If a session has an equal number of users in the session (not necessarily contacts), prioritize low-capacity sessions.
- For example, a 1/2 session in the "For Two" world will be prioritized over a 1/32 in the "SuRroom" world, because it has less remaining slots available.
- Compact mode and language are now saved as part of the preferences.
- VRChat sessions are now fetched at a rate of four requests per second when the application starts, and at one request per second every five minutes afterward.
- Try to improve RAM usage when Resonite sessions are being cached by discarding old session data.
Internal changes:
- Photino logs have been removed, as they are too verbose and may leak undesirable data into the logs.
- vite has been updated to 7.1.5 as suggested by Dependabot for a minor security update.
- Work towards adding localization keys.
- Reduce the number of existing logs.
- Add more logging when errors occur.
- Timestamps and source are now recorded in the console logs.
- Remove leftover Resonite debugging code. We used to get all Resonite sessions to see if it was needed to build the initial session state, but it was only used for debug logging.
0.0.1-alpha.8
Features:
- Now builds on Linux.
- Added variant of the program based on Photino instead of Microsoft.Web.WebView2.
- On Linux, session key is written to the filesystem instead of the Windows registry.
- Opening URLs now uses
xdg-openon Linux.
- Connecting to ChilloutVR accounts is now possible using Email.
- Note: Connecting using access key is not yet supported.
- Note: If you have not accepted the new ChilloutVR terms of service, the login will fail without an error message.
Connect to the ChilloutVR website first to accept the terms of service.
- Improve session card:
- Session now shows thumbnail images.
- Session now shows the user count and session capacity.
- If the session capacity is larger than the world capacity, the session capacity will be displayed differently.
- If the user is connected to multiple worlds at the same time on Resonite, this will now be shown in the session card and the account card.
Fixes:
- When executing the application for the first time, the directories for saving the files are now created in advance.
Changes:
- Rename app to XYVR on Windows, and xyvr on Linux.
- Add app icon on Windows.
- Active sessions are now refreshed every minute.
- World data now expires after 6 hours.
Internal changes:
- Linux-related changes that do not affect the user:
- Javascript .NET <-> React communication has been modified to support both Microsoft.Web.WebView2 and Photino. The
latter does not support awaiting on .NET calls, so some basic async RPC has been implemented using deferred Promises. npm run build-and-copyno longer depends on Windows-specificxcopy.- Clicking and middle-clicking on links to external websites is now handled in the Backend for UI instead of the browser capabilities,
because I could not figure out how to make Photino intercept and cancel navigation and window opening events caused by clicking on<a href=links. - Backend for UI has been split to its own project ui-backend.
- React UI has been split to its own project ui-frontend.
- Javascript .NET <-> React communication has been modified to support both Microsoft.Web.WebView2 and Photino. The
- The internal architecture for handling session data has been drastically changed: live session data is no longer contained within the live user data.
0.0.1-alpha.7
Features:
- Sessions now show up above contacts, where online contacts participating in the session are grouped together.
Changes:
- XYVR is no longer allowed to be run twice to prevent the application overwriting each other's data.
- During data collection, the application will now detect if listing online and offline VRChat friends has failed to return all friends and will now try to recover from this inconsistency.
0.0.1-alpha.6
Fixes:
- Data collection no longer causes notes to be wiped and then rewritten.
Changes:
- The cached data for world names are invalidated after an hour, applicable once XYVR restarts. World data will be requested again only if needed.
- Change how we decide that someone is in a private world, rather than an unknown state.
- Change the terminology from "We" to "This application" in the privacy message.
Internal changes:
- Live monitoring updates and account updates are only sent to the UI when the data has actually changed, which avoids unnecessary data model updates on the React side.
- Most of the main data structures are now immutable.
- Prepare initialization code and project architecture to be more flexible if we want to support other social VR apps.