| @@ -1329,7 +1329,7 @@ string.</p> | |||
| <div class="sect2"> | |||
| <h3 id="_client_to_server_control">2.6. Client to Server Control</h3> | |||
| <div class="paragraph"> | |||
| <p>If the server publishes the <code>:server_control:</code> capability, then clients can also initiate action by | |||
| <p>If the server publishes the <code>:server-control:</code> capability, then clients can also initiate action by | |||
| the server. For example, a client might implement a 'Save All' option which sends a | |||
| <code>/nsm/server/save</code> message to the server, rather than requiring the user to switch to the session | |||
| management interface to effect the save.</p> | |||
| @@ -1614,10 +1614,10 @@ inrecement to <code>API_VERSION_MAJOR</code>, which we want to avoid.</p> | |||
| with <code>ERR_INCOMPATIBLE_API</code>.</p> | |||
| </div> | |||
| <div class="paragraph"> | |||
| <p>All changes (that concern client/server behaviour) that increment <code>API_VERSION_MINOR</code> will be gated | |||
| by new capabilities (e.g. <code>:optional-gui:</code>). <code>nsmd</code> will not send any messages if a capability was | |||
| not sent by the client in <a href="#_announce"><code>announce</code></a>. This includes mostly optional features about | |||
| requesting extra information.</p> | |||
| <p>All changes (that concern client/server behaviour) that increment <code>API_VERSION_MINOR</code> will be | |||
| request-only or gated by new capabilities (e.g. <code>:optional-gui:</code>). <code>nsmd</code> will not send any | |||
| messages if a capability was not sent by the client in <a href="#_announce"><code>announce</code></a>. This includes | |||
| mostly optional features about requesting extra information.</p> | |||
| </div> | |||
| <div class="paragraph"> | |||
| <p>New actions for server-control, for example a hypothetical <code>/nsm/server/save_as</code>, which would be | |||
| @@ -1686,36 +1686,30 @@ It was never an arbitrary value.</p> | |||
| </ul> | |||
| </div> | |||
| <div class="paragraph"> | |||
| <p>Code changes:</p> | |||
| <p>Code changes: | |||
| * <a href="#_server_control_api">Server Control API</a>: <code>/nsm/server/list</code> chain of single OSC messages, one for each session, | |||
| is now finalized with sending and empty string "" as session name. Previously this was just | |||
| a symbolically irrelevant console message <code>"Done."</code> | |||
| * Replies to <code>/nsm/server/save</code> etc. will now be sent back to the sender and not falsely to the last | |||
| client who replied to <code>/nsm/client/save</code>. This alone would only require API_VERSION_PATCH | |||
| increment, but we are already incrementing minor. | |||
| * <a href="#_server_control_api">Server Control API</a>: <code>/nsm/server/add</code> was replying with an undocumented error code on success. | |||
| Instead, as this document always specificed, it now sends <code>"/reply", path, "Launched."</code>. | |||
| Again, this would have been just API_VERSION_PATCH on its own.</p> | |||
| </div> | |||
| <div class="ulist"> | |||
| <ul> | |||
| <li> | |||
| <p><a href="#_server_control_api">Server Control API</a>: <code>/nsm/server/list</code> chain of single OSC messages, one for each session, | |||
| is now finalized with sending and empty string "" as session name. Previously this was just | |||
| a symbolically irrelevant console message <code>"Done."</code></p> | |||
| </li> | |||
| <li> | |||
| <p>unstable <code>/nsm/gui</code> protocol: Send client status after a GUI attaches to running server. This | |||
| was not happening before, but it was the intention. It was just broken in nsmd.cpp. This alone | |||
| would only require API_VERSION_PATCH increment, but we are already incrementing minor.</p> | |||
| </li> | |||
| <li> | |||
| <p>unstable <code>/nsm/gui</code> protocol: Send label "launch error!" when a program is added (or loaded) that | |||
| does not exist in $PATH. This requires no adaptation of any client, server or GUI because labels | |||
| are arbitrary already and this is not meant for automatic parsing, but as user information.</p> | |||
| </li> | |||
| <li> | |||
| <p>Replies to <code>/nsm/server/save</code> etc. will now be sent back to the sender and not falsely to the last | |||
| client who replied to <code>/nsm/client/save</code>. This alone would only require API_VERSION_PATCH | |||
| increment, but we are already incrementing minor.</p> | |||
| </li> | |||
| <li> | |||
| <p><a href="#_server_control_api">Server Control API</a>: <code>/nsm/server/add</code> was replying with an undocumented error code on success. | |||
| Instead, as this document always specificed, it now sends <code>"/reply", path, "Launched."</code>. | |||
| Again, this would have been just API_VERSION_PATCH on its own.</p> | |||
| </li> | |||
| </ul> | |||
| <div class="paragraph"> | |||
| <p>Unstable <code>/nsm/gui</code> protocol | |||
| * Send client status after a GUI attaches to running server. This | |||
| was not happening before, but it was the intention. It was just broken in nsmd.cpp. This alone | |||
| would only require API_VERSION_PATCH increment, but we are already incrementing minor. | |||
| * Send label "launch error!" when a program is added (or loaded) that | |||
| does not exist in $PATH. This requires no adaptation of any client, server or GUI because labels | |||
| are arbitrary already and this is not meant for automatic parsing, but as user information. | |||
| * <code>/nsm/gui/session/name</code> will now always send the same parameter format, regardless of how the session was opened: | |||
| simple-session-name, relative session path with subdirs below session-root. | |||
| * When a GUI announces itself to nsmd it will receive the absolute path to the session directory | |||
| through the message <code>/nsm/gui/session/root</code>. This is not a new addition but was already in | |||
| non-session-manager git.</p> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| @@ -1724,7 +1718,7 @@ Again, this would have been just API_VERSION_PATCH on its own.</p> | |||
| <div id="footer"> | |||
| <div id="footer-text"> | |||
| Version API 1.1.0<br> | |||
| Last updated 2020-07-08 20:25:19 +0200 | |||
| Last updated 2020-07-12 00:55:08 +0200 | |||
| </div> | |||
| </div> | |||
| </body> | |||