Watch
1
0
Fork
You've already forked nexus
0
forked from Nexus/nexus

fallback to empty profile if fetch fails

This commit is contained in:
Henry Hiles 2026-09-09 15:19:10 -04:00
commit 4314c88d5c
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
3 changed files with 10 additions and 4 deletions

2
gomuks

@ -1 +1 @@
Subproject commit 9444dd293664c300c6e710bb6cddcd9c6cab365d Subproject commit 0e06c7b74f96d3e29a8101893ca1921d13a90573

View file

@ -2,6 +2,7 @@ import "dart:ffi";
import "dart:io"; import "dart:io";
import "dart:isolate"; import "dart:isolate";
import "dart:math"; import "dart:math";
import "package:fast_immutable_collections/fast_immutable_collections.dart"; import "package:fast_immutable_collections/fast_immutable_collections.dart";
import "package:ffi/ffi.dart"; import "package:ffi/ffi.dart";
import "package:flutter/foundation.dart"; import "package:flutter/foundation.dart";
@ -261,8 +262,13 @@ class ClientController extends AsyncNotifier<int> {
Future<Paginate> paginate(PaginateRequest request) async => Future<Paginate> paginate(PaginateRequest request) async =>
.fromJson(await _sendCommand("paginate", request.toJson())); .fromJson(await _sendCommand("paginate", request.toJson()));
Future<ProfileResponse> getProfile(String userId) async => Future<ProfileResponse> getProfile(String userId) async {
.fromJson(await _sendCommand("get_profile", {"user_id": userId})); try {
return .fromJson(await _sendCommand("get_profile", {"user_id": userId}));
} catch (_) {
return ProfileResponse(profile: .new(id: userId));
}
}
Future<void> reportEvent(ReportRequest request) => Future<void> reportEvent(ReportRequest request) =>
_sendCommand("report_event", request.toJson()); _sendCommand("report_event", request.toJson());

View file

@ -9,7 +9,7 @@ part "profile_response.g.dart";
@JsonSerializable() @JsonSerializable()
class const ProfileResponse({ class const ProfileResponse({
@JsonKey(fromJson: Profile.fromJson) required final Profile profile, @JsonKey(fromJson: Profile.fromJson) required final Profile profile,
required final Bio? bio, final Bio? bio,
}) with _$ProfileResponse { }) with _$ProfileResponse {
Map<String, Object?> toJson() => _$ProfileResponseToJson(this); Map<String, Object?> toJson() => _$ProfileResponseToJson(this);