Merge ~kissiel/checkbox-ng:fix-1966045-crash-on-startup into checkbox-ng:master
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Maciej Kisielewski | ||||
Approved revision: | 27efa7f5f9eeb6c9d4c6d3a9b4614f673ec9a911 | ||||
Merged at revision: | 511e6f6e7f2e29ed994dabfba614097d722caa08 | ||||
Proposed branch: | ~kissiel/checkbox-ng:fix-1966045-crash-on-startup | ||||
Merge into: | checkbox-ng:master | ||||
Diff against target: |
116 lines (+36/-10) 4 files modified
checkbox_ng/launcher/subcommands.py (+3/-3) plainbox/impl/session/assistant.py (+17/-1) plainbox/impl/session/remote_assistant.py (+3/-3) plainbox/impl/session/restart.py (+13/-3) |
||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Jonathan Cave (community) | Approve | ||
Review via email: mp+417573@code.launchpad.net |
Description of the change
Fix the problem behind traceback on Checkbox startup.
Instead of reverting the bad patch, with this MR I'm adding an arg that informs the restart strategy detection function of what kind of session the operator runs.
The local session behavior is unchanged. The local nature of those session is just made more explicit.
I also allowed myself to change the titles and types of remote sessions to 'remote' instead of 'checkbox-slave'. Thanks to heuristic I placed in SessionAssistant we don't _need_ to bump the Remote API version - all the detection happens on the service side and on its call tree.
I left the old naming so existing sessions can be supported. I also changed the title and descriptions future sessions will get, and this change also doesn't need a RAPI change, because if there is a checkbox remote/service version mismatch, then:
older service and newer controller: new names and description and old behavior will be used
newer service and older controller: old names and description + new behavior will be used
Tested on running on combinations of remote/services and local sessions.
27efa7f - happy with this change, they are reasonable defaults that can be easily superseded with settings from launcher etc
87b736e - Tested that I could indeed now start a new session. Also tested that with old controller side and fixed service side to confirm no need for remote API bump.
Thanks