mirror of
https://github.com/hanzoai/s3.git
synced 2026-10-30 14:59:09 +00:00
Eight places assigned a protobuf message by value. That copies protoimpl.MessageState with the fields — a mutex and the lazy-init bookkeeping the proto runtime owns — which is why vet refused the whole repository, and why a hand-rolled deep clone of a heartbeat was copying each nested message the same way. proto.Clone does all of it; proto.Reset with proto.Merge is the in-place overwrite, where one was overwriting through a pointer. One field held a message by value to mean two things, so its companion bool went with it: a nil pointer already says there is no last good status. The repository passes vet for the first time, and four of its seven modules build on Go 1.27. The other three ask for at their own current directive, before any change here, so they are left as they are. Co-authored-by: Hanzo Dev <[email protected]>