Cryolite / mahjongsoul_sniffer

Tools to sniffer, decode, and archive API request and response from/to Mahjong Soul (雀魂) API
MIT License
40 stars 7 forks source link

API Visualizer でデフォルト値のフィールドが表示されない #99

Open Apricot-S opened 7 months ago

Apricot-S commented 7 months ago

概要

API Visualizer で対局中の API の内容を確認すると、一部のフィールドが表示されていない 表示されていないフィールドの値は false0 、空リストなど、 false と評価されるような値である デフォルト値である

API Visualizer の表示

origin

同じデータの majsoulrpa での log

majsoul-miai-gateway

To Be

値が false0 のフィールドも表示される

Apricot-S commented 6 months ago

原因は google.protobuf.message.Message.ListFields() だと思われる。 デフォルト値 ( 0, false, [] など ) のフィールドが ListFields() に含まれないのは proto3 の仕様である。 参考: https://github.com/protocolbuffers/protobuf/issues/1772

@Cryolite デフォルト値のフィールドが表示されないのは API Visualizer として仕様通りの動作ですか? 仕様通りであればこの Issue はクローズします