[1706] OSCQuery response is broken
tracked
logi_9
Response obtained by accessing
http://127.0.0.1:<port>/
in a web browser: https://gist.github.com/logicmachine/b927b2c267b5525c9ea3506fa8be9a9fThe value of user-camera pose is not an array:
Expected response:
{"FULL_PATH":"/usercamera/Pose","ACCESS":1,"TYPE":"ffffff","VALUE":[0.0,0.0,0.0,0.0,0.0,0.0]}
Actual response:
{"FULL_PATH":"/usercamera/Pose","ACCESS":1,"TYPE":"ffffff","VALUE":[{"ÍÌÏÎÏÏÏÏÎÍÎÎÏÌÍÌÍÌÍÍÍÍÏ":[0.0,0.0,0.0,0.0,0.0,0.0]}]}
The
VALUE
for /usercamera/Pose
is wrapped by an object with a strange key.The response is cut off midway:
Actual response:
{"FULL_PATH":"/avatar/parameters/Fx_Color","ACCESS":3,"TYPE":"
The response is cut off midway and it becomes an invalid JSON.
Environments:
- VRChat Build 1706
- Avatar: avtr_5f2b783e-dd6c-490b-b52d-fe3240fc5f60
Log In
StormRel
Merged in a post:
OSCQuery sometimes returns incomplete/truncated JSON when response should contain /usercamera/Pose
Vinyarion
- Open VRChat
- Ensure OSC is enabled
- Find the OSCCQuery port
- Make a HTTP GET request to any path that contains the /usercamera/Posepath, e.g.,http://127.0.0.1:42069/usercamera/Pose
- Observe the incomplete/truncated JSON response, e.g., {"FULL_PATH":"/usercamera/Pose","ACCESS":1,"TYPE":"ffffff","VALUE":[{"ÍÌÏÎÏÏÏÏÎÍÎÎÏÌÍÌÍÌÍÍÍÍÏ":[0.0,
To me, it appears that an internal object containing the
/usercamera/Pose
float[6]
array is being serialized as JSON instead of the float[6]
itself, but the JSON output buffer had allocated only enough for the expected float[6]
array itself, leading to the VALUE
being noncompliant with the OSCQuery specification and completely breaking.StormRel
tracked