diff --git a/internal/packet/packet.go b/internal/packet/packet.go index a6a47e2..223fbf5 100644 --- a/internal/packet/packet.go +++ b/internal/packet/packet.go @@ -98,6 +98,8 @@ const ( PacketBlockUser PacketBlockInfo + PacketDeviceAnalytics + PacketMax ) @@ -148,6 +150,8 @@ var packetNames = map[PacketType]string{ PacketGetUsers: "PacketGetUsers", PacketUsersInfo: "PacketUsersInfo", + + PacketDeviceAnalytics: "PacketDeviceAnalytics", } func init() { @@ -359,6 +363,9 @@ func (p Packet) DecodedPayload() (Payload, error) { case PacketUsersInfo: payload = &UsersInfo{} + case PacketDeviceAnalytics: + payload = &DeviceAnalytics{} + default: assert.Assert(!p.Type().IsSupported(), "supported PackeType wasn't handled", "type", p.Type()) return nil, fmt.Errorf("unsupported PackeType: %v", p.Type().String()) diff --git a/internal/packet/types.go b/internal/packet/types.go index 1b25c33..2ad8aae 100644 --- a/internal/packet/types.go +++ b/internal/packet/types.go @@ -329,3 +329,15 @@ type Authenticate struct { func (m *Authenticate) Type() PacketType { return PacketAuthenticate } + +type DeviceAnalytics struct { + DeviceID string + OS string + Arch string + Term string + Colorterm string +} + +func (m *DeviceAnalytics) Type() PacketType { + return PacketDeviceAnalytics +}