-
-
Notifications
You must be signed in to change notification settings - Fork 178
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
dynamic client connection class #2351
Comments
Preparatory work in r23081. |
This will be much easier to implement after dropping python2 support. (v4) |
2020-01-03 11:30:56: antoine uploaded file
|
No idea why, but re-doing the change step by step no longer crashes and so the code has been merged in r24907. Still TODO:
|
Much improved in r24910, see commit message for details. With minor updates in r24911 + r24912 + r24913 + r24914.
Apart from the stated goals of not loading code we don't need (reducing attack surface, reducing memory usage, etc), there are additional benefits: we are forced to remove cross-mixin dependencies and this reduces contention on shared resources. ie: a client which has disabled the clipboard will make it easier for other users. Some caveats.
Still TODO: test all possible combinations (one of the unit tests can do that - just disabled by default because it takes so long) |
Taking #1838 one step further: when the client disables a feature completely (ie: clipboard) or when the client is not a UI client (ie: #2348) then we can generate a custom client class without those base classes.
get_client_connection_class
needs to be made dynamic.We'll need a map from flags to mixins, ie:
The text was updated successfully, but these errors were encountered: