Commit Graph

1607 Commits

Author SHA1 Message Date
Natsumi
c19a7101a6 Build user created themes into app 2023-06-09 02:20:07 +12:00
Natsumi
3780d61054 Small fixes 2023-06-07 18:28:16 +12:00
Natsumi
09c4087ed4 Revert cleanup 2023-06-07 18:28:13 +12:00
Natsumi
f674b61b73 New instance for groups, small changes 2023-06-07 01:05:06 +12:00
Natsumi
7b63859de9 more cleanup 2023-06-07 01:03:33 +12:00
Natsumi
e1de8508c6 cleanup 2023-06-07 01:03:29 +12:00
Teacup
70249ea790 feat: Add new request types, world param, better error handling, various fixes (#558)
* feat: Add option for worlds to get data from other worlds

* docs: Add docs to new methods

* refactor: Add more error handling for potential edge cases

* fix: Catch exception for http listener start

* fix: Maybe stop throwing js exceptions at start from process check

* fix: Stop VRCX from dying if monitored processes are elevated

* fix: If auto close is turned off, update process states properly

* refactor: Limit db key length to 255, limit /getall to 10000 entries
2023-06-07 01:00:42 +12:00
Natsumi
f2c7275000 Fix for deleted groups 2023-06-04 13:04:28 +12:00
Teacup
7e17af8c7a feat: Add request types to delete data/change external reads setting 2023-06-04 11:07:48 +12:00
Natsumi
e0bde3be98 Tabbed side panel 2023-06-04 11:07:45 +12:00
Natsumi
61fa42f897 Many fixes and instance queuing notification 2023-06-04 11:07:42 +12:00
Natsumi
11d92cabba Fix friends not being shown in current user instance while traveling 2023-06-03 07:25:11 +12:00
Natsumi
fc4d94c279 Group instances 2023-06-03 07:25:07 +12:00
Teacup
ada39a05a7 Add /settings endpoint, clean up README, make WorldDB U# impl easier/faster (#556)
* docs: Change readme

* feat: New /settings endpoint; Make U# implementation easier

To further avoid the 5 second string loading delay, developers are no longer required to use /init before getting data; Every data request endpoint will now initialize the world automatically and include a connection key in the response.

Changed the way debug init works; It should now work for all endpoints without extra checks by just returning the current world as wrld_12345.

New /settings endpoint allows the change of the allow_external_reads column in the database, but getting data is currently unimplemented.

Fix store request logging being... completely wrong.

* Update README.md

Co-authored-by: Tayou <31988415+TayouVR@users.noreply.github.com>

---------

Co-authored-by: Tayou <31988415+TayouVR@users.noreply.github.com>
2023-06-03 07:23:32 +12:00
Natsumi
d45f9ad001 Fix group name and access type 2023-06-02 13:00:07 +12:00
Teacup
7d6ca28f86 feat: Add /getall, logging to .NET, fix manager not getting traveling world (#554)
* fix: Fix world-db not getting current world properly when traveling

* fix: Stop redundant and exception-prone funcResult definition

* Fix: fetching current location

* refactor: Move constructing responseData to its own functions

* Fix: ignore own string requests

* feat: Add NLog dependency, and add some logging to .NET, mostly worlddb

* fix: I missed a semicolon

* refactor: Add more debug logging, change log format, archive less

* feat: Add /getall endpoint

---------

Co-authored-by: Natsumi <cmcooper123@hotmail.com>
2023-06-02 12:59:31 +12:00
Natsumi
033e2691ae Lint 2023-06-01 10:39:15 +12:00
Natsumi
2fbc880c87 Group search 2023-06-01 10:37:43 +12:00
Natsumi
c409a8189c Groups plus 2023-06-01 10:37:40 +12:00
Natsumi
47ddea756f Change VRCX default settings 2023-06-01 10:37:34 +12:00
Natsumi
44d63c2f32 Add TC and SC fonts 2023-06-01 10:37:22 +12:00
Natsumi
9501a18972 Remove API key 2023-06-01 10:37:19 +12:00
Natsumi
5995a3f86a search by worldId/InstanceId in feed and gameLog 2023-06-01 10:37:14 +12:00
Teacup
0101f3474f Add systems for local world persistence (#553)
* chore: Change vscode workspace settings to work with omnisharp

* refactor(.NET): Use connection string builder to init sqlite database

* docs(.NET): Add method documentation to most things that matter

* docs(.NET): Add more docs I forgot to commit apparently

* feat: Add PoC world database structure ^& http listener

* fix: Send a response if VRCX isn't initialized rather than hanging

* feat: Initialize world db schema on startup

* feat: Allow worlds to store data in db through logfile

* use existing current location for worldDB

* Add tooltips

* chore: Make it so vscode can format C# files without prettier

* refactor: Add sqlite-net to (eventually) replace sqlite impl

* refactor: Make use of sqlite-net for world database

* docs: Add todo for fixing some random exception

* refactor: Remove now-unused SQLiteWorld

* refactor: Fix DB init query and change table structure again

* refactor: Add WorldDataRequest, add attributes for camelcase json keys

* Support current user location from API in addition to gameLog

* Change current location check for worldDB

* feat: Take store requests in JSON, identify worlds by GUID on store.

* refactor: Remove unused worldId param from connection key generator

* docs: Add more documentation to the methods for the world database

* fix: Hey wait that's not a primary key

* feat: Add a 10MB data cap for worlds shared across all of their rows.

* fix: Don't calculate size of world date twice when inserting

* refactor: Discard the guid variable since we only check for validity

* docs: Add docs/comments for new data cap functionality

* feat: Implement /getbulk API endpoint

* fix: Correct WorldDB init query typo

* fix: Update data entries properly instead of using 'OR REPLACE'

* refactor: Move endpoint processing to separate methods

* refactor: Add another check for error 503, remove old code

* feat: Add debug capability to /vrcx/getbulk

* fix: Correct the usage of getUser in actuallyGetCurrentLocation

* feat: Add store errors, implement external reading, stop 404ing

* docs: Add docs for new world db funcs

* refactor: Change world db server listen port to 22500

* fix: Use getUser correctly, dumb dumb

* fix: This error set shouldn't be here

* feat: Future-proof api endpoints. Add /status endpoint

---------

Co-authored-by: Natsumi <cmcooper123@hotmail.com>
2023-06-01 10:34:50 +12:00
flower_elf
b06cba0669 Update localization (#552)
* Update localization

* Update zh_CN.json

* Update zh_CN.json
2023-06-01 10:34:43 +12:00
Natsumi
a27a767563 Support current user location from API in addition to gameLog 2023-05-28 11:01:48 +12:00
Natsumi
fcfa1d06f1 Add tooltips 2023-05-28 11:01:29 +12:00
Natsumi
1f4e8a4148 Update installer, now supports silent fresh install and automatically kills VRCX 2023-05-28 11:01:22 +12:00
Natsumi
7d7a71b74e GroupAccessType 2023-05-23 19:56:04 +12:00
Natsumi
b78dfb863c Small fixes 2023-05-23 19:56:00 +12:00
Natsumi
a2777e6190 chore(.NET): update to Cef 113 2023-05-23 19:55:56 +12:00
Natsumi
33a19efe33 Lint 2023-05-18 10:59:58 +12:00
Natsumi
1a2aacbba2 Fix auto updater toggle, load friendsList tab much faster 2023-05-18 10:59:55 +12:00
Natsumi
ac3276a5b0 chore(npm): update deps 2023-05-18 10:59:52 +12:00
Teacup
0a9f8f0a34 chore(.NET): Remove unused System.Management reference 2023-05-18 10:59:50 +12:00
Teacup
355bb40f27 feat: AppLauncher will now auto kill child processes of started apps 2023-05-18 10:59:47 +12:00
Kamiya
b4f9210077 Update zh_TW.json (#546) 2023-05-18 10:57:45 +12:00
Hactazia
d0030d8b31 Adding French language (#547) 2023-05-18 10:57:38 +12:00
あさると
19b03454fa update jp translation (#549) 2023-05-18 10:57:30 +12:00
Natsumi
38be266b9e Fix login page 2023-05-14 01:37:18 +12:00
Natsumi
5ef68eb2be Lint 2023-05-13 22:28:53 +12:00
あさると
9e141d8a4d update translation PR 536 (#539) 2023-05-13 22:28:11 +12:00
XoFKon
42b9c51801 Update zh_TW.json (#543) 2023-05-13 22:28:06 +12:00
Teacup
24f1a57c5d Add applauncher settings, refactor some pug code (#544)
* fix(.NET): Stop CheckGameRunning from force checking processes

I'm not really sure what I was thinking when I did that the way I did; They are not supposed to force check if they're closed after the first time...That's what the monitor is for.

* feat(.NET): Add optional child process culling, clean up applauncher

Add an AppApi method to set applauncher settings Enabled/KillChildrenOnExit

Refactor repeated applauncher event code, move into methods

* refactor: Move the pug code for every tab into its own file

* refactor: Add PoC mixins to settings.pug ^& add comments for navigation

Some proof of concept replacements of the categories, switches and a radio group in the General settings seection.
Also added comments for each header-separated section for marginally better navigation of the file.

* refactor: Move the login page to its own file

* fix(.NET): Correct wrong variable being set in SetAppLauncherSettings

* fix(.NET): Remove redundant/exception causing process refresh in monitor

* refactor(.NET): Allow launcher to be disabled; Disabled by default.

* refactor: Change screenshot helper default to true

* feat: Expose new app launcher settings, add new settings category

Translation keys added/removed:
+ view.settings.advanced.advanced.app_launcher.header
+ view.settings.advanced.advanced.app_launcher.folder_tooltip
+ view.settings.advanced.advanced.app_launcher.enable
+ view.settings.advanced.advanced.app_launcher.auto_close
- view.settings.advanced.advanced.auto_launch
- view.settings.advanced.advanced.auto_launch_tooltip

* Add GPU Fix and Udon Exception Logging options, unload favorites tab when not in use

* Fix GPUFix typo

* Fix GPUFix typo 1

* Add logging for AVPro streams without usharp videoplayer

* Lint

---------

Co-authored-by: Natsumi <cmcooper123@hotmail.com>
2023-05-13 22:26:29 +12:00
Natsumi
b538d614e3 Linter bracket spacing 1 2023-05-10 17:11:14 +12:00
Natsumi
debaba13b0 Linter bracket spacing 2023-05-10 17:10:46 +12:00
Teacup
0ab84f1714 chore: Add code folding regions to app.js for better organization
I thought it would be nice for app.js to roleplay as an organized code file. So I made a regex to prepend all existing manually commented code areas such as "App: FriendLog" with #region so that VSCode can fold them.

There were a couple uncommented regions that are now commented with summaries I can only describe as 'I tried'
2023-05-10 17:10:22 +12:00
Natsumi
b63cbe64e6 Don't relaunch game in VR mode after crashing 2023-05-10 17:05:50 +12:00
Natsumi
f69faa7ffe Load GPUFix and LaunchDebug from config (#542)
* Load GPUFix and LaunchDebug from config

* Fix GPUFix and LaunchDebug being set to false if not in config

---------

Co-authored-by: Nekromateion <43814053+Nekromateion@users.noreply.github.com>
2023-05-10 17:00:01 +12:00
Natsumi
bb31ce5736 feat: Add an automatic app launcher (#541)
* refactor: Change OpenImageFolder to use a winapi call

It will open the given file in any existing explorer instances instead of opening a new shell every time, handle longer paths, and work with third-party filesystem viewers with winapi hooks(well, this one).

* feat: Add an automatic app launcher

The launcer will automatically launch apps in the 'startup' folder under the VRCX appdata folder when VRChat has started, and close them when VRChat dies(or is closed).

* refactor: Add new class for monitoring VRC processes

This replaces the old AppApi functionality that would poll all processes twice to grab the status of both VRChat and vrserver.exe every... *checks app.js* 500ms.

It also raises events for when a monitored process is started/closed, mainly for the new AppLauncher feature, which is now using this class instead of monitoring vrchat itself.

* refactor: Add tooltip for launch folder button

* docs: Add some notes on potential issues with Process.HasExited

* Change CheckGameRunning from polling to events

---------

Co-authored-by: Teacup <git@teadev.xyz>
2023-05-10 16:57:25 +12:00