loleaflet/dist/admin/adminSettings.html | 12 ++++++++++++ loleaflet/src/admin/AdminSocketSettings.js | 24 +++++++++++++++++++++++- wsd/Admin.cpp | 12 ++++++++++++ wsd/protocol.txt | 26 ++++++++++++++++++++++++++ 4 files changed, 73 insertions(+), 1 deletion(-)
New commits: commit 92ad94f259cfbaa6c81eb86f69ebea0d59b8fdad Author: Dewan <[email protected]> Date: Tue Mar 14 18:55:16 2017 +0530 display lokit and loolwsd version in admin panel Change-Id: Ia5b89373bfd7e921597b73d5a84963268244b748 Reviewed-on: https://gerrit.libreoffice.org/35199 Reviewed-by: pranavk <[email protected]> Tested-by: pranavk <[email protected]> diff --git a/loleaflet/dist/admin/adminSettings.html b/loleaflet/dist/admin/adminSettings.html index d860de21..3b74b80e 100644 --- a/loleaflet/dist/admin/adminSettings.html +++ b/loleaflet/dist/admin/adminSettings.html @@ -59,6 +59,18 @@ <li><a href="admin.html"><script>document.write(l10nstrings.strOverview)</script> <span class="sr-only"><script>document.write(l10nstrings.strCurrent)</script></span></a></li> <li><a href="adminAnalytics.html"><script>document.write(l10nstrings.strAnalytics)</script></a></li> </ul> + <hr /> + <div style="position:absolute; bottom:0px"> + <h3>About</h3> + <p> + <h5><b>LOOLWSD</b></h5> + <div id="loolwsd-version"></div> + </p> + <p> + <h5><b>LOKit</b></h5> + <div id="lokit-version"></div> + </p> + </div> </div> <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main"> <h1 class="page-header"><script>document.write(l10nstrings.strSettings)</script></h1> diff --git a/loleaflet/src/admin/AdminSocketSettings.js b/loleaflet/src/admin/AdminSocketSettings.js index 5f4ba6f2..5a7ec207 100644 --- a/loleaflet/src/admin/AdminSocketSettings.js +++ b/loleaflet/src/admin/AdminSocketSettings.js @@ -41,9 +41,9 @@ var AdminSocketSettings = AdminSocketBase.extend({ onSocketOpen: function() { // Base class' onSocketOpen handles authentication this.base.call(this); - this.socket.send('subscribe settings'); this.socket.send('settings'); + this.socket.send('version'); }, onSocketMessage: function(e) { @@ -65,6 +65,28 @@ var AdminSocketSettings = AdminSocketBase.extend({ document.getElementById(settingKey).value = settingVal; } } + else if (textMsg.startsWith('loolserver ')) { + // This must be the first message, unless we reconnect. + var loolwsdVersionObj = JSON.parse(textMsg.substring(textMsg.indexOf('{'))); + var h = loolwsdVersionObj.Hash; + if (parseInt(h,16).toString(16) === h.toLowerCase().replace(/^0+/, '')) { + h = '<a target="_blank" href="https://gerrit.libreoffice.org/gitweb?p=online.git;a=log;h=' + h + '">' + h + '</a>'; + $('#loolwsd-version').html(loolwsdVersionObj.Version + ' (git hash: ' + h + ')'); + } + else { + $('#loolwsd-version').text(loolwsdVersionObj.Version); + } + } + else if (textMsg.startsWith('lokitversion ')) { + var lokitVersionObj = JSON.parse(textMsg.substring(textMsg.indexOf('{'))); + var h = lokitVersionObj.BuildId.substring(0, 7); + if (parseInt(h,16).toString(16) === h.toLowerCase().replace(/^0+/, '')) { + h = '<a target="_blank" href="https://gerrit.libreoffice.org/gitweb?p=core.git;a=log;h=' + h + '">' + h + '</a>'; + } + $('#lokit-version').html(lokitVersionObj.ProductName + ' ' + + lokitVersionObj.ProductVersion + lokitVersionObj.ProductExtension.replace('.10.','-') + + ' (git hash: ' + h + ')'); + } }, onSocketClose: function() { diff --git a/wsd/Admin.cpp b/wsd/Admin.cpp index 1870cb0f..dfa97bc4 100644 --- a/wsd/Admin.cpp +++ b/wsd/Admin.cpp @@ -109,6 +109,18 @@ void AdminSocketHandler::handleMessage(bool /* fin */, WSOpCode /* code */, if (!result.empty()) sendTextFrame(tokens[0] + ' ' + result); } + else if (tokens[0] == "version") + { + // Send LOOL version information + std::string version, hash; + Util::getVersionInfo(version, hash); + std::string versionStr = + "{ \"Version\": \"" + version + "\", " + + "\"Hash\": \"" + hash + "\" }"; + sendTextFrame("loolserver " + versionStr); + // Send LOKit version information + sendTextFrame("lokitversion " + LOOLWSD::LOKitVersion); + } else if (tokens[0] == "subscribe" && tokens.count() > 1) { for (std::size_t i = 0; i < tokens.count() - 1; i++) diff --git a/wsd/protocol.txt b/wsd/protocol.txt index ba3a191d..867380b3 100644 --- a/wsd/protocol.txt +++ b/wsd/protocol.txt @@ -476,6 +476,12 @@ subscribe <space seperated list of commands> Where list of commands are the ones that client wants to get notified about. For eg. 'subscribe adddoc rmdoc' +version + + Queries the server for current version of lokit and loolserver. See + 'lokitversion' and 'loolserver' in admin -> client for the format of + response message. + documents Queries the server for list of opened documents. See `documents` command @@ -594,3 +600,23 @@ mem_stats <comma separated list of memory consumed values> The length of the list is equal to the value of setting mem_stats_size` + +loolserver <JSON string> + + The returned JSON string contains information in the following format: + {Version: <>, Hash: <>} + + Eg: {"Version": "master..", + "Hash": "4897710"} + +lokitversion <JSON string> + + JSON string contains version information in format: + {ProductName: <>, ProductVersion: <>, ProductExtension: <>, BuildId: <>} + + Eg: {"ProductName": "LibreOffice", + "ProductVersion": "5.3", + "ProductExtension": ".0.0.alpha0", + "BuildId": "<full 40 char git hash>"} + + _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
