diff --git a/CHANGELOG.md b/CHANGELOG.md index e4ea28b..e782deb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 1.0.7 +* \#31: New installation displays 'Mount location is not set' on Windows +* \#33: Add 'Microsoft Visual C++ Redistributable' as dependency installation on Windows +* \#32: Don't display network error message when check for UI updates fails +* \#30: Add uninstall feature with reboot to handle WinFSP upgrades/downgrades +* \#34: Allow cancelling/closing dependency installation if version count > 1 +* Handle incorrect download sizes for dependencies and releases + ## 1.0.6 * Additional Linux distribution support: * Antergos diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md new file mode 100644 index 0000000..e7ce288 --- /dev/null +++ b/CONTRIBUTORS.md @@ -0,0 +1,3 @@ +# Repertory UI +* Oleg Nypadymka +* Scott E. Graves diff --git a/README.md b/README.md index 3b017b9..d2bc48f 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Repertory UI -![alt text](https://i.ibb.co/2dRFvFz/Screen-Shot-2019-07-30-at-9-06-49-PM.png) +![alt text](https://i.ibb.co/h1zS7Fr/Screenshot-from-2019-08-27-17-06-41.png) ## GUI for [Repertory](https://bitbucket.org/blockstorage/repertory) Repertory allows you to mount Sia and/or SiaPrime blockchain storage solutions via FUSE on Linux/OS X or via WinFSP on Windows. @@ -9,10 +9,10 @@ Repertory allows you to mount Sia and/or SiaPrime blockchain storage solutions v * SiaPrime >=1.4.0 ## Downloads -* **Repertory UI v1.0.6 Linux 64-bit** [](https://pixeldrain.com/u/u5WRzlSt) [](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage) +* **Repertory UI v1.0.7 Linux 64-bit** [](https://pixeldrain.com/u/thkU0RHP) [](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage) * NOTE: Linux distributions require `fuse` and `libfuse` to be installed. -* **Repertory UI v1.0.6 OS X 64-bit** [](https://pixeldrain.com/u/_Qk344Yy) [](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_mac.dmg) -* **Repertory UI v1.0.6 Windows 64-bit** [](https://pixeldrain.com/u/DpGbYmao) [](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_win.exe) +* **Repertory UI v1.0.7 OS X 64-bit** [](https://pixeldrain.com/u/gBW5TSR0) [](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_mac.dmg) +* **Repertory UI v1.0.7 Windows 64-bit** [](https://pixeldrain.com/u/AcsttDQ_) [](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_win.exe) * NOTE: Windows systems require [Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019](https://aka.ms/vs/16/release/vc_redist.x64.exe) ## Supported Platforms diff --git a/create_dist.cmd b/create_dist.cmd index 0b5c6e4..3743bd9 100644 --- a/create_dist.cmd +++ b/create_dist.cmd @@ -6,6 +6,9 @@ set /a ENABLE_UPLOAD=%1 set BITBUCKET_AUTH=%2 set OPENSSL_BIN="c:\OpenSSL-Win64\bin\openssl.exe" +if NOT EXIST %OPENSSL_BIN% ( + set OPENSSL_BIN="c:\Program Files\OpenSSL-Win64\bin\openssl.exe" +) set PRIVATE_KEY="c:\src\cert\blockstorage_dev_private.pem" set PUBLIC_KEY="%ROOT%blockstorage_dev_public.pem" @@ -26,8 +29,8 @@ pushd "%ROOT%" call npm run dist && ( pushd dist (certutil -hashfile "%OUT_FILE%" SHA256 | %SED_BIN% -e "1d" -e "$d" -e "s/\ //g") > "%OUT_FILE%.sha256" || (call :ERROR "Create sha-256 failed") - "%OPENSSL_BIN%" dgst -sha256 -sign "%PRIVATE_KEY%" -out "%OUT_FILE%.sig" "%OUT_FILE%" || (call :ERROR "Create signature failed") - "%OPENSSL_BIN%" dgst -sha256 -verify "%PUBLIC_KEY%" -signature "%OUT_FILE%.sig" "%OUT_FILE%" || (call :ERROR "Verify signature failed") + %OPENSSL_BIN% dgst -sha256 -sign "%PRIVATE_KEY%" -out "%OUT_FILE%.sig" "%OUT_FILE%" || (call :ERROR "Create signature failed") + %OPENSSL_BIN% dgst -sha256 -verify "%PUBLIC_KEY%" -signature "%OUT_FILE%.sig" "%OUT_FILE%" || (call :ERROR "Verify signature failed") "%B64_BIN%" -e "%OUT_FILE%.sig" "%OUT_FILE%.sig.b64" || (call :ERROR "Create base64 failed") if "%ENABLE_UPLOAD%"=="1" ( diff --git a/package.json b/package.json index 859de87..939aac5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "repertory-ui", - "version": "1.0.6", + "version": "1.0.7", "private": true, "author": "scott.e.graves@protonmail.com", "description": "GUI for Repertory - Repertory allows you to mount Sia and/or SiaPrime blockchain storage solutions via FUSE on Linux/OS X or via WinFSP on Windows.", diff --git a/public/detect_linux.sh b/public/detect_linux.sh index 8b923f9..0e6fe5e 100644 --- a/public/detect_linux.sh +++ b/public/detect_linux.sh @@ -63,31 +63,35 @@ elif [ -f /etc/debian_version ]; then resetDistVer fi fi -elif [ -f /etc/os-release ]; then - . /etc/os-release - if [ "$ID" == "arch" ]; then - DISTNAME=arch - elif [ "$ID" == "antergos" ] || [ "$ID" == "manjaro" ]; then - DISTNAME=ubuntu - DISTVER=18.10 - elif [ "$ID" == "opensuse-leap" ]; then - if [ "$VERSION_ID" == "15.0" ]; then - DISTNAME=opensuse - DISTVER=15 - elif [ "$VERSION_ID" == "15.1" ]; then - DISTNAME=opensuse - DISTVER=15.1 +fi + +if [ "$DISTNAME" == "unknown" ]; then + if [ -f /etc/os-release ]; then + . /etc/os-release + if [ "$ID" == "arch" ]; then + DISTNAME=arch + elif [ "$ID" == "antergos" ] || [ "$ID" == "manjaro" ]; then + DISTNAME=ubuntu + DISTVER=18.10 + elif [ "$ID" == "opensuse-leap" ]; then + if [ "$VERSION_ID" == "15.0" ]; then + DISTNAME=opensuse + DISTVER=15 + elif [ "$VERSION_ID" == "15.1" ]; then + DISTNAME=opensuse + DISTVER=15.1 + else + resetDistVer + fi + elif [ "$ID" == "opensuse-tumbleweed" ]; then + DISTNAME=tumbleweed + DISTVER= else resetDistVer fi - elif [ "$ID" == "opensuse-tumbleweed" ]; then - DISTNAME=tumbleweed - DISTVER= else resetDistVer fi -else - resetDistVer fi -echo ${DISTNAME}${DISTVER} +echo ${DISTNAME}${DISTVER} \ No newline at end of file diff --git a/public/electron.js b/public/electron.js index 69a5560..dd4ab76 100644 --- a/public/electron.js +++ b/public/electron.js @@ -88,9 +88,9 @@ const unmountAllDrives = () => { mountedData = {}; }; -function createWindow() { +function createWindow() { loadUiSettings(); - + let extra = {}; if (os.platform() === 'linux') { extra = { @@ -726,20 +726,45 @@ ipcMain.on(Constants.IPC_Install_Dependency, (event, data) => { }, error); }); } else { - helpers - .executeAndWait(data.Source) - .then(() => { - standardIPCReply(event, Constants.IPC_Install_Dependency_Reply, { - Source: data.Source, - URL: data.URL, + const execInstall = () => { + helpers + .executeAndWait(data.Source) + .then(() => { + standardIPCReply(event, Constants.IPC_Install_Dependency_Reply, { + Source: data.Source, + URL: data.URL, + }); + }) + .catch(error => { + standardIPCReply(event, Constants.IPC_Install_Dependency_Reply, { + Source: data.Source, + URL: data.URL, + }, error); }); - }) - .catch(error => { - standardIPCReply(event, Constants.IPC_Install_Dependency_Reply, { - Source: data.Source, - URL: data.URL, - }, error); - }); + }; + if (data.IsWinFSP) { + helpers + .performWindowsUninstall(["WinFsp 2019.3 B1", "WinFsp 2019.3 B2"]) + .then(uninstalled => { + if (uninstalled) { + standardIPCReply(event, Constants.IPC_Install_Dependency_Reply, { + RebootRequired: true, + Source: data.Source, + URL: data.URL, + }); + } else { + execInstall(); + } + }) + .catch(error => { + standardIPCReply(event, Constants.IPC_Install_Dependency_Reply, { + Source: data.Source, + URL: data.URL, + }, error); + }); + } else { + execInstall(); + } } }); @@ -886,6 +911,13 @@ ipcMain.on(Constants.IPC_Mount_Drive, (event, data) => { } }); +ipcMain.on(Constants.IPC_Reboot_System, () => { + if (os.platform() === 'win32') { + helpers.executeAsync('shutdown.exe', ['/r', '/t', '30']); + } + closeApplication(); +}); + ipcMain.on(Constants.IPC_Save_State, (event, data) => { helpers.mkDirByPathSync(helpers.getDataDirectory()); const configFile = path.join(helpers.getDataDirectory(), 'settings.json'); diff --git a/releases.json b/releases.json index 6d72ecd..f783752 100644 --- a/releases.json +++ b/releases.json @@ -1,220 +1,220 @@ { "Locations": { "arch": { - "1.0.6": { - "sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41", - "sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=", + "1.0.7": { + "sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf", + "sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=", "urls": [ - "https://pixeldrain.com/api/file/u5WRzlSt", - "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage" + "https://pixeldrain.com/api/file/thkU0RHP", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage" ] } }, "centos7": { - "1.0.6": { - "sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41", - "sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=", + "1.0.7": { + "sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf", + "sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=", "urls": [ - "https://pixeldrain.com/api/file/u5WRzlSt", - "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage" + "https://pixeldrain.com/api/file/thkU0RHP", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage" ] } }, "darwin": { - "1.0.6": { - "sha256": "9b27c8564dce9202a395d680135d29532ed6b6f0cd1d9875952a78bb05e68195", - "sig": "CV5EhAk41EyqXjYCfocdQ2g7tBgA2WXNQpSonqQhKfbWqvQRrSrX4QTioxmCQ6WP/fuRZ83lJkorlSufnv5WyBuYKi6rLfTAyLMIh1j6Bbb9qqpI57DNNl69GIayrzNYyWNME0Y9hZn04YKllH2o9W25yQRfG1BVrC9Xt8qtfa1vJ3msHgf30mvIcUUYU7HibUZgHQDLRHjkCL82BozK+JO32js43hD4X80eE9A4u/ugWxZfq/ES+ajAugroggsI51nlJi7T9Qe7aoF7RV8Mxx6OR9woakPxgCp6F855zpXgj1AHMq269IRDxN987OSpb1GIBWgRft3O2AJED8DmlTkZYDMNEFC4FTtv7KUFR/VND81gmlBRysBVHXlwQg2apTRBf1ON9FWbztNNSKXt4gzRQsk/WoqTpPFLiBfgDofUdq7EHIJzxOm/MKfZ7TNyvAKTnLlBbyMJYqKV7wnt7GGMkUHLJTNOdq7eCtLipeGgHWScG5pBswW83Ib8+dRlLcfnTkT4l15tfjGwZMErb4I07dwWrkcq2zCVDXxnwITYWzVoHsjfDwu05OpntkD1VFSH/yqGJUC1rQ5z9nSSmojbT4AYzCajy2j6qITzYmLG9KL0cBwAqD1YceyCqsL9U1y9M7s4Aerq8EJ5B7ddENEESYz5M74u5LWR5webwdAFhwoBEQHrGkfkPR5kovNLV+CSA8IAlaDzrKnuieJbaXsA0Y41Tr9VK0MADCTlCCaREj8GLDfAu+pNRC/woenUPUMlXYRBzmbASaoTbYYNChQGT5vxBERRpubPX3ZkYQ4Ck/u12wuZZsOP7zqqQy7w5QbKnDXiRo91MqjHmvTLxzbz5gDgh60RGcN2CKfwJ9yJJfJ8aegVBdfzerm4BRg+JA4sAMpAxJ/4VuKVDYFsSJdCLXC5Q3D2WSsie4Flj4FyqLEN8fidnxTx0xgCQTCMOM0EjxjX4dgn3gLiuEZ6gWh8ua1RpLfI+GHOglAA9q7CJaoHZ3uukHz6MwXzpNcEyh/QXUzAGPbx1reFeCeXl19S5nDQMhdRNdnpJgxxrcSnO8/8D4DhHs7Bjjd27zH3fXMEFyagvLEN006OphrntRTeKnoBn3saWxr0+7qxNo+TdRH7j8OWuNFt5+LaL692uF9Px1bL26xGlF5j2+n6KW4hiMoa5Kp9z4bCtmzrToNuWV0Zqe4pjrHFUdxEEJhOXBEtLXxjuxNSg26ryuHtSuFiNEZkPR9IK7hxblCGPCwq+I8zR2pAWvpAadbeiHDhz1K0xnUhQfWv46tbX+6CJl80G6gq9qUt/PxmAUAcL0kh7+JwjfHTqr2YfNK3608FrxAueaJC6YxrMVLAB2u39PA=", + "1.0.7": { + "sha256": "e4f5cf9765224d4c25472310089e0996f59772573dc59c1baa065810a16c19ba", + "sig": "A11yvEkveuPo2yyJaDhw9xt/+/xw7/4T3D2Kd/Px1LwCREio25gCr5BWPSIef5yALCS1nDHIzG8CIaDS+OHc4w87YAqIqVOcQaDi2E2t1El7B1noW8yXs+Ew/Ro3AwqN0lnJrtr8fZWVFKqxUTvxLLOJmh5jiud9vdrFzlaI2MNEvC0dY62T0hS1o4uij5/NIXHrZJuz43sa8WftL1RSD/z0lQELF43MaFYCfcDeyCZn2N/htyyvlOEi0bVbjZg1N2cyWAhKbAZu47t5Z5uyoV+VYcIPJT0IsGK2Vr/Js6ziSr3IqdpWl44ztXRLGp4Es17MMnjne30AbhOt+qIOPIcwyRQ7ENEu6MEgT3nA35y5fd1YK7Nz3IkJMxMe1XwyjLE82MgXg9tywb46zKeEJ9zzWk4No71Z6CPwo7kGEl7kzKLw61GYL+1AY+o2dmiDrO+l+DmTzHqGJ3GqBuCnG+5yKM+6klEKU+zmtuaQsPHamY5YLa302G59ecnH90+XIP9veB8jj0ipID8UoGZqJNZgUvkNN3CFoV3TMqA01M5VH7xqWTGPib+aoxCwFsaYiaKTbZBYjw9PQ/ECGXakfX3YpkR1YniNq+Y6UHpfnQNznqZBC+lrud67R2SmRN5JO6wIKiqaKwUT5B5k1ze3Ltdfb1i8bkhk1yNJZBmnr3MA4n5w7wvS/Fw4Uq1zkeUb+No4lP3nH1TcAwU+shesB44MUaLiTlnWUii1AGivEsTtqNp1YoSKVdX1c5GOia0F3iJBqyO1T++bgRpm433AkwaFLqvOr66CirCRtelhZaZtZPStBXATzSBlXEn1J2NbEA6rS185Twco4Cp92+otMFfACm59Ew94E0I8/NSXWEtGkaF7OadMdjS9WPf/5jHWoMnqA8dpYZZXXnZN3xU1eUaVxlu7bdoQxwjllkVMElLp30nOE7Gg2sHuV9xTZ5L2zaueDhZToiItZqce1mlG7zqN0fPlJ8SY0V5nGkm91L90rVi7/9YLKa3jE63Kkv6rMd/o1MAqaFIu1KOgcEbVzexIh1f3ikphIfgxT0PdEuhYa5OGhXwHI/7oaNT8I9XebFRVXCIRHoaYz+zxqCIDQVqDWnW62aTKBwdmGBAp0b9RsCNekCheR2SHfiJi2qAvMWbQR1c3MZpC9A5xAIJZ+FJpTqpagR5U09RIkMjfewpCrfXQYdIWXDJ7CDm2pYGxVn2IIrxvc5kpbsh7VpvNh8bA/TaHyxEKqRWFbua9JZcGP17jliBx3R2ZLt45BYET63Z7z6C8A/Js4bfEspXDd8KfF+rmu83crc1txaJx4WRpbVx8KTLlU/b9o+B5PaoV+BTt/CV3Jgf6uLLXKLB/EXU=", "urls": [ - "https://pixeldrain.com/api/file/_Qk344Yy", - "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_mac.dmg" + "https://pixeldrain.com/api/file/gBW5TSR0", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_mac.dmg" ] } }, "debian9": { - "1.0.6": { - "sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41", - "sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=", + "1.0.7": { + "sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf", + "sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=", "urls": [ - "https://pixeldrain.com/api/file/u5WRzlSt", - "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage" + "https://pixeldrain.com/api/file/thkU0RHP", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage" ] } }, "debian10": { - "1.0.6": { - "sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41", - "sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=", + "1.0.7": { + "sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf", + "sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=", "urls": [ - "https://pixeldrain.com/api/file/u5WRzlSt", - "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage" + "https://pixeldrain.com/api/file/thkU0RHP", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage" ] } }, "fedora28": { - "1.0.6": { - "sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41", - "sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=", + "1.0.7": { + "sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf", + "sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=", "urls": [ - "https://pixeldrain.com/api/file/u5WRzlSt", - "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage" + "https://pixeldrain.com/api/file/thkU0RHP", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage" ] } }, "fedora29": { - "1.0.6": { - "sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41", - "sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=", + "1.0.7": { + "sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf", + "sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=", "urls": [ - "https://pixeldrain.com/api/file/u5WRzlSt", - "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage" + "https://pixeldrain.com/api/file/thkU0RHP", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage" ] } }, "fedora30": { - "1.0.6": { - "sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41", - "sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=", + "1.0.7": { + "sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf", + "sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=", "urls": [ - "https://pixeldrain.com/api/file/u5WRzlSt", - "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage" + "https://pixeldrain.com/api/file/thkU0RHP", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage" ] } }, "opensuse15": { - "1.0.6": { - "sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41", - "sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=", + "1.0.7": { + "sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf", + "sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=", "urls": [ - "https://pixeldrain.com/api/file/u5WRzlSt", - "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage" + "https://pixeldrain.com/api/file/thkU0RHP", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage" ] } }, "opensuse15.1": { - "1.0.6": { - "sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41", - "sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=", + "1.0.7": { + "sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf", + "sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=", "urls": [ - "https://pixeldrain.com/api/file/u5WRzlSt", - "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage" + "https://pixeldrain.com/api/file/thkU0RHP", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage" ] } }, "solus": { - "1.0.6": { - "sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41", - "sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=", + "1.0.7": { + "sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf", + "sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=", "urls": [ - "https://pixeldrain.com/api/file/u5WRzlSt", - "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage" + "https://pixeldrain.com/api/file/thkU0RHP", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage" ] } }, "tumbleweed": { - "1.0.6": { - "sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41", - "sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=", + "1.0.7": { + "sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf", + "sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=", "urls": [ - "https://pixeldrain.com/api/file/u5WRzlSt", - "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage" + "https://pixeldrain.com/api/file/thkU0RHP", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage" ] } }, "ubuntu18.04": { - "1.0.6": { - "sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41", - "sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=", + "1.0.7": { + "sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf", + "sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=", "urls": [ - "https://pixeldrain.com/api/file/u5WRzlSt", - "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage" + "https://pixeldrain.com/api/file/thkU0RHP", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage" ] } }, "ubuntu18.10": { - "1.0.6": { - "sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41", - "sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=", + "1.0.7": { + "sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf", + "sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=", "urls": [ - "https://pixeldrain.com/api/file/u5WRzlSt", - "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage" + "https://pixeldrain.com/api/file/thkU0RHP", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage" ] } }, "ubuntu19.04": { - "1.0.6": { - "sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41", - "sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=", + "1.0.7": { + "sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf", + "sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=", "urls": [ - "https://pixeldrain.com/api/file/u5WRzlSt", - "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage" + "https://pixeldrain.com/api/file/thkU0RHP", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage" ] } }, "win32": { - "1.0.6": { - "sha256": "600fee604de40fd8634213ccce9513edcd8defe881914e28b1445c2bf48dec10", - "sig": "CBQXvnArlk/CCATwiP8dPeoSGAqc+2iBhUnr8wr8W8z05BpcpQKxl/OLBz9BaT3WHlyCPOLujqWZzVEyHLcxewByLQjgxvxYZyk9Qsz0zieciemc5dvXFDqyUy3hQoiDjD4VlUFoh2eiO1Oq8yzpw68qocVHNdyWHNMbShQBLiTa47uxjvimK2MgTLK+xsHgy8NUQldr9jHbrPYS0ZIi2Zvh17A66k97cVkjfMkEK4+3hOC6A2rZ6MGBnnaHV8gPC4juUIauZEuic62bIwNOc64qQZ7xp8daH4pLRNbdk5Ia84Ew71wX+Fx7C42wa+NPs721CgQHZoLOgbmo0tPghIrZe3K4xhhLVvB9aNUXoLM/KDb3CrTtNgm4+9UEiuqEJR1XE10gseOBdmE4oyqkirru5yQzNbTSrhMg4r+fBKK5b8AVUkBQHw6AMlgcKFc03HwiWnsRsc4lQsoev1X8WOE1X+wkogNrIUCNwJQS/46f/q9vAm+UFVH82tOSfQOQu6a51rV6yp5vRPyZK2Zuo3uzjT50pBoitAC5GzqRqD+nBtmbiu0h9y3BtD/cGouWT20ges6/W3kIEW720sFa5xNYPPrYiZQ5UUBwlDSxitrSQzssE58JC8nk6B/OKljxL4sQRHpYJinTPd7ZhzX295Rfi3bA9qbcdIhs31g2Kkg0CUBNDGE6k8/MefoYW6u/8k3UoJ7wihVURp6Y7zXHx/aeymkbnTYSjTy57axYyMWJTRghOIuParYvE/hXZPCA9cEn3FzFUOmiq8elNwYklpsuEikTZAtyxEU4zU6+pcRvtXdp6p4fKCebAKqfjfGY/17Oc8b9k7ZRfePQtBU9ZckzmVHdnNqQ9fUmqTz4tyM1NjMxopSYWAiVtizbq3A40zmgmIukIxOanfQQz6f0wGjpV+D84evaz1R4Vb/H8tS1CQ+Cz2Sln8v5DDKegLWLqfWOcPK6KAeFLIAuT+IkfFO1nt1PfsCVRxCPdDFytdlGnKC/5mYRqAVwGZTgwzbIG1u/LOWkbSSCa0XkHQP2rJCi1aKn5NaGXO1X4nILEbk9LeLBiLoyGp4jlwy1McnrjHcJRBRcrKTEG9O9zwSsEW29JOtLwgB5HA+EaQlcEdNGPzBLHS67cv7McTfyviClfK0QC34+VMZ0wPGEunAWaK31ztwsYVYftl5E6UIZY6woYd3jSk55ekGH8QmeIqpfmsjHs9TgpZYCfgA8u2blfxhLnNxxYBa9Z14DNST0oaPuF1dAE6p3oYj2Uf7BSUvjz+XOKGY2/PLR4Jd7JxN4d55559Lprrz410BTxAZEpkn+3B3JdFCMtHKucAlNLhsAURc6qtWNHwRVxahX43AoeQQ=", + "1.0.7": { + "sha256": "fbf7611bca712413bd6e6900bcbd49bd3a1545b4d4e70afb2ee9bd59f74b8f97", + "sig": "B3URP0wqwJcxuisX/qkoLg19Tm1tUu0rQbkBrCtpscaSa5PhUS/p+6ID/eApKMy91SWqCeqw0C071OvTVfTmWRoB/v+9Kkftqs9IISIMDBZgJEAcwf5h0CYqRp/cLyl5XfZLnZoMDR6x7cIVejBaDu1EWtWtACTxfDy3SvtbHkXTfo5ojKk5DScTSNAeDVSL1dY7BBsGuy5WDR0GYpB+519//V4uNCeLSxmHMekEQdyMmjpaO4iKDOkqccwYNSrw3LpL6TQ6YpTX8g2I1tD1ucTKob5Z44LANceL/PMjk7XYRCplufZBIiAnK6mBQFjFFMm4dDTSWqFQKn+pJboTE1E20Gvs/1MFwO1S30mwOIuYebZ4Xfa/D26rFjjxsA8a62Xrxw5YenKczRWs1iNRK+BZUUNw3pbm0KtEwvJZX/XhaVBBuHwT4CDTLIK0tvVsVF6cMNXLdgJEBmItkSw8LdDta81SwHVco0oMxwExqFbwhXqZf7hQBx4NaytBft0QeXNGF0T1B7GTi+D2qr9F5YcIALzYPh5b6RC8yTuTuVgIW+f3LSY8yPTvJaFS3idjTMbzebWAC2aR0BNW1dPyEEoLzsQEfBDbXqSN4m7j+Nt2l5HGfpy370uOaVeKhIFgASJTvhp6FJ0+3FdJfv5E6E0h6EXCXsGCXmh51kcz5kPpmeLXa3OaoF8G5277hICztyUfqskmgz6cu5udRglW57ZwVM8nWRYo9yO5oiLn9ygq4ALOhUfQhbaCpICsDO5nG1R3rAj0t4a2yzQg+CqN9GXzf0+xlbuO0wdg92s2Tgs1O2F5U8yPvgp7fJIil8/GYmmJHj9zqj+kWjFm+ZPdreXns5m+jr58/hepaVyu7KVV/I/o5Q2dse5Xf+jvt7B8u2TC+JWmitzBJkDGRM0Rml+3QIb2F1lKMfPSs34aI7HJHjrfvExAcFiXDVsFXudVZqayjKWreA4gsgZ07GUi1lZ6qX00K7trxWz0BmlZqtXGofrDUQGgsiZ5FoGW5tFSs9t7DqUnpQAZCiVfPki8bphbPMeRsPXBMXsHKTK6TzbU8nukq8urMJWURetWQP5N4/dSI5zrgByBVI7n1TQvdE2bzMQrJP/xTLWGZUCRXfi2J7FmW7fbUtcAStVC2TPWPuzEC9Lvb3ybg0wepgEbMn1kGfb7mohJ5jeLHqhGzY9mx9fO191cduH9zI+yV5wrnYqWd5wN9J4NY66ULxeGxt03rzjMd2hv2tRRVRsT+/4ACUZcIV8JwUZgK51s5DuUWUsl2e5DBPAND/RVpThXJVFyAtBo/vDqoY3lg/pc4RaQZ6gNMoFeHbXwD/yu6TDDTWq5u00ZwNCbR0PaBTwDabs=", "urls": [ - "https://pixeldrain.com/api/file/DpGbYmao", - "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_win.exe" + "https://pixeldrain.com/api/file/AcsttDQ_", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_win.exe" ] } } }, "Versions": { "arch": [ - "1.0.6" + "1.0.7" ], "centos7": [ - "1.0.6" + "1.0.7" ], "darwin": [ - "1.0.6" + "1.0.7" ], "debian9": [ - "1.0.6" + "1.0.7" ], "debian10": [ - "1.0.6" + "1.0.7" ], "fedora28": [ - "1.0.6" + "1.0.7" ], "fedora29": [ - "1.0.6" + "1.0.7" ], "fedora30": [ - "1.0.6" + "1.0.7" ], "linux": [ "unavailable" ], "opensuse15": [ - "1.0.6" + "1.0.7" ], "opensuse15.1": [ - "1.0.6" + "1.0.7" ], "solus": [ - "1.0.6" + "1.0.7" ], "tumbleweed": [ - "1.0.6" + "1.0.7" ], "ubuntu18.04": [ - "1.0.6" + "1.0.7" ], "ubuntu18.10": [ - "1.0.6" + "1.0.7" ], "ubuntu19.04": [ - "1.0.6" + "1.0.7" ], "unknown": [ "unavailable" ], "win32": [ - "1.0.6" + "1.0.7" ] } } diff --git a/src/App.js b/src/App.js index 713dbb5..b0ae7f8 100644 --- a/src/App.js +++ b/src/App.js @@ -2,7 +2,6 @@ import React from 'react'; import './App.css'; import Box from './components/UI/Box/Box'; import Configuration from './containers/Configuration/Configuration'; -import {checkVersionInstalled} from './redux/actions/install_actions'; import {connect} from 'react-redux'; import DependencyList from './components/DependencyList/DependencyList'; import DownloadProgress from './components/DownloadProgress/DownloadProgress'; @@ -13,6 +12,7 @@ import Loading from './components/UI/Loading/Loading'; import Modal from './components/UI/Modal/Modal'; import MountItems from './containers/MountItems/MountItems'; import {notifyError} from './redux/actions/error_actions'; +import Reboot from './components/Reboot/Reboot'; import ReleaseVersionDisplay from './components/ReleaseVersionDisplay/ReleaseVersionDisplay'; import {saveState} from './redux/actions/common_actions'; import Text from './components/UI/Text/Text'; @@ -44,7 +44,6 @@ class App extends IPCContainer { (prevProps.ReleaseVersion !== this.props.ReleaseVersion) || (prevProps.VersionLookup !== this.props.VersionLookup)) { this.props.saveState(); - this.props.checkVersionInstalled(); } else if (Object.keys(this.props.ProviderState).filter(k=> { return this.props.ProviderState[k] !== prevProps.ProviderState[k]; }).length > 0) { @@ -77,8 +76,11 @@ class App extends IPCContainer { (selectedVersion !== 'unavailable') && (selectedVersion !== this.props.InstalledVersion); - const missingDependencies = (this.props.MissingDependencies.length > 0); - const allowMount = this.props.InstalledVersion !== 'none' && + const missingDependencies = (this.props.MissingDependencies.length > 0) && + this.props.AllowMount; + + const allowMount = this.props.AllowMount && + this.props.InstalledVersion !== 'none' && !missingDependencies && !this.props.InstallActive; @@ -93,6 +95,7 @@ class App extends IPCContainer { const showConfig = !missingDependencies && this.props.DisplayConfiguration && + !this.props.RebootRequired && allowConfig; const showUpgrade = this.props.UpgradeAvailable && @@ -100,12 +103,17 @@ class App extends IPCContainer { !showConfig && !this.props.DownloadActive && !this.props.UpgradeDismissed && - !this.props.InstallActive; + !this.props.InstallActive && + !this.props.RebootRequired; const showDependencies = !showUpgrade && missingDependencies && - !this.props.DownloadActive; + !this.props.DownloadActive && + !this.props.RebootRequired && + !this.props.DismissDependencies && + this.props.AllowMount; + const rebootDisplay = this.createModalConditionally(this.props.RebootRequired, ); const configDisplay = this.createModalConditionally(showConfig, ); const dependencyDisplay = this.createModalConditionally(showDependencies, ); const downloadDisplay = this.createModalConditionally(this.props.DownloadActive, ); @@ -143,6 +151,7 @@ class App extends IPCContainer { {upgradeDisplay} {downloadDisplay} {configDisplay} + {rebootDisplay}
@@ -178,8 +187,10 @@ class App extends IPCContainer { const mapStateToProps = state => { return { AllowDownload: state.download.AllowDownload, + AllowMount: state.common.AllowMount, AppPlatform: state.common.AppPlatform, AppReady: state.common.AppReady, + DismissDependencies: state.install.DismissDependencies, DisplayConfiguration: state.mounts.DisplayConfiguration, DisplayError: state.error.DisplayError, DownloadActive: state.download.DownloadActive, @@ -189,6 +200,7 @@ const mapStateToProps = state => { MissingDependencies: state.install.MissingDependencies, MountsBusy: state.mounts.MountsBusy, ProviderState: state.mounts.ProviderState, + RebootRequired: state.common.RebootRequired, Release: state.relver.Release, ReleaseVersion: state.relver.Version, UpgradeAvailable: state.relver.UpgradeAvailable, @@ -200,7 +212,6 @@ const mapStateToProps = state => { const mapDispatchToProps = dispatch => { return { - checkVersionInstalled: () => dispatch(checkVersionInstalled()), loadReleases: ()=> dispatch(loadReleases()), notifyError: (msg, critical, callback) => dispatch(notifyError(msg, critical, callback)), saveState: () => dispatch(saveState()), diff --git a/src/components/DependencyList/DependencyList.js b/src/components/DependencyList/DependencyList.js index 32db85f..43d35af 100644 --- a/src/components/DependencyList/DependencyList.js +++ b/src/components/DependencyList/DependencyList.js @@ -6,16 +6,19 @@ import Dependency from './Dependency/Dependency'; import Box from '../UI/Box/Box'; import {downloadItem} from '../../redux/actions/download_actions'; import {extractFileNameFromURL} from '../../utils'; +import {setDismissDependencies} from '../../redux/actions/install_actions'; const mapStateToProps = state => { return { + AllowDismissDependencies: state.relver.AllowDismissDependencies, MissingDependencies: state.install.MissingDependencies, }; }; const mapDispatchToProps = (dispatch) => { return { - downloadItem: (name, type, url) => dispatch(downloadItem(name, type, url)) + downloadItem: (name, type, url, isWinFSP) => dispatch(downloadItem(name, type, url, isWinFSP)), + setDismissDependencies: dismiss => dispatch(setDismissDependencies(dismiss)), }; }; @@ -24,12 +27,23 @@ export default connect(mapStateToProps, mapDispatchToProps)(props => { return ( props.downloadItem(extractFileNameFromURL(k.download), Constants.INSTALL_TYPES.Dependency, k.download)}/> + onDownload={()=>props.downloadItem(extractFileNameFromURL(k.download), Constants.INSTALL_TYPES.Dependency, k.download, k.is_winfsp)}/> ); }); + let dismissDisplay; + if (props.AllowDismissDependencies) { + dismissDisplay = ( +
+ props.setDismissDependencies(true)}>X + +
); + } + return ( + {dismissDisplay}

Missing Dependencies

diff --git a/src/components/Reboot/Reboot.css b/src/components/Reboot/Reboot.css new file mode 100644 index 0000000..26160e5 --- /dev/null +++ b/src/components/Reboot/Reboot.css @@ -0,0 +1,11 @@ +.RebootHeading { + color: var(--text_color_error); + text-align: center; + margin-bottom: 4px; +} + +.RebootContent { + max-height: 60vh; + overflow-y: auto; + margin-bottom: 8px; +} \ No newline at end of file diff --git a/src/components/Reboot/Reboot.js b/src/components/Reboot/Reboot.js new file mode 100644 index 0000000..242a3e9 --- /dev/null +++ b/src/components/Reboot/Reboot.js @@ -0,0 +1,24 @@ +import React from 'react'; +import './Reboot.css'; +import {connect} from 'react-redux'; +import Box from '../UI/Box/Box'; +import Button from '../UI/Button/Button'; +import {rebootSystem} from '../../redux/actions/common_actions'; + +const mapDispatchToProps = dispatch => { + return { + rebootSystem: () => dispatch(rebootSystem()), + }; +}; + +export default connect(null, mapDispatchToProps)(props => { + return ( + +

Reboot System

+
+

Repertory requires a system reboot to continue.

+
+ +
+ ); +}); \ No newline at end of file diff --git a/src/components/ReleaseVersionDisplay/ReleaseVersionDisplay.js b/src/components/ReleaseVersionDisplay/ReleaseVersionDisplay.js index 26eb7d0..9106a18 100644 --- a/src/components/ReleaseVersionDisplay/ReleaseVersionDisplay.js +++ b/src/components/ReleaseVersionDisplay/ReleaseVersionDisplay.js @@ -7,12 +7,13 @@ import Grid from '../UI/Grid/Grid'; import Text from '../UI/Text/Text'; import Button from '../UI/Button/Button'; import UpgradeIcon from '../UpgradeIcon/UpgradeIcon'; -import {setActiveRelease} from "../../redux/actions/release_version_actions"; +import {setActiveRelease} from '../../redux/actions/release_version_actions'; import {downloadItem} from '../../redux/actions/download_actions'; const mapStateToProps = state => { return { AppPlatform: state.common.AppPlatform, + DismissDependencies: state.install.DismissDependencies, DownloadActive: state.download.DownloadActive, InstallActive: state.install.InstallActive, InstallType: state.install.InstallType, @@ -74,7 +75,7 @@ export default connect(mapStateToProps, mapDispatchToProps)(props => { text={text} textAlign={'left'}/> )); - } else if (props.downloadDisabled) { + } else if (props.downloadDisabled || props.DismissDependencies) { optionsDisplay.push(( (dimensions.columns / 3) * 2} colSpan={'remain'} @@ -100,7 +101,6 @@ export default connect(mapStateToProps, mapDispatchToProps)(props => { col={dimensions => (dimensions.columns / 3) * 2} colSpan={20} key={key++} - disabled={props.downloadDisabled} row={5} rowSpan={7}>Install )); diff --git a/src/constants.js b/src/constants.js index 3c88a89..9ffe2b8 100644 --- a/src/constants.js +++ b/src/constants.js @@ -111,6 +111,8 @@ exports.IPC_Install_Upgrade_Reply = 'install_upgrade_reply'; exports.IPC_Mount_Drive = 'mount_drive'; exports.IPC_Mount_Drive_Reply = 'mount_drive_reply'; +exports.IPC_Reboot_System = 'reboot_system'; + exports.IPC_Save_State = 'save_state'; exports.IPC_Show_Window = 'show_window'; diff --git a/src/containers/MountItems/MountItems.js b/src/containers/MountItems/MountItems.js index 2317438..58a84ce 100644 --- a/src/containers/MountItems/MountItems.js +++ b/src/containers/MountItems/MountItems.js @@ -223,7 +223,10 @@ class MountItems extends IPCContainer { } if (location !== providerState.MountLocation) { - this.handleMountLocationChanged(provider, location); + const value = (this.props.Platform === 'win32') ? + data.DriveLetters[provider].indexOf(location) : + location; + this.handleMountLocationChanged(provider, value); } if (!this.props.AutoMountProcessed && diff --git a/src/helpers.js b/src/helpers.js index 3fbd787..dfb955a 100644 --- a/src/helpers.js +++ b/src/helpers.js @@ -12,6 +12,55 @@ const _getDataDirectory = () => { return _resolvePath(Constants.DATA_LOCATIONS[os.platform()]); }; +const _executeProcess = (command, args=[]) => { + return new Promise((resolve, reject) => { + const processOptions = { + detached: true, + shell: false, + }; + + const process = new spawn(command, args, processOptions); + const pid = process.pid; + + process.on('error', (err) => { + reject(err, pid); + }); + + process.on('exit', (code) => { + resolve(code); + }); + + process.unref(); + }); +}; + +const _execProcessGetOutput = (cmd, args) => { + return new Promise((resolve, reject) => { + const proc = spawn(cmd, args, { + env: process.env, + stdio: ['ignore', 'pipe', 'pipe'] + }); + + let output; + proc.stdout.on('data', data => { + output += data.toString(); + }); + + proc.on('error', (err) => { + reject(err); + }); + + proc.on('exit', () => { + const lines = output + .replace(/\r\n/g, '\n') + .split('\n'); + resolve(lines); + }); + + proc.unref(); + }); +}; + const _resolvePath = str => { if (os.platform() === 'win32') { return str.replace(/%([^%]+)%/g, (_, n) => { @@ -125,7 +174,7 @@ module.exports.downloadFile = (url, destination, progressCallback, completeCallb fs.unlinkSync(destination); } } catch (e) { - completeCallback(false, e); + completeCallback(e); return; } @@ -133,32 +182,47 @@ module.exports.downloadFile = (url, destination, progressCallback, completeCallb .get(url, { responseType: 'stream', }) - .then((response) => { - const stream = fs.createWriteStream(destination); - const total = parseInt(response.headers['content-length'], 10); - let downloaded = 0; - response.data.on('data', (chunk) => { - stream.write(Buffer.from(chunk)); - downloaded += chunk.length; - if (progressCallback) { - progressCallback((downloaded / total * 100.0).toFixed(2)); + .then(response => { + try { + const total = parseInt(response.headers['content-length'], 10); + if (total === 0) { + completeCallback(Error('No data available for download')); + } else { + const stream = fs.createWriteStream(destination); + + let downloaded = 0; + response.data.on('data', (chunk) => { + stream.write(Buffer.from(chunk)); + downloaded += chunk.length; + if (progressCallback) { + progressCallback((downloaded / total * 100.0).toFixed(2)); + } + }); + + response.data.on('end', () => { + stream.end(() => { + if (downloaded === 0) { + completeCallback(Error('Received 0 bytes')); + } else if (downloaded !== total) { + completeCallback(Error('Received incorrect number of bytes')); + } else { + completeCallback(); + } + }); + }); + + response.data.on('error', error => { + stream.end(() => { + completeCallback(error); + }); + }); } - }); - - response.data.on('end', () => { - stream.end(() => { - completeCallback(); - }); - }); - - response.data.on('error', (e) => { - stream.end(() => { - completeCallback(e); - }); - }); + } catch (error) { + completeCallback(error); + } }) - .catch((e)=> { - completeCallback(e); + .catch(error => { + completeCallback(error); }); }; @@ -484,6 +548,65 @@ module.exports.mkDirByPathSync = (targetDir, { isRelativeToScript = false } = {} }, initDir); }; +module.exports.performWindowsUninstall = names => { + return new Promise((resolve, reject) => { + if (os.platform() !== 'win32') { + reject('Windows OS is not being used'); + } else { + const cmd = path.join(process.env.windir, 'system32', 'reg.exe'); + const args = ["QUERY", "HKLM\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall"]; + _execProcessGetOutput(cmd, args) + .then(lines => { + const parseLine = index => { + if (index < lines.length) { + const line = lines[index]; + if (line.startsWith('HKEY_LOCAL_MACHINE\\')) { + let args2 = JSON.parse(JSON.stringify(args)); + args2[1] = 'HKLM\\' + line.substr(19); + args2.push('/v'); + args2.push('DisplayName'); + args2.push('/t'); + args2.push('REG_SZ'); + _execProcessGetOutput(cmd, args2) + .then(lines => { + const value = lines[2].trim().substr(args2[3].length).trim().substr(6).trim(); + if (names.includes(value)) { + const items = line.split('\\'); + const productCode = items[items.length - 1]; + _executeProcess('msiexec.exe', ['/x', productCode, '/norestart']) + .then(code => { + if ((code === 0) || (code === 3010) || (code === 1641)) { + resolve(true); + } else { + reject('[' + value + '] uninstall failed: ' + code); + } + }) + .catch(err => { + reject(err); + }); + } else { + parseLine(++index); + } + }) + .catch(err=> { + parseLine(++index); + }); + } else { + parseLine(++index); + } + } else { + resolve(false); + } + }; + parseLine(0); + }) + .catch( err => { + reject(err); + }); + } + }); +}; + module.exports.removeDirectoryRecursively = (p) => { if (fs.existsSync(p)) { fs diff --git a/src/redux/actions/common_actions.js b/src/redux/actions/common_actions.js index de17bca..72854fb 100644 --- a/src/redux/actions/common_actions.js +++ b/src/redux/actions/common_actions.js @@ -4,7 +4,25 @@ import {getIPCRenderer} from '../../utils'; const ipcRenderer = getIPCRenderer(); +export const notifyRebootRequired = createAction('common/notifyRebootRequired'); +export const setAllowMount = createAction('common/setAllowMount'); + +export const rebootSystem = () => { + return dispatch => { + dispatch(setApplicationReady(false)); + if (ipcRenderer) { + ipcRenderer.send(Constants.IPC_Reboot_System); + } + } +}; + export const setApplicationReady = createAction('common/setApplicationReady'); +export const setRebootRequired = () => { + return dispatch => { + dispatch(showWindow()); + dispatch(notifyRebootRequired(true)); + }; +}; export const showWindow = () => { return dispatch => { diff --git a/src/redux/actions/download_actions.js b/src/redux/actions/download_actions.js index 5c1d36d..2f8367e 100644 --- a/src/redux/actions/download_actions.js +++ b/src/redux/actions/download_actions.js @@ -25,7 +25,7 @@ export const setDownloadBegin = (name, type, url) => { export const setDownloadEnd = createAction('download/setDownloadEnd'); export const setDownloadProgress = createAction('download/setDownloadProgress'); -export const downloadItem = (name, type, urls) => { +export const downloadItem = (name, type, urls, isWinFSP) => { return (dispatch, getState) => { if (!Array.isArray(urls)) { urls = [urls]; @@ -35,7 +35,7 @@ export const downloadItem = (name, type, urls) => { if (result.Success) { switch (type) { case Constants.INSTALL_TYPES.Dependency: - dispatch(installDependency(result.Destination, result.URL)); + dispatch(installDependency(result.Destination, result.URL, isWinFSP)); break; case Constants.INSTALL_TYPES.Release: dispatch(installRelease(result.Destination)); diff --git a/src/redux/actions/install_actions.js b/src/redux/actions/install_actions.js index fb7612e..4c11816 100644 --- a/src/redux/actions/install_actions.js +++ b/src/redux/actions/install_actions.js @@ -12,7 +12,9 @@ import { setReleaseUpgradeAvailable } from './release_version_actions'; import { + setAllowMount, setApplicationReady, + setRebootRequired, showWindow, shutdownApplication } from './common_actions'; @@ -42,6 +44,7 @@ export const checkInstalled = (dependencies, version) => { dispatch(setReleaseUpgradeAvailable(upgradeAvailable)); dispatch(setMissingDependencies(result.Dependencies)); dispatch(setAllowDownload(true)); + dispatch(setAllowMount(true)); if (result.Dependencies && (result.Dependencies.length > 0)) { dispatch(showWindow()); } @@ -81,7 +84,7 @@ export const checkVersionInstalled = () => { }; }; -export const installDependency = (source, url) => { +export const installDependency = (source, url, isWinFSP) => { return (dispatch, getState) => { if (ipcRenderer && !getState().install.InstallActive) { dispatch(setInstallActive(Constants.INSTALL_TYPES.Dependency)); @@ -89,11 +92,15 @@ export const installDependency = (source, url) => { const installDependencyComplete = (event, arg) => { const result = arg.data; const handleCompleted = ()=> { - ipcRenderer.send(Constants.IPC_Delete_File, { - FilePath: source, - }); - dispatch(setInstallComplete(result)); - dispatch(checkVersionInstalled()); + if (result.RebootRequired) { + dispatch(setRebootRequired()); + } else { + ipcRenderer.send(Constants.IPC_Delete_File, { + FilePath: source, + }); + dispatch(setInstallComplete(result)); + dispatch(checkVersionInstalled()); + } }; if (result.Success && source.toLowerCase().endsWith('.dmg')) { @@ -121,6 +128,7 @@ export const installDependency = (source, url) => { ipcRenderer.send(Constants.IPC_Install_Dependency, { Source: source, URL: url, + IsWinFSP: isWinFSP, }); } }; @@ -183,6 +191,7 @@ export const installUpgrade = (source, sha256, signature, skipVerification) => { }; }; +export const setDismissDependencies = createAction('install/setDismissDependencies'); export const setInstallActive = createAction('install/setInstallActive'); export const setInstallComplete = createAction('install/setInstallComplete'); export const setMissingDependencies = createAction('install/setMissingDependencies'); diff --git a/src/redux/actions/release_version_actions.js b/src/redux/actions/release_version_actions.js index ffc785c..0fe9ebd 100644 --- a/src/redux/actions/release_version_actions.js +++ b/src/redux/actions/release_version_actions.js @@ -4,9 +4,14 @@ import {createAction} from 'redux-starter-kit'; import {notifyError} from './error_actions'; import { saveState, + setAllowMount, setApplicationReady, showWindow } from './common_actions'; +import { + checkVersionInstalled, + setDismissDependencies +} from './install_actions'; import {unmountAll} from './mount_actions'; export const CLEAR_UI_UPGRADE = 'relver/clearUIUpgrade'; @@ -38,9 +43,8 @@ export const detectUIUpgrade = () => { } else { dispatch(clearUIUpgrade()); } - }).catch(error => { + }).catch(() => { dispatch(clearUIUpgrade()); - dispatch(notifyError(error)); }); }; }; @@ -61,16 +65,20 @@ export const loadReleases = () => { dispatch(setReleaseData(locationsLookup, versionLookup)); - const dispatchActions = () => { + const dispatchActions = (processAllowDismiss = true) => { dispatch(setReleaseUpgradeAvailable((version !== latestVersion))); dispatch(setApplicationReady(true)); dispatch(detectUIUpgrade()); + if (processAllowDismiss) { + dispatch(setAllowDismissDependencies(versionLookup[Constants.RELEASE_TYPES[release]].length > 1)); + } + dispatch(checkVersionInstalled()); }; if ((version !== state.Version) || (release !== state.Release)) { dispatch(unmountAll(() => { dispatch(setActiveRelease(release, version)); - dispatchActions(); + dispatchActions(false); dispatch(showWindow()); dispatch(saveState()); })); @@ -113,17 +121,33 @@ export const loadReleases = () => { }; }; -export const SET_ACTIVE_RELEASE = 'relver/setActiveRelease'; -export const setActiveRelease = (release, version) => { +export const NOTIFY_ACTIVE_RELEASE = 'relver/notifyActiveRelease'; +export const notifyActiveRelease = (release, version) => { return { - type: SET_ACTIVE_RELEASE, + type: NOTIFY_ACTIVE_RELEASE, payload: { - release, - version + release: release, + version: version + }, + }; +}; + +export const setActiveRelease = (release, version) => { + return (dispatch, getState) => { + dispatch(setAllowMount(false)); + const relVer = getState().relver; + const common = getState().common; + const versions = relVer.VersionLookup[Constants.RELEASE_TYPES[release]]; + dispatch(setAllowDismissDependencies(versions.length > 1)); + dispatch(setDismissDependencies(false)); + dispatch(notifyActiveRelease(release, version)); + if (common.AppReady) { + dispatch(checkVersionInstalled()); } }; }; +export const setAllowDismissDependencies = createAction('relver/setAllowDismissDependencies'); export const setDismissUIUpgrade = createAction('relver/setDismissUIUpgrade'); export const setInstalledVersion = createAction('relver/setInstalledVersion'); diff --git a/src/redux/reducers/common_reducer.js b/src/redux/reducers/common_reducer.js index 25ffde9..a2599bc 100644 --- a/src/redux/reducers/common_reducer.js +++ b/src/redux/reducers/common_reducer.js @@ -1,18 +1,36 @@ import {createReducer} from 'redux-starter-kit'; -import {setApplicationReady} from '../actions/common_actions'; +import { + notifyRebootRequired, + setAllowMount, + setApplicationReady, +} from '../actions/common_actions'; export const createCommonReducer = (platform, appPlatform, version) => { return createReducer({ + AllowMount: false, AppPlatform: appPlatform, AppReady: false, Platform: platform, + RebootRequired: false, Version: version, }, { + [setAllowMount]: (state, action) => { + return { + ...state, + AllowMount: action.payload, + } + }, [setApplicationReady]: (state, action) => { return { ...state, AppReady: action.payload, }; - } + }, + [notifyRebootRequired]: (state, action) => { + return { + ...state, + RebootRequired: action.payload, + }; + }, }); }; \ No newline at end of file diff --git a/src/redux/reducers/install_reducer.js b/src/redux/reducers/install_reducer.js index ed6326b..9237040 100644 --- a/src/redux/reducers/install_reducer.js +++ b/src/redux/reducers/install_reducer.js @@ -1,16 +1,24 @@ import {createReducer} from 'redux-starter-kit'; import { + setDismissDependencies, setInstallActive, setInstallComplete, setMissingDependencies } from '../actions/install_actions'; export const installReducer = createReducer({ + DismissDependencies: false, InstallActive: false, InstallResult: null, InstallType: null, MissingDependencies: [], }, { + [setDismissDependencies]: (state, action) => { + return { + ...state, + DismissDependencies: action.payload, + } + }, [setInstallActive]: (state, action) => { return { ...state, diff --git a/src/redux/reducers/release_version_reducer.js b/src/redux/reducers/release_version_reducer.js index f106fa0..1214b42 100644 --- a/src/redux/reducers/release_version_reducer.js +++ b/src/redux/reducers/release_version_reducer.js @@ -14,6 +14,7 @@ const versionLookup = Constants.RELEASE_TYPES.map(k=> { }); export const releaseVersionReducer = createReducer({ + AllowDismissDependencies: false, InstalledVersion: 'none', LocationsLookup: {}, Release: 0, @@ -35,13 +36,19 @@ export const releaseVersionReducer = createReducer({ UpgradeVersion: null, }; }, - [Actions.SET_ACTIVE_RELEASE]: (state, action) => { + [Actions.NOTIFY_ACTIVE_RELEASE]: (state, action) => { return { ...state, Release: action.payload.release, Version: action.payload.version }; }, + [Actions.setAllowDismissDependencies]: (state, action) => { + return { + ...state, + AllowDismissDependencies: action.payload, + }; + }, [Actions.setDismissUIUpgrade]: (state, action) => { return { ...state,