Commit Graph

83 Commits

Author SHA1 Message Date
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
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
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
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
Natsumi
4387719907 feat: Copy/open image, open last image 2023-05-08 14:53:47 +12:00
Natsumi
2be1a75fcb Small fixes 2023-04-22 01:06:51 +12:00
Natsumi
11f1f8063e Relaunch on game crash, log udon exceptions 2023-03-23 02:30:06 +13:00
Natsumi
bb8c3dcfa9 Refactor IPC 2023-03-21 03:03:42 +13:00
Natsumi
e029faeffd Reinit VR overlay if it fails to load 2023-03-05 00:50:13 +13:00
Natsumi
8b59e0fab1 Upload screenshot to gallery 2023-02-27 21:04:03 +13:00
Natsumi
7b824fb3f7 Various fixes and changes 2023-02-21 13:18:59 +13:00
Natsumi
1e4b427254 Screenshot metadata dialog (#490)
* docs: Add json schema for screenshot metadata

* feat(.NET): Add function to open a file and read screenshot metadata to AppApi

* refactor(.NET): Check initial file dialog directory before set

Paranoia is fun

* refactor(.NET): Stop reading entire png files into memory to check 8 bytes

* refactor(.NET): Handle endianness and keyword encoding correctly for screenshots

* docs: Add xmldocs and some comments to parts of the screenshot helper

* screenshot metadata dialog

* screenshot metadata dialog 1

* fix: file dialog open bool not resetting properly

* screenshot metadata dialog 2

* fix: Stop png parser from dying on bad files

Parser would keep reading past a file's IEND chunk, and it finally found one that had junk data past IEND. It died. This fixes that.

It also encapsulates the Read function in a try/catch so VRCX doesn't crash if it fails due to a corrupted file.

* fix: buggy carousel transition animation

---------

Co-authored-by: Teacup <git@teadev.xyz>
2023-02-19 10:14:29 +13:00
Natsumi
4cdf2127eb Flash taskbar icon on 2FA prompt 2023-02-15 02:33:45 +13:00
Natsumi
edba9f6468 feat: use JSON for image metadata format 2023-02-15 02:33:43 +13:00
Teacup
0f3b8c732a feat: Add options to save the current world name/id to screenshot metadata/filenames 2023-02-11 18:30:53 -05:00
Natsumi
0ba78b9155 Fixes 2023-01-22 21:39:25 +13:00
Natsumi
db0fc10dda Language UI option, auto choose language when none selected 2022-12-26 10:20:23 +13:00
Natsumi
3079efa7fd Small fixes 2022-12-19 02:26:42 +13:00
Natsumi
9ec7dbbe55 Debug logging, show/hide avatar 2022-12-15 23:57:29 +13:00
Natsumi
2ec43e97c1 Groups sorting 2022-12-14 22:05:17 +13:00
Natsumi
2fd992edf7 Debug logging message, custom script 2022-12-13 21:49:58 +13:00
Natsumi
3a062bf4b4 Invite to group 2022-12-09 21:50:39 +13:00
Natsumi
3268b898af Updater fixes 2022-12-07 12:28:50 +13:00
Natsumi
b0c41c6d08 Add overlayHand option, small fixes 2022-11-22 18:33:35 +13:00
Natsumi
2b75b00d49 Fix tray icon click focus 2022-10-14 19:33:48 +13:00
Natsumi
bc88792000 Version file 1 2022-10-04 08:06:35 +13:00
Natsumi
053e85047e Version file 2022-10-04 01:54:38 +13:00
Natsumi
418d5cc20e Get instance from shortName & fixes 2022-09-25 09:23:58 +12:00
Natsumi
e61fa926c5 Support launch URLs, Fixes 2022-09-14 23:12:55 +12:00
Natsumi
a4e8c8db58 Fixes 2022-08-04 17:02:17 +12:00
Natsumi
2128a6adfa isGameNoVR, remove steam login, remove copy instance, Fix PortalSpawn 2022-07-29 21:31:49 +12:00
Natsumi
b0109e60d3 Remove Steam auth 2022-07-29 21:31:45 +12:00
Natsumi
59bb021cd1 Direct access 1 click 2022-07-02 06:45:38 +12:00
Natsumi
f2b174d6a3 Companion 1.1.0 update 2022-06-25 19:46:00 +12:00
Natsumi
36ff14b0e8 VRC quit fix 2022-06-13 02:28:41 +12:00
Natsumi
6edd271e88 Random user colours 2022-05-17 11:14:04 +12:00
Natsumi
cc31ee38c3 Update copyright 2022-05-12 05:54:59 +12:00
Float3
baa37262fe check if Override Path points to folder or exe 2022-05-08 23:12:08 +02:00
Natsumi
b8ad02da95 Fix short urls 2022-04-25 18:18:08 +12:00
Natsumi
5d50150ad7 PC Uptime 2022-04-21 00:56:12 +12:00
Natsumi
bb5b58f21b Move download history button 2022-03-31 01:56:01 +13:00
Natsumi
ea581a2420 Apply title bar colour on theme change 2022-03-24 19:12:02 +13:00
Natsumi
7b93d5bd45 use cookies when fetching noty images 2022-03-21 09:29:51 +13:00
Natsumi
98c65779c7 VRChat Path Override 2022-03-21 09:29:38 +13:00
Natsumi
d7e737dd75 Maybe fix isGameRunning bug 2022-02-11 12:27:47 +13:00
Natsumi
85373b9032 12/24 hour time option + locale date format 2022-01-25 21:41:45 +13:00
Natsumi
03fbec6a08 Custom CSS support 2022-01-15 15:56:50 +13:00