VRCX
VRCX copied to clipboard
White Screen with SharedVariable is not defined error
After VRC servers had issues one day (and most apps losing auth) - my VRCX got in a very odd state I am so far unable to recover from.
I tried removing everything that seemed related from all the AppData folders and generally by searching the whole drive for VRCX and CEF, but so far - no luck.
I booted up a dev build with sourcemaps and it spewed this error when debugging the JS side of it
I tried digging around a bit on the CEF docs, and seems like all of the BindObjectAync
stuff should get bound into the window scope, but so far everything but these two is getting bound.
After I changed their binding call to isAsync = true
in the Utils.cs
- it made them bound.
But because they're async - the JSON.parse(configRepository.getString('savedCredentials'))
is now throwing because it doesnt expect to get a promise. I didn't try replacing all of the config repository calls with an await
but I might just do that to see if it boots up
Hope that provides enough context to figure out what the actual issue is. I'll keep digging on my own for now
VRCX config is all self contained in the executable folder, delete VRCX.sqlite3
and VRCX.json
these files contain all the programs data and config. Or just re download release zip.
Update
After changing bindings to be isAsync = true
I went and made all the calls to the configRepository
use async
including the parent functions. And that "fixed it", as in I was able to load the login screen.
Afterwards I tried reverting it to see if it was just something with my config - but still got a crash. So for now I guess i'm going to be running this fully asynced version. Thankfully vue methods sorta work ok with async out of the box, so I didn't need to add any awaits to the things that call any $app.method.<methodName>
bound methods.
If you're interested in what I've done - here's my fork: https://github.com/orels1/VRCX/commit/2f6c89dcb614401a8bfcae37f08ccfc8a4332695
VRCX config is all self contained in the executable folder, delete
VRCX.sqlite3
andVRCX.json
these files contain all the programs data and config. Or just re download release zip.
I tried that - nothing helped. I even built a dev build in a totally different folder - and it still had the same errors
I know that .NET Core and .NET 5.0 do not have the needed WCF methods anymore for the old sync CEF bindings to work. Can it be that some windows update broke it or I just lack some older .NET?
Interesting... can you give building my fork a try? https://github.com/Natsumi-sama/VRCX hmmm if it were .NET related I would assume it wouldn't open but I could be wrong this is outside my expertise.
Interesting... can you give building my fork a try? https://github.com/Natsumi-sama/VRCX hmmm if it were .NET related I would assume it wouldn't open but I could be wrong this is outside my expertise.
Same issue with yours, I'm afraid :(
CEF itself supports new .NET, but based on the docs - the new .NET doesn't have WCF. And it doesnt seem like I can downgrade my .NET anymore, installing a 4.6.2 runtime throws a "you have a newer version" error.
I tried listing my devtools and runtimes, and it seems like I do not have any 4.x runtimes
And based on the MS Docs, the .NET 4.x is not even in the supported list anymore?
This is a fresh Windows 20H2 install.
For now I guess I can spend some time translating all of VRCXStorage
and SharedVariable
calls to async
, there is quite a bit of stuff, but I think its doable