-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
versioning idea #27
versioning idea #27
Conversation
a7784b8
to
ae0430a
Compare
ae0430a
to
f859ae0
Compare
@@ -0,0 +1,13 @@ | |||
syntax = "proto3"; | |||
|
|||
package self_serve.app; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
JFYI putting v1
in the way it was before, is because protobuf linters suggest so. We are using buf which actually follows Google and FB best practices. I think we should stay on this path :/
Also, I think your concern is that we need to bump the version on every change. That's not the case. This v1
is only if we introduce breaking changes. We can add and augment the structs and messages here without changing the versions. The same for the enums. We just need to make sure that our clients are able to handle unknown
states.
|
||
package self_serve.app; | ||
|
||
message AppSelfServeModeMessage { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not against this and I'm actually proposing the same here: 9df4605. Let's do it!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wrong commit hash? :D
OrbMetadata
is a replacement forAnnouncingOrbId
message.OrbMetadata
is the first message Orb sends to the App.OrbMetadata.orb_mode
field.self_serve.proto
file.Forward compatibility
If we decide to add a new mode, eg.
Self Serve v2
, we do this:SELF_SERVE_2
option inOrbMode
enumself_serve_v2.proto
file with corresponding messages for this modeIf app doesn't support a mode it received, it would prompt user to update the app to verify.
Backward compatibility
self_serve.proto
but only if they won't break the flow in old apps, every breaking change requires a new OrbModeOrbMetadata
message