Skip to content
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

nsmd: During load/timeout the session is not set yet and can be quit without any safeguards #47

Open
diovudau opened this issue Jul 12, 2020 · 1 comment

Comments

@diovudau
Copy link
Contributor

diovudau commented Jul 12, 2020

AFAIK this is not a regression, but needs testing.

When a session is currently loading and takes very long, for example because the 5 second timeout is waiting for a non-nsm-capable client, during that time you can just Quit and do other commands that should normally check if a session is already open.

Internally the current session is only set after load, including the /nsm/gui/session/name message which indicates "session loaded" to a GUI.

To be fair, this is a corner case, which I only discovered because I was rapidly restarting and quitting during development.

But it could happen when a user loads the wrong session by accident and immediately tries to leave it. So far I don't see any consquences for the user because nothing will be saved here, especially not jackpatch (which would destroy all connectiongs because clients are only partially ready)

In summary: Not critical, but would be nice to fix one day. Be careful of side-effects and regressions.

@diovudau
Copy link
Contributor Author

Related: during opening a session, when a program reports an error via blocking dialog box (e.g. Carla) before it announced to NSM the session is also waiting without timing out. /nsm/gui/session/name is not received until the blocking application progresses.

Since we have an error-situation here anyway this does not urgent care, however, it is another reason to send the session name before the client list. (If that is compatible with the current API)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant