fix(useragent): upgraded to new protocol changes

This commit is contained in:
hdbg
2026-04-03 22:03:02 +02:00
parent bc45b9b9ce
commit e47ccc3108
74 changed files with 7446 additions and 4904 deletions

View File

@@ -1,6 +1,5 @@
import 'package:arbiter/proto/client.pb.dart';
import 'package:arbiter/proto/shared/client.pb.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:hooks_riverpod/experimental/mutation.dart';
part 'callout_event.freezed.dart';

View File

@@ -2,7 +2,7 @@ import 'package:arbiter/features/callouts/active_callout.dart';
import 'package:arbiter/features/callouts/callout_event.dart';
import 'package:arbiter/features/callouts/types/sdk_connect_approve.dart'
as connect_approve;
import 'package:arbiter/proto/client.pb.dart';
import 'package:arbiter/proto/shared/client.pb.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'callout_manager.g.dart';

View File

@@ -1,6 +1,7 @@
import 'dart:convert';
import 'package:arbiter/features/callouts/callout_event.dart';
import 'package:arbiter/proto/user_agent/sdk_client.pb.dart' as ua_sdk;
import 'package:arbiter/proto/user_agent.pb.dart';
import 'package:arbiter/providers/connection/connection_manager.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
@@ -14,20 +15,27 @@ Stream<CalloutEvent> connectApproveEvents(Ref ref) async* {
await for (final message in connection.outOfBandMessages) {
switch (message.whichPayload()) {
case UserAgentResponse_Payload.sdkClientConnectionRequest:
final body = message.sdkClientConnectionRequest;
final id = base64Encode(body.pubkey);
yield CalloutEvent.added(
id: 'connect_approve:$id',
data: CalloutData.connectApproval(
pubkey: id,
clientInfo: body.info,
),
);
case UserAgentResponse_Payload.sdkClient:
final sdkClientMessage = message.sdkClient;
switch (sdkClientMessage.whichPayload()) {
case ua_sdk.Response_Payload.connectionRequest:
final body = sdkClientMessage.connectionRequest;
final id = base64Encode(body.pubkey);
yield CalloutEvent.added(
id: 'connect_approve:$id',
data: CalloutData.connectApproval(
pubkey: id,
clientInfo: body.info,
),
);
case UserAgentResponse_Payload.sdkClientConnectionCancel:
final id = base64Encode(message.sdkClientConnectionCancel.pubkey);
yield CalloutEvent.cancelled(id: 'connect_approve:$id');
case ua_sdk.Response_Payload.connectionCancel:
final id = base64Encode(sdkClientMessage.connectionCancel.pubkey);
yield CalloutEvent.cancelled(id: 'connect_approve:$id');
default:
break;
}
default:
break;
@@ -41,11 +49,14 @@ Future<void> sendDecision(Ref ref, String pubkey, bool approved) async {
final bytes = base64Decode(pubkey);
final req = UserAgentRequest(sdkClientConnectionResponse: SdkClientConnectionResponse(
approved: approved,
pubkey: bytes
));
final req = UserAgentRequest(
sdkClient: ua_sdk.Request(
connectionResponse: ua_sdk.ConnectionResponse(
approved: approved,
pubkey: bytes,
),
),
);
await connection.tell(req);
}
}

View File

@@ -47,4 +47,4 @@ final class ConnectApproveEventsProvider
}
String _$connectApproveEventsHash() =>
r'6a0998288afc0836a7c1701a983f64c33d318fd6';
r'abab87cc875a9a4834f836c2c0eba4aa7671d82e';