Skip to content

Commit add2337

Browse files
committed
feat: Undecryptable Event
1 parent 000b151 commit add2337

File tree

71 files changed

+5255
-19389
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+5255
-19389
lines changed

get_proto.sh

100644100755
File mode changed.

goneonize/Neonize.proto

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -845,6 +845,15 @@ message CallTerminate {
845845
message UnknownCallEvent {
846846
required Node node = 1;
847847
}
848+
message UndecryptableMessage {
849+
required MessageInfo Info = 1;
850+
required bool IsUnavailable = 2;
851+
enum DecryptFailModeT {
852+
DECRYPT_FAIL_SHOW = 1;
853+
DECRYPT_FAIL_HIDE = 2;
854+
}
855+
required DecryptFailModeT DecryptFailMode = 3;
856+
}
848857
message UpdateGroupParticipantsReturnFunction {
849858
optional string Error = 1;
850859
repeated GroupParticipant participants = 2;

goneonize/defproto/Neonize.pb.go

Lines changed: 517 additions & 379 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

goneonize/defproto/Neonize.proto

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -845,6 +845,15 @@ message CallTerminate {
845845
message UnknownCallEvent {
846846
required Node node = 1;
847847
}
848+
message UndecryptableMessage {
849+
required MessageInfo Info = 1;
850+
required bool IsUnavailable = 2;
851+
enum DecryptFailModeT {
852+
DECRYPT_FAIL_SHOW = 1;
853+
DECRYPT_FAIL_HIDE = 2;
854+
}
855+
required DecryptFailModeT DecryptFailMode = 3;
856+
}
848857
message UpdateGroupParticipantsReturnFunction {
849858
optional string Error = 1;
850859
repeated GroupParticipant participants = 2;

goneonize/main.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -636,6 +636,16 @@ func Neonize(db *C.char, id *C.char, JIDByte *C.uchar, JIDSize C.int, logLevel *
636636
data, size := getBytesAndSize(call_bytes)
637637
go C.call_c_func_callback_bytes(event, data, size, C.int(43))
638638
}
639+
case *events.UndecryptableMessage:
640+
if _, ok := subscribers[44]; ok {
641+
undecryptableMessage := utils.EncodeUndecryptableMessageEvent(*v)
642+
call_bytes, err := proto.Marshal(undecryptableMessage)
643+
if err != nil {
644+
panic(err)
645+
}
646+
data, size := getBytesAndSize(call_bytes)
647+
go C.call_c_func_callback_bytes(event, data, size, C.int(44))
648+
}
639649
}
640650

641651
// C.free(unsafe.Pointer(CData))

goneonize/utils/encoder.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -887,3 +887,18 @@ func EncodeCallRemoteMeta(callRemoteMeta types.CallRemoteMeta) *defproto.CallRem
887887
RemoteVersion: proto.String(callRemoteMeta.RemoteVersion),
888888
}
889889
}
890+
891+
func EncodeUndecryptableMessageEvent(undecryptableMessage events.UndecryptableMessage) *defproto.UndecryptableMessage {
892+
var failMode defproto.UndecryptableMessage_DecryptFailModeT
893+
switch undecryptableMessage.DecryptFailMode {
894+
case "":
895+
failMode = defproto.UndecryptableMessage_DECRYPT_FAIL_SHOW
896+
case "hide":
897+
failMode = defproto.UndecryptableMessage_DECRYPT_FAIL_HIDE
898+
}
899+
return &defproto.UndecryptableMessage{
900+
Info: EncodeMessageInfo(undecryptableMessage.Info),
901+
IsUnavailable: &undecryptableMessage.IsUnavailable,
902+
DecryptFailMode: &failMode,
903+
}
904+
}

neonize/events.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
CallRelayLatency as CallRelayLatencyEV,
5050
CallTerminate as CallTerminateEv,
5151
UnknownCallEvent as UnknownCallEventEV,
52+
UndecryptableMessage as UndecryptableMessageEv
5253
)
5354

5455
log = logging.getLogger(__name__)
@@ -95,6 +96,7 @@
9596
CallRelayLatencyEV: 41,
9697
CallTerminateEv: 42,
9798
UnknownCallEventEV: 43,
99+
UndecryptableMessageEv: 44,
98100
}
99101
INT_TO_EVENT: Dict[int, Type[Message]] = {code: ev for ev, code in EVENT_TO_INT.items()}
100102

neonize/proto/Neonize_pb2.py

Lines changed: 320 additions & 321 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)