It will get stuck with some server
yswtrue opened this issue · 6 comments
like grpc server 3.114.33.194:50051
use reflection
and then choose com.lion.device.DeviceController
then wombat will hang, you can't do anything except exit.
Thanks for reporting @yswtrue
Are you able to provide an example proto definition that causes this?
Thanks for reporting @yswtrue
Are you able to provide an example proto definition that causes this?
it seems because I have changed the area field of Device message from string to Area, and then wombat will get stuck. And when I uninstall and reinstall, the problem disappears.
message Image {
string id = 1;
string created = 2;
string modified = 3;
bool is_removed = 4;
string picture = 5;
}
message DefenseZone {
string id = 1;
string no = 2;
string name = 3;
string address = 4;
}
message Area {
string id = 1;
string created = 2;
string modified = 3;
bool is_removed = 4;
string name = 5;
}
message Contact {
string id = 1;
string name = 2;
string contact = 3;
string contact_type = 4;
string created = 5;
}
message Device {
string id = 1; // id
string created = 2; // created
string modified = 3; // modified
string status = 4; // status
bool is_removed = 5; // is removed
string no = 6; // 编号
string name = 7; // 商户名称
string address = 8; // 商户地址
string location = 9; // 地图定位
string phone = 10; // 固定电话
string remark = 11; // 备注
int32 alarm_start = 12; // 接收警情开始时间
int32 alarm_end = 13; // 接收警情结束时间
string sn = 14; // SN
string ipsn = 15; // IPSN
string platform = 16; // 报警平台
string iot_card_number = 17; // 物联卡号
string iccid = 18; // ICCID
string iot_card_status = 19; // 状态
int32 iot_card_use_of_traffic = 20; // 使用流量
int32 iot_card_left_traffic = 21; // 剩余流量
string iot_card_start_date = 22; // 物联卡生效时间
string iot_card_end_date = 23; // 物联卡到期时间
string checkout_alarm_delay = 24; // 出门报警延迟
string checkin_alarm_delay = 25; // 进入报警延迟
int32 replay_time = 26; // 警号/灯牌相应时间
int32 alarm_volume = 27; // 喇叭音量
string light_output = 28; // 灯牌输出
string siren_output = 29; // 警号输出
string pgm1_name = 30; // PGM1设备名称
string pgm1_output_type = 31; // PGM1设备输出模式
string pgm2_name = 32; // PGM2设备名称
string pgm2_output_type = 33; // PGM2设备输出模式
string last_heartbeat = 34; // 最后心跳时间
string ip = 35; // IP地址
int32 port = 36; // 端口
int32 temperature = 37; // 温度
int32 battery = 38; // 电量
string password = 39; // 主机密码
Image picture = 40;
Area area = 41;
repeated Image showroom = 42;
repeated string tags = 43;
repeated Contact contacts = 44;
repeated DefenseZone defense_zones = 45;
}
So if I understand correctly the steps to reproduce are:
- Connection to server using Reflection API
- Make a breaking change to the proto definition & restart server
- Wombat freezes when selecting an API with a breaking change
- only way to resolve is to restart Wombat
So if I understand correctly the steps to reproduce are:
- Connection to server using Reflection API
- Make a breaking change to the proto definition & restart server
- Wombat freezes when selecting an API with a breaking change
- only way to resolve is to restart Wombat
Yes, and have to reinstall Wombat or it will freeze when chose the same service.
As a workaround; rather than re-installing Wombat, have you tried going back to the "Workspace" and clicking "Connect" as this should refetch the schema from the server?
I have tried to reconnect but it not works for me.