Skip to content

Veilidchat protobuf error reading SignedContactResponse

So far we're able to complete the contact acceptance process and write a SignedContactResponse to the correct DHT key for the inbox. However when Veilidchat receives the notification on the DHT watch it is unable to parse our response:

14:00:39.937 🛑 Error: WaitingInvitationCubit InvalidProtocolBufferException: Protocol message end-group tag did not match expected tag.
#0      CodedBufferReader.checkLastTagWas (package:protobuf/src/protobuf/coded_buffer_reader.dart:42)
#1      GeneratedMessage.mergeFromBuffer (package:protobuf/src/protobuf/generated_message.dart:193)
#2      new SignedContactResponse.fromBuffer (package:veilidchat/proto/veilidchat.pb.dart:2232)
#3      new ContactRequestInboxCubit.<anonymous closure> (package:veilidchat/contact_invitation/cubits/contact_request_inbox_cubit.dart:17)
#4      DefaultDHTRecordCubit.makeStateFunction.<anonymous closure> (package:veilidsupport/dht_support/src/dht_record/default_dht_record_cubit.dart:42)
#5      DHTRecordCubit.init.<anonymous closure> (package:veilidsupport/dht_support/src/dht_record/dht_record_cubit.dart:64)
#6      DHTRecord.listen.<anonymous closure>.<anonymous closure> (package:veilid_support/dht_support/src/dht_record/dht_record.dart:479)
<asynchronous suspension>
#7      makeSerialFutureQueueItem.<anonymous closure> (package:asynctools/src/serial_future.dart:16)
<asynchronous suspension>
#8      runQueue.<anonymous closure> (package:asynctools/src/serial_future.dart:57)
<asynchronous suspension>

I've tried a number of things to try to isolate the issue, but no luck so far.