status-go/protocol/protobuf/application_metadata_messag...

615 lines
24 KiB
Go
Raw Normal View History

2022-03-24 09:35:56 +00:00
// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: application_metadata_message.proto
package protobuf
import (
fmt "fmt"
2020-01-02 09:10:19 +00:00
proto "github.com/golang/protobuf/proto"
2022-03-24 09:35:56 +00:00
io "io"
math "math"
2022-03-24 09:35:56 +00:00
math_bits "math/bits"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type ApplicationMetadataMessage_Type int32
const (
ApplicationMetadataMessage_UNKNOWN ApplicationMetadataMessage_Type = 0
ApplicationMetadataMessage_CHAT_MESSAGE ApplicationMetadataMessage_Type = 1
ApplicationMetadataMessage_CONTACT_UPDATE ApplicationMetadataMessage_Type = 2
ApplicationMetadataMessage_MEMBERSHIP_UPDATE_MESSAGE ApplicationMetadataMessage_Type = 3
ApplicationMetadataMessage_PAIR_INSTALLATION ApplicationMetadataMessage_Type = 4
ApplicationMetadataMessage_SYNC_INSTALLATION ApplicationMetadataMessage_Type = 5
ApplicationMetadataMessage_REQUEST_ADDRESS_FOR_TRANSACTION ApplicationMetadataMessage_Type = 6
ApplicationMetadataMessage_ACCEPT_REQUEST_ADDRESS_FOR_TRANSACTION ApplicationMetadataMessage_Type = 7
ApplicationMetadataMessage_DECLINE_REQUEST_ADDRESS_FOR_TRANSACTION ApplicationMetadataMessage_Type = 8
ApplicationMetadataMessage_REQUEST_TRANSACTION ApplicationMetadataMessage_Type = 9
ApplicationMetadataMessage_SEND_TRANSACTION ApplicationMetadataMessage_Type = 10
ApplicationMetadataMessage_DECLINE_REQUEST_TRANSACTION ApplicationMetadataMessage_Type = 11
ApplicationMetadataMessage_SYNC_INSTALLATION_CONTACT ApplicationMetadataMessage_Type = 12
ApplicationMetadataMessage_SYNC_INSTALLATION_ACCOUNT ApplicationMetadataMessage_Type = 13
ApplicationMetadataMessage_SYNC_INSTALLATION_PUBLIC_CHAT ApplicationMetadataMessage_Type = 14
2020-07-03 08:26:35 +00:00
ApplicationMetadataMessage_CONTACT_CODE_ADVERTISEMENT ApplicationMetadataMessage_Type = 15
ApplicationMetadataMessage_PUSH_NOTIFICATION_REGISTRATION ApplicationMetadataMessage_Type = 16
ApplicationMetadataMessage_PUSH_NOTIFICATION_REGISTRATION_RESPONSE ApplicationMetadataMessage_Type = 17
2020-06-30 07:50:59 +00:00
ApplicationMetadataMessage_PUSH_NOTIFICATION_QUERY ApplicationMetadataMessage_Type = 18
2020-07-03 08:26:35 +00:00
ApplicationMetadataMessage_PUSH_NOTIFICATION_QUERY_RESPONSE ApplicationMetadataMessage_Type = 19
ApplicationMetadataMessage_PUSH_NOTIFICATION_REQUEST ApplicationMetadataMessage_Type = 20
ApplicationMetadataMessage_PUSH_NOTIFICATION_RESPONSE ApplicationMetadataMessage_Type = 21
ApplicationMetadataMessage_EMOJI_REACTION ApplicationMetadataMessage_Type = 22
2020-08-07 13:49:37 +00:00
ApplicationMetadataMessage_GROUP_CHAT_INVITATION ApplicationMetadataMessage_Type = 23
ApplicationMetadataMessage_CHAT_IDENTITY ApplicationMetadataMessage_Type = 24
ApplicationMetadataMessage_COMMUNITY_DESCRIPTION ApplicationMetadataMessage_Type = 25
ApplicationMetadataMessage_COMMUNITY_INVITATION ApplicationMetadataMessage_Type = 26
2021-01-11 10:32:51 +00:00
ApplicationMetadataMessage_COMMUNITY_REQUEST_TO_JOIN ApplicationMetadataMessage_Type = 27
ApplicationMetadataMessage_PIN_MESSAGE ApplicationMetadataMessage_Type = 28
2021-06-07 08:31:27 +00:00
ApplicationMetadataMessage_EDIT_MESSAGE ApplicationMetadataMessage_Type = 29
ApplicationMetadataMessage_STATUS_UPDATE ApplicationMetadataMessage_Type = 30
ApplicationMetadataMessage_DELETE_MESSAGE ApplicationMetadataMessage_Type = 31
ApplicationMetadataMessage_SYNC_INSTALLATION_COMMUNITY ApplicationMetadataMessage_Type = 32
Anon Metrics Broadcast (#2198) * Protobufs and adapters * Added basic anon metric service and config init * Added fibonacci interval incrementer * Added basic Client.Start func and integrated interval incrementer * Added new processed field to app metrics table * Added id column to app metrics table * Added migration clean up * Added appmetrics GetUnprocessed and SetToProcessedByIDs and tests There was a wierd bug where metrics in the db that did not explicitly insert a value would be NULL, so could not be found by . In addition I've added a new primary id field to the app_metrics table so that updates could be done against very specific metric rows. * Updated adaptors and db to handle proto_id I need a way to distinguish individual metric items from each other so that I can ignore the ones that have been seen before. * Moved incrementer into dedicated file * Resolve incrementer test fail * Finalised the main loop functionality * Implemented delete loop framework * Updated adaptors file name * Added delete loop delay and quit, and tweak on RawMessage gen * Completed delete loop logic * Added DBLock to prevent deletion during mainLoop * Added postgres DB connection, integrated into anonmetrics.Server * Removed proto_id from SQL migration and model * Integrated postgres with Server and updated adaptors * Function name update * Added sample config files for client and server * Fixes and testing for low level e2e * make generate * Fix lint * Fix for receiving an anonMetricBatch not in server mode * Postgres test fixes * Tidy up, make vendor and make generate * delinting * Fixing database tests * Attempted fix of does: cannot open `does' (No such file or directory) not: cannot open `not' (No such file or directory) exist: cannot open `exist' (No such file or directory) error on sql resource loas * Moved all anon metric postgres migration logic and sources into a the protocol/anonmetrics package or sub packages. I don't know if this will fix the does: cannot open `does' (No such file or directory) not: cannot open `not' (No such file or directory) exist: cannot open `exist' (No such file or directory) error that happens in Jenkins but this could work * Lint for the lint god * Why doesn't the linter list all its problems at once? * test tweaks * Fix for wakuV2 change * DB reset change * Fix for postgres db migrations fails * More robust implementation of postgres test setup and teardown * Added block for anon metrics functionality * Version Bump to 0.84.0 * Added test to check anon metrics broadcast is deactivated * Protobufs and adapters * Added basic anon metric service and config init * Added new processed field to app metrics table * Added id column to app metrics table * Added migration clean up * Added appmetrics GetUnprocessed and SetToProcessedByIDs and tests There was a wierd bug where metrics in the db that did not explicitly insert a value would be NULL, so could not be found by . In addition I've added a new primary id field to the app_metrics table so that updates could be done against very specific metric rows. * Updated adaptors and db to handle proto_id I need a way to distinguish individual metric items from each other so that I can ignore the ones that have been seen before. * Added postgres DB connection, integrated into anonmetrics.Server * Removed proto_id from SQL migration and model * Integrated postgres with Server and updated adaptors * Added sample config files for client and server * Fix lint * Fix for receiving an anonMetricBatch not in server mode * Postgres test fixes * Tidy up, make vendor and make generate * Moved all anon metric postgres migration logic and sources into a the protocol/anonmetrics package or sub packages. I don't know if this will fix the does: cannot open `does' (No such file or directory) not: cannot open `not' (No such file or directory) exist: cannot open `exist' (No such file or directory) error that happens in Jenkins but this could work
2021-09-01 12:02:18 +00:00
ApplicationMetadataMessage_ANONYMOUS_METRIC_BATCH ApplicationMetadataMessage_Type = 33
2021-10-05 17:26:02 +00:00
ApplicationMetadataMessage_SYNC_CHAT_REMOVED ApplicationMetadataMessage_Type = 34
2021-10-12 10:33:32 +00:00
ApplicationMetadataMessage_SYNC_CHAT_MESSAGES_READ ApplicationMetadataMessage_Type = 35
ApplicationMetadataMessage_BACKUP ApplicationMetadataMessage_Type = 36
ApplicationMetadataMessage_SYNC_ACTIVITY_CENTER_READ ApplicationMetadataMessage_Type = 37
ApplicationMetadataMessage_SYNC_ACTIVITY_CENTER_ACCEPTED ApplicationMetadataMessage_Type = 38
ApplicationMetadataMessage_SYNC_ACTIVITY_CENTER_DISMISSED ApplicationMetadataMessage_Type = 39
2022-01-17 03:42:11 +00:00
ApplicationMetadataMessage_SYNC_BOOKMARK ApplicationMetadataMessage_Type = 40
2022-02-10 10:00:59 +00:00
ApplicationMetadataMessage_SYNC_CLEAR_HISTORY ApplicationMetadataMessage_Type = 41
Sync Settings (#2478) * Sync Settings * Added valueHandlers and Database singleton Some issues remain, need a way to comparing incoming sql.DB to check if the connection is to a different file or not. Maybe make singleton instance per filename * Added functionality to check the sqlite filename * Refactor of Database.SaveSyncSettings to be used as a handler * Implemented inteface for setting sync protobuf factories * Refactored and completed adhoc send setting sync * Tidying up * Immutability refactor * Refactor settings into dedicated package * Breakout structs * Tidy up * Refactor of bulk settings sync * Bug fixes * Addressing feedback * Fix code dropped during rebase * Fix for db closed * Fix for node config related crashes * Provisional fix for type assertion - issue 2 * Adding robust type assertion checks * Partial fix for null literal db storage and json encoding * Fix for passively handling nil sql.DB, and checking if elem has len and if len is 0 * Added test for preferred name behaviour * Adding saved sync settings to MessengerResponse * Completed granular initial sync and clock from network on save * add Settings to isEmpty * Refactor of protobufs, partially done * Added syncSetting receiver handling, some bug fixes * Fix for sticker packs * Implement inactive flag on sync protobuf factory * Refactor of types and structs * Added SettingField.CanSync functionality * Addressing rebase artifact * Refactor of Setting SELECT queries * Refactor of string return queries * VERSION bump and migration index bump * Deactiveate Sync Settings * Deactiveated preferred_name and send_status_updates Co-authored-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-03-23 18:47:00 +00:00
ApplicationMetadataMessage_SYNC_SETTING ApplicationMetadataMessage_Type = 42
ApplicationMetadataMessage_COMMUNITY_ARCHIVE_MAGNETLINK ApplicationMetadataMessage_Type = 43
2022-03-24 09:35:56 +00:00
ApplicationMetadataMessage_SYNC_PROFILE_PICTURE ApplicationMetadataMessage_Type = 44
)
var ApplicationMetadataMessage_Type_name = map[int32]string{
0: "UNKNOWN",
1: "CHAT_MESSAGE",
2: "CONTACT_UPDATE",
3: "MEMBERSHIP_UPDATE_MESSAGE",
4: "PAIR_INSTALLATION",
5: "SYNC_INSTALLATION",
6: "REQUEST_ADDRESS_FOR_TRANSACTION",
7: "ACCEPT_REQUEST_ADDRESS_FOR_TRANSACTION",
8: "DECLINE_REQUEST_ADDRESS_FOR_TRANSACTION",
9: "REQUEST_TRANSACTION",
10: "SEND_TRANSACTION",
11: "DECLINE_REQUEST_TRANSACTION",
12: "SYNC_INSTALLATION_CONTACT",
13: "SYNC_INSTALLATION_ACCOUNT",
14: "SYNC_INSTALLATION_PUBLIC_CHAT",
2020-07-03 08:26:35 +00:00
15: "CONTACT_CODE_ADVERTISEMENT",
16: "PUSH_NOTIFICATION_REGISTRATION",
17: "PUSH_NOTIFICATION_REGISTRATION_RESPONSE",
2020-06-30 07:50:59 +00:00
18: "PUSH_NOTIFICATION_QUERY",
2020-07-03 08:26:35 +00:00
19: "PUSH_NOTIFICATION_QUERY_RESPONSE",
20: "PUSH_NOTIFICATION_REQUEST",
21: "PUSH_NOTIFICATION_RESPONSE",
22: "EMOJI_REACTION",
2020-08-07 13:49:37 +00:00
23: "GROUP_CHAT_INVITATION",
24: "CHAT_IDENTITY",
25: "COMMUNITY_DESCRIPTION",
26: "COMMUNITY_INVITATION",
2021-01-11 10:32:51 +00:00
27: "COMMUNITY_REQUEST_TO_JOIN",
28: "PIN_MESSAGE",
2021-06-07 08:31:27 +00:00
29: "EDIT_MESSAGE",
30: "STATUS_UPDATE",
31: "DELETE_MESSAGE",
32: "SYNC_INSTALLATION_COMMUNITY",
Anon Metrics Broadcast (#2198) * Protobufs and adapters * Added basic anon metric service and config init * Added fibonacci interval incrementer * Added basic Client.Start func and integrated interval incrementer * Added new processed field to app metrics table * Added id column to app metrics table * Added migration clean up * Added appmetrics GetUnprocessed and SetToProcessedByIDs and tests There was a wierd bug where metrics in the db that did not explicitly insert a value would be NULL, so could not be found by . In addition I've added a new primary id field to the app_metrics table so that updates could be done against very specific metric rows. * Updated adaptors and db to handle proto_id I need a way to distinguish individual metric items from each other so that I can ignore the ones that have been seen before. * Moved incrementer into dedicated file * Resolve incrementer test fail * Finalised the main loop functionality * Implemented delete loop framework * Updated adaptors file name * Added delete loop delay and quit, and tweak on RawMessage gen * Completed delete loop logic * Added DBLock to prevent deletion during mainLoop * Added postgres DB connection, integrated into anonmetrics.Server * Removed proto_id from SQL migration and model * Integrated postgres with Server and updated adaptors * Function name update * Added sample config files for client and server * Fixes and testing for low level e2e * make generate * Fix lint * Fix for receiving an anonMetricBatch not in server mode * Postgres test fixes * Tidy up, make vendor and make generate * delinting * Fixing database tests * Attempted fix of does: cannot open `does' (No such file or directory) not: cannot open `not' (No such file or directory) exist: cannot open `exist' (No such file or directory) error on sql resource loas * Moved all anon metric postgres migration logic and sources into a the protocol/anonmetrics package or sub packages. I don't know if this will fix the does: cannot open `does' (No such file or directory) not: cannot open `not' (No such file or directory) exist: cannot open `exist' (No such file or directory) error that happens in Jenkins but this could work * Lint for the lint god * Why doesn't the linter list all its problems at once? * test tweaks * Fix for wakuV2 change * DB reset change * Fix for postgres db migrations fails * More robust implementation of postgres test setup and teardown * Added block for anon metrics functionality * Version Bump to 0.84.0 * Added test to check anon metrics broadcast is deactivated * Protobufs and adapters * Added basic anon metric service and config init * Added new processed field to app metrics table * Added id column to app metrics table * Added migration clean up * Added appmetrics GetUnprocessed and SetToProcessedByIDs and tests There was a wierd bug where metrics in the db that did not explicitly insert a value would be NULL, so could not be found by . In addition I've added a new primary id field to the app_metrics table so that updates could be done against very specific metric rows. * Updated adaptors and db to handle proto_id I need a way to distinguish individual metric items from each other so that I can ignore the ones that have been seen before. * Added postgres DB connection, integrated into anonmetrics.Server * Removed proto_id from SQL migration and model * Integrated postgres with Server and updated adaptors * Added sample config files for client and server * Fix lint * Fix for receiving an anonMetricBatch not in server mode * Postgres test fixes * Tidy up, make vendor and make generate * Moved all anon metric postgres migration logic and sources into a the protocol/anonmetrics package or sub packages. I don't know if this will fix the does: cannot open `does' (No such file or directory) not: cannot open `not' (No such file or directory) exist: cannot open `exist' (No such file or directory) error that happens in Jenkins but this could work
2021-09-01 12:02:18 +00:00
33: "ANONYMOUS_METRIC_BATCH",
2021-10-05 17:26:02 +00:00
34: "SYNC_CHAT_REMOVED",
2021-10-12 10:33:32 +00:00
35: "SYNC_CHAT_MESSAGES_READ",
36: "BACKUP",
37: "SYNC_ACTIVITY_CENTER_READ",
38: "SYNC_ACTIVITY_CENTER_ACCEPTED",
39: "SYNC_ACTIVITY_CENTER_DISMISSED",
2022-01-17 03:42:11 +00:00
40: "SYNC_BOOKMARK",
2022-02-10 10:00:59 +00:00
41: "SYNC_CLEAR_HISTORY",
Sync Settings (#2478) * Sync Settings * Added valueHandlers and Database singleton Some issues remain, need a way to comparing incoming sql.DB to check if the connection is to a different file or not. Maybe make singleton instance per filename * Added functionality to check the sqlite filename * Refactor of Database.SaveSyncSettings to be used as a handler * Implemented inteface for setting sync protobuf factories * Refactored and completed adhoc send setting sync * Tidying up * Immutability refactor * Refactor settings into dedicated package * Breakout structs * Tidy up * Refactor of bulk settings sync * Bug fixes * Addressing feedback * Fix code dropped during rebase * Fix for db closed * Fix for node config related crashes * Provisional fix for type assertion - issue 2 * Adding robust type assertion checks * Partial fix for null literal db storage and json encoding * Fix for passively handling nil sql.DB, and checking if elem has len and if len is 0 * Added test for preferred name behaviour * Adding saved sync settings to MessengerResponse * Completed granular initial sync and clock from network on save * add Settings to isEmpty * Refactor of protobufs, partially done * Added syncSetting receiver handling, some bug fixes * Fix for sticker packs * Implement inactive flag on sync protobuf factory * Refactor of types and structs * Added SettingField.CanSync functionality * Addressing rebase artifact * Refactor of Setting SELECT queries * Refactor of string return queries * VERSION bump and migration index bump * Deactiveate Sync Settings * Deactiveated preferred_name and send_status_updates Co-authored-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-03-23 18:47:00 +00:00
42: "SYNC_SETTING",
43: "COMMUNITY_ARCHIVE_MAGNETLINK",
2022-03-24 09:35:56 +00:00
44: "SYNC_PROFILE_PICTURE",
}
var ApplicationMetadataMessage_Type_value = map[string]int32{
"UNKNOWN": 0,
"CHAT_MESSAGE": 1,
"CONTACT_UPDATE": 2,
"MEMBERSHIP_UPDATE_MESSAGE": 3,
"PAIR_INSTALLATION": 4,
"SYNC_INSTALLATION": 5,
"REQUEST_ADDRESS_FOR_TRANSACTION": 6,
"ACCEPT_REQUEST_ADDRESS_FOR_TRANSACTION": 7,
"DECLINE_REQUEST_ADDRESS_FOR_TRANSACTION": 8,
"REQUEST_TRANSACTION": 9,
"SEND_TRANSACTION": 10,
"DECLINE_REQUEST_TRANSACTION": 11,
"SYNC_INSTALLATION_CONTACT": 12,
"SYNC_INSTALLATION_ACCOUNT": 13,
"SYNC_INSTALLATION_PUBLIC_CHAT": 14,
2020-07-03 08:26:35 +00:00
"CONTACT_CODE_ADVERTISEMENT": 15,
"PUSH_NOTIFICATION_REGISTRATION": 16,
"PUSH_NOTIFICATION_REGISTRATION_RESPONSE": 17,
2020-06-30 07:50:59 +00:00
"PUSH_NOTIFICATION_QUERY": 18,
2020-07-03 08:26:35 +00:00
"PUSH_NOTIFICATION_QUERY_RESPONSE": 19,
"PUSH_NOTIFICATION_REQUEST": 20,
"PUSH_NOTIFICATION_RESPONSE": 21,
"EMOJI_REACTION": 22,
2020-08-07 13:49:37 +00:00
"GROUP_CHAT_INVITATION": 23,
"CHAT_IDENTITY": 24,
"COMMUNITY_DESCRIPTION": 25,
"COMMUNITY_INVITATION": 26,
2021-01-11 10:32:51 +00:00
"COMMUNITY_REQUEST_TO_JOIN": 27,
"PIN_MESSAGE": 28,
2021-06-07 08:31:27 +00:00
"EDIT_MESSAGE": 29,
"STATUS_UPDATE": 30,
"DELETE_MESSAGE": 31,
"SYNC_INSTALLATION_COMMUNITY": 32,
Anon Metrics Broadcast (#2198) * Protobufs and adapters * Added basic anon metric service and config init * Added fibonacci interval incrementer * Added basic Client.Start func and integrated interval incrementer * Added new processed field to app metrics table * Added id column to app metrics table * Added migration clean up * Added appmetrics GetUnprocessed and SetToProcessedByIDs and tests There was a wierd bug where metrics in the db that did not explicitly insert a value would be NULL, so could not be found by . In addition I've added a new primary id field to the app_metrics table so that updates could be done against very specific metric rows. * Updated adaptors and db to handle proto_id I need a way to distinguish individual metric items from each other so that I can ignore the ones that have been seen before. * Moved incrementer into dedicated file * Resolve incrementer test fail * Finalised the main loop functionality * Implemented delete loop framework * Updated adaptors file name * Added delete loop delay and quit, and tweak on RawMessage gen * Completed delete loop logic * Added DBLock to prevent deletion during mainLoop * Added postgres DB connection, integrated into anonmetrics.Server * Removed proto_id from SQL migration and model * Integrated postgres with Server and updated adaptors * Function name update * Added sample config files for client and server * Fixes and testing for low level e2e * make generate * Fix lint * Fix for receiving an anonMetricBatch not in server mode * Postgres test fixes * Tidy up, make vendor and make generate * delinting * Fixing database tests * Attempted fix of does: cannot open `does' (No such file or directory) not: cannot open `not' (No such file or directory) exist: cannot open `exist' (No such file or directory) error on sql resource loas * Moved all anon metric postgres migration logic and sources into a the protocol/anonmetrics package or sub packages. I don't know if this will fix the does: cannot open `does' (No such file or directory) not: cannot open `not' (No such file or directory) exist: cannot open `exist' (No such file or directory) error that happens in Jenkins but this could work * Lint for the lint god * Why doesn't the linter list all its problems at once? * test tweaks * Fix for wakuV2 change * DB reset change * Fix for postgres db migrations fails * More robust implementation of postgres test setup and teardown * Added block for anon metrics functionality * Version Bump to 0.84.0 * Added test to check anon metrics broadcast is deactivated * Protobufs and adapters * Added basic anon metric service and config init * Added new processed field to app metrics table * Added id column to app metrics table * Added migration clean up * Added appmetrics GetUnprocessed and SetToProcessedByIDs and tests There was a wierd bug where metrics in the db that did not explicitly insert a value would be NULL, so could not be found by . In addition I've added a new primary id field to the app_metrics table so that updates could be done against very specific metric rows. * Updated adaptors and db to handle proto_id I need a way to distinguish individual metric items from each other so that I can ignore the ones that have been seen before. * Added postgres DB connection, integrated into anonmetrics.Server * Removed proto_id from SQL migration and model * Integrated postgres with Server and updated adaptors * Added sample config files for client and server * Fix lint * Fix for receiving an anonMetricBatch not in server mode * Postgres test fixes * Tidy up, make vendor and make generate * Moved all anon metric postgres migration logic and sources into a the protocol/anonmetrics package or sub packages. I don't know if this will fix the does: cannot open `does' (No such file or directory) not: cannot open `not' (No such file or directory) exist: cannot open `exist' (No such file or directory) error that happens in Jenkins but this could work
2021-09-01 12:02:18 +00:00
"ANONYMOUS_METRIC_BATCH": 33,
2021-10-05 17:26:02 +00:00
"SYNC_CHAT_REMOVED": 34,
2021-10-12 10:33:32 +00:00
"SYNC_CHAT_MESSAGES_READ": 35,
"BACKUP": 36,
"SYNC_ACTIVITY_CENTER_READ": 37,
"SYNC_ACTIVITY_CENTER_ACCEPTED": 38,
"SYNC_ACTIVITY_CENTER_DISMISSED": 39,
2022-01-17 03:42:11 +00:00
"SYNC_BOOKMARK": 40,
2022-02-10 10:00:59 +00:00
"SYNC_CLEAR_HISTORY": 41,
Sync Settings (#2478) * Sync Settings * Added valueHandlers and Database singleton Some issues remain, need a way to comparing incoming sql.DB to check if the connection is to a different file or not. Maybe make singleton instance per filename * Added functionality to check the sqlite filename * Refactor of Database.SaveSyncSettings to be used as a handler * Implemented inteface for setting sync protobuf factories * Refactored and completed adhoc send setting sync * Tidying up * Immutability refactor * Refactor settings into dedicated package * Breakout structs * Tidy up * Refactor of bulk settings sync * Bug fixes * Addressing feedback * Fix code dropped during rebase * Fix for db closed * Fix for node config related crashes * Provisional fix for type assertion - issue 2 * Adding robust type assertion checks * Partial fix for null literal db storage and json encoding * Fix for passively handling nil sql.DB, and checking if elem has len and if len is 0 * Added test for preferred name behaviour * Adding saved sync settings to MessengerResponse * Completed granular initial sync and clock from network on save * add Settings to isEmpty * Refactor of protobufs, partially done * Added syncSetting receiver handling, some bug fixes * Fix for sticker packs * Implement inactive flag on sync protobuf factory * Refactor of types and structs * Added SettingField.CanSync functionality * Addressing rebase artifact * Refactor of Setting SELECT queries * Refactor of string return queries * VERSION bump and migration index bump * Deactiveate Sync Settings * Deactiveated preferred_name and send_status_updates Co-authored-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-03-23 18:47:00 +00:00
"SYNC_SETTING": 42,
"COMMUNITY_ARCHIVE_MAGNETLINK": 43,
2022-03-24 09:35:56 +00:00
"SYNC_PROFILE_PICTURE": 44,
}
func (x ApplicationMetadataMessage_Type) String() string {
return proto.EnumName(ApplicationMetadataMessage_Type_name, int32(x))
}
func (ApplicationMetadataMessage_Type) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_ad09a6406fcf24c7, []int{0, 0}
}
type ApplicationMetadataMessage struct {
// Signature of the payload field
Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
// This is the encoded protobuf of the application level message, i.e ChatMessage
Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
// The type of protobuf message sent
Type ApplicationMetadataMessage_Type `protobuf:"varint,3,opt,name=type,proto3,enum=protobuf.ApplicationMetadataMessage_Type" json:"type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ApplicationMetadataMessage) Reset() { *m = ApplicationMetadataMessage{} }
func (m *ApplicationMetadataMessage) String() string { return proto.CompactTextString(m) }
func (*ApplicationMetadataMessage) ProtoMessage() {}
func (*ApplicationMetadataMessage) Descriptor() ([]byte, []int) {
return fileDescriptor_ad09a6406fcf24c7, []int{0}
}
func (m *ApplicationMetadataMessage) XXX_Unmarshal(b []byte) error {
2022-03-24 09:35:56 +00:00
return m.Unmarshal(b)
}
func (m *ApplicationMetadataMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2022-03-24 09:35:56 +00:00
if deterministic {
return xxx_messageInfo_ApplicationMetadataMessage.Marshal(b, m, deterministic)
} else {
b = b[:cap(b)]
n, err := m.MarshalToSizedBuffer(b)
if err != nil {
return nil, err
}
return b[:n], nil
}
}
func (m *ApplicationMetadataMessage) XXX_Merge(src proto.Message) {
xxx_messageInfo_ApplicationMetadataMessage.Merge(m, src)
}
func (m *ApplicationMetadataMessage) XXX_Size() int {
2022-03-24 09:35:56 +00:00
return m.Size()
}
func (m *ApplicationMetadataMessage) XXX_DiscardUnknown() {
xxx_messageInfo_ApplicationMetadataMessage.DiscardUnknown(m)
}
var xxx_messageInfo_ApplicationMetadataMessage proto.InternalMessageInfo
func (m *ApplicationMetadataMessage) GetSignature() []byte {
if m != nil {
return m.Signature
}
return nil
}
func (m *ApplicationMetadataMessage) GetPayload() []byte {
if m != nil {
return m.Payload
}
return nil
}
func (m *ApplicationMetadataMessage) GetType() ApplicationMetadataMessage_Type {
if m != nil {
return m.Type
}
return ApplicationMetadataMessage_UNKNOWN
}
func init() {
proto.RegisterEnum("protobuf.ApplicationMetadataMessage_Type", ApplicationMetadataMessage_Type_name, ApplicationMetadataMessage_Type_value)
proto.RegisterType((*ApplicationMetadataMessage)(nil), "protobuf.ApplicationMetadataMessage")
}
func init() {
proto.RegisterFile("application_metadata_message.proto", fileDescriptor_ad09a6406fcf24c7)
}
var fileDescriptor_ad09a6406fcf24c7 = []byte{
2022-03-24 09:35:56 +00:00
// 775 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x54, 0xdd, 0x72, 0x13, 0x37,
0x14, 0xc6, 0x90, 0x26, 0xe4, 0x24, 0x04, 0x45, 0xe4, 0xc7, 0xf9, 0xb1, 0x63, 0x0c, 0x85, 0x00,
0x1d, 0x77, 0xa6, 0xbd, 0xec, 0xf4, 0x42, 0x96, 0x4e, 0x6c, 0xe1, 0x5d, 0x69, 0x91, 0xb4, 0xee,
0xb8, 0x37, 0x9a, 0xa5, 0xb8, 0x4c, 0x66, 0x00, 0x7b, 0x88, 0xb9, 0xc8, 0x9b, 0xf4, 0x91, 0x7a,
0xd9, 0x47, 0xe8, 0xa4, 0x7d, 0x8a, 0x5e, 0x75, 0xb4, 0x6b, 0x7b, 0x0d, 0x31, 0x70, 0x65, 0xeb,
0xfb, 0xbe, 0xa3, 0xa3, 0xf3, 0x9d, 0x73, 0x16, 0x9a, 0xd9, 0x78, 0xfc, 0xe6, 0xfc, 0xb7, 0x6c,
0x72, 0x3e, 0x7a, 0xe7, 0xdf, 0x0e, 0x27, 0xd9, 0xab, 0x6c, 0x92, 0xf9, 0xb7, 0xc3, 0x8b, 0x8b,
0xec, 0xf5, 0xb0, 0x35, 0x7e, 0x3f, 0x9a, 0x8c, 0xe8, 0xed, 0xfc, 0xe7, 0xe5, 0x87, 0xdf, 0x9b,
0xff, 0x01, 0x1c, 0xb2, 0x32, 0x20, 0x9e, 0xea, 0xe3, 0x42, 0x4e, 0x8f, 0x61, 0xfd, 0xe2, 0xfc,
0xf5, 0xbb, 0x6c, 0xf2, 0xe1, 0xfd, 0xb0, 0x5a, 0x69, 0x54, 0x4e, 0x37, 0x4d, 0x09, 0xd0, 0x2a,
0xac, 0x8d, 0xb3, 0xcb, 0x37, 0xa3, 0xec, 0x55, 0xf5, 0x66, 0xce, 0xcd, 0x8e, 0xf4, 0x67, 0x58,
0x99, 0x5c, 0x8e, 0x87, 0xd5, 0x5b, 0x8d, 0xca, 0xe9, 0xd6, 0x0f, 0x4f, 0x5a, 0xb3, 0x7c, 0xad,
0xcf, 0xe7, 0x6a, 0xb9, 0xcb, 0xf1, 0xd0, 0xe4, 0x61, 0xcd, 0x7f, 0xd7, 0x61, 0x25, 0x1c, 0xe9,
0x06, 0xac, 0xa5, 0xaa, 0xa7, 0xf4, 0x2f, 0x8a, 0xdc, 0xa0, 0x04, 0x36, 0x79, 0x97, 0x39, 0x1f,
0xa3, 0xb5, 0xac, 0x83, 0xa4, 0x42, 0x29, 0x6c, 0x71, 0xad, 0x1c, 0xe3, 0xce, 0xa7, 0x89, 0x60,
0x0e, 0xc9, 0x4d, 0x5a, 0x83, 0x83, 0x18, 0xe3, 0x36, 0x1a, 0xdb, 0x95, 0xc9, 0x14, 0x9e, 0x87,
0xdc, 0xa2, 0xbb, 0xb0, 0x9d, 0x30, 0x69, 0xbc, 0x54, 0xd6, 0xb1, 0x28, 0x62, 0x4e, 0x6a, 0x45,
0x56, 0x02, 0x6c, 0x07, 0x8a, 0x7f, 0x0c, 0x7f, 0x43, 0x1f, 0xc0, 0x89, 0xc1, 0x17, 0x29, 0x5a,
0xe7, 0x99, 0x10, 0x06, 0xad, 0xf5, 0x67, 0xda, 0x78, 0x67, 0x98, 0xb2, 0x8c, 0xe7, 0xa2, 0x55,
0xfa, 0x14, 0x1e, 0x31, 0xce, 0x31, 0x71, 0xfe, 0x6b, 0xda, 0x35, 0xfa, 0x0c, 0x1e, 0x0b, 0xe4,
0x91, 0x54, 0xf8, 0x55, 0xf1, 0x6d, 0xba, 0x0f, 0xf7, 0x66, 0xa2, 0x45, 0x62, 0x9d, 0xee, 0x00,
0xb1, 0xa8, 0xc4, 0x47, 0x28, 0xd0, 0x13, 0x38, 0xfa, 0xf4, 0xee, 0x45, 0xc1, 0x46, 0xb0, 0xe6,
0x5a, 0x91, 0x7e, 0x6a, 0x20, 0xd9, 0x5c, 0x4e, 0x33, 0xce, 0x75, 0xaa, 0x1c, 0xb9, 0x43, 0xef,
0x43, 0xed, 0x3a, 0x9d, 0xa4, 0xed, 0x48, 0x72, 0x1f, 0xfa, 0x42, 0xb6, 0x68, 0x1d, 0x0e, 0x67,
0xfd, 0xe0, 0x5a, 0xa0, 0x67, 0xa2, 0x8f, 0xc6, 0x49, 0x8b, 0x31, 0x2a, 0x47, 0xee, 0xd2, 0x26,
0xd4, 0x93, 0xd4, 0x76, 0xbd, 0xd2, 0x4e, 0x9e, 0x49, 0x5e, 0x5c, 0x61, 0xb0, 0x23, 0xad, 0x33,
0x85, 0xe5, 0x24, 0x38, 0xf4, 0x65, 0x8d, 0x37, 0x68, 0x13, 0xad, 0x2c, 0x92, 0x6d, 0x7a, 0x04,
0xfb, 0xd7, 0xc5, 0x2f, 0x52, 0x34, 0x03, 0x42, 0xe9, 0x43, 0x68, 0x7c, 0x86, 0x2c, 0xaf, 0xb8,
0x17, 0xaa, 0x5e, 0x96, 0x2f, 0xf7, 0x8f, 0xec, 0x84, 0x92, 0x96, 0xd1, 0xd3, 0xf0, 0xdd, 0x30,
0x82, 0x18, 0xeb, 0xe7, 0xd2, 0x1b, 0x9c, 0xfa, 0xbc, 0x47, 0x0f, 0x60, 0xb7, 0x63, 0x74, 0x9a,
0xe4, 0xb6, 0x78, 0xa9, 0xfa, 0xd2, 0x15, 0xd5, 0xed, 0xd3, 0x6d, 0xb8, 0x53, 0x80, 0x02, 0x95,
0x93, 0x6e, 0x40, 0xaa, 0x41, 0xcd, 0x75, 0x1c, 0xa7, 0x4a, 0xba, 0x81, 0x17, 0x68, 0xb9, 0x91,
0x49, 0xae, 0x3e, 0xa0, 0x55, 0xd8, 0x29, 0xa9, 0x85, 0x7b, 0x0e, 0xc3, 0xab, 0x4b, 0x66, 0xde,
0x6d, 0xed, 0x9f, 0x6b, 0xa9, 0xc8, 0x11, 0xbd, 0x0b, 0x1b, 0x89, 0x54, 0xf3, 0xb1, 0x3f, 0x0e,
0xbb, 0x83, 0x42, 0x96, 0xbb, 0x53, 0x0b, 0x2f, 0xb1, 0x8e, 0xb9, 0xd4, 0xce, 0x56, 0xa7, 0x1e,
0x6a, 0x11, 0x18, 0xe1, 0xc2, 0xbe, 0x9c, 0x84, 0xa1, 0x5a, 0x36, 0x33, 0xd3, 0xd4, 0xa4, 0x41,
0x0f, 0x61, 0x8f, 0x29, 0xad, 0x06, 0xb1, 0x4e, 0xad, 0x8f, 0xd1, 0x19, 0xc9, 0x7d, 0x9b, 0x39,
0xde, 0x25, 0xf7, 0xe7, 0x5b, 0x95, 0x97, 0x6c, 0x30, 0xd6, 0x7d, 0x14, 0xa4, 0x19, 0xba, 0x56,
0xc2, 0xd3, 0x54, 0x36, 0x18, 0x28, 0xc8, 0x03, 0x0a, 0xb0, 0xda, 0x66, 0xbc, 0x97, 0x26, 0xe4,
0xe1, 0x7c, 0x22, 0x83, 0xb3, 0xfd, 0x50, 0x29, 0x47, 0xe5, 0xd0, 0x14, 0xd2, 0x6f, 0xe7, 0x13,
0xf9, 0x29, 0x5d, 0x6c, 0x23, 0x0a, 0xf2, 0x28, 0x4c, 0xdc, 0x52, 0x89, 0x90, 0x36, 0x96, 0xd6,
0xa2, 0x20, 0x8f, 0x73, 0x27, 0x82, 0xa6, 0xad, 0x75, 0x2f, 0x66, 0xa6, 0x47, 0x4e, 0xe9, 0x1e,
0xd0, 0xe2, 0x85, 0x11, 0x32, 0xe3, 0xbb, 0xd2, 0x3a, 0x6d, 0x06, 0xe4, 0x49, 0xb0, 0x31, 0xc7,
0x2d, 0x3a, 0x27, 0x55, 0x87, 0x3c, 0xa5, 0x0d, 0x38, 0x2e, 0x1b, 0xc1, 0x0c, 0xef, 0xca, 0x3e,
0xfa, 0x98, 0x75, 0x14, 0xba, 0x48, 0xaa, 0x1e, 0x79, 0x16, 0x9a, 0x98, 0xc7, 0x24, 0x46, 0x9f,
0xc9, 0x08, 0x7d, 0x22, 0xb9, 0x4b, 0x0d, 0x92, 0xef, 0xda, 0xb5, 0x3f, 0xaf, 0xea, 0x95, 0xbf,
0xae, 0xea, 0x95, 0xbf, 0xaf, 0xea, 0x95, 0x3f, 0xfe, 0xa9, 0xdf, 0xf8, 0x75, 0xa3, 0xf5, 0xfd,
0x4f, 0xb3, 0x6f, 0xe5, 0xcb, 0xd5, 0xfc, 0xdf, 0x8f, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0xd8,
0x58, 0xf8, 0x50, 0xd2, 0x05, 0x00, 0x00,
}
func (m *ApplicationMetadataMessage) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
if err != nil {
return nil, err
}
return dAtA[:n], nil
}
func (m *ApplicationMetadataMessage) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *ApplicationMetadataMessage) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
if m.XXX_unrecognized != nil {
i -= len(m.XXX_unrecognized)
copy(dAtA[i:], m.XXX_unrecognized)
}
if m.Type != 0 {
i = encodeVarintApplicationMetadataMessage(dAtA, i, uint64(m.Type))
i--
dAtA[i] = 0x18
}
if len(m.Payload) > 0 {
i -= len(m.Payload)
copy(dAtA[i:], m.Payload)
i = encodeVarintApplicationMetadataMessage(dAtA, i, uint64(len(m.Payload)))
i--
dAtA[i] = 0x12
}
if len(m.Signature) > 0 {
i -= len(m.Signature)
copy(dAtA[i:], m.Signature)
i = encodeVarintApplicationMetadataMessage(dAtA, i, uint64(len(m.Signature)))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
func encodeVarintApplicationMetadataMessage(dAtA []byte, offset int, v uint64) int {
offset -= sovApplicationMetadataMessage(v)
base := offset
for v >= 1<<7 {
dAtA[offset] = uint8(v&0x7f | 0x80)
v >>= 7
offset++
}
dAtA[offset] = uint8(v)
return base
}
func (m *ApplicationMetadataMessage) Size() (n int) {
if m == nil {
return 0
}
var l int
_ = l
l = len(m.Signature)
if l > 0 {
n += 1 + l + sovApplicationMetadataMessage(uint64(l))
}
l = len(m.Payload)
if l > 0 {
n += 1 + l + sovApplicationMetadataMessage(uint64(l))
}
if m.Type != 0 {
n += 1 + sovApplicationMetadataMessage(uint64(m.Type))
}
if m.XXX_unrecognized != nil {
n += len(m.XXX_unrecognized)
}
return n
}
2022-03-24 09:35:56 +00:00
func sovApplicationMetadataMessage(x uint64) (n int) {
return (math_bits.Len64(x|1) + 6) / 7
}
func sozApplicationMetadataMessage(x uint64) (n int) {
return sovApplicationMetadataMessage(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (m *ApplicationMetadataMessage) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowApplicationMetadataMessage
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
wire |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: ApplicationMetadataMessage: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: ApplicationMetadataMessage: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Signature", wireType)
}
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowApplicationMetadataMessage
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
byteLen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if byteLen < 0 {
return ErrInvalidLengthApplicationMetadataMessage
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
return ErrInvalidLengthApplicationMetadataMessage
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Signature = append(m.Signature[:0], dAtA[iNdEx:postIndex]...)
if m.Signature == nil {
m.Signature = []byte{}
}
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Payload", wireType)
}
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowApplicationMetadataMessage
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
byteLen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if byteLen < 0 {
return ErrInvalidLengthApplicationMetadataMessage
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
return ErrInvalidLengthApplicationMetadataMessage
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Payload = append(m.Payload[:0], dAtA[iNdEx:postIndex]...)
if m.Payload == nil {
m.Payload = []byte{}
}
iNdEx = postIndex
case 3:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
}
m.Type = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowApplicationMetadataMessage
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
m.Type |= ApplicationMetadataMessage_Type(b&0x7F) << shift
if b < 0x80 {
break
}
}
default:
iNdEx = preIndex
skippy, err := skipApplicationMetadataMessage(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
return ErrInvalidLengthApplicationMetadataMessage
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func skipApplicationMetadataMessage(dAtA []byte) (n int, err error) {
l := len(dAtA)
iNdEx := 0
depth := 0
for iNdEx < l {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return 0, ErrIntOverflowApplicationMetadataMessage
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
wireType := int(wire & 0x7)
switch wireType {
case 0:
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return 0, ErrIntOverflowApplicationMetadataMessage
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
}
iNdEx++
if dAtA[iNdEx-1] < 0x80 {
break
}
}
case 1:
iNdEx += 8
case 2:
var length int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return 0, ErrIntOverflowApplicationMetadataMessage
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
length |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if length < 0 {
return 0, ErrInvalidLengthApplicationMetadataMessage
}
iNdEx += length
case 3:
depth++
case 4:
if depth == 0 {
return 0, ErrUnexpectedEndOfGroupApplicationMetadataMessage
}
depth--
case 5:
iNdEx += 4
default:
return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
}
if iNdEx < 0 {
return 0, ErrInvalidLengthApplicationMetadataMessage
}
if depth == 0 {
return iNdEx, nil
}
}
return 0, io.ErrUnexpectedEOF
}
var (
ErrInvalidLengthApplicationMetadataMessage = fmt.Errorf("proto: negative length found during unmarshaling")
ErrIntOverflowApplicationMetadataMessage = fmt.Errorf("proto: integer overflow")
ErrUnexpectedEndOfGroupApplicationMetadataMessage = fmt.Errorf("proto: unexpected end of group")
)