specification
specification copied to clipboard
WorldsApi.SearchWorlds return null if can't find "favorites" property.
I'm just searching with sort "name", count "50" and offset "300". Result of that request is null. So I was get http response and see, that element with index 6 not have "favorites" property. I think this is problem, why result is null.
Normal world:
{
"id": "wrld_62478d20-875e-47a2-97eb-951026061051",
"name": "[hs]_meteor Avatar World",
"authorId": "usr_62b4988f-0d47-46d8-a82a-c4705d70b188",
"authorName": "sparkuality",
"capacity": 16,
"imageUrl": "https://api.vrchat.cloud/api/1/file/file_38809458-e5cd-4511-8f14-4c3fd1531b82/1/file",
"thumbnailImageUrl": "https://api.vrchat.cloud/api/1/image/file_38809458-e5cd-4511-8f14-4c3fd1531b82/1/256",
"releaseStatus": "public",
"organization": "vrchat",
"tags": [
"content_sex",
"content_violence",
"content_gore",
"content_other",
"author_tag_homestuck",
"author_tag_chill",
"author_tag_vibes",
"author_tag_hangout",
"author_tag_avatars",
"system_approved"
],
"favorites": 330,
"created_at": "2022-01-11T18:35:51.768Z",
"updated_at": "2022-02-13T19:26:26.251Z",
"publicationDate": "2022-02-13T15:53:45.034Z",
"labsPublicationDate": "2022-02-12T21:53:43.453Z",
"unityPackages": [
{
"platform": "android",
"unityVersion": "2019.4.31f1"
},
{
"platform": "standalonewindows",
"unityVersion": "2019.4.31f1"
}
],
"popularity": 4,
"heat": 2,
"occupants": 0
}
Problem world:
{
"id": "wrld_ac449e72-ca01-4e87-8758-5bbeb9a9b8a1",
"name": "[HotPocket]'s Hideout",
"authorId": "usr_2e7586f3-c87e-473f-a3b6-84678369ba59",
"authorName": "[HotPocket]",
"capacity": 16,
"imageUrl": "https://api.vrchat.cloud/api/1/file/file_aec2fd98-6629-409f-8172-f92416ec190d/4/file",
"thumbnailImageUrl": "https://api.vrchat.cloud/api/1/image/file_aec2fd98-6629-409f-8172-f92416ec190d/4/256",
"releaseStatus": "public",
"organization": "vrchat",
"tags": [
"system_labs",
"system_updated_recently"
],
"created_at": "2022-05-22T00:20:42.158Z",
"updated_at": "2022-05-24T08:57:21.847Z",
"publicationDate": "none",
"labsPublicationDate": "2022-05-22T00:20:42.274Z",
"unityPackages": [
{
"platform": "standalonewindows",
"unityVersion": "2019.4.31f1"
}
],
"popularity": 0,
"heat": 0,
"occupants": 0
}
Thank you for this discovery
@silentwasd I moved this issue to the specification repo, because I thought favorites was incorrectly marked as required, but it's not...
So there is a different issue here. It might be that this was fixed some time ago, but the C# SDK is currently having problem generating. Would you have time to please look at it? https://github.com/vrchatapi/vrchatapi-csharp Otherwise I'll look at it when I have time.
Kind of unrelated, but I still have to manually modify the generated dart code to fix an issue with the instances field on the world object
@Rexios80 What is it you're having to fix?
Old generated code that works:
BuiltList<BuiltList<JsonObject>>? get instances;
New generated code that doesn't:
BuiltList<BuiltList<JsonObject?>>? get instances;
The exception:
Unhandled exception:
DioError [DioErrorType.other]: Deserializing '[id, wrld_4cf554b4-430c-4f8f-b53e-1f294eed230b, name, The Black Cat, descript...' to 'World' failed due to: Deserializing '[[03613~region(use), 15], [15327, 16], [14615, 16], [01549~region(use), 16], ...' to 'BuiltList<BuiltList<JsonObject?>>' failed due to: Deserializing '[03613~region(use), 15]' to 'BuiltList<JsonObject?>' failed due to: Bad state: No builder factory for BuiltList<JsonObject?>. Fix by adding one, see SerializersBuilder.addBuilderFactory.
Except there is a builder factory for BuiltList<JsonObject?> in serializers.g.dart:
..addBuilderFactory(
const FullType(BuiltList, const [
const FullType(
BuiltList, const [const FullType.nullable(JsonObject)])
]),
() => new ListBuilder<BuiltList<JsonObject?>>())
This seems outdated. I'm now getting a favorites Property:
https://vrchat.com/api/1/worlds?sort=relevance&fuzzy=true&search=[Hotpocket]%27s+Hideout&n=12