diff --git a/vrchat_dart/build.yaml b/vrchat_dart/build.yaml index 280da58d..90361174 100644 --- a/vrchat_dart/build.yaml +++ b/vrchat_dart/build.yaml @@ -6,3 +6,4 @@ targets: ignore_for_file: - document_ignores - require_trailing_commas + - not_null_assertion diff --git a/vrchat_dart/example/pubspec.yaml b/vrchat_dart/example/pubspec.yaml index 9b981fd5..54ddc5d3 100644 --- a/vrchat_dart/example/pubspec.yaml +++ b/vrchat_dart/example/pubspec.yaml @@ -11,7 +11,7 @@ dependencies: otp: ^3.1.3 dev_dependencies: - rexios_lints: ^15.0.0 + rexios_lints: ^16.0.0 dependency_overrides: vrchat_dart_generated: diff --git a/vrchat_dart/example_flutter/pubspec.yaml b/vrchat_dart/example_flutter/pubspec.yaml index 619b4037..67f9d0a6 100644 --- a/vrchat_dart/example_flutter/pubspec.yaml +++ b/vrchat_dart/example_flutter/pubspec.yaml @@ -15,7 +15,7 @@ dependencies: package_info_plus: ^9.0.0 dev_dependencies: - rexios_lints: ^15.0.0 + rexios_lints: ^16.0.0 dependency_overrides: vrchat_dart_generated: diff --git a/vrchat_dart/lib/src/model/api/limited_user.g.dart b/vrchat_dart/lib/src/model/api/limited_user.g.dart index 03cdeccb..c4be2f39 100644 --- a/vrchat_dart/lib/src/model/api/limited_user.g.dart +++ b/vrchat_dart/lib/src/model/api/limited_user.g.dart @@ -1,6 +1,6 @@ // GENERATED CODE - DO NOT MODIFY BY HAND -// ignore_for_file: document_ignores, require_trailing_commas +// ignore_for_file: document_ignores, require_trailing_commas, not_null_assertion part of 'limited_user.dart'; diff --git a/vrchat_dart/lib/src/model/streaming/streamed_current_user.g.dart b/vrchat_dart/lib/src/model/streaming/streamed_current_user.g.dart index 46bf84c1..ff120fe9 100644 --- a/vrchat_dart/lib/src/model/streaming/streamed_current_user.g.dart +++ b/vrchat_dart/lib/src/model/streaming/streamed_current_user.g.dart @@ -1,6 +1,6 @@ // GENERATED CODE - DO NOT MODIFY BY HAND -// ignore_for_file: document_ignores, require_trailing_commas +// ignore_for_file: document_ignores, require_trailing_commas, not_null_assertion part of 'streamed_current_user.dart'; diff --git a/vrchat_dart/lib/src/model/streaming/vrc_streaming_event.g.dart b/vrchat_dart/lib/src/model/streaming/vrc_streaming_event.g.dart index a59db5f4..0ed449c5 100644 --- a/vrchat_dart/lib/src/model/streaming/vrc_streaming_event.g.dart +++ b/vrchat_dart/lib/src/model/streaming/vrc_streaming_event.g.dart @@ -1,6 +1,6 @@ // GENERATED CODE - DO NOT MODIFY BY HAND -// ignore_for_file: document_ignores, require_trailing_commas +// ignore_for_file: document_ignores, require_trailing_commas, not_null_assertion part of 'vrc_streaming_event.dart'; diff --git a/vrchat_dart/lib/src/streaming/vrc_streaming.dart b/vrchat_dart/lib/src/streaming/vrc_streaming.dart index 04a9f3ef..2ab63aa5 100644 --- a/vrchat_dart/lib/src/streaming/vrc_streaming.dart +++ b/vrchat_dart/lib/src/streaming/vrc_streaming.dart @@ -1,5 +1,6 @@ import 'dart:async'; import 'dart:convert'; +import 'package:vrchat_dart/src/model/api/vrc_response.dart'; import 'package:vrchat_dart/src/model/vrchat_user_agent.dart'; import 'package:vrchat_dart_generated/vrchat_dart_generated.dart'; import 'package:web_socket_channel/web_socket_channel.dart'; @@ -32,19 +33,20 @@ class VrcStreaming { void start() async { _started = true; - final String authToken; - try { - final authResponse = await _rawApi - .getAuthenticationApi() - .verifyAuthToken(); - authToken = authResponse.data!.token; - } catch (error) { + final (success, failure) = await _rawApi + .getAuthenticationApi() + .verifyAuthToken() + .validateVrc(); + + if (success == null) { print( 'ERROR: Unable to fetch auth token. Make sure to successfully login before starting to stream.', ); return; } + final authToken = success.data.token; + _channel = connect( Uri.parse('$_baseUrl?authToken=$authToken'), userAgent: _userAgent.toString(), diff --git a/vrchat_dart/pubspec.yaml b/vrchat_dart/pubspec.yaml index d90c9f13..a29263b9 100644 --- a/vrchat_dart/pubspec.yaml +++ b/vrchat_dart/pubspec.yaml @@ -17,7 +17,7 @@ dependencies: meta: ^1.16.0 dev_dependencies: - rexios_lints: ^15.0.0 + rexios_lints: ^16.0.0 build_runner: ^2.0.6 json_serializable: ^6.0.1 yaml: ^3.1.1 diff --git a/vrchat_dart/tool/patch_input.dart b/vrchat_dart/tool/patch_input.dart index 54225f0b..b7fd92ac 100644 --- a/vrchat_dart/tool/patch_input.dart +++ b/vrchat_dart/tool/patch_input.dart @@ -36,7 +36,9 @@ Future> getSpec({required bool local}) async { final response = await dio.get( 'https://vrchatapi.github.io/specification/openapi.yaml', ); - yaml = loadYaml(response.data!); + final data = response.data; + if (data == null) throw 'Failed to fetch spec'; + yaml = loadYaml(data); } // Make the map modifiable diff --git a/vrchat_dart/tool/patch_output.dart b/vrchat_dart/tool/patch_output.dart index 7677496a..253e04f1 100644 --- a/vrchat_dart/tool/patch_output.dart +++ b/vrchat_dart/tool/patch_output.dart @@ -165,13 +165,13 @@ void patchAnalysisIssues() { '// ignore: deprecated_member_use_from_same_package\n$line', 'non_constant_identifier_names': (diagnostic, line) { final fieldMatch = RegExp(r'final .+ (\w+);').firstMatch(line); - if (fieldMatch != null) { - final group = fieldMatch[1]!; + final group1 = fieldMatch?[1]; + if (fieldMatch != null && group1 != null) { final file = diagnostic.location.file; identifierIssues.update( file, - (value) => value..add(group), - ifAbsent: () => {group}, + (value) => value..add(group1), + ifAbsent: () => {group1}, ); } return line;