Add hack to ignore weird pre-response data
This commit is contained in:
parent
1df5dfe99a
commit
a59074a026
4 changed files with 141 additions and 53 deletions
|
@ -432,16 +432,18 @@ type IncomingRPCMessage struct {
|
||||||
|
|
||||||
ResponseID string `protobuf:"bytes,1,opt,name=responseID,proto3" json:"responseID,omitempty"`
|
ResponseID string `protobuf:"bytes,1,opt,name=responseID,proto3" json:"responseID,omitempty"`
|
||||||
BugleRoute BugleRoute `protobuf:"varint,2,opt,name=bugleRoute,proto3,enum=rpc.BugleRoute" json:"bugleRoute,omitempty"`
|
BugleRoute BugleRoute `protobuf:"varint,2,opt,name=bugleRoute,proto3,enum=rpc.BugleRoute" json:"bugleRoute,omitempty"`
|
||||||
StartExecute string `protobuf:"bytes,3,opt,name=startExecute,proto3" json:"startExecute,omitempty"`
|
StartExecute uint64 `protobuf:"varint,3,opt,name=startExecute,proto3" json:"startExecute,omitempty"`
|
||||||
MessageType MessageType `protobuf:"varint,5,opt,name=messageType,proto3,enum=rpc.MessageType" json:"messageType,omitempty"`
|
MessageType MessageType `protobuf:"varint,5,opt,name=messageType,proto3,enum=rpc.MessageType" json:"messageType,omitempty"`
|
||||||
FinishExecute string `protobuf:"bytes,6,opt,name=finishExecute,proto3" json:"finishExecute,omitempty"`
|
FinishExecute uint64 `protobuf:"varint,6,opt,name=finishExecute,proto3" json:"finishExecute,omitempty"`
|
||||||
MicrosecondsTaken string `protobuf:"bytes,7,opt,name=microsecondsTaken,proto3" json:"microsecondsTaken,omitempty"`
|
MicrosecondsTaken uint64 `protobuf:"varint,7,opt,name=microsecondsTaken,proto3" json:"microsecondsTaken,omitempty"`
|
||||||
Mobile *Device `protobuf:"bytes,8,opt,name=mobile,proto3" json:"mobile,omitempty"`
|
Mobile *Device `protobuf:"bytes,8,opt,name=mobile,proto3" json:"mobile,omitempty"`
|
||||||
Browser *Device `protobuf:"bytes,9,opt,name=browser,proto3" json:"browser,omitempty"`
|
Browser *Device `protobuf:"bytes,9,opt,name=browser,proto3" json:"browser,omitempty"`
|
||||||
// Either a RPCMessageData or a RPCPairData encoded as bytes
|
// Either a RPCMessageData or a RPCPairData encoded as bytes
|
||||||
MessageData []byte `protobuf:"bytes,12,opt,name=messageData,proto3" json:"messageData,omitempty"`
|
MessageData []byte `protobuf:"bytes,12,opt,name=messageData,proto3" json:"messageData,omitempty"`
|
||||||
SignatureID string `protobuf:"bytes,17,opt,name=signatureID,proto3" json:"signatureID,omitempty"`
|
SignatureID string `protobuf:"bytes,17,opt,name=signatureID,proto3" json:"signatureID,omitempty"`
|
||||||
Timestamp string `protobuf:"bytes,21,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
|
Timestamp string `protobuf:"bytes,21,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
|
||||||
|
// Completely unsure about this, but it seems to be present for weird intermediate responses
|
||||||
|
GdittoSource *IncomingRPCMessage_GDittoSource `protobuf:"bytes,23,opt,name=gdittoSource,proto3" json:"gdittoSource,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *IncomingRPCMessage) Reset() {
|
func (x *IncomingRPCMessage) Reset() {
|
||||||
|
@ -490,11 +492,11 @@ func (x *IncomingRPCMessage) GetBugleRoute() BugleRoute {
|
||||||
return BugleRoute_Unknown
|
return BugleRoute_Unknown
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *IncomingRPCMessage) GetStartExecute() string {
|
func (x *IncomingRPCMessage) GetStartExecute() uint64 {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.StartExecute
|
return x.StartExecute
|
||||||
}
|
}
|
||||||
return ""
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *IncomingRPCMessage) GetMessageType() MessageType {
|
func (x *IncomingRPCMessage) GetMessageType() MessageType {
|
||||||
|
@ -504,18 +506,18 @@ func (x *IncomingRPCMessage) GetMessageType() MessageType {
|
||||||
return MessageType_UNKNOWN_MESSAGE_TYPE
|
return MessageType_UNKNOWN_MESSAGE_TYPE
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *IncomingRPCMessage) GetFinishExecute() string {
|
func (x *IncomingRPCMessage) GetFinishExecute() uint64 {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.FinishExecute
|
return x.FinishExecute
|
||||||
}
|
}
|
||||||
return ""
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *IncomingRPCMessage) GetMicrosecondsTaken() string {
|
func (x *IncomingRPCMessage) GetMicrosecondsTaken() uint64 {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.MicrosecondsTaken
|
return x.MicrosecondsTaken
|
||||||
}
|
}
|
||||||
return ""
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *IncomingRPCMessage) GetMobile() *Device {
|
func (x *IncomingRPCMessage) GetMobile() *Device {
|
||||||
|
@ -553,6 +555,13 @@ func (x *IncomingRPCMessage) GetTimestamp() string {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *IncomingRPCMessage) GetGdittoSource() *IncomingRPCMessage_GDittoSource {
|
||||||
|
if x != nil {
|
||||||
|
return x.GdittoSource
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
type RPCMessageData struct {
|
type RPCMessageData struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
|
@ -878,6 +887,53 @@ func (x *OutgoingRPCResponse) GetTimestamp() string {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type IncomingRPCMessage_GDittoSource struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
DeviceID int32 `protobuf:"varint,2,opt,name=deviceID,proto3" json:"deviceID,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *IncomingRPCMessage_GDittoSource) Reset() {
|
||||||
|
*x = IncomingRPCMessage_GDittoSource{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_rpc_proto_msgTypes[7]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *IncomingRPCMessage_GDittoSource) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*IncomingRPCMessage_GDittoSource) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *IncomingRPCMessage_GDittoSource) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_rpc_proto_msgTypes[7]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use IncomingRPCMessage_GDittoSource.ProtoReflect.Descriptor instead.
|
||||||
|
func (*IncomingRPCMessage_GDittoSource) Descriptor() ([]byte, []int) {
|
||||||
|
return file_rpc_proto_rawDescGZIP(), []int{2, 0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *IncomingRPCMessage_GDittoSource) GetDeviceID() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.DeviceID
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
type OutgoingRPCMessage_Auth struct {
|
type OutgoingRPCMessage_Auth struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
|
@ -891,7 +947,7 @@ type OutgoingRPCMessage_Auth struct {
|
||||||
func (x *OutgoingRPCMessage_Auth) Reset() {
|
func (x *OutgoingRPCMessage_Auth) Reset() {
|
||||||
*x = OutgoingRPCMessage_Auth{}
|
*x = OutgoingRPCMessage_Auth{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_rpc_proto_msgTypes[7]
|
mi := &file_rpc_proto_msgTypes[8]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -904,7 +960,7 @@ func (x *OutgoingRPCMessage_Auth) String() string {
|
||||||
func (*OutgoingRPCMessage_Auth) ProtoMessage() {}
|
func (*OutgoingRPCMessage_Auth) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *OutgoingRPCMessage_Auth) ProtoReflect() protoreflect.Message {
|
func (x *OutgoingRPCMessage_Auth) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_rpc_proto_msgTypes[7]
|
mi := &file_rpc_proto_msgTypes[8]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -956,7 +1012,7 @@ type OutgoingRPCMessage_Data struct {
|
||||||
func (x *OutgoingRPCMessage_Data) Reset() {
|
func (x *OutgoingRPCMessage_Data) Reset() {
|
||||||
*x = OutgoingRPCMessage_Data{}
|
*x = OutgoingRPCMessage_Data{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_rpc_proto_msgTypes[8]
|
mi := &file_rpc_proto_msgTypes[9]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -969,7 +1025,7 @@ func (x *OutgoingRPCMessage_Data) String() string {
|
||||||
func (*OutgoingRPCMessage_Data) ProtoMessage() {}
|
func (*OutgoingRPCMessage_Data) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *OutgoingRPCMessage_Data) ProtoReflect() protoreflect.Message {
|
func (x *OutgoingRPCMessage_Data) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_rpc_proto_msgTypes[8]
|
mi := &file_rpc_proto_msgTypes[9]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -1025,7 +1081,7 @@ type OutgoingRPCMessage_Data_Type struct {
|
||||||
func (x *OutgoingRPCMessage_Data_Type) Reset() {
|
func (x *OutgoingRPCMessage_Data_Type) Reset() {
|
||||||
*x = OutgoingRPCMessage_Data_Type{}
|
*x = OutgoingRPCMessage_Data_Type{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_rpc_proto_msgTypes[9]
|
mi := &file_rpc_proto_msgTypes[10]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -1038,7 +1094,7 @@ func (x *OutgoingRPCMessage_Data_Type) String() string {
|
||||||
func (*OutgoingRPCMessage_Data_Type) ProtoMessage() {}
|
func (*OutgoingRPCMessage_Data_Type) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *OutgoingRPCMessage_Data_Type) ProtoReflect() protoreflect.Message {
|
func (x *OutgoingRPCMessage_Data_Type) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_rpc_proto_msgTypes[9]
|
mi := &file_rpc_proto_msgTypes[10]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -1080,7 +1136,7 @@ type OutgoingRPCResponse_SomeIdentifier struct {
|
||||||
func (x *OutgoingRPCResponse_SomeIdentifier) Reset() {
|
func (x *OutgoingRPCResponse_SomeIdentifier) Reset() {
|
||||||
*x = OutgoingRPCResponse_SomeIdentifier{}
|
*x = OutgoingRPCResponse_SomeIdentifier{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_rpc_proto_msgTypes[10]
|
mi := &file_rpc_proto_msgTypes[11]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -1093,7 +1149,7 @@ func (x *OutgoingRPCResponse_SomeIdentifier) String() string {
|
||||||
func (*OutgoingRPCResponse_SomeIdentifier) ProtoMessage() {}
|
func (*OutgoingRPCResponse_SomeIdentifier) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *OutgoingRPCResponse_SomeIdentifier) ProtoReflect() protoreflect.Message {
|
func (x *OutgoingRPCResponse_SomeIdentifier) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_rpc_proto_msgTypes[10]
|
mi := &file_rpc_proto_msgTypes[11]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -1134,7 +1190,7 @@ func file_rpc_proto_rawDescGZIP() []byte {
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_rpc_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
|
var file_rpc_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
|
||||||
var file_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
|
var file_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
|
||||||
var file_rpc_proto_goTypes = []interface{}{
|
var file_rpc_proto_goTypes = []interface{}{
|
||||||
(BugleRoute)(0), // 0: rpc.BugleRoute
|
(BugleRoute)(0), // 0: rpc.BugleRoute
|
||||||
(ActionType)(0), // 1: rpc.ActionType
|
(ActionType)(0), // 1: rpc.ActionType
|
||||||
|
@ -1146,39 +1202,41 @@ var file_rpc_proto_goTypes = []interface{}{
|
||||||
(*OutgoingRPCMessage)(nil), // 7: rpc.OutgoingRPCMessage
|
(*OutgoingRPCMessage)(nil), // 7: rpc.OutgoingRPCMessage
|
||||||
(*OutgoingRPCData)(nil), // 8: rpc.OutgoingRPCData
|
(*OutgoingRPCData)(nil), // 8: rpc.OutgoingRPCData
|
||||||
(*OutgoingRPCResponse)(nil), // 9: rpc.OutgoingRPCResponse
|
(*OutgoingRPCResponse)(nil), // 9: rpc.OutgoingRPCResponse
|
||||||
(*OutgoingRPCMessage_Auth)(nil), // 10: rpc.OutgoingRPCMessage.Auth
|
(*IncomingRPCMessage_GDittoSource)(nil), // 10: rpc.IncomingRPCMessage.GDittoSource
|
||||||
(*OutgoingRPCMessage_Data)(nil), // 11: rpc.OutgoingRPCMessage.Data
|
(*OutgoingRPCMessage_Auth)(nil), // 11: rpc.OutgoingRPCMessage.Auth
|
||||||
(*OutgoingRPCMessage_Data_Type)(nil), // 12: rpc.OutgoingRPCMessage.Data.Type
|
(*OutgoingRPCMessage_Data)(nil), // 12: rpc.OutgoingRPCMessage.Data
|
||||||
(*OutgoingRPCResponse_SomeIdentifier)(nil), // 13: rpc.OutgoingRPCResponse.SomeIdentifier
|
(*OutgoingRPCMessage_Data_Type)(nil), // 13: rpc.OutgoingRPCMessage.Data.Type
|
||||||
(*EmptyArr)(nil), // 14: util.EmptyArr
|
(*OutgoingRPCResponse_SomeIdentifier)(nil), // 14: rpc.OutgoingRPCResponse.SomeIdentifier
|
||||||
(*Device)(nil), // 15: authentication.Device
|
(*EmptyArr)(nil), // 15: util.EmptyArr
|
||||||
(*ConfigVersion)(nil), // 16: authentication.ConfigVersion
|
(*Device)(nil), // 16: authentication.Device
|
||||||
|
(*ConfigVersion)(nil), // 17: authentication.ConfigVersion
|
||||||
}
|
}
|
||||||
var file_rpc_proto_depIdxs = []int32{
|
var file_rpc_proto_depIdxs = []int32{
|
||||||
5, // 0: rpc.LongPollingPayload.data:type_name -> rpc.IncomingRPCMessage
|
5, // 0: rpc.LongPollingPayload.data:type_name -> rpc.IncomingRPCMessage
|
||||||
14, // 1: rpc.LongPollingPayload.heartbeat:type_name -> util.EmptyArr
|
15, // 1: rpc.LongPollingPayload.heartbeat:type_name -> util.EmptyArr
|
||||||
3, // 2: rpc.LongPollingPayload.ack:type_name -> rpc.StartAckMessage
|
3, // 2: rpc.LongPollingPayload.ack:type_name -> rpc.StartAckMessage
|
||||||
14, // 3: rpc.LongPollingPayload.startRead:type_name -> util.EmptyArr
|
15, // 3: rpc.LongPollingPayload.startRead:type_name -> util.EmptyArr
|
||||||
0, // 4: rpc.IncomingRPCMessage.bugleRoute:type_name -> rpc.BugleRoute
|
0, // 4: rpc.IncomingRPCMessage.bugleRoute:type_name -> rpc.BugleRoute
|
||||||
2, // 5: rpc.IncomingRPCMessage.messageType:type_name -> rpc.MessageType
|
2, // 5: rpc.IncomingRPCMessage.messageType:type_name -> rpc.MessageType
|
||||||
15, // 6: rpc.IncomingRPCMessage.mobile:type_name -> authentication.Device
|
16, // 6: rpc.IncomingRPCMessage.mobile:type_name -> authentication.Device
|
||||||
15, // 7: rpc.IncomingRPCMessage.browser:type_name -> authentication.Device
|
16, // 7: rpc.IncomingRPCMessage.browser:type_name -> authentication.Device
|
||||||
1, // 8: rpc.RPCMessageData.action:type_name -> rpc.ActionType
|
10, // 8: rpc.IncomingRPCMessage.gdittoSource:type_name -> rpc.IncomingRPCMessage.GDittoSource
|
||||||
15, // 9: rpc.OutgoingRPCMessage.mobile:type_name -> authentication.Device
|
1, // 9: rpc.RPCMessageData.action:type_name -> rpc.ActionType
|
||||||
11, // 10: rpc.OutgoingRPCMessage.data:type_name -> rpc.OutgoingRPCMessage.Data
|
16, // 10: rpc.OutgoingRPCMessage.mobile:type_name -> authentication.Device
|
||||||
10, // 11: rpc.OutgoingRPCMessage.auth:type_name -> rpc.OutgoingRPCMessage.Auth
|
12, // 11: rpc.OutgoingRPCMessage.data:type_name -> rpc.OutgoingRPCMessage.Data
|
||||||
1, // 12: rpc.OutgoingRPCData.action:type_name -> rpc.ActionType
|
11, // 12: rpc.OutgoingRPCMessage.auth:type_name -> rpc.OutgoingRPCMessage.Auth
|
||||||
13, // 13: rpc.OutgoingRPCResponse.someIdentifier:type_name -> rpc.OutgoingRPCResponse.SomeIdentifier
|
1, // 13: rpc.OutgoingRPCData.action:type_name -> rpc.ActionType
|
||||||
16, // 14: rpc.OutgoingRPCMessage.Auth.configVersion:type_name -> authentication.ConfigVersion
|
14, // 14: rpc.OutgoingRPCResponse.someIdentifier:type_name -> rpc.OutgoingRPCResponse.SomeIdentifier
|
||||||
0, // 15: rpc.OutgoingRPCMessage.Data.bugleRoute:type_name -> rpc.BugleRoute
|
17, // 15: rpc.OutgoingRPCMessage.Auth.configVersion:type_name -> authentication.ConfigVersion
|
||||||
12, // 16: rpc.OutgoingRPCMessage.Data.messageTypeData:type_name -> rpc.OutgoingRPCMessage.Data.Type
|
0, // 16: rpc.OutgoingRPCMessage.Data.bugleRoute:type_name -> rpc.BugleRoute
|
||||||
14, // 17: rpc.OutgoingRPCMessage.Data.Type.emptyArr:type_name -> util.EmptyArr
|
13, // 17: rpc.OutgoingRPCMessage.Data.messageTypeData:type_name -> rpc.OutgoingRPCMessage.Data.Type
|
||||||
2, // 18: rpc.OutgoingRPCMessage.Data.Type.messageType:type_name -> rpc.MessageType
|
15, // 18: rpc.OutgoingRPCMessage.Data.Type.emptyArr:type_name -> util.EmptyArr
|
||||||
19, // [19:19] is the sub-list for method output_type
|
2, // 19: rpc.OutgoingRPCMessage.Data.Type.messageType:type_name -> rpc.MessageType
|
||||||
19, // [19:19] is the sub-list for method input_type
|
20, // [20:20] is the sub-list for method output_type
|
||||||
19, // [19:19] is the sub-list for extension type_name
|
20, // [20:20] is the sub-list for method input_type
|
||||||
19, // [19:19] is the sub-list for extension extendee
|
20, // [20:20] is the sub-list for extension type_name
|
||||||
0, // [0:19] is the sub-list for field type_name
|
20, // [20:20] is the sub-list for extension extendee
|
||||||
|
0, // [0:20] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_rpc_proto_init() }
|
func init() { file_rpc_proto_init() }
|
||||||
|
@ -1275,7 +1333,7 @@ func file_rpc_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
file_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*OutgoingRPCMessage_Auth); i {
|
switch v := v.(*IncomingRPCMessage_GDittoSource); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -1287,7 +1345,7 @@ func file_rpc_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
file_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*OutgoingRPCMessage_Data); i {
|
switch v := v.(*OutgoingRPCMessage_Auth); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -1299,7 +1357,7 @@ func file_rpc_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
|
file_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*OutgoingRPCMessage_Data_Type); i {
|
switch v := v.(*OutgoingRPCMessage_Data); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -1311,6 +1369,18 @@ func file_rpc_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
|
file_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*OutgoingRPCMessage_Data_Type); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*OutgoingRPCResponse_SomeIdentifier); i {
|
switch v := v.(*OutgoingRPCResponse_SomeIdentifier); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
|
@ -1332,7 +1402,7 @@ func file_rpc_proto_init() {
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_rpc_proto_rawDesc,
|
RawDescriptor: file_rpc_proto_rawDesc,
|
||||||
NumEnums: 3,
|
NumEnums: 3,
|
||||||
NumMessages: 11,
|
NumMessages: 12,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 0,
|
NumServices: 0,
|
||||||
},
|
},
|
||||||
|
|
Binary file not shown.
|
@ -21,11 +21,11 @@ message LongPollingPayload {
|
||||||
message IncomingRPCMessage {
|
message IncomingRPCMessage {
|
||||||
string responseID = 1;
|
string responseID = 1;
|
||||||
BugleRoute bugleRoute = 2;
|
BugleRoute bugleRoute = 2;
|
||||||
string startExecute = 3;
|
uint64 startExecute = 3;
|
||||||
|
|
||||||
MessageType messageType = 5;
|
MessageType messageType = 5;
|
||||||
string finishExecute = 6;
|
uint64 finishExecute = 6;
|
||||||
string microsecondsTaken = 7;
|
uint64 microsecondsTaken = 7;
|
||||||
authentication.Device mobile = 8;
|
authentication.Device mobile = 8;
|
||||||
authentication.Device browser = 9;
|
authentication.Device browser = 9;
|
||||||
|
|
||||||
|
@ -35,6 +35,13 @@ message IncomingRPCMessage {
|
||||||
string signatureID = 17;
|
string signatureID = 17;
|
||||||
|
|
||||||
string timestamp = 21;
|
string timestamp = 21;
|
||||||
|
|
||||||
|
message GDittoSource {
|
||||||
|
int32 deviceID = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Completely unsure about this, but it seems to be present for weird intermediate responses
|
||||||
|
GDittoSource gdittoSource = 23;
|
||||||
}
|
}
|
||||||
|
|
||||||
message RPCMessageData {
|
message RPCMessageData {
|
||||||
|
|
|
@ -76,7 +76,7 @@ func typedResponse[T proto.Message](resp *IncomingRPCMessage, err error) (casted
|
||||||
var ok bool
|
var ok bool
|
||||||
casted, ok = resp.DecryptedMessage.(T)
|
casted, ok = resp.DecryptedMessage.(T)
|
||||||
if !ok {
|
if !ok {
|
||||||
retErr = fmt.Errorf("unexpected response type %T, expected %T", resp.DecryptedMessage, casted)
|
retErr = fmt.Errorf("unexpected response type %T for %s, expected %T", resp.DecryptedMessage, resp.ResponseID, casted)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -100,6 +100,17 @@ func (s *SessionHandler) receiveResponse(msg *IncomingRPCMessage) bool {
|
||||||
if msg.Message == nil {
|
if msg.Message == nil {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
if s.client.AuthData.Cookies != nil {
|
||||||
|
switch msg.Message.Action {
|
||||||
|
case gmproto.ActionType_CREATE_GAIA_PAIRING_CLIENT_INIT, gmproto.ActionType_CREATE_GAIA_PAIRING_CLIENT_FINISHED:
|
||||||
|
default:
|
||||||
|
// Very hacky way to ignore weird messages that come before real responses
|
||||||
|
// TODO figure out how to properly handle these
|
||||||
|
if msg.Message.UnencryptedData != nil && msg.Message.EncryptedData == nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
requestID := msg.Message.SessionID
|
requestID := msg.Message.SessionID
|
||||||
s.responseWaitersLock.Lock()
|
s.responseWaitersLock.Lock()
|
||||||
ch, ok := s.responseWaiters[requestID]
|
ch, ok := s.responseWaiters[requestID]
|
||||||
|
|
Loading…
Reference in a new issue