ClientStorage._handle_extensions sets up method proxy objects as attributes of the ClientStorage instance. Those proxy objects hold a reference to ClientStorage._server, so ClientStorage._handle_extensions needs to be called when ClientStorage._server changes valid. It gets called from notifyConnected which (thanks to deferred cache validation) is sometimes too soon.
The low impact change is to call ClientStorage._handle_extensions at more/different places. Maybe refactor the several assignments to self._server into their own method.
Im unlikely to get round to implementation/testing of this for a while.... can anyone else pick this up?
ClientStorage. _handle_ extensions sets up method proxy objects as attributes of the ClientStorage instance. Those proxy objects hold a reference to ClientStorage. _server, so ClientStorage. _handle_ extensions needs to be called when ClientStorage. _server changes valid. It gets called from notifyConnected which (thanks to deferred cache validation) is sometimes too soon.
The low impact change is to call ClientStorage. _handle_ extensions at more/different places. Maybe refactor the several assignments to self._server into their own method.
Im unlikely to get round to implementation/ testing of this for a while.... can anyone else pick this up?