Request: Enable Serde Derivations in vtuber-contracts
To support vtuber-commons (which needs to deserialize configurations from TOML/JSON/YAML into typed structs), we need the generated Rust code in vtuber-contracts to include serde::Serialize and serde::Deserialize derivations.
Proposed Change
Update build.rs in vtuber-contracts to include type attributes for all generated messages:
tonic_build::configure()
.type_attribute(".", "#[derive(serde::Serialize, serde::Deserialize)]")
.compile_protos(protos, &["proto"])?;
And add serde as a dependency in vtuber-contracts/Cargo.toml.
Impact
This will allow every downstream service to easily convert between Protobuf messages and other data formats (JSON, TOML, YAML) used for persistent configuration.
Request: Enable Serde Derivations in vtuber-contracts
To support
vtuber-commons(which needs to deserialize configurations from TOML/JSON/YAML into typed structs), we need the generated Rust code invtuber-contractsto includeserde::Serializeandserde::Deserializederivations.Proposed Change
Update
build.rsinvtuber-contractsto include type attributes for all generated messages:And add
serdeas a dependency invtuber-contracts/Cargo.toml.Impact
This will allow every downstream service to easily convert between Protobuf messages and other data formats (JSON, TOML, YAML) used for persistent configuration.