-
-
Notifications
You must be signed in to change notification settings - Fork 516
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
fix(packets): 🐛 Do not bail on "wired" field not found; fix protocol break #2637
Conversation
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.
Not to break even more things, but that flags seems really useless for what it ends up doing, we could just set the protocol to tcp if we're trying to wired. And I think it means that if we have an older client it breaks the integrated adb forwarding (perhaps even in a really unpredictable way), which would otherwise work with a new streamer.
But I think we'd have to keep supplying the flag server-side because otherwise v20.12.0 clients would still trip up over it not being present, even if we just set the protocol to tcp directly.
Of course we could also just merge this and only change that with v21, but if that's indeed the only thing holding back compat of older clients with integrated forwarding, then it might be worth doing. |
The flag was added exactly to avoid having the user change the settings. And yes, for v21 I plan to remove that field because I plan to have the client try both UDP and TCP at the same time |
Ofc, but can't we just detect if we're trying to do a wired mode connection in the server connection flow and set that accordingly? We're currently doing
How would doing this not accomplish the same:
|
The exact same place we're sending over the wired flag we're also sending over the session config. (See here). |
Not sure i understood you correctly but anyway yeah, the client could have checked if the session contained a client named "client.wired" |
But for now this fix should be enough. I will remove the flag in v21 |
By standard, I don't want us to change the session copy we send to the client. Each setting that is inferred at runtime should be negotiated using the negotiation structs |
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.
Not that I agree, but should be good enough.
No description provided.