From e817dfbcf8ef6a5d458cd9a1a807e96765cfb285 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Mon, 1 Jul 2019 21:25:46 -0500 Subject: [PATCH 01/31] Updated version --- package.json | 2 +- releases.json | 112 ++++++++++++++++++++++---------------------------- 2 files changed, 51 insertions(+), 63 deletions(-) diff --git a/package.json b/package.json index 57803aa..ac0bf17 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "repertory-ui", - "version": "1.0.3", + "version": "1.0.4", "private": true, "author": "scott.e.graves@gmail.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/releases.json b/releases.json index 1970261..a592332 100644 --- a/releases.json +++ b/releases.json @@ -1,156 +1,144 @@ { "Locations": { "arch": { - "1.0.3": { - "sha256": "733412d292092d27064117df4fedc711f8fa7785f323064dc8644daf162aedda", - "sig": "AjAoemcyzb7Ldz4DO6wUtaVNlTi9uWJX6jWWk/rphlJAx9lNQgOKi4SsE3NaADiL45iTcpYfqAmmu3zLetB0k3shtFy4FP3U6GXzJL3qcfZQGq+r0fTXm1cFhPQZyApXRbt6LJIOn3ml0tpqjtrmfyD00ylHVGbNESKHFNFG9WPdBzq664s3zx8CbK5Q5BFZX+ZoUT2HSqV6n7EAQsJOPHDmIaSNf6aqgWtnDsG+aNhu/ZGxG0zpzUqUVN9lMWjnoEW1zxp1Pu8tKB2st8AB6QQX+/Vmtt6BVQ9W0bEdBypRyLzN5LI4M+Uf7o+YjDC9kaTkdS6f66XHNUCOAo5ULPR/5e6kou21ngHCsDDapY6Dm0t+MNsnctM91Q/QcLueZbEUy/nRvsDjTCxfbR8mB2r+AtBLOkSSI4oyNr8GqOOHTPv/pJYNABngZfVZrVbAHzox1eeKjXpyoLU3/DjU0OaQ1vBfqCe6905O7Sk0VeiaCHeo6D/ruq8GtjQ5zc45HeQ8G78r8YARGhuwXOQ5sx3KaaF47BLZhvLrKeas9pP7BEx+TdfUBJP6tFXxDXxvfVopU/Uvmj/CMSOPESgNIFSsBYCATYo/EiYBmCC2DIeBB5gLhbsFwHcT1/w0A5NFYcshsfpTqTpr8AMzRu8RQyIALWdMXG0KmcktPr0YDcHN9+5Yae1FYEAG5U7+j2KPemtaoIDaW1mTyGKPLz2gz2QlsCIRhM1KD+fuQB2hO4AwBv0iKY8Wd6sPWILlfz/KfDzNO8N2ljgf/MamIeB4pzrtjOXxZ4eV5RxYa4k6YbaFvfMCkSRV9p9PypXrWCydbfA0ZwrcxHiyxg3MJebxIaDKYf+tLjgD7+vqHMDtLTtuQ6KavmfTzkrRMTreQpXwn9Hxo6Hbbs3WutxhUv86PmVjHY2N7Ox/xYwtxno3MHN02sH3xruij5r9Gk40AQ2X7UQxzL7iyAfCOeRucBbbO1D00axnD7IOtcTq8U1sEdvKw32FU50NSxce+4Rx7M/PWVfu39pW8NSNG9syMjVt4s1Lu6O1X2yvz43ecFGaIT9zaAv0PEfFBPVHupPnTIlaW4CTl5ftt7yP52HsKbk7HUEbG/5Y8Hr6SA3nCMEHeWn1jqhe1aWT+4QhHTiqCEoObdVgYdnOyAYuu7q6JdBIEVtf+C96E2l2cspLaL/CFLC1YCL9cucIzTubthYlf5mypepEVEeDpbhszMvvZjcEpgJIAcb6HZuupcj16i0IEZRwi+j7JPUNuM78Wmf9ucKP2OjwJ5xSdqtzkZ0huDQwiuhKTJanJBJk4zX1iQmKiTgpQwTYjqcX7mveDYGSuB68IxqVbib66efYgbgdqZZSoFk=", + "1.0.4": { + "sha256": "", + "sig": "", "urls": [ - "https://pixeldrain.com/api/file/AOBIA8lW" ] } }, "centos7": { - "1.0.3": { - "sha256": "733412d292092d27064117df4fedc711f8fa7785f323064dc8644daf162aedda", - "sig": "AjAoemcyzb7Ldz4DO6wUtaVNlTi9uWJX6jWWk/rphlJAx9lNQgOKi4SsE3NaADiL45iTcpYfqAmmu3zLetB0k3shtFy4FP3U6GXzJL3qcfZQGq+r0fTXm1cFhPQZyApXRbt6LJIOn3ml0tpqjtrmfyD00ylHVGbNESKHFNFG9WPdBzq664s3zx8CbK5Q5BFZX+ZoUT2HSqV6n7EAQsJOPHDmIaSNf6aqgWtnDsG+aNhu/ZGxG0zpzUqUVN9lMWjnoEW1zxp1Pu8tKB2st8AB6QQX+/Vmtt6BVQ9W0bEdBypRyLzN5LI4M+Uf7o+YjDC9kaTkdS6f66XHNUCOAo5ULPR/5e6kou21ngHCsDDapY6Dm0t+MNsnctM91Q/QcLueZbEUy/nRvsDjTCxfbR8mB2r+AtBLOkSSI4oyNr8GqOOHTPv/pJYNABngZfVZrVbAHzox1eeKjXpyoLU3/DjU0OaQ1vBfqCe6905O7Sk0VeiaCHeo6D/ruq8GtjQ5zc45HeQ8G78r8YARGhuwXOQ5sx3KaaF47BLZhvLrKeas9pP7BEx+TdfUBJP6tFXxDXxvfVopU/Uvmj/CMSOPESgNIFSsBYCATYo/EiYBmCC2DIeBB5gLhbsFwHcT1/w0A5NFYcshsfpTqTpr8AMzRu8RQyIALWdMXG0KmcktPr0YDcHN9+5Yae1FYEAG5U7+j2KPemtaoIDaW1mTyGKPLz2gz2QlsCIRhM1KD+fuQB2hO4AwBv0iKY8Wd6sPWILlfz/KfDzNO8N2ljgf/MamIeB4pzrtjOXxZ4eV5RxYa4k6YbaFvfMCkSRV9p9PypXrWCydbfA0ZwrcxHiyxg3MJebxIaDKYf+tLjgD7+vqHMDtLTtuQ6KavmfTzkrRMTreQpXwn9Hxo6Hbbs3WutxhUv86PmVjHY2N7Ox/xYwtxno3MHN02sH3xruij5r9Gk40AQ2X7UQxzL7iyAfCOeRucBbbO1D00axnD7IOtcTq8U1sEdvKw32FU50NSxce+4Rx7M/PWVfu39pW8NSNG9syMjVt4s1Lu6O1X2yvz43ecFGaIT9zaAv0PEfFBPVHupPnTIlaW4CTl5ftt7yP52HsKbk7HUEbG/5Y8Hr6SA3nCMEHeWn1jqhe1aWT+4QhHTiqCEoObdVgYdnOyAYuu7q6JdBIEVtf+C96E2l2cspLaL/CFLC1YCL9cucIzTubthYlf5mypepEVEeDpbhszMvvZjcEpgJIAcb6HZuupcj16i0IEZRwi+j7JPUNuM78Wmf9ucKP2OjwJ5xSdqtzkZ0huDQwiuhKTJanJBJk4zX1iQmKiTgpQwTYjqcX7mveDYGSuB68IxqVbib66efYgbgdqZZSoFk=", + "1.0.4": { + "sha256": "", + "sig": "", "urls": [ - "https://pixeldrain.com/api/file/AOBIA8lW" ] } }, "darwin": { - "1.0.3": { - "sha256": "0121b537d026ff50b8500d692033b3194ec66c1a45e43159694193e81a1b0d37", - "sig": "Abf6BdpfEsKaSG6iESLJeb9e60vNGN6XBuae9/OBsysh8QImW2wLCOT+TxRV6/rtZm/mNvUu2dNcg6q75pjmgaFmCPu35mjP2Ep5zb0Z/Rs1Dj0+b3JPzBn6lFYZHbvQMA+9g9+YINn+Oylz5uLuePbNnJxLscmi0Oim1FLeUxcd4I2KiOQNexIkVm7ZmLfryEqY3wbyBSSEF4crQ/JQchD2Ga7sebKPbeY5hF0jd637qvKq4atQsiByKSbxOtdA/3XDpQnD1inoCWx6dgAVj5IxJ6wOtc/gGmQHnYQSm4iYJk2t+0MOWH+P8XvEE0heScN6Hge1M9fCP7yMOHLL8iC11KqchICj/n5cOXeUz2nPsTsHqSsRId56FpNoy3xK9B0GT2UvgdZh8k1ZcEtdasQOPPF7B4uZmktz1hIzD8f+LE6yhjL1biXxML0DgH7HjKtI1m0dOHCiOCY7ZYh95uG36Fxn4uYPqc5xe8mfVewh/QRZAmGkulC3+YZL0p5AdgKeOV/JDTex+5f1hUCirKTyGYBZ/BnZgpWugmZ1Zi9OIsHxLUzH0/w5Qg7dq6mYztWkMCFtBqX8LODpBSSj21JSlVvkz2JeLfHr3F6a0aU85jmM9N8BwQDy6ccGhE02p5i9+umtx4xmsowYUThlf205u5kokCz2xJ/MlbrYtq2yYHd6r5CrnQXBtd2U3p1tQf+4NM2bqiER7UAEBSwIZZAK7VXpctvTnDstXdImwiUaWaX3Sh1D5pySCeMud0t3qSR+mfApXZRmzeJBGJ4v0onzfdGReeusyaHrGjakrqUMC9dmqSMRrZEsLuaoH2AmwCLToL9anPXM5Jkc2V4mkFf9/q9CIOB7juiSkpk8uhwqDk6kImKstVAFOJd/g1BEDVgzvxbOy4d2OFeBREz+kw/yjznqJw4AuemWPtd/RcjmyKZaEJGjJ8SPqQrBXr518KT69LcLleoH12vAtAyEIoXyVxtgYmhQZiIfUtXG6Eq0B2z6v/Zlwhvj8SvdC2rjHdWELruaR8vFrQxPpncz0a5RJVOPcWlBQBFXokKWGTtfn51wqzbkKD8F5iDNXcySN2ichh0nV/mNdXjyGsAcq9YCI0yOqFqRebfF/WEXTV1Eh6VNXovOaJJmIPHHcM6ym+KW1cOl2+8157OnCVeXp1h/2dW7XN1dm+o9m2vH7hmJN2sleawnoKAGy1BISFBdnR2Y91SaheQO951WClT8raoylB9L5w0BU66/4VaqD/sk2r3ga1KzSuwdEichi3mENqbO18WGhcZdtaB4rQuQmh7UV2QR5pe2XoMtZFk9uWf+c4UULgoYBsOVDZnW/QeYD8o7Wflj68UR4kODMTlSJ7Q=", + "1.0.4": { + "sha256": "", + "sig": "", "urls": [ - "https://pixeldrain.com/api/file/QRYxQeXM" ] } }, "debian9": { - "1.0.3": { - "sha256": "733412d292092d27064117df4fedc711f8fa7785f323064dc8644daf162aedda", - "sig": "AjAoemcyzb7Ldz4DO6wUtaVNlTi9uWJX6jWWk/rphlJAx9lNQgOKi4SsE3NaADiL45iTcpYfqAmmu3zLetB0k3shtFy4FP3U6GXzJL3qcfZQGq+r0fTXm1cFhPQZyApXRbt6LJIOn3ml0tpqjtrmfyD00ylHVGbNESKHFNFG9WPdBzq664s3zx8CbK5Q5BFZX+ZoUT2HSqV6n7EAQsJOPHDmIaSNf6aqgWtnDsG+aNhu/ZGxG0zpzUqUVN9lMWjnoEW1zxp1Pu8tKB2st8AB6QQX+/Vmtt6BVQ9W0bEdBypRyLzN5LI4M+Uf7o+YjDC9kaTkdS6f66XHNUCOAo5ULPR/5e6kou21ngHCsDDapY6Dm0t+MNsnctM91Q/QcLueZbEUy/nRvsDjTCxfbR8mB2r+AtBLOkSSI4oyNr8GqOOHTPv/pJYNABngZfVZrVbAHzox1eeKjXpyoLU3/DjU0OaQ1vBfqCe6905O7Sk0VeiaCHeo6D/ruq8GtjQ5zc45HeQ8G78r8YARGhuwXOQ5sx3KaaF47BLZhvLrKeas9pP7BEx+TdfUBJP6tFXxDXxvfVopU/Uvmj/CMSOPESgNIFSsBYCATYo/EiYBmCC2DIeBB5gLhbsFwHcT1/w0A5NFYcshsfpTqTpr8AMzRu8RQyIALWdMXG0KmcktPr0YDcHN9+5Yae1FYEAG5U7+j2KPemtaoIDaW1mTyGKPLz2gz2QlsCIRhM1KD+fuQB2hO4AwBv0iKY8Wd6sPWILlfz/KfDzNO8N2ljgf/MamIeB4pzrtjOXxZ4eV5RxYa4k6YbaFvfMCkSRV9p9PypXrWCydbfA0ZwrcxHiyxg3MJebxIaDKYf+tLjgD7+vqHMDtLTtuQ6KavmfTzkrRMTreQpXwn9Hxo6Hbbs3WutxhUv86PmVjHY2N7Ox/xYwtxno3MHN02sH3xruij5r9Gk40AQ2X7UQxzL7iyAfCOeRucBbbO1D00axnD7IOtcTq8U1sEdvKw32FU50NSxce+4Rx7M/PWVfu39pW8NSNG9syMjVt4s1Lu6O1X2yvz43ecFGaIT9zaAv0PEfFBPVHupPnTIlaW4CTl5ftt7yP52HsKbk7HUEbG/5Y8Hr6SA3nCMEHeWn1jqhe1aWT+4QhHTiqCEoObdVgYdnOyAYuu7q6JdBIEVtf+C96E2l2cspLaL/CFLC1YCL9cucIzTubthYlf5mypepEVEeDpbhszMvvZjcEpgJIAcb6HZuupcj16i0IEZRwi+j7JPUNuM78Wmf9ucKP2OjwJ5xSdqtzkZ0huDQwiuhKTJanJBJk4zX1iQmKiTgpQwTYjqcX7mveDYGSuB68IxqVbib66efYgbgdqZZSoFk=", + "1.0.4": { + "sha256": "", + "sig": "", "urls": [ - "https://pixeldrain.com/api/file/AOBIA8lW" ] } }, "fedora28": { - "1.0.3": { - "sha256": "733412d292092d27064117df4fedc711f8fa7785f323064dc8644daf162aedda", - "sig": "AjAoemcyzb7Ldz4DO6wUtaVNlTi9uWJX6jWWk/rphlJAx9lNQgOKi4SsE3NaADiL45iTcpYfqAmmu3zLetB0k3shtFy4FP3U6GXzJL3qcfZQGq+r0fTXm1cFhPQZyApXRbt6LJIOn3ml0tpqjtrmfyD00ylHVGbNESKHFNFG9WPdBzq664s3zx8CbK5Q5BFZX+ZoUT2HSqV6n7EAQsJOPHDmIaSNf6aqgWtnDsG+aNhu/ZGxG0zpzUqUVN9lMWjnoEW1zxp1Pu8tKB2st8AB6QQX+/Vmtt6BVQ9W0bEdBypRyLzN5LI4M+Uf7o+YjDC9kaTkdS6f66XHNUCOAo5ULPR/5e6kou21ngHCsDDapY6Dm0t+MNsnctM91Q/QcLueZbEUy/nRvsDjTCxfbR8mB2r+AtBLOkSSI4oyNr8GqOOHTPv/pJYNABngZfVZrVbAHzox1eeKjXpyoLU3/DjU0OaQ1vBfqCe6905O7Sk0VeiaCHeo6D/ruq8GtjQ5zc45HeQ8G78r8YARGhuwXOQ5sx3KaaF47BLZhvLrKeas9pP7BEx+TdfUBJP6tFXxDXxvfVopU/Uvmj/CMSOPESgNIFSsBYCATYo/EiYBmCC2DIeBB5gLhbsFwHcT1/w0A5NFYcshsfpTqTpr8AMzRu8RQyIALWdMXG0KmcktPr0YDcHN9+5Yae1FYEAG5U7+j2KPemtaoIDaW1mTyGKPLz2gz2QlsCIRhM1KD+fuQB2hO4AwBv0iKY8Wd6sPWILlfz/KfDzNO8N2ljgf/MamIeB4pzrtjOXxZ4eV5RxYa4k6YbaFvfMCkSRV9p9PypXrWCydbfA0ZwrcxHiyxg3MJebxIaDKYf+tLjgD7+vqHMDtLTtuQ6KavmfTzkrRMTreQpXwn9Hxo6Hbbs3WutxhUv86PmVjHY2N7Ox/xYwtxno3MHN02sH3xruij5r9Gk40AQ2X7UQxzL7iyAfCOeRucBbbO1D00axnD7IOtcTq8U1sEdvKw32FU50NSxce+4Rx7M/PWVfu39pW8NSNG9syMjVt4s1Lu6O1X2yvz43ecFGaIT9zaAv0PEfFBPVHupPnTIlaW4CTl5ftt7yP52HsKbk7HUEbG/5Y8Hr6SA3nCMEHeWn1jqhe1aWT+4QhHTiqCEoObdVgYdnOyAYuu7q6JdBIEVtf+C96E2l2cspLaL/CFLC1YCL9cucIzTubthYlf5mypepEVEeDpbhszMvvZjcEpgJIAcb6HZuupcj16i0IEZRwi+j7JPUNuM78Wmf9ucKP2OjwJ5xSdqtzkZ0huDQwiuhKTJanJBJk4zX1iQmKiTgpQwTYjqcX7mveDYGSuB68IxqVbib66efYgbgdqZZSoFk=", + "1.0.4": { + "sha256": "", + "sig": "", "urls": [ - "https://pixeldrain.com/api/file/AOBIA8lW" ] } }, "fedora29": { - "1.0.3": { - "sha256": "733412d292092d27064117df4fedc711f8fa7785f323064dc8644daf162aedda", - "sig": "AjAoemcyzb7Ldz4DO6wUtaVNlTi9uWJX6jWWk/rphlJAx9lNQgOKi4SsE3NaADiL45iTcpYfqAmmu3zLetB0k3shtFy4FP3U6GXzJL3qcfZQGq+r0fTXm1cFhPQZyApXRbt6LJIOn3ml0tpqjtrmfyD00ylHVGbNESKHFNFG9WPdBzq664s3zx8CbK5Q5BFZX+ZoUT2HSqV6n7EAQsJOPHDmIaSNf6aqgWtnDsG+aNhu/ZGxG0zpzUqUVN9lMWjnoEW1zxp1Pu8tKB2st8AB6QQX+/Vmtt6BVQ9W0bEdBypRyLzN5LI4M+Uf7o+YjDC9kaTkdS6f66XHNUCOAo5ULPR/5e6kou21ngHCsDDapY6Dm0t+MNsnctM91Q/QcLueZbEUy/nRvsDjTCxfbR8mB2r+AtBLOkSSI4oyNr8GqOOHTPv/pJYNABngZfVZrVbAHzox1eeKjXpyoLU3/DjU0OaQ1vBfqCe6905O7Sk0VeiaCHeo6D/ruq8GtjQ5zc45HeQ8G78r8YARGhuwXOQ5sx3KaaF47BLZhvLrKeas9pP7BEx+TdfUBJP6tFXxDXxvfVopU/Uvmj/CMSOPESgNIFSsBYCATYo/EiYBmCC2DIeBB5gLhbsFwHcT1/w0A5NFYcshsfpTqTpr8AMzRu8RQyIALWdMXG0KmcktPr0YDcHN9+5Yae1FYEAG5U7+j2KPemtaoIDaW1mTyGKPLz2gz2QlsCIRhM1KD+fuQB2hO4AwBv0iKY8Wd6sPWILlfz/KfDzNO8N2ljgf/MamIeB4pzrtjOXxZ4eV5RxYa4k6YbaFvfMCkSRV9p9PypXrWCydbfA0ZwrcxHiyxg3MJebxIaDKYf+tLjgD7+vqHMDtLTtuQ6KavmfTzkrRMTreQpXwn9Hxo6Hbbs3WutxhUv86PmVjHY2N7Ox/xYwtxno3MHN02sH3xruij5r9Gk40AQ2X7UQxzL7iyAfCOeRucBbbO1D00axnD7IOtcTq8U1sEdvKw32FU50NSxce+4Rx7M/PWVfu39pW8NSNG9syMjVt4s1Lu6O1X2yvz43ecFGaIT9zaAv0PEfFBPVHupPnTIlaW4CTl5ftt7yP52HsKbk7HUEbG/5Y8Hr6SA3nCMEHeWn1jqhe1aWT+4QhHTiqCEoObdVgYdnOyAYuu7q6JdBIEVtf+C96E2l2cspLaL/CFLC1YCL9cucIzTubthYlf5mypepEVEeDpbhszMvvZjcEpgJIAcb6HZuupcj16i0IEZRwi+j7JPUNuM78Wmf9ucKP2OjwJ5xSdqtzkZ0huDQwiuhKTJanJBJk4zX1iQmKiTgpQwTYjqcX7mveDYGSuB68IxqVbib66efYgbgdqZZSoFk=", + "1.0.4": { + "sha256": "", + "sig": "", "urls": [ - "https://pixeldrain.com/api/file/AOBIA8lW" ] } }, "fedora30": { - "1.0.3": { - "sha256": "733412d292092d27064117df4fedc711f8fa7785f323064dc8644daf162aedda", - "sig": "AjAoemcyzb7Ldz4DO6wUtaVNlTi9uWJX6jWWk/rphlJAx9lNQgOKi4SsE3NaADiL45iTcpYfqAmmu3zLetB0k3shtFy4FP3U6GXzJL3qcfZQGq+r0fTXm1cFhPQZyApXRbt6LJIOn3ml0tpqjtrmfyD00ylHVGbNESKHFNFG9WPdBzq664s3zx8CbK5Q5BFZX+ZoUT2HSqV6n7EAQsJOPHDmIaSNf6aqgWtnDsG+aNhu/ZGxG0zpzUqUVN9lMWjnoEW1zxp1Pu8tKB2st8AB6QQX+/Vmtt6BVQ9W0bEdBypRyLzN5LI4M+Uf7o+YjDC9kaTkdS6f66XHNUCOAo5ULPR/5e6kou21ngHCsDDapY6Dm0t+MNsnctM91Q/QcLueZbEUy/nRvsDjTCxfbR8mB2r+AtBLOkSSI4oyNr8GqOOHTPv/pJYNABngZfVZrVbAHzox1eeKjXpyoLU3/DjU0OaQ1vBfqCe6905O7Sk0VeiaCHeo6D/ruq8GtjQ5zc45HeQ8G78r8YARGhuwXOQ5sx3KaaF47BLZhvLrKeas9pP7BEx+TdfUBJP6tFXxDXxvfVopU/Uvmj/CMSOPESgNIFSsBYCATYo/EiYBmCC2DIeBB5gLhbsFwHcT1/w0A5NFYcshsfpTqTpr8AMzRu8RQyIALWdMXG0KmcktPr0YDcHN9+5Yae1FYEAG5U7+j2KPemtaoIDaW1mTyGKPLz2gz2QlsCIRhM1KD+fuQB2hO4AwBv0iKY8Wd6sPWILlfz/KfDzNO8N2ljgf/MamIeB4pzrtjOXxZ4eV5RxYa4k6YbaFvfMCkSRV9p9PypXrWCydbfA0ZwrcxHiyxg3MJebxIaDKYf+tLjgD7+vqHMDtLTtuQ6KavmfTzkrRMTreQpXwn9Hxo6Hbbs3WutxhUv86PmVjHY2N7Ox/xYwtxno3MHN02sH3xruij5r9Gk40AQ2X7UQxzL7iyAfCOeRucBbbO1D00axnD7IOtcTq8U1sEdvKw32FU50NSxce+4Rx7M/PWVfu39pW8NSNG9syMjVt4s1Lu6O1X2yvz43ecFGaIT9zaAv0PEfFBPVHupPnTIlaW4CTl5ftt7yP52HsKbk7HUEbG/5Y8Hr6SA3nCMEHeWn1jqhe1aWT+4QhHTiqCEoObdVgYdnOyAYuu7q6JdBIEVtf+C96E2l2cspLaL/CFLC1YCL9cucIzTubthYlf5mypepEVEeDpbhszMvvZjcEpgJIAcb6HZuupcj16i0IEZRwi+j7JPUNuM78Wmf9ucKP2OjwJ5xSdqtzkZ0huDQwiuhKTJanJBJk4zX1iQmKiTgpQwTYjqcX7mveDYGSuB68IxqVbib66efYgbgdqZZSoFk=", + "1.0.4": { + "sha256": "", + "sig": "", "urls": [ - "https://pixeldrain.com/api/file/AOBIA8lW" ] } }, "solus": { - "1.0.3": { - "sha256": "733412d292092d27064117df4fedc711f8fa7785f323064dc8644daf162aedda", - "sig": "AjAoemcyzb7Ldz4DO6wUtaVNlTi9uWJX6jWWk/rphlJAx9lNQgOKi4SsE3NaADiL45iTcpYfqAmmu3zLetB0k3shtFy4FP3U6GXzJL3qcfZQGq+r0fTXm1cFhPQZyApXRbt6LJIOn3ml0tpqjtrmfyD00ylHVGbNESKHFNFG9WPdBzq664s3zx8CbK5Q5BFZX+ZoUT2HSqV6n7EAQsJOPHDmIaSNf6aqgWtnDsG+aNhu/ZGxG0zpzUqUVN9lMWjnoEW1zxp1Pu8tKB2st8AB6QQX+/Vmtt6BVQ9W0bEdBypRyLzN5LI4M+Uf7o+YjDC9kaTkdS6f66XHNUCOAo5ULPR/5e6kou21ngHCsDDapY6Dm0t+MNsnctM91Q/QcLueZbEUy/nRvsDjTCxfbR8mB2r+AtBLOkSSI4oyNr8GqOOHTPv/pJYNABngZfVZrVbAHzox1eeKjXpyoLU3/DjU0OaQ1vBfqCe6905O7Sk0VeiaCHeo6D/ruq8GtjQ5zc45HeQ8G78r8YARGhuwXOQ5sx3KaaF47BLZhvLrKeas9pP7BEx+TdfUBJP6tFXxDXxvfVopU/Uvmj/CMSOPESgNIFSsBYCATYo/EiYBmCC2DIeBB5gLhbsFwHcT1/w0A5NFYcshsfpTqTpr8AMzRu8RQyIALWdMXG0KmcktPr0YDcHN9+5Yae1FYEAG5U7+j2KPemtaoIDaW1mTyGKPLz2gz2QlsCIRhM1KD+fuQB2hO4AwBv0iKY8Wd6sPWILlfz/KfDzNO8N2ljgf/MamIeB4pzrtjOXxZ4eV5RxYa4k6YbaFvfMCkSRV9p9PypXrWCydbfA0ZwrcxHiyxg3MJebxIaDKYf+tLjgD7+vqHMDtLTtuQ6KavmfTzkrRMTreQpXwn9Hxo6Hbbs3WutxhUv86PmVjHY2N7Ox/xYwtxno3MHN02sH3xruij5r9Gk40AQ2X7UQxzL7iyAfCOeRucBbbO1D00axnD7IOtcTq8U1sEdvKw32FU50NSxce+4Rx7M/PWVfu39pW8NSNG9syMjVt4s1Lu6O1X2yvz43ecFGaIT9zaAv0PEfFBPVHupPnTIlaW4CTl5ftt7yP52HsKbk7HUEbG/5Y8Hr6SA3nCMEHeWn1jqhe1aWT+4QhHTiqCEoObdVgYdnOyAYuu7q6JdBIEVtf+C96E2l2cspLaL/CFLC1YCL9cucIzTubthYlf5mypepEVEeDpbhszMvvZjcEpgJIAcb6HZuupcj16i0IEZRwi+j7JPUNuM78Wmf9ucKP2OjwJ5xSdqtzkZ0huDQwiuhKTJanJBJk4zX1iQmKiTgpQwTYjqcX7mveDYGSuB68IxqVbib66efYgbgdqZZSoFk=", + "1.0.4": { + "sha256": "", + "sig": "", "urls": [ - "https://pixeldrain.com/api/file/AOBIA8lW" ] } }, "ubuntu18.04": { - "1.0.3": { - "sha256": "733412d292092d27064117df4fedc711f8fa7785f323064dc8644daf162aedda", - "sig": "AjAoemcyzb7Ldz4DO6wUtaVNlTi9uWJX6jWWk/rphlJAx9lNQgOKi4SsE3NaADiL45iTcpYfqAmmu3zLetB0k3shtFy4FP3U6GXzJL3qcfZQGq+r0fTXm1cFhPQZyApXRbt6LJIOn3ml0tpqjtrmfyD00ylHVGbNESKHFNFG9WPdBzq664s3zx8CbK5Q5BFZX+ZoUT2HSqV6n7EAQsJOPHDmIaSNf6aqgWtnDsG+aNhu/ZGxG0zpzUqUVN9lMWjnoEW1zxp1Pu8tKB2st8AB6QQX+/Vmtt6BVQ9W0bEdBypRyLzN5LI4M+Uf7o+YjDC9kaTkdS6f66XHNUCOAo5ULPR/5e6kou21ngHCsDDapY6Dm0t+MNsnctM91Q/QcLueZbEUy/nRvsDjTCxfbR8mB2r+AtBLOkSSI4oyNr8GqOOHTPv/pJYNABngZfVZrVbAHzox1eeKjXpyoLU3/DjU0OaQ1vBfqCe6905O7Sk0VeiaCHeo6D/ruq8GtjQ5zc45HeQ8G78r8YARGhuwXOQ5sx3KaaF47BLZhvLrKeas9pP7BEx+TdfUBJP6tFXxDXxvfVopU/Uvmj/CMSOPESgNIFSsBYCATYo/EiYBmCC2DIeBB5gLhbsFwHcT1/w0A5NFYcshsfpTqTpr8AMzRu8RQyIALWdMXG0KmcktPr0YDcHN9+5Yae1FYEAG5U7+j2KPemtaoIDaW1mTyGKPLz2gz2QlsCIRhM1KD+fuQB2hO4AwBv0iKY8Wd6sPWILlfz/KfDzNO8N2ljgf/MamIeB4pzrtjOXxZ4eV5RxYa4k6YbaFvfMCkSRV9p9PypXrWCydbfA0ZwrcxHiyxg3MJebxIaDKYf+tLjgD7+vqHMDtLTtuQ6KavmfTzkrRMTreQpXwn9Hxo6Hbbs3WutxhUv86PmVjHY2N7Ox/xYwtxno3MHN02sH3xruij5r9Gk40AQ2X7UQxzL7iyAfCOeRucBbbO1D00axnD7IOtcTq8U1sEdvKw32FU50NSxce+4Rx7M/PWVfu39pW8NSNG9syMjVt4s1Lu6O1X2yvz43ecFGaIT9zaAv0PEfFBPVHupPnTIlaW4CTl5ftt7yP52HsKbk7HUEbG/5Y8Hr6SA3nCMEHeWn1jqhe1aWT+4QhHTiqCEoObdVgYdnOyAYuu7q6JdBIEVtf+C96E2l2cspLaL/CFLC1YCL9cucIzTubthYlf5mypepEVEeDpbhszMvvZjcEpgJIAcb6HZuupcj16i0IEZRwi+j7JPUNuM78Wmf9ucKP2OjwJ5xSdqtzkZ0huDQwiuhKTJanJBJk4zX1iQmKiTgpQwTYjqcX7mveDYGSuB68IxqVbib66efYgbgdqZZSoFk=", + "1.0.4": { + "sha256": "", + "sig": "", "urls": [ - "https://pixeldrain.com/api/file/AOBIA8lW" ] } }, "ubuntu18.10": { - "1.0.3": { - "sha256": "733412d292092d27064117df4fedc711f8fa7785f323064dc8644daf162aedda", - "sig": "AjAoemcyzb7Ldz4DO6wUtaVNlTi9uWJX6jWWk/rphlJAx9lNQgOKi4SsE3NaADiL45iTcpYfqAmmu3zLetB0k3shtFy4FP3U6GXzJL3qcfZQGq+r0fTXm1cFhPQZyApXRbt6LJIOn3ml0tpqjtrmfyD00ylHVGbNESKHFNFG9WPdBzq664s3zx8CbK5Q5BFZX+ZoUT2HSqV6n7EAQsJOPHDmIaSNf6aqgWtnDsG+aNhu/ZGxG0zpzUqUVN9lMWjnoEW1zxp1Pu8tKB2st8AB6QQX+/Vmtt6BVQ9W0bEdBypRyLzN5LI4M+Uf7o+YjDC9kaTkdS6f66XHNUCOAo5ULPR/5e6kou21ngHCsDDapY6Dm0t+MNsnctM91Q/QcLueZbEUy/nRvsDjTCxfbR8mB2r+AtBLOkSSI4oyNr8GqOOHTPv/pJYNABngZfVZrVbAHzox1eeKjXpyoLU3/DjU0OaQ1vBfqCe6905O7Sk0VeiaCHeo6D/ruq8GtjQ5zc45HeQ8G78r8YARGhuwXOQ5sx3KaaF47BLZhvLrKeas9pP7BEx+TdfUBJP6tFXxDXxvfVopU/Uvmj/CMSOPESgNIFSsBYCATYo/EiYBmCC2DIeBB5gLhbsFwHcT1/w0A5NFYcshsfpTqTpr8AMzRu8RQyIALWdMXG0KmcktPr0YDcHN9+5Yae1FYEAG5U7+j2KPemtaoIDaW1mTyGKPLz2gz2QlsCIRhM1KD+fuQB2hO4AwBv0iKY8Wd6sPWILlfz/KfDzNO8N2ljgf/MamIeB4pzrtjOXxZ4eV5RxYa4k6YbaFvfMCkSRV9p9PypXrWCydbfA0ZwrcxHiyxg3MJebxIaDKYf+tLjgD7+vqHMDtLTtuQ6KavmfTzkrRMTreQpXwn9Hxo6Hbbs3WutxhUv86PmVjHY2N7Ox/xYwtxno3MHN02sH3xruij5r9Gk40AQ2X7UQxzL7iyAfCOeRucBbbO1D00axnD7IOtcTq8U1sEdvKw32FU50NSxce+4Rx7M/PWVfu39pW8NSNG9syMjVt4s1Lu6O1X2yvz43ecFGaIT9zaAv0PEfFBPVHupPnTIlaW4CTl5ftt7yP52HsKbk7HUEbG/5Y8Hr6SA3nCMEHeWn1jqhe1aWT+4QhHTiqCEoObdVgYdnOyAYuu7q6JdBIEVtf+C96E2l2cspLaL/CFLC1YCL9cucIzTubthYlf5mypepEVEeDpbhszMvvZjcEpgJIAcb6HZuupcj16i0IEZRwi+j7JPUNuM78Wmf9ucKP2OjwJ5xSdqtzkZ0huDQwiuhKTJanJBJk4zX1iQmKiTgpQwTYjqcX7mveDYGSuB68IxqVbib66efYgbgdqZZSoFk=", + "1.0.4": { + "sha256": "", + "sig": "", "urls": [ - "https://pixeldrain.com/api/file/AOBIA8lW" ] } }, "ubuntu19.04": { - "1.0.3": { - "sha256": "733412d292092d27064117df4fedc711f8fa7785f323064dc8644daf162aedda", - "sig": "AjAoemcyzb7Ldz4DO6wUtaVNlTi9uWJX6jWWk/rphlJAx9lNQgOKi4SsE3NaADiL45iTcpYfqAmmu3zLetB0k3shtFy4FP3U6GXzJL3qcfZQGq+r0fTXm1cFhPQZyApXRbt6LJIOn3ml0tpqjtrmfyD00ylHVGbNESKHFNFG9WPdBzq664s3zx8CbK5Q5BFZX+ZoUT2HSqV6n7EAQsJOPHDmIaSNf6aqgWtnDsG+aNhu/ZGxG0zpzUqUVN9lMWjnoEW1zxp1Pu8tKB2st8AB6QQX+/Vmtt6BVQ9W0bEdBypRyLzN5LI4M+Uf7o+YjDC9kaTkdS6f66XHNUCOAo5ULPR/5e6kou21ngHCsDDapY6Dm0t+MNsnctM91Q/QcLueZbEUy/nRvsDjTCxfbR8mB2r+AtBLOkSSI4oyNr8GqOOHTPv/pJYNABngZfVZrVbAHzox1eeKjXpyoLU3/DjU0OaQ1vBfqCe6905O7Sk0VeiaCHeo6D/ruq8GtjQ5zc45HeQ8G78r8YARGhuwXOQ5sx3KaaF47BLZhvLrKeas9pP7BEx+TdfUBJP6tFXxDXxvfVopU/Uvmj/CMSOPESgNIFSsBYCATYo/EiYBmCC2DIeBB5gLhbsFwHcT1/w0A5NFYcshsfpTqTpr8AMzRu8RQyIALWdMXG0KmcktPr0YDcHN9+5Yae1FYEAG5U7+j2KPemtaoIDaW1mTyGKPLz2gz2QlsCIRhM1KD+fuQB2hO4AwBv0iKY8Wd6sPWILlfz/KfDzNO8N2ljgf/MamIeB4pzrtjOXxZ4eV5RxYa4k6YbaFvfMCkSRV9p9PypXrWCydbfA0ZwrcxHiyxg3MJebxIaDKYf+tLjgD7+vqHMDtLTtuQ6KavmfTzkrRMTreQpXwn9Hxo6Hbbs3WutxhUv86PmVjHY2N7Ox/xYwtxno3MHN02sH3xruij5r9Gk40AQ2X7UQxzL7iyAfCOeRucBbbO1D00axnD7IOtcTq8U1sEdvKw32FU50NSxce+4Rx7M/PWVfu39pW8NSNG9syMjVt4s1Lu6O1X2yvz43ecFGaIT9zaAv0PEfFBPVHupPnTIlaW4CTl5ftt7yP52HsKbk7HUEbG/5Y8Hr6SA3nCMEHeWn1jqhe1aWT+4QhHTiqCEoObdVgYdnOyAYuu7q6JdBIEVtf+C96E2l2cspLaL/CFLC1YCL9cucIzTubthYlf5mypepEVEeDpbhszMvvZjcEpgJIAcb6HZuupcj16i0IEZRwi+j7JPUNuM78Wmf9ucKP2OjwJ5xSdqtzkZ0huDQwiuhKTJanJBJk4zX1iQmKiTgpQwTYjqcX7mveDYGSuB68IxqVbib66efYgbgdqZZSoFk=", + "1.0.4": { + "sha256": "", + "sig": "", "urls": [ - "https://pixeldrain.com/api/file/AOBIA8lW" ] } }, "win32": { - "1.0.3": { - "sha256": "07f372a55cbf9ee9ab19af1bcc8c5b7f8e6c369a40b6d716911b16b1d439ab3f", - "sig": "B5eT4RZVUiSkv7y+6U01nIKcvS6EC0vFvO6vadd2V3SFUCXSIgFcE3Y9siszvSbNXvWeHDvqb2WR5r74UaMrGwf8Ul5m76SSCGZek28gbtpRYkFrFAJX9A4KS4rj3aHy5RLqVQysTeb11gRj6BzNvTw6y/Sz3mLzOudMnE2VRA7raRulX0JcG3tZI2uyXk7xjC1VFETUf7+YwE7J7+2UqUZQ/PbgnHg09+SubtjL6ezGC63dS/XkzNQxs+S5eryAg7D50LNXhnyxlC+rt5Zm+vamgPwrw8X1RRn0M7rWBu41I3CFOdFGpMMvOE6hjcNM4HPS73ONCbS8K9eZcO0hWyA1iGxwgYrTWc4WDBaQOEgnpFCUELSkFRnXfOn4nmmGbNMpwHqCT9ea2/hlVY4egN+0g1W7KJpj9Gcp+65ZieFuLrSFvXzF01tksbKANQRUqRm0Lv/hwm6evHid9z0r4L01t6RgzzUkPrWcbGZudVi5XPMyj/BBeSR8RcvB7pHFmiuxtmdg/uhQUT1n0nYucotx4OrV21kFLOLMs5hCwQ27VYJ2FvQVkRnySVyt+nKipaA//tuF9jkgU/wvysRYwzFSizChYeNeZYEkvuAu1+dgzwuX+T2kLzMDyKf252HDyIuO6VtsQlAB11nDLgkFN9945Ql/MlROQwWawISQhe4DIsGfIERoxz9dRFImbGvUxG+dXYr4iGtc+slRHoqXwmYp+Vxodvic5qvgIPpFYYLvbJCEcwsthSoSlOYUk987sOmVf5yTtwoW+i2g+pklWlwdfVNN4xQlc8YBQ2XpbLm9WVetnIBFOTGR7BcvBz6v/Wfq8AW/x1saRHDwZAvlQrm7TM5kzyh1verN6jrKiVrzAdtDKCCYnm5krDBlTfJxdlWsRNGyBJ4P6itKFgErnKuTGqy0yztNhDEUDdtYr0YM7226zvKZr3QvRkCbtrOb+xb469kIMd1HTQzRtAEEhHq0+W5+6EDZCNLM31NzcIPdgxrER5FepXcmew0zopJYqWZ08DipBDuLnWnUdMFYBso4BYldIbJ+yqf6vHYoaoxU05A3/LivWLKoHxklxkZZakX/Q1sEHI8l5KFESVIsL9QBmTLMbOdMoG8fbmn2bNlOiwTISzTlgX4VFU3uVDZ5ciEfM7AWc+1d9ntWHLKZsIiQhYLOp9HhVqawKg02o82Rk4g8cKncDjr2IUSj1ZSPhZ1ZIhSJA0KR+0EJftKZ3tHEtlwEtfxN+58CbSCcvUUGAl6MYJwrJ6M2thHNj8E+0kyPcahwI/Qnugckm9LWQyCo8AktM+L6HX689P8xHtPwPPLMOgztlQN1wCMlWL6OdIwFdLymDzzRrm6SH+/s7lE=", + "1.0.4": { + "sha256": "", + "sig": "", "urls": [ - "https://pixeldrain.com/api/file/vLXObL4s" ] } } }, "Versions": { "arch": [ - "1.0.3" + "1.0.4" ], "centos7": [ - "1.0.3" + "1.0.4" ], "darwin": [ - "1.0.3" + "1.0.4" ], "debian9": [ - "1.0.3" + "1.0.4" ], "fedora28": [ - "1.0.3" + "1.0.4" ], "fedora29": [ - "1.0.3" + "1.0.4" ], "fedora30": [ - "1.0.3" + "1.0.4" ], "linux": [ "unavailable" ], "solus": [ - "1.0.3" + "1.0.4" ], "ubuntu18.04": [ - "1.0.3" + "1.0.4" ], "ubuntu18.10": [ - "1.0.3" + "1.0.4" ], "ubuntu19.04": [ - "1.0.3" - ], - "win32": [ - "1.0.3" + "1.0.4" ], "unknown": [ "unavailable" + ], + "win32": [ + "1.0.4" ] } } From 4ed2124f83c68e75c6c7fe7f0dee37fce2b9aa39 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Tue, 2 Jul 2019 11:21:59 -0500 Subject: [PATCH 02/31] [Update releases to branch] [Package upgrades] --- package.json | 18 +++++++++--------- src/constants.js | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index ac0bf17..253b182 100644 --- a/package.json +++ b/package.json @@ -5,33 +5,33 @@ "author": "scott.e.graves@gmail.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.", "dependencies": { - "@fortawesome/fontawesome-svg-core": "^1.2.17", - "@fortawesome/free-solid-svg-icons": "^5.8.1", + "@fortawesome/fontawesome-svg-core": "^1.2.19", + "@fortawesome/free-solid-svg-icons": "^5.9.0", "@fortawesome/react-fontawesome": "^0.1.4", "auto-launch": "^5.0.5", - "axios": "^0.18.0", + "axios": "^0.18.1", "electron-debug": "^2.2.0", "font-awesome": "^4.7.0", - "randomstring": "^1.1.5", "node-schedule": "^1.3.2", + "randomstring": "^1.1.5", "react": "^16.8.6", "react-dom": "^16.8.6", "react-loader-spinner": "^2.3.0", - "react-redux": "^7.0.3", + "react-redux": "^7.1.0", "react-scripts": "2.1.8", "react-tooltip": "^3.10.0", "redux": "^4.0.1", "redux-starter-kit": "^0.5.1", "redux-thunk": "^2.3.0", - "unzipper": "^0.9.11", + "unzipper": "^0.9.15", "winreg": "^1.2.4" }, "devDependencies": { "cross-env": "^5.2.0", - "electron": "^4.1.4", - "electron-builder": "^20.40.2", + "electron": "^4.2.6", + "electron-builder": "^20.44.4", "extract-text-webpack-plugin": "^3.0.2", - "typescript": "^3.4.3", + "typescript": "^3.5.2", "webpack-browser-plugin": "^1.0.20" }, "scripts": { diff --git a/src/constants.js b/src/constants.js index 81c972c..e1bb156 100644 --- a/src/constants.js +++ b/src/constants.js @@ -27,8 +27,8 @@ exports.DEV_PUBLIC_KEY = '-----BEGIN PUBLIC KEY-----\n' + '9wIDAQAB\n' + '-----END PUBLIC KEY-----'; -exports.RELEASES_URL = 'https://bitbucket.org/blockstorage/repertory/raw/master/releases.json'; -exports.UI_RELEASES_URL = 'https://bitbucket.org/blockstorage/repertory-ui/raw/master/releases.json'; +exports.RELEASES_URL = 'https://bitbucket.org/blockstorage/repertory/raw/1.0.4_branch/releases.json'; +exports.UI_RELEASES_URL = 'https://bitbucket.org/blockstorage/repertory-ui/raw/1.0.4_branch/releases.json'; exports.DATA_LOCATIONS = { arch: '~/.local/repertory/ui', From ccf10398de7074ed9f2c0e774dab53f2691302fb Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Tue, 2 Jul 2019 11:23:56 -0500 Subject: [PATCH 03/31] Update releases to branch --- src/constants.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constants.js b/src/constants.js index e1bb156..21f48b5 100644 --- a/src/constants.js +++ b/src/constants.js @@ -27,7 +27,7 @@ exports.DEV_PUBLIC_KEY = '-----BEGIN PUBLIC KEY-----\n' + '9wIDAQAB\n' + '-----END PUBLIC KEY-----'; -exports.RELEASES_URL = 'https://bitbucket.org/blockstorage/repertory/raw/1.0.4_branch/releases.json'; +exports.RELEASES_URL = 'https://bitbucket.org/blockstorage/repertory/raw/1.0.0-rc_branch/releases.json'; exports.UI_RELEASES_URL = 'https://bitbucket.org/blockstorage/repertory-ui/raw/1.0.4_branch/releases.json'; exports.DATA_LOCATIONS = { From 8071d9b07686349332086c178707af9aec4b2566 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Wed, 3 Jul 2019 20:08:16 -0500 Subject: [PATCH 04/31] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e189f8d..9dfd4c6 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,10 @@ Repertory allows you to mount Sia and/or SiaPrime blockchain storage solutions via FUSE on Linux/OS X or via WinFSP on Windows. ## Downloads ## -* [Repertory UI v1.0.3 Linux 64-bit](https://pixeldrain.com/u/wjM4z9tn) +* [Repertory UI v1.0.4 Linux 64-bit]() * NOTE: Linux distributions require `fuse` and `libfuse` to be installed. -* [Repertory UI v1.0.3 OS X 64-bit](https://pixeldrain.com/u/pQPh4q9d) -* [Repertory UI v1.0.3 Windows 64-bit](https://pixeldrain.com/u/WpBrXw0Z) +* [Repertory UI v1.0.4 OS X 64-bit]() +* [Repertory UI v1.0.4 Windows 64-bit]() ## Supported Platforms ## * OS X 64-bit From 37821cbb3a89473c0d8ae3400710deeed4913c35 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Thu, 4 Jul 2019 14:37:56 -0500 Subject: [PATCH 05/31] OpenSUSE 15.0/OpenSUSE 15.1 support --- CHANGELOG.md | 6 +++++- README.md | 2 ++ public/detect_linux.sh | 10 ++++++++++ releases.json | 16 ++++++++++++++++ src/constants.js | 2 ++ 5 files changed, 35 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2bca85e..993f9a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,9 @@ # Changelog # +## 1.0.4 ## +* Additional Linux distribution support: + * OpenSUSE Leap 15 + * OpenSUSE Leap 15.1 + ## 1.0.3 ## * Linux distribution support * Arch Linux @@ -17,7 +22,6 @@ * Ubuntu 19.04 * Removed `react-css-modules` dependency * Removed Hyperspace (no active development/insufficient host network) -* Added signature or SHA-256 validation to downloads * Restore main window on error message ## 1.0.2 ## diff --git a/README.md b/README.md index 9dfd4c6..7b58066 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,8 @@ Repertory allows you to mount Sia and/or SiaPrime blockchain storage solutions v * Fedora 30 * Linux Mint 19 * Linux Mint 19.1 + * OpenSUSE Leap 15 + * OpenSUSE Leap 15.1 * Solus * Ubuntu 18.04 * Ubuntu 18.10 diff --git a/public/detect_linux.sh b/public/detect_linux.sh index c20dcf0..edbccdd 100644 --- a/public/detect_linux.sh +++ b/public/detect_linux.sh @@ -65,6 +65,16 @@ elif [ -f /etc/os-release ]; then . /etc/os-release if [ "$ID" == "arch" ]; then DISTNAME=arch + 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 else resetDistVer fi diff --git a/releases.json b/releases.json index a592332..e3af09e 100644 --- a/releases.json +++ b/releases.json @@ -56,6 +56,22 @@ ] } }, + "opensuse15": { + "1.0.4": { + "sha256": "", + "sig": "", + "urls": [ + ] + } + }, + "opensuse15.1": { + "1.0.4": { + "sha256": "", + "sig": "", + "urls": [ + ] + } + }, "solus": { "1.0.4": { "sha256": "", diff --git a/src/constants.js b/src/constants.js index 21f48b5..ee65d9c 100644 --- a/src/constants.js +++ b/src/constants.js @@ -38,6 +38,8 @@ exports.DATA_LOCATIONS = { fedora29: '~/.local/repertory/ui', fedora30: '~/.local/repertory/ui', linux: '~/.local/repertory/ui', + opensuse15: '~/.local/repertory/ui', + 'opensuse15.1': '~/.local/repertory/ui', solus: '~/.local/repertory/ui', 'ubuntu18.04': '~/.local/repertory/ui', 'ubuntu18.10': '~/.local/repertory/ui', From 0d524376d1f751ae131adef73822b22c18040ce3 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Thu, 4 Jul 2019 14:46:44 -0500 Subject: [PATCH 06/31] OpenSUSE 15.0/OpenSUSE 15.1 support --- releases.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/releases.json b/releases.json index e3af09e..6eb9804 100644 --- a/releases.json +++ b/releases.json @@ -138,6 +138,12 @@ "linux": [ "unavailable" ], + "opensuse15": [ + "1.0.4" + ], + "opensuse15.1": [ + "1.0.4" + ], "solus": [ "1.0.4" ], From a2c66f1047fca3dd12ba422c87168069749b88dc Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Thu, 4 Jul 2019 17:42:48 -0500 Subject: [PATCH 07/31] \#28: Fix Linux upgrade --- CHANGELOG.md | 1 + public/electron.js | 8 ++------ public/update_linux.sh | 8 -------- src/App.js | 10 +++++++--- src/redux/actions/release_version_actions.js | 14 ++++++++++++-- src/redux/reducers/release_version_reducer.js | 7 +++++-- 6 files changed, 27 insertions(+), 21 deletions(-) delete mode 100644 public/update_linux.sh diff --git a/CHANGELOG.md b/CHANGELOG.md index 993f9a2..49c998b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ # Changelog # ## 1.0.4 ## +* \#28: Fix Linux upgrade * Additional Linux distribution support: * OpenSUSE Leap 15 * OpenSUSE Leap 15.1 diff --git a/public/electron.js b/public/electron.js index 8cde87a..b4012e4 100644 --- a/public/electron.js +++ b/public/electron.js @@ -16,7 +16,6 @@ require.extensions['.sh'] = function (module, filename) { module.exports = fs.readFileSync(filename, 'utf8'); }; const detectScript = require('./detect_linux.sh'); -const installScript = require('./update_linux.sh'); // Keep a global reference of the window object, if you don't, the window will // be closed automatically when the JavaScript object is garbage collected. @@ -747,11 +746,8 @@ ipcMain.on(Constants.IPC_Install_Upgrade, (event, data) => { args = ['-a', 'Finder', data.Source]; } else if (platform === 'linux') { try { - const execPath = path.join(os.tmpdir(), 'install_linux.sh'); - fs.writeFileSync(execPath, installScript); - fs.chmodSync(execPath, '750'); - command = execPath; - args = [data.Source]; + command = data.Source; + fs.chmodSync(command, '750'); } catch (e) { errorHandler(e); } diff --git a/public/update_linux.sh b/public/update_linux.sh deleted file mode 100644 index dcd771d..0000000 --- a/public/update_linux.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -sleep 5 -chmod +x "$1" -"$1"& - -sleep 1 -rm -f "$0" \ No newline at end of file diff --git a/src/App.js b/src/App.js index a4c5dd4..7b7139a 100644 --- a/src/App.js +++ b/src/App.js @@ -113,9 +113,12 @@ class App extends IPCContainer { }; handleDownloadUpgrade = () => { - const url = this.props.UpgradeData.urls[0]; - const name = this.props.Platform === 'win32' ? 'upgrade.exe' : this.props.Platform === 'darwin' ? 'upgrade.dmg' : extractFileNameFromURL(url); - this.props.downloadItem(name, Constants.INSTALL_TYPES.Upgrade, url, this.onDownloadFileComplete); + const name = (this.props.Platform === 'win32') ? + 'upgrade.exe' : + (this.props.Platform === 'darwin') ? + 'upgrade.dmg' : + 'repertory-ui_' + this.props.UpgradeVersion + '_linux_x86_64.AppImage'; + this.props.downloadItem(name, Constants.INSTALL_TYPES.Upgrade, this.props.UpgradeData.urls[0], this.onDownloadFileComplete); }; installDependency = result => { @@ -338,6 +341,7 @@ const mapStateToProps = state => { UpgradeAvailable: state.relver.UpgradeAvailable, UpgradeData: state.relver.UpgradeData, UpgradeDismissed: state.relver.UpgradeDismissed, + UpgradeVersion: state.relver.UpgradeVersion, Version: state.common.Version, VersionLookup: state.relver.VersionLookup, }; diff --git a/src/redux/actions/release_version_actions.js b/src/redux/actions/release_version_actions.js index 3856cec..0a131de 100644 --- a/src/redux/actions/release_version_actions.js +++ b/src/redux/actions/release_version_actions.js @@ -26,7 +26,7 @@ export const detectUIUpgrade = () => { data.Versions[appPlatform] && (data.Versions[appPlatform].length > 0) && (data.Versions[appPlatform][0] !== version)) { - dispatch(setUIUpgradeData(data.Locations[appPlatform][data.Versions[appPlatform][0]])); + dispatch(setUIUpgradeData(data.Locations[appPlatform][data.Versions[appPlatform][0]], data.Versions[appPlatform][0])); } else { dispatch(clearUIUpgrade()); } @@ -115,4 +115,14 @@ export const setReleaseData = (locationsLookup, versionLookup)=> { }; export const setReleaseUpgradeAvailable = createAction('relver/setReleaseUpgradeAvailable'); -export const setUIUpgradeData = createAction('relver/setUIUpgradeData'); \ No newline at end of file + +export const SET_UI_UPGRADE_DATA = 'relver/setUIUpgradeData'; +export const setUIUpgradeData = (upgradeData, version) => { + return { + type: SET_UI_UPGRADE_DATA, + payload: { + upgrade_data: upgradeData, + version: version, + } + } +}; \ No newline at end of file diff --git a/src/redux/reducers/release_version_reducer.js b/src/redux/reducers/release_version_reducer.js index 1a681be..4e6b4b5 100644 --- a/src/redux/reducers/release_version_reducer.js +++ b/src/redux/reducers/release_version_reducer.js @@ -20,6 +20,7 @@ export const releaseVersionReducer = createReducer({ ReleaseUpgradeAvailable: false, UpgradeAvailable: false, UpgradeData: null, + UpgradeVersion: null, UpgradeDismissed: false, Version: -1, VersionLookup: versionLookup, @@ -30,6 +31,7 @@ export const releaseVersionReducer = createReducer({ UpgradeAvailable: false, UpgradeDismissed: false, UpgradeData: null, + UpgradeVersion: null, }; }, [Actions.SET_ACTIVE_RELEASE]: (state, action) => { @@ -64,11 +66,12 @@ export const releaseVersionReducer = createReducer({ ReleaseUpgradeAvailable: action.payload, }; }, - [Actions.setUIUpgradeData]: (state, action) => { + [Actions.SET_UI_UPGRADE_DATA]: (state, action) => { return { ...state, UpgradeAvailable: true, - UpgradeData: action.payload, + UpgradeData: action.payload.upgrade_data, + UpgradeVersion: action.payload.version, UpgradeDismissed: false, }; } From 82af8e93191de837580a741c2b1192f19b7b0d58 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Fri, 5 Jul 2019 13:44:39 -0500 Subject: [PATCH 08/31] #27: Implement Bitbucket backup download location --- create_dist.cmd | 15 ++++++++++++++- create_dist.sh | 18 +++++++++++++++--- create_dist_mac.sh | 16 ++++++++++++++-- 3 files changed, 43 insertions(+), 6 deletions(-) diff --git a/create_dist.cmd b/create_dist.cmd index 229f931..5a278c2 100644 --- a/create_dist.cmd +++ b/create_dist.cmd @@ -37,12 +37,17 @@ pushd "%ROOT%" call :PIXEL_RESPONSE 1 set PIXEL_LOCATION=https://pixeldrain.com/api/file/!PIXEL_ID! + call :UPLOAD_TO_BITBUCKET "%OUT_FILE%" + call :UPLOAD_TO_BITBUCKET "%OUT_FILE%.sha256" + call :UPLOAD_TO_BITBUCKET "%OUT_FILE%.sig" + set BITBUCKET_LOCATION=https://bitbucket.org/blockstorage/repertory/downloads/%OUT_FILE% + del /q releases.json 1>NUL 2>&1 ("%JQ_BIN%" ".Versions.win32|=(.+ ["""%APP_VER%"""]|unique)" ..\releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json Versions failed") ("%JQ_BIN%" ".Locations.win32."""%APP_VER%""".sig="""!APP_SIG!"""" releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json sig failed") ("%JQ_BIN%" ".Locations.win32."""%APP_VER%""".sha256="""!APP_SHA256!"""" releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json sha256 failed") - ("%JQ_BIN%" ".Locations.win32."""%APP_VER%""".urls=["""!PIXEL_LOCATION!"""]" releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json URL failed") + ("%JQ_BIN%" ".Locations.win32."""%APP_VER%""".urls=["""!PIXEL_LOCATION!""","""%BITBUCKET_LOCATION%"""]" releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json URL failed") popd ) || ( call :ERROR "Create dist failed" @@ -78,6 +83,14 @@ goto :EOF ) goto :EOF +:UPLOAD_TO_BITBUCKET + set SOURCE_FILE=%1 + call :NO_QUOTES SOURCE_FILE + call :NO_QUOTES BITBUCKET_AUTH + echo "Uploading !SOURCE_FILE! to Bitbucket" + (curl --fail -u "!BITBUCKET_AUTH!" -X POST https://api.bitbucket.org/2.0/repositories/blockstorage/repertory/downloads -F files="@!SOURCE_FILE!" > upload_response.json) || (call :ERROR "Upload to Bitbucket failed: %SOURCE_FILE%") +goto :EOF + :ERROR echo %1 set ERROR_EXIT=1 diff --git a/create_dist.sh b/create_dist.sh index 687dfcb..eeeb5a4 100755 --- a/create_dist.sh +++ b/create_dist.sh @@ -11,17 +11,27 @@ PUBLIC_KEY=./blockstorage_dev_public.pem APP_VER=$(grep -m1 -a version package.json|sed -e "s/\"//g" -e "s/version: //g" -e "s/,//g" -e "s/ //g") OUT_FILE=repertory-ui_${APP_VER}_linux_x86_64.AppImage +BITBUCKET_AUTH=$1 + exit_script() { echo $1 exit 1 } +upload_to_bitbucket() { + SOURCE_FILE=$1 + curl --fail -u "${BITBUCKET_AUTH}" -X POST https://api.bitbucket.org/2.0/repositories/blockstorage/repertory/downloads -F files=@${SOURCE_FILE} > upload_response.json || exit_script "Upload to Bitbucket failed: ${SOURCE_FILE}" +} + if npm run dist; then cd dist sha256sum -b ${OUT_FILE} > ${OUT_FILE}.sha256 || exit_script "Create sha256 failed" openssl dgst -sha256 -sign "${PRIVATE_KEY}" -out "${OUT_FILE}.sig" "${OUT_FILE}" || exit_script "Create signature failed" base64 -w0 "${OUT_FILE}.sig" > "${OUT_FILE}.sig.b64" || exit_script "Create base64 failed" + APP_SIG=$(cat ${OUT_FILE}.sig.b64) + APP_SHA256=$(cat ${OUT_FILE}.sha256 | awk '{print $1;}') + rm -f upload_response.json 1>/dev/null 2>&1 curl -F name="${OUT_FILE}" -F anonymous=true -F file="@${OUT_FILE}" https://pixeldrain.com/api/file > upload_response.json || exit_script "Upload to Pixeldrain failed" @@ -33,15 +43,17 @@ if npm run dist; then PIXEL_ID=$(jq-linux64 .id upload_response.json|sed s/\"//g) PIXEL_LOCATION=https://pixeldrain.com/api/file/${PIXEL_ID} - APP_SIG=$(cat ${OUT_FILE}.sig.b64) - APP_SHA256=$(cat ${OUT_FILE}.sha256 | awk '{print $1;}') + upload_to_bitbucket "${OUT_FILE}" + upload_to_bitbucket "${OUT_FILE}.sha256" + upload_to_bitbucket "${OUT_FILE}.sig" + BITBUCKET_LOCATION=https://bitbucket.org/blockstorage/repertory/downloads/${OUT_FILE} cp -f ../releases.json ./releases.json for DISTRONAME in ${DISTRO_LIST}; do jq-linux64 ".Versions[\"${DISTRONAME}\"]|=(.+ [\"${APP_VER}\"]|unique)" releases.json > releases_temp.json || exit_script "Update releases.json Versions failed" jq-linux64 ".Locations[\"${DISTRONAME}\"].\"${APP_VER}\".sig=\"${APP_SIG}\"" releases_temp.json > releases.json || exit_script "Update releases.json sig failed" jq-linux64 ".Locations[\"${DISTRONAME}\"].\"${APP_VER}\".sha256=\"${APP_SHA256}\"" releases.json > releases_temp.json || exit_script "Update releases.json sha256 failed" - jq-linux64 ".Locations[\"${DISTRONAME}\"].\"${APP_VER}\".urls=[\"${PIXEL_LOCATION}\"]" releases_temp.json > releases.json || exit_script "Update releases.json URL failed" + jq-linux64 ".Locations[\"${DISTRONAME}\"].\"${APP_VER}\".urls=[\"${PIXEL_LOCATION}\",\"${BITBUCKET_LOCATION}\"]" releases_temp.json > releases.json || exit_script "Update releases.json URL failed" done rm -f releases_temp.json fi diff --git a/create_dist_mac.sh b/create_dist_mac.sh index 2801bc2..8fce24e 100755 --- a/create_dist_mac.sh +++ b/create_dist_mac.sh @@ -9,17 +9,27 @@ PUBLIC_KEY=./blockstorage_dev_public.pem APP_VER=$(grep -m1 -a version package.json|sed -e "s/\"//g" -e "s/version: //g" -e "s/,//g" -e "s/ //g") OUT_FILE=repertory-ui_${APP_VER}_mac.dmg +BITBUCKET_AUTH=$1 + exit_script() { echo $1 exit 1 } +upload_to_bitbucket() { + SOURCE_FILE=$1 + curl --fail -u "${BITBUCKET_AUTH}" -X POST https://api.bitbucket.org/2.0/repositories/blockstorage/repertory/downloads -F files=@${SOURCE_FILE} > upload_response.json || exit_script "Upload to Bitbucket failed: ${SOURCE_FILE}" +} + if npm run dist; then cd dist shasum -a 256 -b ${OUT_FILE} > ${OUT_FILE}.sha256 || exit_script "Create sha256 failed" openssl dgst -sha256 -sign "${PRIVATE_KEY}" -out "${OUT_FILE}.sig" "${OUT_FILE}" || exit_script "Create signature failed" base64 "${OUT_FILE}.sig" > "${OUT_FILE}.sig.b64" || exit_script "Create base64 failed" + APP_SIG=$(cat ${OUT_FILE}.sig.b64) + APP_SHA256=$(cat ${OUT_FILE}.sha256 | awk '{print $1;}') + rm -f upload_response.json 1>/dev/null 2>&1 curl -F name="${OUT_FILE}" -F anonymous=true -F file="@${OUT_FILE}" https://pixeldrain.com/api/file > upload_response.json || exit_script "Upload to Pixeldrain failed" @@ -31,8 +41,10 @@ if npm run dist; then PIXEL_ID=$(jq-osx-amd64 .id upload_response.json|sed s/\"//g) PIXEL_LOCATION=https://pixeldrain.com/api/file/${PIXEL_ID} - APP_SIG=$(cat ${OUT_FILE}.sig.b64) - APP_SHA256=$(cat ${OUT_FILE}.sha256 | awk '{print $1;}') + upload_to_bitbucket "${OUT_FILE}" + upload_to_bitbucket "${OUT_FILE}.sha256" + upload_to_bitbucket "${OUT_FILE}.sig" + BITBUCKET_LOCATION=https://bitbucket.org/blockstorage/repertory/downloads/${OUT_FILE} cp -f ../releases.json ./releases.json jq-osx-amd64 ".Versions[\"darwin\"]|=(.+ [\"${APP_VER}\"]|unique)" releases.json > releases_temp.json || exit_script "Update releases.json Versions failed" From 9b1e044be71786550eb18e1592e07a9896241716 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Fri, 5 Jul 2019 16:32:16 -0500 Subject: [PATCH 09/31] Combine Mac and Linux build scripts --- create_dist.sh | 78 ++++++++++++++++++++++++++++------------------ create_dist_mac.sh | 60 ----------------------------------- 2 files changed, 48 insertions(+), 90 deletions(-) delete mode 100755 create_dist_mac.sh diff --git a/create_dist.sh b/create_dist.sh index eeeb5a4..7e3de3c 100755 --- a/create_dist.sh +++ b/create_dist.sh @@ -1,17 +1,30 @@ #!/bin/sh +beginsWith() { case $2 in "$1"*) true;; *) false;; esac; } + PATH=$(pwd)/bin:$PATH export PATH -DISTRO_LIST="arch centos7 debian9 fedora28 fedora29 fedora30 solus ubuntu18.04 ubuntu18.10 ubuntu19.04" +ENABLE_UPLOAD=$1 +BITBUCKET_AUTH=$2 PRIVATE_KEY=../../blockstorage_dev_private.pem -PUBLIC_KEY=./blockstorage_dev_public.pem - +PUBLIC_KEY=../blockstorage_dev_public.pem APP_VER=$(grep -m1 -a version package.json|sed -e "s/\"//g" -e "s/version: //g" -e "s/,//g" -e "s/ //g") -OUT_FILE=repertory-ui_${APP_VER}_linux_x86_64.AppImage -BITBUCKET_AUTH=$1 +if beginsWith darwin "$OSTYPE"; then + DISTRO_LIST="darwin" + OUT_FILE=repertory-ui_${APP_VER}_mac.dmg + BASE64_EXEC=base64 + JQ_EXEC=jq-osx-amd64 + SHA256_EXEC="shasum -a 256 -b" +else + DISTRO_LIST="arch centos7 debian9 fedora28 fedora29 fedora30 opensuse15 opensuse15.1 solus ubuntu18.04 ubuntu18.10 ubuntu19.04" + OUT_FILE=repertory-ui_${APP_VER}_linux_x86_64.AppImage + BASE64_EXEC="base64 -w0" + JQ_EXEC=jq-linux64 + SHA256_EXEC="sha256sum -b" +fi exit_script() { echo $1 @@ -23,39 +36,44 @@ upload_to_bitbucket() { curl --fail -u "${BITBUCKET_AUTH}" -X POST https://api.bitbucket.org/2.0/repositories/blockstorage/repertory/downloads -F files=@${SOURCE_FILE} > upload_response.json || exit_script "Upload to Bitbucket failed: ${SOURCE_FILE}" } +chmod +x "bin/${JQ_EXEC}" || exit_script "chmod +x ${JQ_EXEC} failed" + if npm run dist; then cd dist - sha256sum -b ${OUT_FILE} > ${OUT_FILE}.sha256 || exit_script "Create sha256 failed" + ${SHA256_EXEC} ${OUT_FILE} > ${OUT_FILE}.sha256 || exit_script "Create sha256 failed" openssl dgst -sha256 -sign "${PRIVATE_KEY}" -out "${OUT_FILE}.sig" "${OUT_FILE}" || exit_script "Create signature failed" - base64 -w0 "${OUT_FILE}.sig" > "${OUT_FILE}.sig.b64" || exit_script "Create base64 failed" + openssl dgst -sha256 -verify "${PUBLIC_KEY}" -signature "${OUT_FILE}.sig" "${OUT_FILE}" || exit_script "Verify signature failed" + ${BASE64_EXEC} "${OUT_FILE}.sig" > "${OUT_FILE}.sig.b64" || exit_script "Create base64 failed" - APP_SIG=$(cat ${OUT_FILE}.sig.b64) - APP_SHA256=$(cat ${OUT_FILE}.sha256 | awk '{print $1;}') + if [ "$ENABLE_UPLOAD" = "1" ]; then + APP_SIG=$(cat ${OUT_FILE}.sig.b64) + APP_SHA256=$(cat ${OUT_FILE}.sha256 | awk '{print $1;}') - rm -f upload_response.json 1>/dev/null 2>&1 - curl -F name="${OUT_FILE}" -F anonymous=true -F file="@${OUT_FILE}" https://pixeldrain.com/api/file > upload_response.json || exit_script "Upload to Pixeldrain failed" + rm -f upload_response.json 1>/dev/null 2>&1 + curl --fail -F name="${OUT_FILE}" -F anonymous=true -F file="@${OUT_FILE}" https://pixeldrain.com/api/file > upload_response.json || exit_script "Upload to Pixeldrain failed" - PIXEL_SUCCESS=$(jq-linux64 .success upload_response.json) - if [ "${PIXEL_SUCCESS}" = "false" ]; then - PIXEL_MESSAGE=$(jq-linux64 .message upload_response.json) - exit_script "${PIXEL_MESSAGE}" - else - PIXEL_ID=$(jq-linux64 .id upload_response.json|sed s/\"//g) - PIXEL_LOCATION=https://pixeldrain.com/api/file/${PIXEL_ID} + PIXEL_SUCCESS=$(${JQ_EXEC} .success upload_response.json) + if [ "${PIXEL_SUCCESS}" = "false" ]; then + PIXEL_MESSAGE=$(${JQ_EXEC} .message upload_response.json) + exit_script "${PIXEL_MESSAGE}" + else + PIXEL_ID=$(${JQ_EXEC} .id upload_response.json|sed s/\"//g) + PIXEL_LOCATION=https://pixeldrain.com/api/file/${PIXEL_ID} - upload_to_bitbucket "${OUT_FILE}" - upload_to_bitbucket "${OUT_FILE}.sha256" - upload_to_bitbucket "${OUT_FILE}.sig" - BITBUCKET_LOCATION=https://bitbucket.org/blockstorage/repertory/downloads/${OUT_FILE} + upload_to_bitbucket "${OUT_FILE}" + upload_to_bitbucket "${OUT_FILE}.sha256" + upload_to_bitbucket "${OUT_FILE}.sig" + BITBUCKET_LOCATION=https://bitbucket.org/blockstorage/repertory/downloads/${OUT_FILE} - cp -f ../releases.json ./releases.json - for DISTRONAME in ${DISTRO_LIST}; do - jq-linux64 ".Versions[\"${DISTRONAME}\"]|=(.+ [\"${APP_VER}\"]|unique)" releases.json > releases_temp.json || exit_script "Update releases.json Versions failed" - jq-linux64 ".Locations[\"${DISTRONAME}\"].\"${APP_VER}\".sig=\"${APP_SIG}\"" releases_temp.json > releases.json || exit_script "Update releases.json sig failed" - jq-linux64 ".Locations[\"${DISTRONAME}\"].\"${APP_VER}\".sha256=\"${APP_SHA256}\"" releases.json > releases_temp.json || exit_script "Update releases.json sha256 failed" - jq-linux64 ".Locations[\"${DISTRONAME}\"].\"${APP_VER}\".urls=[\"${PIXEL_LOCATION}\",\"${BITBUCKET_LOCATION}\"]" releases_temp.json > releases.json || exit_script "Update releases.json URL failed" - done - rm -f releases_temp.json + cp -f ../releases.json ./releases.json + for DISTRONAME in ${DISTRO_LIST}; do + ${JQ_EXEC} ".Versions[\"${DISTRONAME}\"]|=(.+ [\"${APP_VER}\"]|unique)" releases.json > releases_temp.json || exit_script "Update releases.json Versions failed" + ${JQ_EXEC} ".Locations[\"${DISTRONAME}\"].\"${APP_VER}\".sig=\"${APP_SIG}\"" releases_temp.json > releases.json || exit_script "Update releases.json sig failed" + ${JQ_EXEC} ".Locations[\"${DISTRONAME}\"].\"${APP_VER}\".sha256=\"${APP_SHA256}\"" releases.json > releases_temp.json || exit_script "Update releases.json sha256 failed" + ${JQ_EXEC} ".Locations[\"${DISTRONAME}\"].\"${APP_VER}\".urls=[\"${PIXEL_LOCATION}\",\"${BITBUCKET_LOCATION}\"]" releases_temp.json > releases.json || exit_script "Update releases.json URL failed" + done + rm -f releases_temp.json + fi fi cd - else diff --git a/create_dist_mac.sh b/create_dist_mac.sh deleted file mode 100755 index 8fce24e..0000000 --- a/create_dist_mac.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh - -PATH=$(pwd)/bin:$PATH -export PATH - -PRIVATE_KEY=../../blockstorage_dev_private.pem -PUBLIC_KEY=./blockstorage_dev_public.pem - -APP_VER=$(grep -m1 -a version package.json|sed -e "s/\"//g" -e "s/version: //g" -e "s/,//g" -e "s/ //g") -OUT_FILE=repertory-ui_${APP_VER}_mac.dmg - -BITBUCKET_AUTH=$1 - -exit_script() { - echo $1 - exit 1 -} - -upload_to_bitbucket() { - SOURCE_FILE=$1 - curl --fail -u "${BITBUCKET_AUTH}" -X POST https://api.bitbucket.org/2.0/repositories/blockstorage/repertory/downloads -F files=@${SOURCE_FILE} > upload_response.json || exit_script "Upload to Bitbucket failed: ${SOURCE_FILE}" -} - -if npm run dist; then - cd dist - shasum -a 256 -b ${OUT_FILE} > ${OUT_FILE}.sha256 || exit_script "Create sha256 failed" - openssl dgst -sha256 -sign "${PRIVATE_KEY}" -out "${OUT_FILE}.sig" "${OUT_FILE}" || exit_script "Create signature failed" - base64 "${OUT_FILE}.sig" > "${OUT_FILE}.sig.b64" || exit_script "Create base64 failed" - - APP_SIG=$(cat ${OUT_FILE}.sig.b64) - APP_SHA256=$(cat ${OUT_FILE}.sha256 | awk '{print $1;}') - - rm -f upload_response.json 1>/dev/null 2>&1 - curl -F name="${OUT_FILE}" -F anonymous=true -F file="@${OUT_FILE}" https://pixeldrain.com/api/file > upload_response.json || exit_script "Upload to Pixeldrain failed" - - PIXEL_SUCCESS=$(jq-osx-amd64 .success upload_response.json) - if [ "${PIXEL_SUCCESS}" = "false" ]; then - PIXEL_MESSAGE=$(jq-osx-amd64 .message upload_response.json) - exit_script "${PIXEL_MESSAGE}" - else - PIXEL_ID=$(jq-osx-amd64 .id upload_response.json|sed s/\"//g) - PIXEL_LOCATION=https://pixeldrain.com/api/file/${PIXEL_ID} - - upload_to_bitbucket "${OUT_FILE}" - upload_to_bitbucket "${OUT_FILE}.sha256" - upload_to_bitbucket "${OUT_FILE}.sig" - BITBUCKET_LOCATION=https://bitbucket.org/blockstorage/repertory/downloads/${OUT_FILE} - - cp -f ../releases.json ./releases.json - jq-osx-amd64 ".Versions[\"darwin\"]|=(.+ [\"${APP_VER}\"]|unique)" releases.json > releases_temp.json || exit_script "Update releases.json Versions failed" - jq-osx-amd64 ".Locations[\"darwin\"].\"${APP_VER}\".sig=\"${APP_SIG}\"" releases_temp.json > releases.json || exit_script "Update releases.json sig failed" - jq-osx-amd64 ".Locations[\"darwin\"].\"${APP_VER}\".sha256=\"${APP_SHA256}\"" releases.json > releases_temp.json || exit_script "Update releases.json sha256 failed" - jq-osx-amd64 ".Locations[\"darwin\"].\"${APP_VER}\".urls=[\"${PIXEL_LOCATION}\"]" releases_temp.json > releases.json || exit_script "Update releases.json URL failed" - - rm -f releases_temp.json - fi - cd - -else - exit_script "Create dist failed" -fi From e8b743ae0b3d8509711d4482e004aff8e37ca5a0 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Fri, 5 Jul 2019 16:44:17 -0500 Subject: [PATCH 10/31] [#27: Implement Bitbucket backup download location] [Verify signature on Win32] --- create_dist.cmd | 44 +++++++++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/create_dist.cmd b/create_dist.cmd index 5a278c2..b9d95c9 100644 --- a/create_dist.cmd +++ b/create_dist.cmd @@ -2,6 +2,8 @@ setlocal EnableDelayedExpansion set ROOT=%~dp0% +set /a ENABLE_UPLOAD=%1 +set BITBUCKET_AUTH=%2 set OPENSSL_BIN="c:\OpenSSL-Win64\bin\openssl.exe" set PRIVATE_KEY="c:\src\cert\blockstorage_dev_private.pem" @@ -25,29 +27,33 @@ pushd "%ROOT%" 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") "%B64_BIN%" -e "%OUT_FILE%.sig" "%OUT_FILE%.sig.b64" || (call :ERROR "Create base64 failed") - for /f "delims=" %%i in ('type %OUT_FILE%.sig.b64') do set APP_SIG=!APP_SIG!%%i - for /f "delims=" %%i in ('type %OUT_FILE%.sha256') do set APP_SHA256=!APP_SHA256!%%i - del /q upload_response.json 1>NUL 2>&1 + if "%ENABLE_UPLOAD%"=="1" ( + for /f "delims=" %%i in ('type %OUT_FILE%.sig.b64') do set APP_SIG=!APP_SIG!%%i + for /f "delims=" %%i in ('type %OUT_FILE%.sha256') do set APP_SHA256=!APP_SHA256!%%i - ("%CURL_BIN%" -F name="%OUT_FILE%" -F anonymous=true -F file="@%OUT_FILE%" https://pixeldrain.com/api/file > upload_response.json) || ( - call :PIXEL_RESPONSE 0 + del /q upload_response.json 1>NUL 2>&1 + + ("%CURL_BIN%" -F name="%OUT_FILE%" -F anonymous=true -F file="@%OUT_FILE%" https://pixeldrain.com/api/file > upload_response.json) || ( + call :PIXEL_RESPONSE 0 + ) + call :PIXEL_RESPONSE 1 + set PIXEL_LOCATION=https://pixeldrain.com/api/file/!PIXEL_ID! + + call :UPLOAD_TO_BITBUCKET "%OUT_FILE%" + call :UPLOAD_TO_BITBUCKET "%OUT_FILE%.sha256" + call :UPLOAD_TO_BITBUCKET "%OUT_FILE%.sig" + set BITBUCKET_LOCATION=https://bitbucket.org/blockstorage/repertory/downloads/%OUT_FILE% + + del /q releases.json 1>NUL 2>&1 + + ("%JQ_BIN%" ".Versions.win32|=(.+ ["""%APP_VER%"""]|unique)" ..\releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json Versions failed") + ("%JQ_BIN%" ".Locations.win32."""%APP_VER%""".sig="""!APP_SIG!"""" releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json sig failed") + ("%JQ_BIN%" ".Locations.win32."""%APP_VER%""".sha256="""!APP_SHA256!"""" releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json sha256 failed") + ("%JQ_BIN%" ".Locations.win32."""%APP_VER%""".urls=["""!PIXEL_LOCATION!""","""%BITBUCKET_LOCATION%"""]" releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json URL failed") ) - call :PIXEL_RESPONSE 1 - set PIXEL_LOCATION=https://pixeldrain.com/api/file/!PIXEL_ID! - - call :UPLOAD_TO_BITBUCKET "%OUT_FILE%" - call :UPLOAD_TO_BITBUCKET "%OUT_FILE%.sha256" - call :UPLOAD_TO_BITBUCKET "%OUT_FILE%.sig" - set BITBUCKET_LOCATION=https://bitbucket.org/blockstorage/repertory/downloads/%OUT_FILE% - - del /q releases.json 1>NUL 2>&1 - - ("%JQ_BIN%" ".Versions.win32|=(.+ ["""%APP_VER%"""]|unique)" ..\releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json Versions failed") - ("%JQ_BIN%" ".Locations.win32."""%APP_VER%""".sig="""!APP_SIG!"""" releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json sig failed") - ("%JQ_BIN%" ".Locations.win32."""%APP_VER%""".sha256="""!APP_SHA256!"""" releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json sha256 failed") - ("%JQ_BIN%" ".Locations.win32."""%APP_VER%""".urls=["""!PIXEL_LOCATION!""","""%BITBUCKET_LOCATION%"""]" releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json URL failed") popd ) || ( call :ERROR "Create dist failed" From 7c54747a7adefdd86826b32be6f4bf63271e788d Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Fri, 5 Jul 2019 19:21:54 -0500 Subject: [PATCH 11/31] [#27: Implement Bitbucket backup download location] [Prefer 'ipcRenderer.once()'] --- src/App.js | 4 +- src/redux/actions/download_actions.js | 63 ++++++++++++++++----------- src/redux/actions/install_actions.js | 13 ++---- 3 files changed, 43 insertions(+), 37 deletions(-) diff --git a/src/App.js b/src/App.js index 7b7139a..3e5b75f 100644 --- a/src/App.js +++ b/src/App.js @@ -109,7 +109,7 @@ class App extends IPCContainer { handleDownloadRelease = () => { const selectedVersion = this.getSelectedVersion(); const fileName = selectedVersion + '.zip'; - this.props.downloadItem(fileName, Constants.INSTALL_TYPES.Release, this.props.LocationsLookup[selectedVersion].urls[0], this.onDownloadFileComplete); + this.props.downloadItem(fileName, Constants.INSTALL_TYPES.Release, this.props.LocationsLookup[selectedVersion].urls, this.onDownloadFileComplete); }; handleDownloadUpgrade = () => { @@ -118,7 +118,7 @@ class App extends IPCContainer { (this.props.Platform === 'darwin') ? 'upgrade.dmg' : 'repertory-ui_' + this.props.UpgradeVersion + '_linux_x86_64.AppImage'; - this.props.downloadItem(name, Constants.INSTALL_TYPES.Upgrade, this.props.UpgradeData.urls[0], this.onDownloadFileComplete); + this.props.downloadItem(name, Constants.INSTALL_TYPES.Upgrade, this.props.UpgradeData.urls, this.onDownloadFileComplete); }; installDependency = result => { diff --git a/src/redux/actions/download_actions.js b/src/redux/actions/download_actions.js index 204b1d8..2649740 100644 --- a/src/redux/actions/download_actions.js +++ b/src/redux/actions/download_actions.js @@ -19,33 +19,44 @@ export const setDownloadBegin = (name, type, url) => { export const setDownloadEnd = createAction('download/setDownloadEnd'); export const setDownloadProgress = createAction('download/setDownloadProgress'); -export const downloadItem = (name, type, url, completedCallback) => { +export const downloadItem = (name, type, urls, completedCallback) => { return (dispatch, getState) => { - const state = getState(); - if (!state.download.DownloadActive && state.download.AllowDownload) { - const ipcRenderer = getIPCRenderer(); - if (ipcRenderer) { - dispatch(setDownloadBegin(name, type, url)); - - const downloadFileProgress = (_, arg) => { - dispatch(setDownloadProgress(arg.data.Progress)); - }; - - const downloadFileComplete = (_, arg) => { - ipcRenderer.removeListener(Constants.IPC_Download_File_Progress, downloadFileProgress); - ipcRenderer.removeListener(Constants.IPC_Download_File_Complete, downloadFileComplete); - completedCallback(name, type, url, arg.data); - dispatch(setDownloadEnd(arg.data)); - }; - - ipcRenderer.on(Constants.IPC_Download_File_Progress, downloadFileProgress); - ipcRenderer.on(Constants.IPC_Download_File_Complete, downloadFileComplete); - - ipcRenderer.send(Constants.IPC_Download_File, { - Filename: name, - URL: url, - }); - } + if (!Array.isArray(urls)) { + urls = [urls]; } + + const downloadAtIndex = index => { + const url = urls[index]; + const state = getState(); + if ((index > 0) || (!state.download.DownloadActive && state.download.AllowDownload)) { + const ipcRenderer = getIPCRenderer(); + if (ipcRenderer) { + dispatch(setDownloadBegin(name, type, url)); + + const downloadFileProgress = (_, arg) => { + dispatch(setDownloadProgress(arg.data.Progress)); + }; + + const downloadFileComplete = (_, arg) => { + ipcRenderer.removeListener(Constants.IPC_Download_File_Progress, downloadFileProgress); + if (!arg.data.Success && (++index < urls.length)) { + downloadAtIndex(index); + } else { + completedCallback(name, type, url, arg.data); + dispatch(setDownloadEnd(arg.data)); + } + }; + + ipcRenderer.on(Constants.IPC_Download_File_Progress, downloadFileProgress); + ipcRenderer.once(Constants.IPC_Download_File_Complete, downloadFileComplete); + + ipcRenderer.send(Constants.IPC_Download_File, { + Filename: name, + URL: url, + }); + } + } + }; + downloadAtIndex(0); }; }; \ No newline at end of file diff --git a/src/redux/actions/install_actions.js b/src/redux/actions/install_actions.js index 16c8384..ed3d53a 100644 --- a/src/redux/actions/install_actions.js +++ b/src/redux/actions/install_actions.js @@ -18,7 +18,6 @@ const ipcRenderer = getIPCRenderer(); export const checkInstalled = (dependencies, version) => { return (dispatch, getState) => { const checkInstalledComplete = (event, arg) => { - ipcRenderer.removeListener(Constants.IPC_Check_Installed_Reply, checkInstalledComplete); const result = arg.data; const updateState = () => { const installedVersion = result.Success && result.Exists ? result.Version : 'none'; @@ -48,7 +47,7 @@ export const checkInstalled = (dependencies, version) => { } }; - ipcRenderer.on(Constants.IPC_Check_Installed_Reply, checkInstalledComplete); + ipcRenderer.once(Constants.IPC_Check_Installed_Reply, checkInstalledComplete); ipcRenderer.send(Constants.IPC_Check_Installed, { Dependencies: dependencies, Version: version, @@ -62,8 +61,6 @@ export const installDependency = (source, url, completedCallback) => { dispatch(setInstallActive(Constants.INSTALL_TYPES.Dependency)); const installDependencyComplete = (event, arg) => { - ipcRenderer.removeListener(Constants.IPC_Install_Dependency_Reply, installDependencyComplete); - const result = arg.data; const handleCompleted = ()=> { ipcRenderer.send(Constants.IPC_Delete_File, { @@ -94,7 +91,7 @@ export const installDependency = (source, url, completedCallback) => { } }; - ipcRenderer.on(Constants.IPC_Install_Dependency_Reply, installDependencyComplete); + ipcRenderer.once(Constants.IPC_Install_Dependency_Reply, installDependencyComplete); ipcRenderer.send(Constants.IPC_Install_Dependency, { Source: source, URL: url, @@ -109,7 +106,6 @@ export const installRelease = (source, version, completedCallback) => { dispatch(setInstallActive(Constants.INSTALL_TYPES.Release)); const extractReleaseComplete = (event, arg) => { - ipcRenderer.removeListener(Constants.IPC_Extract_Release_Complete, extractReleaseComplete); ipcRenderer.send(Constants.IPC_Delete_File, { FilePath: source, }); @@ -118,7 +114,7 @@ export const installRelease = (source, version, completedCallback) => { completedCallback(source, version, arg.data); }; - ipcRenderer.on(Constants.IPC_Extract_Release_Complete, extractReleaseComplete); + ipcRenderer.once(Constants.IPC_Extract_Release_Complete, extractReleaseComplete); ipcRenderer.send(Constants.IPC_Extract_Release, { Source: source, Version: version, @@ -134,7 +130,6 @@ export const installUpgrade = (source, sha256, signature, skipVerification, comp dispatch(setApplicationReady(false)); const installUpgradeComplete = (event, arg) => { - ipcRenderer.removeListener(Constants.IPC_Install_Upgrade_Reply, installUpgradeComplete); if (arg.data.Success) { dispatch(shutdownApplication()); } else { @@ -144,7 +139,7 @@ export const installUpgrade = (source, sha256, signature, skipVerification, comp } }; - ipcRenderer.on(Constants.IPC_Install_Upgrade_Reply, installUpgradeComplete); + ipcRenderer.once(Constants.IPC_Install_Upgrade_Reply, installUpgradeComplete); ipcRenderer.send(Constants.IPC_Install_Upgrade, { Sha256: sha256, Signature: signature, From 794fe1a86e7ab813e3f0cbfd54f9b1cc90683fba Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Fri, 5 Jul 2019 20:23:55 -0500 Subject: [PATCH 12/31] Default to RC Release --- src/redux/reducers/release_version_reducer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/redux/reducers/release_version_reducer.js b/src/redux/reducers/release_version_reducer.js index 4e6b4b5..a41d231 100644 --- a/src/redux/reducers/release_version_reducer.js +++ b/src/redux/reducers/release_version_reducer.js @@ -16,7 +16,7 @@ const versionLookup = Constants.RELEASE_TYPES.map(k=> { export const releaseVersionReducer = createReducer({ InstalledVersion: 'none', LocationsLookup: {}, - Release: 2, + Release: 1, ReleaseUpgradeAvailable: false, UpgradeAvailable: false, UpgradeData: null, From 10beebdf03dd89ddb845613242ae8e117d06fefe Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Sat, 6 Jul 2019 19:01:41 -0500 Subject: [PATCH 13/31] Updated CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 49c998b..87c3dac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ # Changelog # ## 1.0.4 ## +* \#27: Implement Bitbucket backup download location * \#28: Fix Linux upgrade * Additional Linux distribution support: * OpenSUSE Leap 15 From 047678f44c41af9f59187025c999123f078de151 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Sun, 7 Jul 2019 21:55:11 -0500 Subject: [PATCH 14/31] #28: Fix Linux upgrade --- public/electron.js | 31 +++++++++++++++---- .../DownloadProgress/DownloadProgress.js | 4 ++- 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/public/electron.js b/public/electron.js index b4012e4..f431e9c 100644 --- a/public/electron.js +++ b/public/electron.js @@ -29,14 +29,22 @@ let launchHidden = false; let firstMountCheck = true; let manualMountDetection = {}; +let isShutdown = false; let isQuiting = false; +let isInstalling = false; app.on('before-quit', function () { isQuiting = true; }); function closeApplication() { - app.quit(); + if (!isShutdown) { + isShutdown = true; + if (mainWindowTray) { + mainWindowTray.destroy(); + } + app.quit(); + } } function setWindowVisibility(show) { @@ -187,12 +195,10 @@ function createWindow() { mainWindow.loadURL(startUrl); } -const instanceLock = app.requestSingleInstanceLock(); -if (!instanceLock) { - closeApplication(); -} else { +let instanceLock = app.requestSingleInstanceLock(); +const configurePrimaryApp = () => { app.on('second-instance', () => { - if (mainWindow) { + if (!isInstalling && mainWindow) { setWindowVisibility(true); } }); @@ -202,6 +208,17 @@ if (!instanceLock) { app.on('window-all-closed', () => { closeApplication(); }); +}; +if (!instanceLock) { + setTimeout(() => { + if ((instanceLock = app.requestSingleInstanceLock())) { + configurePrimaryApp(); + } else { + closeApplication(); + } + }, 3000); +} else { + configurePrimaryApp(); } const clearManualMountDetection = (provider) => { @@ -757,6 +774,7 @@ ipcMain.on(Constants.IPC_Install_Upgrade, (event, data) => { if (command) { const executeInstall = () => { + isInstalling = true; helpers .executeAsync(command, args) .then(() => { @@ -764,6 +782,7 @@ ipcMain.on(Constants.IPC_Install_Upgrade, (event, data) => { standardIPCReply(event, Constants.IPC_Install_Upgrade_Reply) }) .catch(error => { + isInstalling = false; errorHandler(error); }); }; diff --git a/src/components/DownloadProgress/DownloadProgress.js b/src/components/DownloadProgress/DownloadProgress.js index 7efed3f..e1a0d35 100644 --- a/src/components/DownloadProgress/DownloadProgress.js +++ b/src/components/DownloadProgress/DownloadProgress.js @@ -7,12 +7,14 @@ const mapStateToProps = state => { return { DownloadName: state.download.DownloadName, DownloadProgress: state.download.DownloadProgress, + Platform: state.common.Platform, }; }; export default connect(mapStateToProps)(props => { + const width = props.Platform === 'linux' ? '480px' : '380px'; return ( - +

{'Downloading ' + props.DownloadName}

From 91632b0a7ddf36876be8bc94986ee554c9bb1da0 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Tue, 9 Jul 2019 18:09:21 -0500 Subject: [PATCH 15/31] Debian 10 support --- CHANGELOG.md | 3 ++- README.md | 3 ++- public/detect_linux.sh | 4 +++- src/constants.js | 1 + 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 87c3dac..ddc0d18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,8 @@ * \#27: Implement Bitbucket backup download location * \#28: Fix Linux upgrade * Additional Linux distribution support: - * OpenSUSE Leap 15 + * Debian 10 + * OpenSUSE Leap 15.0 * OpenSUSE Leap 15.1 ## 1.0.3 ## diff --git a/README.md b/README.md index 7054a5c..c436c3c 100644 --- a/README.md +++ b/README.md @@ -22,13 +22,14 @@ Repertory allows you to mount Sia and/or SiaPrime blockchain storage solutions v * Bodhi 5.0.0 * CentOS 7 * Debian 9 + * Debian 10 * Elementary OS 5.0 * Fedora 28 * Fedora 29 * Fedora 30 * Linux Mint 19 * Linux Mint 19.1 - * OpenSUSE Leap 15 + * OpenSUSE Leap 15.0 * OpenSUSE Leap 15.1 * Solus * Ubuntu 18.04 diff --git a/public/detect_linux.sh b/public/detect_linux.sh index edbccdd..0c9945e 100644 --- a/public/detect_linux.sh +++ b/public/detect_linux.sh @@ -59,7 +59,9 @@ elif [ -f /etc/debian_version ]; then DISTNAME=debian DISTVER=$(head -1 /etc/debian_version|awk -F. '{print $1}') if [ "$DISTVER" != "9" ]; then - resetDistVer + if [ "$DISTVER" != "10" ]; then + resetDistVer + fi fi elif [ -f /etc/os-release ]; then . /etc/os-release diff --git a/src/constants.js b/src/constants.js index ee65d9c..4e1c147 100644 --- a/src/constants.js +++ b/src/constants.js @@ -34,6 +34,7 @@ exports.DATA_LOCATIONS = { arch: '~/.local/repertory/ui', centos7: '~/.local/repertory/ui', debian9: '~/.local/repertory/ui', + debian10: '~/.local/repertory/ui', fedora28: '~/.local/repertory/ui', fedora29: '~/.local/repertory/ui', fedora30: '~/.local/repertory/ui', From 53e1d60f360da22ce859598a2c66059c79e144e6 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Tue, 9 Jul 2019 20:30:20 -0500 Subject: [PATCH 16/31] Debian 10 support --- create_dist.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/create_dist.sh b/create_dist.sh index 7e3de3c..169d58d 100755 --- a/create_dist.sh +++ b/create_dist.sh @@ -19,7 +19,7 @@ if beginsWith darwin "$OSTYPE"; then JQ_EXEC=jq-osx-amd64 SHA256_EXEC="shasum -a 256 -b" else - DISTRO_LIST="arch centos7 debian9 fedora28 fedora29 fedora30 opensuse15 opensuse15.1 solus ubuntu18.04 ubuntu18.10 ubuntu19.04" + DISTRO_LIST="arch centos7 debian9 debian10 fedora28 fedora29 fedora30 opensuse15 opensuse15.1 solus ubuntu18.04 ubuntu18.10 ubuntu19.04" OUT_FILE=repertory-ui_${APP_VER}_linux_x86_64.AppImage BASE64_EXEC="base64 -w0" JQ_EXEC=jq-linux64 From bc014c1bb3893fa4ebbb1e2b9ad8b3eaead4e58b Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Tue, 9 Jul 2019 20:48:08 -0500 Subject: [PATCH 17/31] Debian 10 support --- releases.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/releases.json b/releases.json index 6eb9804..03f5418 100644 --- a/releases.json +++ b/releases.json @@ -32,6 +32,14 @@ ] } }, + "debian10": { + "1.0.4": { + "sha256": "", + "sig": "", + "urls": [ + ] + } + }, "fedora28": { "1.0.4": { "sha256": "", @@ -126,6 +134,9 @@ "debian9": [ "1.0.4" ], + "debian10": [ + "1.0.4" + ], "fedora28": [ "1.0.4" ], From bc653fbd0855bf1df01b4c5e17a68ac608b43d2c Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Tue, 9 Jul 2019 21:50:59 -0500 Subject: [PATCH 18/31] Switch to master for releases --- src/constants.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/constants.js b/src/constants.js index 4e1c147..8b877f1 100644 --- a/src/constants.js +++ b/src/constants.js @@ -27,8 +27,8 @@ exports.DEV_PUBLIC_KEY = '-----BEGIN PUBLIC KEY-----\n' + '9wIDAQAB\n' + '-----END PUBLIC KEY-----'; -exports.RELEASES_URL = 'https://bitbucket.org/blockstorage/repertory/raw/1.0.0-rc_branch/releases.json'; -exports.UI_RELEASES_URL = 'https://bitbucket.org/blockstorage/repertory-ui/raw/1.0.4_branch/releases.json'; +exports.RELEASES_URL = 'https://bitbucket.org/blockstorage/repertory/raw/master/releases.json'; +exports.UI_RELEASES_URL = 'https://bitbucket.org/blockstorage/repertory-ui/raw/master/releases.json'; exports.DATA_LOCATIONS = { arch: '~/.local/repertory/ui', From b79b9d62014a8a096786804344abf0e0954794a7 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Tue, 9 Jul 2019 23:07:43 -0500 Subject: [PATCH 19/31] Prepare download locations --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c436c3c..0c8a777 100644 --- a/README.md +++ b/README.md @@ -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.4 Linux 64-bit]() +* Repertory UI v1.0.4 Linux 64-bit [\]() [\]() * NOTE: Linux distributions require `fuse` and `libfuse` to be installed. -* [Repertory UI v1.0.4 OS X 64-bit]() -* [Repertory UI v1.0.4 Windows 64-bit]() +* Repertory UI v1.0.4 OS X 64-bit [\]() [\]() +* Repertory UI v1.0.4 Windows 64-bit [\]() [\]() ## Supported Platforms ## * OS X 64-bit From 58d3b17a3612f4170f6a9a5e2ad4fb9e6f143707 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Tue, 9 Jul 2019 23:10:48 -0500 Subject: [PATCH 20/31] Prepare download locations --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0c8a777..a405a00 100644 --- a/README.md +++ b/README.md @@ -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.4 Linux 64-bit [\]() [\]() +* Repertory UI v1.0.4 Linux 64-bit []() []() * NOTE: Linux distributions require `fuse` and `libfuse` to be installed. -* Repertory UI v1.0.4 OS X 64-bit [\]() [\]() -* Repertory UI v1.0.4 Windows 64-bit [\]() [\]() +* Repertory UI v1.0.4 OS X 64-bit []() []() +* Repertory UI v1.0.4 Windows 64-bit []() []() ## Supported Platforms ## * OS X 64-bit From 5472ff86a2edf14619221da26fcf3a3ca6e45583 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Tue, 9 Jul 2019 23:57:44 -0500 Subject: [PATCH 21/31] Updated README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a405a00..ac43376 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Repertory UI # -![alt text](https://i.ibb.co/jM2Q5Wf/repertory-1-0-0-beta.png) +![alt text](https://i.ibb.co/h8tssB4/Screen-Shot-2019-07-09-at-11-54-55-PM.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. From 459b4dcdb0c06dbde45afbd1abf2450655c7b78c Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Wed, 10 Jul 2019 00:02:20 -0500 Subject: [PATCH 22/31] Updated README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ac43376..65cd4cc 100644 --- a/README.md +++ b/README.md @@ -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.4 Linux 64-bit []() []() +* **Repertory UI v1.0.4 Linux 64-bit** []() []() * NOTE: Linux distributions require `fuse` and `libfuse` to be installed. -* Repertory UI v1.0.4 OS X 64-bit []() []() -* Repertory UI v1.0.4 Windows 64-bit []() []() +* **Repertory UI v1.0.4 OS X 64-bit** []() []() +* **Repertory UI v1.0.4 Windows 64-bit** []() []() ## Supported Platforms ## * OS X 64-bit From 9b528a68666deb93e200a6e4381ac4e4630546e0 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Wed, 10 Jul 2019 20:30:06 -0500 Subject: [PATCH 23/31] OpenSUSE Tumbleweed support --- CHANGELOG.md | 1 + README.md | 1 + create_dist.sh | 2 +- public/detect_linux.sh | 3 +++ releases.json | 11 +++++++++++ src/constants.js | 1 + 6 files changed, 18 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ddc0d18..52ed04c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ * Debian 10 * OpenSUSE Leap 15.0 * OpenSUSE Leap 15.1 + * OpenSUSE Tumbleweed ## 1.0.3 ## * Linux distribution support diff --git a/README.md b/README.md index 65cd4cc..ba2c736 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,7 @@ Repertory allows you to mount Sia and/or SiaPrime blockchain storage solutions v * Linux Mint 19.1 * OpenSUSE Leap 15.0 * OpenSUSE Leap 15.1 + * OpenSUSE Tumbleweed * Solus * Ubuntu 18.04 * Ubuntu 18.10 diff --git a/create_dist.sh b/create_dist.sh index 169d58d..1df344d 100755 --- a/create_dist.sh +++ b/create_dist.sh @@ -19,7 +19,7 @@ if beginsWith darwin "$OSTYPE"; then JQ_EXEC=jq-osx-amd64 SHA256_EXEC="shasum -a 256 -b" else - DISTRO_LIST="arch centos7 debian9 debian10 fedora28 fedora29 fedora30 opensuse15 opensuse15.1 solus ubuntu18.04 ubuntu18.10 ubuntu19.04" + DISTRO_LIST="arch centos7 debian9 debian10 fedora28 fedora29 fedora30 opensuse15 opensuse15.1 solus tumbleweed ubuntu18.04 ubuntu18.10 ubuntu19.04" OUT_FILE=repertory-ui_${APP_VER}_linux_x86_64.AppImage BASE64_EXEC="base64 -w0" JQ_EXEC=jq-linux64 diff --git a/public/detect_linux.sh b/public/detect_linux.sh index 0c9945e..5d79d9b 100644 --- a/public/detect_linux.sh +++ b/public/detect_linux.sh @@ -77,6 +77,9 @@ elif [ -f /etc/os-release ]; then else resetDistVer fi + elif [ "$ID" == "opensuse-tumbleweed" ]; then + DISTNAME=tumbleweed + DISTVER= else resetDistVer fi diff --git a/releases.json b/releases.json index 03f5418..ef2de76 100644 --- a/releases.json +++ b/releases.json @@ -88,6 +88,14 @@ ] } }, + "tumbleweed": { + "1.0.4": { + "sha256": "", + "sig": "", + "urls": [ + ] + } + }, "ubuntu18.04": { "1.0.4": { "sha256": "", @@ -158,6 +166,9 @@ "solus": [ "1.0.4" ], + "tumbleweed": [ + "1.0.4" + ], "ubuntu18.04": [ "1.0.4" ], diff --git a/src/constants.js b/src/constants.js index 8b877f1..dc6a373 100644 --- a/src/constants.js +++ b/src/constants.js @@ -42,6 +42,7 @@ exports.DATA_LOCATIONS = { opensuse15: '~/.local/repertory/ui', 'opensuse15.1': '~/.local/repertory/ui', solus: '~/.local/repertory/ui', + tumbleweed: '~/.local/repertory/ui', 'ubuntu18.04': '~/.local/repertory/ui', 'ubuntu18.10': '~/.local/repertory/ui', 'ubuntu19.04': '~/.local/repertory/ui', From 4ad9d581c9cfc46d6da0b1042e78b13ee94b0368 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Fri, 12 Jul 2019 11:38:13 -0500 Subject: [PATCH 24/31] Fix build scripts --- create_dist.cmd | 6 +++--- create_dist.sh | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/create_dist.cmd b/create_dist.cmd index b9d95c9..0b5c6e4 100644 --- a/create_dist.cmd +++ b/create_dist.cmd @@ -45,14 +45,14 @@ pushd "%ROOT%" call :UPLOAD_TO_BITBUCKET "%OUT_FILE%" call :UPLOAD_TO_BITBUCKET "%OUT_FILE%.sha256" call :UPLOAD_TO_BITBUCKET "%OUT_FILE%.sig" - set BITBUCKET_LOCATION=https://bitbucket.org/blockstorage/repertory/downloads/%OUT_FILE% + set BITBUCKET_LOCATION=https://bitbucket.org/blockstorage/repertory-ui/downloads/%OUT_FILE% del /q releases.json 1>NUL 2>&1 ("%JQ_BIN%" ".Versions.win32|=(.+ ["""%APP_VER%"""]|unique)" ..\releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json Versions failed") ("%JQ_BIN%" ".Locations.win32."""%APP_VER%""".sig="""!APP_SIG!"""" releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json sig failed") ("%JQ_BIN%" ".Locations.win32."""%APP_VER%""".sha256="""!APP_SHA256!"""" releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json sha256 failed") - ("%JQ_BIN%" ".Locations.win32."""%APP_VER%""".urls=["""!PIXEL_LOCATION!""","""%BITBUCKET_LOCATION%"""]" releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json URL failed") + ("%JQ_BIN%" ".Locations.win32."""%APP_VER%""".urls=["""!PIXEL_LOCATION!""","""!BITBUCKET_LOCATION!"""]" releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json URL failed") ) popd ) || ( @@ -94,7 +94,7 @@ goto :EOF call :NO_QUOTES SOURCE_FILE call :NO_QUOTES BITBUCKET_AUTH echo "Uploading !SOURCE_FILE! to Bitbucket" - (curl --fail -u "!BITBUCKET_AUTH!" -X POST https://api.bitbucket.org/2.0/repositories/blockstorage/repertory/downloads -F files="@!SOURCE_FILE!" > upload_response.json) || (call :ERROR "Upload to Bitbucket failed: %SOURCE_FILE%") + (curl --fail -u "!BITBUCKET_AUTH!" -X POST https://api.bitbucket.org/2.0/repositories/blockstorage/repertory-ui/downloads -F files="@!SOURCE_FILE!" > upload_response.json) || (call :ERROR "Upload to Bitbucket failed: %SOURCE_FILE%") goto :EOF :ERROR diff --git a/create_dist.sh b/create_dist.sh index 1df344d..8986829 100755 --- a/create_dist.sh +++ b/create_dist.sh @@ -33,7 +33,7 @@ exit_script() { upload_to_bitbucket() { SOURCE_FILE=$1 - curl --fail -u "${BITBUCKET_AUTH}" -X POST https://api.bitbucket.org/2.0/repositories/blockstorage/repertory/downloads -F files=@${SOURCE_FILE} > upload_response.json || exit_script "Upload to Bitbucket failed: ${SOURCE_FILE}" + curl --fail -u "${BITBUCKET_AUTH}" -X POST https://api.bitbucket.org/2.0/repositories/blockstorage/repertory-ui/downloads -F files=@${SOURCE_FILE} > upload_response.json || exit_script "Upload to Bitbucket failed: ${SOURCE_FILE}" } chmod +x "bin/${JQ_EXEC}" || exit_script "chmod +x ${JQ_EXEC} failed" @@ -63,7 +63,7 @@ if npm run dist; then upload_to_bitbucket "${OUT_FILE}" upload_to_bitbucket "${OUT_FILE}.sha256" upload_to_bitbucket "${OUT_FILE}.sig" - BITBUCKET_LOCATION=https://bitbucket.org/blockstorage/repertory/downloads/${OUT_FILE} + BITBUCKET_LOCATION=https://bitbucket.org/blockstorage/repertory-ui/downloads/${OUT_FILE} cp -f ../releases.json ./releases.json for DISTRONAME in ${DISTRO_LIST}; do From 004a3d6fa0964813faa64a9ccbe63dd98546c6cf Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Fri, 12 Jul 2019 11:39:09 -0500 Subject: [PATCH 25/31] Windows release --- releases.json | 51 +++++++++++++++++++-------------------------------- 1 file changed, 19 insertions(+), 32 deletions(-) diff --git a/releases.json b/releases.json index ef2de76..3bd71bd 100644 --- a/releases.json +++ b/releases.json @@ -4,127 +4,114 @@ "1.0.4": { "sha256": "", "sig": "", - "urls": [ - ] + "urls": [] } }, "centos7": { "1.0.4": { "sha256": "", "sig": "", - "urls": [ - ] + "urls": [] } }, "darwin": { "1.0.4": { "sha256": "", "sig": "", - "urls": [ - ] + "urls": [] } }, "debian9": { "1.0.4": { "sha256": "", "sig": "", - "urls": [ - ] + "urls": [] } }, "debian10": { "1.0.4": { "sha256": "", "sig": "", - "urls": [ - ] + "urls": [] } }, "fedora28": { "1.0.4": { "sha256": "", "sig": "", - "urls": [ - ] + "urls": [] } }, "fedora29": { "1.0.4": { "sha256": "", "sig": "", - "urls": [ - ] + "urls": [] } }, "fedora30": { "1.0.4": { "sha256": "", "sig": "", - "urls": [ - ] + "urls": [] } }, "opensuse15": { "1.0.4": { "sha256": "", "sig": "", - "urls": [ - ] + "urls": [] } }, "opensuse15.1": { "1.0.4": { "sha256": "", "sig": "", - "urls": [ - ] + "urls": [] } }, "solus": { "1.0.4": { "sha256": "", "sig": "", - "urls": [ - ] + "urls": [] } }, "tumbleweed": { "1.0.4": { "sha256": "", "sig": "", - "urls": [ - ] + "urls": [] } }, "ubuntu18.04": { "1.0.4": { "sha256": "", "sig": "", - "urls": [ - ] + "urls": [] } }, "ubuntu18.10": { "1.0.4": { "sha256": "", "sig": "", - "urls": [ - ] + "urls": [] } }, "ubuntu19.04": { "1.0.4": { "sha256": "", "sig": "", - "urls": [ - ] + "urls": [] } }, "win32": { "1.0.4": { - "sha256": "", - "sig": "", + "sha256": "e669f54fb80ef84cba36dc031904ae76e4dcd93ef760fa432670c6ffcb597886", + "sig": "BuPXPWPoiQLbs5pznIRaAp8fnSw02EUeN1Az0J5K6YE+IRUq93GR1e7q5FktL6qLgWbvkVRx4GAz1hC1OcDuG+0dGeqQMlGwxxVmlv/q9T+Q1wMScLlfYDTPbZxTiexhiuSx8dMqWbUuXTQMJM7XHp3rPl8UFo95aa2JWApP++pL73pYVrN4ovyCgyZ/mlPT8Dpukenz5dmo3ZxBcBJbzkHbbgn0yira3gs+Qgm2VZDF4UOQuMnM8N3kBnw8KWY/X4/WZnOe5ejQ5R37kKq4K9+LUElbZSCOZSLnj/RqniO7aQ8Hc4vGIyxak9haKk80i4siwHpHOivdKAr+RBU83XeZ3J7KEfEPq884MIoCS9umYSdCcTGd+p+1OBALyfAEv79BVAR/w/GeNoQUmY0QqKlrSMODiLtw8dolU+K3VJ1+W0Xybl0ETMh83hCoi5hIVfRvIV48FF7/zR3mwmcFrkk6FFBU3yx8vx4qvZDFNItTNoeLp0xJXl4tFBrKlLj/wWP01pHuFCe/ZLgaCcACuz9pR1/r4DjE0MmG6IZ36J7RMICnD3sO0lTg8LJ6qJKIsOfIdkLlOK81HFAHcd7loN+qN9Kv3yPAWgZINL+K2XgJ6+Z+lmOIrGUy7F6jCSz9NUS2FTLZMGG00jJe2CsPJ8z+viRF5KBe4KUjrLbhaIwIMUTTW4je82jt6jfSNFjaJ5l9yMC4LkgJQiJTqGTJfH4dXM3MwA76vo6VmmXRZBTCMQbnYAP1paH/VshzNxEAON3hwbcRmKz8jJZ2mFaLEt4WGJ3Vrcn4W+2Z9jkcYWc1lC9auSGocxHszzCavkVFtjXxDhbtRI2h9g+iykU/5CvKNzhQld1ehQob+xVLpL0f5DlT8rZamIMnpYVOBHVeSz0dhsK7WQlRQi5e7VAiZD7yZIcQVTk2v6TVxZmm8felLy/WNV77ILju6leJ7r7SlRbFORfiAydKjSR+lsZDwliEn1rTqwARwo9zwrIwwUuajmoHrUD+ikDT0v92JSad+3yFHB3pU5qDshA3uH9BjFwcZMVRV1M/ETZNp5/guDvLri8IZHvCb5q5VtsHHJZtvcFngW9IKY4zTGJ3xURyapu3NbnLrvHkotgtppnjR/LaOf+yDkRNPQVObtdJG1qcFYIz/g5OaABijzQVRImkieqw9ge/aNvWmvmPVZrN5w7LfnKisZ0LBfzwIa6ApVnbahFVY/AICybthySyvr+MKtheb38WNGBVmxeAqRTeDwn8jUMjYaD/Jcfz7MWyZlDiTqsX5P3dZot/WdG/p5FwR6s5c5hHrPvU24tVgTrHc4MIY/KBZhbk9wm/QMLxvwzgEJ3iKPq1JKNvVK/vbHdr0yk=", "urls": [ + "https://pixeldrain.com/api/file/PlUcsmJN", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_win.exe" ] } } From 3619252217d00e99179b04b7549da53838f7cd84 Mon Sep 17 00:00:00 2001 From: Scott Graves Date: Fri, 12 Jul 2019 16:42:00 +0000 Subject: [PATCH 26/31] README.md edited online with Bitbucket --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ba2c736..157ebe6 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Repertory allows you to mount Sia and/or SiaPrime blockchain storage solutions v * **Repertory UI v1.0.4 Linux 64-bit** []() []() * NOTE: Linux distributions require `fuse` and `libfuse` to be installed. * **Repertory UI v1.0.4 OS X 64-bit** []() []() -* **Repertory UI v1.0.4 Windows 64-bit** []() []() +* **Repertory UI v1.0.4 Windows 64-bit** [](https://pixeldrain.com/u/PlUcsmJN) [](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_win.exe) ## Supported Platforms ## * OS X 64-bit From 59190e91648962ce5fcaca2c75baf85931e2872d Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Fri, 12 Jul 2019 13:34:30 -0500 Subject: [PATCH 27/31] Linux releases --- releases.json | 126 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 84 insertions(+), 42 deletions(-) diff --git a/releases.json b/releases.json index 3bd71bd..8e6f739 100644 --- a/releases.json +++ b/releases.json @@ -2,16 +2,22 @@ "Locations": { "arch": { "1.0.4": { - "sha256": "", - "sig": "", - "urls": [] + "sha256": "09b9faaba24a8c199a2b104a9be3395c2ef8c6e25a934c34b1c617529d252ae0", + "sig": "B8p6M1ks8Z48QGJPQzhqNWK4uU8LyCM381/HJUz663f0LBe9YPqDSDRZUmake0QmYK5/97K7lEwq7w3h/NBKF7YzbGbiSddJN7oqBsJ3cmHo/8YtXXVgHVaxiQdcyv0w7KTNK9FTaz2TZfGGodIWX6fb6FyV1md97pSKnRp5IAk6FhWtXh1sKP1kb62VkRG0Dh4lC5mIgPTdCZb4i0PD9bNwNQKlLqkSzNrfECydwE5QLVIp5QKY2A2U0N1kccVQPXFvlLi6vKJWHruXEt+kn9+gsJVA43lLKwcKIQrgCIKQLzaXUsruglGMxSIOZt018T06vHuqdjISXSYHPEKB1lgNS42W0B9Cy2NSS8lDO4KaWKA+n3A1H5HB4A8KPxRMVgSYhyYgnInhJtLrgEypm6mfLWyoDENsxEFRNaDgQ5EoY1gtXrdEqlPpMA3/RVzs5KWGePQuZ8UGhUmGHd5g0m+bgleRhhI8AoYcoRt3aQ/dBAFyb/co5Y0deyz6HrDtxr61IVmKagIZviVtr7xATT9+ZtkeqQ9TcYkXnIHZdqzV4C61UMPBD8XhRY6D+z5+PNXoLde+FE9WiHMQD+t+Sm4aJla/P+YrZUlrgVqPeA1CE1vfJg1GQauU5rAdoM44wYJ/GN6SEqG4LrrGY0UADvG2X76ob4mda3l9dQO8OBRMg0ZPXb+i7PSRn50wEnvqFzlyna6Z0hZ4U3euMZ9A7HY2AoKZ3wLRpn2j6bxV83m4D7tqFkVzbB/jUpUDNpVxGM/IoF4lbEyr55CdZKynBvR7XbeZeYfViU18ga99eoBsqlHOIUA9BVWU+snVg/V7QCv+uBszAlCJnFnkUe9pEJS1UlbpgNhSWLnkPkT8mY3Du/cPY2R2t6fBKjyb1VP8Gk9YrZATQLNsCRBk/VcegWRo5WtJwGAgQcMdNan8SqYfhQA6nMk7Dzlg155AE1uKioY8Wj+kWp51vd+MvhSIwQ+iOwl+LNMl2jsKjVNpiIV+UqrH9wqM5nlPwyYBzIXSBN+uY1NOCw/HtYniZ/4vjiVQGIuSGzNR9yOv/YIknr91R3Sa/twlO3/wD4WDtf+VNIz/R/9x8FuenRVcc+6kc9wF/baNAYJDV3eMci+9mBqjetl91faSmCdh1qx1+f3R82VEmnMwuJr1PPddWCfeg1mSl4sULDmRYtfD5iQbwBf2MT/8MOgSwJts2s5ZAF/kxZNdpEvXu1EcWHIxQdJUG29KJd7g/GPTC7eK9W/hzNJ4aNwEdTL0mjFQA174OiqXz2+4uDoIaEYDdQmgB3xuZv+HfoVLGFpngp/Lr057pDquweEzJ0fDGks5VZHa7XSiheRhO531tQjF0bXC/G9LlYI=", + "urls": [ + "https://pixeldrain.com/api/file/jVeUr8Zq", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_linux_x86_64.AppImage" + ] } }, "centos7": { "1.0.4": { - "sha256": "", - "sig": "", - "urls": [] + "sha256": "09b9faaba24a8c199a2b104a9be3395c2ef8c6e25a934c34b1c617529d252ae0", + "sig": "B8p6M1ks8Z48QGJPQzhqNWK4uU8LyCM381/HJUz663f0LBe9YPqDSDRZUmake0QmYK5/97K7lEwq7w3h/NBKF7YzbGbiSddJN7oqBsJ3cmHo/8YtXXVgHVaxiQdcyv0w7KTNK9FTaz2TZfGGodIWX6fb6FyV1md97pSKnRp5IAk6FhWtXh1sKP1kb62VkRG0Dh4lC5mIgPTdCZb4i0PD9bNwNQKlLqkSzNrfECydwE5QLVIp5QKY2A2U0N1kccVQPXFvlLi6vKJWHruXEt+kn9+gsJVA43lLKwcKIQrgCIKQLzaXUsruglGMxSIOZt018T06vHuqdjISXSYHPEKB1lgNS42W0B9Cy2NSS8lDO4KaWKA+n3A1H5HB4A8KPxRMVgSYhyYgnInhJtLrgEypm6mfLWyoDENsxEFRNaDgQ5EoY1gtXrdEqlPpMA3/RVzs5KWGePQuZ8UGhUmGHd5g0m+bgleRhhI8AoYcoRt3aQ/dBAFyb/co5Y0deyz6HrDtxr61IVmKagIZviVtr7xATT9+ZtkeqQ9TcYkXnIHZdqzV4C61UMPBD8XhRY6D+z5+PNXoLde+FE9WiHMQD+t+Sm4aJla/P+YrZUlrgVqPeA1CE1vfJg1GQauU5rAdoM44wYJ/GN6SEqG4LrrGY0UADvG2X76ob4mda3l9dQO8OBRMg0ZPXb+i7PSRn50wEnvqFzlyna6Z0hZ4U3euMZ9A7HY2AoKZ3wLRpn2j6bxV83m4D7tqFkVzbB/jUpUDNpVxGM/IoF4lbEyr55CdZKynBvR7XbeZeYfViU18ga99eoBsqlHOIUA9BVWU+snVg/V7QCv+uBszAlCJnFnkUe9pEJS1UlbpgNhSWLnkPkT8mY3Du/cPY2R2t6fBKjyb1VP8Gk9YrZATQLNsCRBk/VcegWRo5WtJwGAgQcMdNan8SqYfhQA6nMk7Dzlg155AE1uKioY8Wj+kWp51vd+MvhSIwQ+iOwl+LNMl2jsKjVNpiIV+UqrH9wqM5nlPwyYBzIXSBN+uY1NOCw/HtYniZ/4vjiVQGIuSGzNR9yOv/YIknr91R3Sa/twlO3/wD4WDtf+VNIz/R/9x8FuenRVcc+6kc9wF/baNAYJDV3eMci+9mBqjetl91faSmCdh1qx1+f3R82VEmnMwuJr1PPddWCfeg1mSl4sULDmRYtfD5iQbwBf2MT/8MOgSwJts2s5ZAF/kxZNdpEvXu1EcWHIxQdJUG29KJd7g/GPTC7eK9W/hzNJ4aNwEdTL0mjFQA174OiqXz2+4uDoIaEYDdQmgB3xuZv+HfoVLGFpngp/Lr057pDquweEzJ0fDGks5VZHa7XSiheRhO531tQjF0bXC/G9LlYI=", + "urls": [ + "https://pixeldrain.com/api/file/jVeUr8Zq", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_linux_x86_64.AppImage" + ] } }, "darwin": { @@ -23,86 +29,122 @@ }, "debian9": { "1.0.4": { - "sha256": "", - "sig": "", - "urls": [] + "sha256": "09b9faaba24a8c199a2b104a9be3395c2ef8c6e25a934c34b1c617529d252ae0", + "sig": "B8p6M1ks8Z48QGJPQzhqNWK4uU8LyCM381/HJUz663f0LBe9YPqDSDRZUmake0QmYK5/97K7lEwq7w3h/NBKF7YzbGbiSddJN7oqBsJ3cmHo/8YtXXVgHVaxiQdcyv0w7KTNK9FTaz2TZfGGodIWX6fb6FyV1md97pSKnRp5IAk6FhWtXh1sKP1kb62VkRG0Dh4lC5mIgPTdCZb4i0PD9bNwNQKlLqkSzNrfECydwE5QLVIp5QKY2A2U0N1kccVQPXFvlLi6vKJWHruXEt+kn9+gsJVA43lLKwcKIQrgCIKQLzaXUsruglGMxSIOZt018T06vHuqdjISXSYHPEKB1lgNS42W0B9Cy2NSS8lDO4KaWKA+n3A1H5HB4A8KPxRMVgSYhyYgnInhJtLrgEypm6mfLWyoDENsxEFRNaDgQ5EoY1gtXrdEqlPpMA3/RVzs5KWGePQuZ8UGhUmGHd5g0m+bgleRhhI8AoYcoRt3aQ/dBAFyb/co5Y0deyz6HrDtxr61IVmKagIZviVtr7xATT9+ZtkeqQ9TcYkXnIHZdqzV4C61UMPBD8XhRY6D+z5+PNXoLde+FE9WiHMQD+t+Sm4aJla/P+YrZUlrgVqPeA1CE1vfJg1GQauU5rAdoM44wYJ/GN6SEqG4LrrGY0UADvG2X76ob4mda3l9dQO8OBRMg0ZPXb+i7PSRn50wEnvqFzlyna6Z0hZ4U3euMZ9A7HY2AoKZ3wLRpn2j6bxV83m4D7tqFkVzbB/jUpUDNpVxGM/IoF4lbEyr55CdZKynBvR7XbeZeYfViU18ga99eoBsqlHOIUA9BVWU+snVg/V7QCv+uBszAlCJnFnkUe9pEJS1UlbpgNhSWLnkPkT8mY3Du/cPY2R2t6fBKjyb1VP8Gk9YrZATQLNsCRBk/VcegWRo5WtJwGAgQcMdNan8SqYfhQA6nMk7Dzlg155AE1uKioY8Wj+kWp51vd+MvhSIwQ+iOwl+LNMl2jsKjVNpiIV+UqrH9wqM5nlPwyYBzIXSBN+uY1NOCw/HtYniZ/4vjiVQGIuSGzNR9yOv/YIknr91R3Sa/twlO3/wD4WDtf+VNIz/R/9x8FuenRVcc+6kc9wF/baNAYJDV3eMci+9mBqjetl91faSmCdh1qx1+f3R82VEmnMwuJr1PPddWCfeg1mSl4sULDmRYtfD5iQbwBf2MT/8MOgSwJts2s5ZAF/kxZNdpEvXu1EcWHIxQdJUG29KJd7g/GPTC7eK9W/hzNJ4aNwEdTL0mjFQA174OiqXz2+4uDoIaEYDdQmgB3xuZv+HfoVLGFpngp/Lr057pDquweEzJ0fDGks5VZHa7XSiheRhO531tQjF0bXC/G9LlYI=", + "urls": [ + "https://pixeldrain.com/api/file/jVeUr8Zq", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_linux_x86_64.AppImage" + ] } }, "debian10": { "1.0.4": { - "sha256": "", - "sig": "", - "urls": [] + "sha256": "09b9faaba24a8c199a2b104a9be3395c2ef8c6e25a934c34b1c617529d252ae0", + "sig": "B8p6M1ks8Z48QGJPQzhqNWK4uU8LyCM381/HJUz663f0LBe9YPqDSDRZUmake0QmYK5/97K7lEwq7w3h/NBKF7YzbGbiSddJN7oqBsJ3cmHo/8YtXXVgHVaxiQdcyv0w7KTNK9FTaz2TZfGGodIWX6fb6FyV1md97pSKnRp5IAk6FhWtXh1sKP1kb62VkRG0Dh4lC5mIgPTdCZb4i0PD9bNwNQKlLqkSzNrfECydwE5QLVIp5QKY2A2U0N1kccVQPXFvlLi6vKJWHruXEt+kn9+gsJVA43lLKwcKIQrgCIKQLzaXUsruglGMxSIOZt018T06vHuqdjISXSYHPEKB1lgNS42W0B9Cy2NSS8lDO4KaWKA+n3A1H5HB4A8KPxRMVgSYhyYgnInhJtLrgEypm6mfLWyoDENsxEFRNaDgQ5EoY1gtXrdEqlPpMA3/RVzs5KWGePQuZ8UGhUmGHd5g0m+bgleRhhI8AoYcoRt3aQ/dBAFyb/co5Y0deyz6HrDtxr61IVmKagIZviVtr7xATT9+ZtkeqQ9TcYkXnIHZdqzV4C61UMPBD8XhRY6D+z5+PNXoLde+FE9WiHMQD+t+Sm4aJla/P+YrZUlrgVqPeA1CE1vfJg1GQauU5rAdoM44wYJ/GN6SEqG4LrrGY0UADvG2X76ob4mda3l9dQO8OBRMg0ZPXb+i7PSRn50wEnvqFzlyna6Z0hZ4U3euMZ9A7HY2AoKZ3wLRpn2j6bxV83m4D7tqFkVzbB/jUpUDNpVxGM/IoF4lbEyr55CdZKynBvR7XbeZeYfViU18ga99eoBsqlHOIUA9BVWU+snVg/V7QCv+uBszAlCJnFnkUe9pEJS1UlbpgNhSWLnkPkT8mY3Du/cPY2R2t6fBKjyb1VP8Gk9YrZATQLNsCRBk/VcegWRo5WtJwGAgQcMdNan8SqYfhQA6nMk7Dzlg155AE1uKioY8Wj+kWp51vd+MvhSIwQ+iOwl+LNMl2jsKjVNpiIV+UqrH9wqM5nlPwyYBzIXSBN+uY1NOCw/HtYniZ/4vjiVQGIuSGzNR9yOv/YIknr91R3Sa/twlO3/wD4WDtf+VNIz/R/9x8FuenRVcc+6kc9wF/baNAYJDV3eMci+9mBqjetl91faSmCdh1qx1+f3R82VEmnMwuJr1PPddWCfeg1mSl4sULDmRYtfD5iQbwBf2MT/8MOgSwJts2s5ZAF/kxZNdpEvXu1EcWHIxQdJUG29KJd7g/GPTC7eK9W/hzNJ4aNwEdTL0mjFQA174OiqXz2+4uDoIaEYDdQmgB3xuZv+HfoVLGFpngp/Lr057pDquweEzJ0fDGks5VZHa7XSiheRhO531tQjF0bXC/G9LlYI=", + "urls": [ + "https://pixeldrain.com/api/file/jVeUr8Zq", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_linux_x86_64.AppImage" + ] } }, "fedora28": { "1.0.4": { - "sha256": "", - "sig": "", - "urls": [] + "sha256": "09b9faaba24a8c199a2b104a9be3395c2ef8c6e25a934c34b1c617529d252ae0", + "sig": "B8p6M1ks8Z48QGJPQzhqNWK4uU8LyCM381/HJUz663f0LBe9YPqDSDRZUmake0QmYK5/97K7lEwq7w3h/NBKF7YzbGbiSddJN7oqBsJ3cmHo/8YtXXVgHVaxiQdcyv0w7KTNK9FTaz2TZfGGodIWX6fb6FyV1md97pSKnRp5IAk6FhWtXh1sKP1kb62VkRG0Dh4lC5mIgPTdCZb4i0PD9bNwNQKlLqkSzNrfECydwE5QLVIp5QKY2A2U0N1kccVQPXFvlLi6vKJWHruXEt+kn9+gsJVA43lLKwcKIQrgCIKQLzaXUsruglGMxSIOZt018T06vHuqdjISXSYHPEKB1lgNS42W0B9Cy2NSS8lDO4KaWKA+n3A1H5HB4A8KPxRMVgSYhyYgnInhJtLrgEypm6mfLWyoDENsxEFRNaDgQ5EoY1gtXrdEqlPpMA3/RVzs5KWGePQuZ8UGhUmGHd5g0m+bgleRhhI8AoYcoRt3aQ/dBAFyb/co5Y0deyz6HrDtxr61IVmKagIZviVtr7xATT9+ZtkeqQ9TcYkXnIHZdqzV4C61UMPBD8XhRY6D+z5+PNXoLde+FE9WiHMQD+t+Sm4aJla/P+YrZUlrgVqPeA1CE1vfJg1GQauU5rAdoM44wYJ/GN6SEqG4LrrGY0UADvG2X76ob4mda3l9dQO8OBRMg0ZPXb+i7PSRn50wEnvqFzlyna6Z0hZ4U3euMZ9A7HY2AoKZ3wLRpn2j6bxV83m4D7tqFkVzbB/jUpUDNpVxGM/IoF4lbEyr55CdZKynBvR7XbeZeYfViU18ga99eoBsqlHOIUA9BVWU+snVg/V7QCv+uBszAlCJnFnkUe9pEJS1UlbpgNhSWLnkPkT8mY3Du/cPY2R2t6fBKjyb1VP8Gk9YrZATQLNsCRBk/VcegWRo5WtJwGAgQcMdNan8SqYfhQA6nMk7Dzlg155AE1uKioY8Wj+kWp51vd+MvhSIwQ+iOwl+LNMl2jsKjVNpiIV+UqrH9wqM5nlPwyYBzIXSBN+uY1NOCw/HtYniZ/4vjiVQGIuSGzNR9yOv/YIknr91R3Sa/twlO3/wD4WDtf+VNIz/R/9x8FuenRVcc+6kc9wF/baNAYJDV3eMci+9mBqjetl91faSmCdh1qx1+f3R82VEmnMwuJr1PPddWCfeg1mSl4sULDmRYtfD5iQbwBf2MT/8MOgSwJts2s5ZAF/kxZNdpEvXu1EcWHIxQdJUG29KJd7g/GPTC7eK9W/hzNJ4aNwEdTL0mjFQA174OiqXz2+4uDoIaEYDdQmgB3xuZv+HfoVLGFpngp/Lr057pDquweEzJ0fDGks5VZHa7XSiheRhO531tQjF0bXC/G9LlYI=", + "urls": [ + "https://pixeldrain.com/api/file/jVeUr8Zq", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_linux_x86_64.AppImage" + ] } }, "fedora29": { "1.0.4": { - "sha256": "", - "sig": "", - "urls": [] + "sha256": "09b9faaba24a8c199a2b104a9be3395c2ef8c6e25a934c34b1c617529d252ae0", + "sig": "B8p6M1ks8Z48QGJPQzhqNWK4uU8LyCM381/HJUz663f0LBe9YPqDSDRZUmake0QmYK5/97K7lEwq7w3h/NBKF7YzbGbiSddJN7oqBsJ3cmHo/8YtXXVgHVaxiQdcyv0w7KTNK9FTaz2TZfGGodIWX6fb6FyV1md97pSKnRp5IAk6FhWtXh1sKP1kb62VkRG0Dh4lC5mIgPTdCZb4i0PD9bNwNQKlLqkSzNrfECydwE5QLVIp5QKY2A2U0N1kccVQPXFvlLi6vKJWHruXEt+kn9+gsJVA43lLKwcKIQrgCIKQLzaXUsruglGMxSIOZt018T06vHuqdjISXSYHPEKB1lgNS42W0B9Cy2NSS8lDO4KaWKA+n3A1H5HB4A8KPxRMVgSYhyYgnInhJtLrgEypm6mfLWyoDENsxEFRNaDgQ5EoY1gtXrdEqlPpMA3/RVzs5KWGePQuZ8UGhUmGHd5g0m+bgleRhhI8AoYcoRt3aQ/dBAFyb/co5Y0deyz6HrDtxr61IVmKagIZviVtr7xATT9+ZtkeqQ9TcYkXnIHZdqzV4C61UMPBD8XhRY6D+z5+PNXoLde+FE9WiHMQD+t+Sm4aJla/P+YrZUlrgVqPeA1CE1vfJg1GQauU5rAdoM44wYJ/GN6SEqG4LrrGY0UADvG2X76ob4mda3l9dQO8OBRMg0ZPXb+i7PSRn50wEnvqFzlyna6Z0hZ4U3euMZ9A7HY2AoKZ3wLRpn2j6bxV83m4D7tqFkVzbB/jUpUDNpVxGM/IoF4lbEyr55CdZKynBvR7XbeZeYfViU18ga99eoBsqlHOIUA9BVWU+snVg/V7QCv+uBszAlCJnFnkUe9pEJS1UlbpgNhSWLnkPkT8mY3Du/cPY2R2t6fBKjyb1VP8Gk9YrZATQLNsCRBk/VcegWRo5WtJwGAgQcMdNan8SqYfhQA6nMk7Dzlg155AE1uKioY8Wj+kWp51vd+MvhSIwQ+iOwl+LNMl2jsKjVNpiIV+UqrH9wqM5nlPwyYBzIXSBN+uY1NOCw/HtYniZ/4vjiVQGIuSGzNR9yOv/YIknr91R3Sa/twlO3/wD4WDtf+VNIz/R/9x8FuenRVcc+6kc9wF/baNAYJDV3eMci+9mBqjetl91faSmCdh1qx1+f3R82VEmnMwuJr1PPddWCfeg1mSl4sULDmRYtfD5iQbwBf2MT/8MOgSwJts2s5ZAF/kxZNdpEvXu1EcWHIxQdJUG29KJd7g/GPTC7eK9W/hzNJ4aNwEdTL0mjFQA174OiqXz2+4uDoIaEYDdQmgB3xuZv+HfoVLGFpngp/Lr057pDquweEzJ0fDGks5VZHa7XSiheRhO531tQjF0bXC/G9LlYI=", + "urls": [ + "https://pixeldrain.com/api/file/jVeUr8Zq", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_linux_x86_64.AppImage" + ] } }, "fedora30": { "1.0.4": { - "sha256": "", - "sig": "", - "urls": [] + "sha256": "09b9faaba24a8c199a2b104a9be3395c2ef8c6e25a934c34b1c617529d252ae0", + "sig": "B8p6M1ks8Z48QGJPQzhqNWK4uU8LyCM381/HJUz663f0LBe9YPqDSDRZUmake0QmYK5/97K7lEwq7w3h/NBKF7YzbGbiSddJN7oqBsJ3cmHo/8YtXXVgHVaxiQdcyv0w7KTNK9FTaz2TZfGGodIWX6fb6FyV1md97pSKnRp5IAk6FhWtXh1sKP1kb62VkRG0Dh4lC5mIgPTdCZb4i0PD9bNwNQKlLqkSzNrfECydwE5QLVIp5QKY2A2U0N1kccVQPXFvlLi6vKJWHruXEt+kn9+gsJVA43lLKwcKIQrgCIKQLzaXUsruglGMxSIOZt018T06vHuqdjISXSYHPEKB1lgNS42W0B9Cy2NSS8lDO4KaWKA+n3A1H5HB4A8KPxRMVgSYhyYgnInhJtLrgEypm6mfLWyoDENsxEFRNaDgQ5EoY1gtXrdEqlPpMA3/RVzs5KWGePQuZ8UGhUmGHd5g0m+bgleRhhI8AoYcoRt3aQ/dBAFyb/co5Y0deyz6HrDtxr61IVmKagIZviVtr7xATT9+ZtkeqQ9TcYkXnIHZdqzV4C61UMPBD8XhRY6D+z5+PNXoLde+FE9WiHMQD+t+Sm4aJla/P+YrZUlrgVqPeA1CE1vfJg1GQauU5rAdoM44wYJ/GN6SEqG4LrrGY0UADvG2X76ob4mda3l9dQO8OBRMg0ZPXb+i7PSRn50wEnvqFzlyna6Z0hZ4U3euMZ9A7HY2AoKZ3wLRpn2j6bxV83m4D7tqFkVzbB/jUpUDNpVxGM/IoF4lbEyr55CdZKynBvR7XbeZeYfViU18ga99eoBsqlHOIUA9BVWU+snVg/V7QCv+uBszAlCJnFnkUe9pEJS1UlbpgNhSWLnkPkT8mY3Du/cPY2R2t6fBKjyb1VP8Gk9YrZATQLNsCRBk/VcegWRo5WtJwGAgQcMdNan8SqYfhQA6nMk7Dzlg155AE1uKioY8Wj+kWp51vd+MvhSIwQ+iOwl+LNMl2jsKjVNpiIV+UqrH9wqM5nlPwyYBzIXSBN+uY1NOCw/HtYniZ/4vjiVQGIuSGzNR9yOv/YIknr91R3Sa/twlO3/wD4WDtf+VNIz/R/9x8FuenRVcc+6kc9wF/baNAYJDV3eMci+9mBqjetl91faSmCdh1qx1+f3R82VEmnMwuJr1PPddWCfeg1mSl4sULDmRYtfD5iQbwBf2MT/8MOgSwJts2s5ZAF/kxZNdpEvXu1EcWHIxQdJUG29KJd7g/GPTC7eK9W/hzNJ4aNwEdTL0mjFQA174OiqXz2+4uDoIaEYDdQmgB3xuZv+HfoVLGFpngp/Lr057pDquweEzJ0fDGks5VZHa7XSiheRhO531tQjF0bXC/G9LlYI=", + "urls": [ + "https://pixeldrain.com/api/file/jVeUr8Zq", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_linux_x86_64.AppImage" + ] } }, "opensuse15": { "1.0.4": { - "sha256": "", - "sig": "", - "urls": [] + "sha256": "09b9faaba24a8c199a2b104a9be3395c2ef8c6e25a934c34b1c617529d252ae0", + "sig": "B8p6M1ks8Z48QGJPQzhqNWK4uU8LyCM381/HJUz663f0LBe9YPqDSDRZUmake0QmYK5/97K7lEwq7w3h/NBKF7YzbGbiSddJN7oqBsJ3cmHo/8YtXXVgHVaxiQdcyv0w7KTNK9FTaz2TZfGGodIWX6fb6FyV1md97pSKnRp5IAk6FhWtXh1sKP1kb62VkRG0Dh4lC5mIgPTdCZb4i0PD9bNwNQKlLqkSzNrfECydwE5QLVIp5QKY2A2U0N1kccVQPXFvlLi6vKJWHruXEt+kn9+gsJVA43lLKwcKIQrgCIKQLzaXUsruglGMxSIOZt018T06vHuqdjISXSYHPEKB1lgNS42W0B9Cy2NSS8lDO4KaWKA+n3A1H5HB4A8KPxRMVgSYhyYgnInhJtLrgEypm6mfLWyoDENsxEFRNaDgQ5EoY1gtXrdEqlPpMA3/RVzs5KWGePQuZ8UGhUmGHd5g0m+bgleRhhI8AoYcoRt3aQ/dBAFyb/co5Y0deyz6HrDtxr61IVmKagIZviVtr7xATT9+ZtkeqQ9TcYkXnIHZdqzV4C61UMPBD8XhRY6D+z5+PNXoLde+FE9WiHMQD+t+Sm4aJla/P+YrZUlrgVqPeA1CE1vfJg1GQauU5rAdoM44wYJ/GN6SEqG4LrrGY0UADvG2X76ob4mda3l9dQO8OBRMg0ZPXb+i7PSRn50wEnvqFzlyna6Z0hZ4U3euMZ9A7HY2AoKZ3wLRpn2j6bxV83m4D7tqFkVzbB/jUpUDNpVxGM/IoF4lbEyr55CdZKynBvR7XbeZeYfViU18ga99eoBsqlHOIUA9BVWU+snVg/V7QCv+uBszAlCJnFnkUe9pEJS1UlbpgNhSWLnkPkT8mY3Du/cPY2R2t6fBKjyb1VP8Gk9YrZATQLNsCRBk/VcegWRo5WtJwGAgQcMdNan8SqYfhQA6nMk7Dzlg155AE1uKioY8Wj+kWp51vd+MvhSIwQ+iOwl+LNMl2jsKjVNpiIV+UqrH9wqM5nlPwyYBzIXSBN+uY1NOCw/HtYniZ/4vjiVQGIuSGzNR9yOv/YIknr91R3Sa/twlO3/wD4WDtf+VNIz/R/9x8FuenRVcc+6kc9wF/baNAYJDV3eMci+9mBqjetl91faSmCdh1qx1+f3R82VEmnMwuJr1PPddWCfeg1mSl4sULDmRYtfD5iQbwBf2MT/8MOgSwJts2s5ZAF/kxZNdpEvXu1EcWHIxQdJUG29KJd7g/GPTC7eK9W/hzNJ4aNwEdTL0mjFQA174OiqXz2+4uDoIaEYDdQmgB3xuZv+HfoVLGFpngp/Lr057pDquweEzJ0fDGks5VZHa7XSiheRhO531tQjF0bXC/G9LlYI=", + "urls": [ + "https://pixeldrain.com/api/file/jVeUr8Zq", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_linux_x86_64.AppImage" + ] } }, "opensuse15.1": { "1.0.4": { - "sha256": "", - "sig": "", - "urls": [] + "sha256": "09b9faaba24a8c199a2b104a9be3395c2ef8c6e25a934c34b1c617529d252ae0", + "sig": "B8p6M1ks8Z48QGJPQzhqNWK4uU8LyCM381/HJUz663f0LBe9YPqDSDRZUmake0QmYK5/97K7lEwq7w3h/NBKF7YzbGbiSddJN7oqBsJ3cmHo/8YtXXVgHVaxiQdcyv0w7KTNK9FTaz2TZfGGodIWX6fb6FyV1md97pSKnRp5IAk6FhWtXh1sKP1kb62VkRG0Dh4lC5mIgPTdCZb4i0PD9bNwNQKlLqkSzNrfECydwE5QLVIp5QKY2A2U0N1kccVQPXFvlLi6vKJWHruXEt+kn9+gsJVA43lLKwcKIQrgCIKQLzaXUsruglGMxSIOZt018T06vHuqdjISXSYHPEKB1lgNS42W0B9Cy2NSS8lDO4KaWKA+n3A1H5HB4A8KPxRMVgSYhyYgnInhJtLrgEypm6mfLWyoDENsxEFRNaDgQ5EoY1gtXrdEqlPpMA3/RVzs5KWGePQuZ8UGhUmGHd5g0m+bgleRhhI8AoYcoRt3aQ/dBAFyb/co5Y0deyz6HrDtxr61IVmKagIZviVtr7xATT9+ZtkeqQ9TcYkXnIHZdqzV4C61UMPBD8XhRY6D+z5+PNXoLde+FE9WiHMQD+t+Sm4aJla/P+YrZUlrgVqPeA1CE1vfJg1GQauU5rAdoM44wYJ/GN6SEqG4LrrGY0UADvG2X76ob4mda3l9dQO8OBRMg0ZPXb+i7PSRn50wEnvqFzlyna6Z0hZ4U3euMZ9A7HY2AoKZ3wLRpn2j6bxV83m4D7tqFkVzbB/jUpUDNpVxGM/IoF4lbEyr55CdZKynBvR7XbeZeYfViU18ga99eoBsqlHOIUA9BVWU+snVg/V7QCv+uBszAlCJnFnkUe9pEJS1UlbpgNhSWLnkPkT8mY3Du/cPY2R2t6fBKjyb1VP8Gk9YrZATQLNsCRBk/VcegWRo5WtJwGAgQcMdNan8SqYfhQA6nMk7Dzlg155AE1uKioY8Wj+kWp51vd+MvhSIwQ+iOwl+LNMl2jsKjVNpiIV+UqrH9wqM5nlPwyYBzIXSBN+uY1NOCw/HtYniZ/4vjiVQGIuSGzNR9yOv/YIknr91R3Sa/twlO3/wD4WDtf+VNIz/R/9x8FuenRVcc+6kc9wF/baNAYJDV3eMci+9mBqjetl91faSmCdh1qx1+f3R82VEmnMwuJr1PPddWCfeg1mSl4sULDmRYtfD5iQbwBf2MT/8MOgSwJts2s5ZAF/kxZNdpEvXu1EcWHIxQdJUG29KJd7g/GPTC7eK9W/hzNJ4aNwEdTL0mjFQA174OiqXz2+4uDoIaEYDdQmgB3xuZv+HfoVLGFpngp/Lr057pDquweEzJ0fDGks5VZHa7XSiheRhO531tQjF0bXC/G9LlYI=", + "urls": [ + "https://pixeldrain.com/api/file/jVeUr8Zq", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_linux_x86_64.AppImage" + ] } }, "solus": { "1.0.4": { - "sha256": "", - "sig": "", - "urls": [] + "sha256": "09b9faaba24a8c199a2b104a9be3395c2ef8c6e25a934c34b1c617529d252ae0", + "sig": "B8p6M1ks8Z48QGJPQzhqNWK4uU8LyCM381/HJUz663f0LBe9YPqDSDRZUmake0QmYK5/97K7lEwq7w3h/NBKF7YzbGbiSddJN7oqBsJ3cmHo/8YtXXVgHVaxiQdcyv0w7KTNK9FTaz2TZfGGodIWX6fb6FyV1md97pSKnRp5IAk6FhWtXh1sKP1kb62VkRG0Dh4lC5mIgPTdCZb4i0PD9bNwNQKlLqkSzNrfECydwE5QLVIp5QKY2A2U0N1kccVQPXFvlLi6vKJWHruXEt+kn9+gsJVA43lLKwcKIQrgCIKQLzaXUsruglGMxSIOZt018T06vHuqdjISXSYHPEKB1lgNS42W0B9Cy2NSS8lDO4KaWKA+n3A1H5HB4A8KPxRMVgSYhyYgnInhJtLrgEypm6mfLWyoDENsxEFRNaDgQ5EoY1gtXrdEqlPpMA3/RVzs5KWGePQuZ8UGhUmGHd5g0m+bgleRhhI8AoYcoRt3aQ/dBAFyb/co5Y0deyz6HrDtxr61IVmKagIZviVtr7xATT9+ZtkeqQ9TcYkXnIHZdqzV4C61UMPBD8XhRY6D+z5+PNXoLde+FE9WiHMQD+t+Sm4aJla/P+YrZUlrgVqPeA1CE1vfJg1GQauU5rAdoM44wYJ/GN6SEqG4LrrGY0UADvG2X76ob4mda3l9dQO8OBRMg0ZPXb+i7PSRn50wEnvqFzlyna6Z0hZ4U3euMZ9A7HY2AoKZ3wLRpn2j6bxV83m4D7tqFkVzbB/jUpUDNpVxGM/IoF4lbEyr55CdZKynBvR7XbeZeYfViU18ga99eoBsqlHOIUA9BVWU+snVg/V7QCv+uBszAlCJnFnkUe9pEJS1UlbpgNhSWLnkPkT8mY3Du/cPY2R2t6fBKjyb1VP8Gk9YrZATQLNsCRBk/VcegWRo5WtJwGAgQcMdNan8SqYfhQA6nMk7Dzlg155AE1uKioY8Wj+kWp51vd+MvhSIwQ+iOwl+LNMl2jsKjVNpiIV+UqrH9wqM5nlPwyYBzIXSBN+uY1NOCw/HtYniZ/4vjiVQGIuSGzNR9yOv/YIknr91R3Sa/twlO3/wD4WDtf+VNIz/R/9x8FuenRVcc+6kc9wF/baNAYJDV3eMci+9mBqjetl91faSmCdh1qx1+f3R82VEmnMwuJr1PPddWCfeg1mSl4sULDmRYtfD5iQbwBf2MT/8MOgSwJts2s5ZAF/kxZNdpEvXu1EcWHIxQdJUG29KJd7g/GPTC7eK9W/hzNJ4aNwEdTL0mjFQA174OiqXz2+4uDoIaEYDdQmgB3xuZv+HfoVLGFpngp/Lr057pDquweEzJ0fDGks5VZHa7XSiheRhO531tQjF0bXC/G9LlYI=", + "urls": [ + "https://pixeldrain.com/api/file/jVeUr8Zq", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_linux_x86_64.AppImage" + ] } }, "tumbleweed": { "1.0.4": { - "sha256": "", - "sig": "", - "urls": [] + "sha256": "09b9faaba24a8c199a2b104a9be3395c2ef8c6e25a934c34b1c617529d252ae0", + "sig": "B8p6M1ks8Z48QGJPQzhqNWK4uU8LyCM381/HJUz663f0LBe9YPqDSDRZUmake0QmYK5/97K7lEwq7w3h/NBKF7YzbGbiSddJN7oqBsJ3cmHo/8YtXXVgHVaxiQdcyv0w7KTNK9FTaz2TZfGGodIWX6fb6FyV1md97pSKnRp5IAk6FhWtXh1sKP1kb62VkRG0Dh4lC5mIgPTdCZb4i0PD9bNwNQKlLqkSzNrfECydwE5QLVIp5QKY2A2U0N1kccVQPXFvlLi6vKJWHruXEt+kn9+gsJVA43lLKwcKIQrgCIKQLzaXUsruglGMxSIOZt018T06vHuqdjISXSYHPEKB1lgNS42W0B9Cy2NSS8lDO4KaWKA+n3A1H5HB4A8KPxRMVgSYhyYgnInhJtLrgEypm6mfLWyoDENsxEFRNaDgQ5EoY1gtXrdEqlPpMA3/RVzs5KWGePQuZ8UGhUmGHd5g0m+bgleRhhI8AoYcoRt3aQ/dBAFyb/co5Y0deyz6HrDtxr61IVmKagIZviVtr7xATT9+ZtkeqQ9TcYkXnIHZdqzV4C61UMPBD8XhRY6D+z5+PNXoLde+FE9WiHMQD+t+Sm4aJla/P+YrZUlrgVqPeA1CE1vfJg1GQauU5rAdoM44wYJ/GN6SEqG4LrrGY0UADvG2X76ob4mda3l9dQO8OBRMg0ZPXb+i7PSRn50wEnvqFzlyna6Z0hZ4U3euMZ9A7HY2AoKZ3wLRpn2j6bxV83m4D7tqFkVzbB/jUpUDNpVxGM/IoF4lbEyr55CdZKynBvR7XbeZeYfViU18ga99eoBsqlHOIUA9BVWU+snVg/V7QCv+uBszAlCJnFnkUe9pEJS1UlbpgNhSWLnkPkT8mY3Du/cPY2R2t6fBKjyb1VP8Gk9YrZATQLNsCRBk/VcegWRo5WtJwGAgQcMdNan8SqYfhQA6nMk7Dzlg155AE1uKioY8Wj+kWp51vd+MvhSIwQ+iOwl+LNMl2jsKjVNpiIV+UqrH9wqM5nlPwyYBzIXSBN+uY1NOCw/HtYniZ/4vjiVQGIuSGzNR9yOv/YIknr91R3Sa/twlO3/wD4WDtf+VNIz/R/9x8FuenRVcc+6kc9wF/baNAYJDV3eMci+9mBqjetl91faSmCdh1qx1+f3R82VEmnMwuJr1PPddWCfeg1mSl4sULDmRYtfD5iQbwBf2MT/8MOgSwJts2s5ZAF/kxZNdpEvXu1EcWHIxQdJUG29KJd7g/GPTC7eK9W/hzNJ4aNwEdTL0mjFQA174OiqXz2+4uDoIaEYDdQmgB3xuZv+HfoVLGFpngp/Lr057pDquweEzJ0fDGks5VZHa7XSiheRhO531tQjF0bXC/G9LlYI=", + "urls": [ + "https://pixeldrain.com/api/file/jVeUr8Zq", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_linux_x86_64.AppImage" + ] } }, "ubuntu18.04": { "1.0.4": { - "sha256": "", - "sig": "", - "urls": [] + "sha256": "09b9faaba24a8c199a2b104a9be3395c2ef8c6e25a934c34b1c617529d252ae0", + "sig": "B8p6M1ks8Z48QGJPQzhqNWK4uU8LyCM381/HJUz663f0LBe9YPqDSDRZUmake0QmYK5/97K7lEwq7w3h/NBKF7YzbGbiSddJN7oqBsJ3cmHo/8YtXXVgHVaxiQdcyv0w7KTNK9FTaz2TZfGGodIWX6fb6FyV1md97pSKnRp5IAk6FhWtXh1sKP1kb62VkRG0Dh4lC5mIgPTdCZb4i0PD9bNwNQKlLqkSzNrfECydwE5QLVIp5QKY2A2U0N1kccVQPXFvlLi6vKJWHruXEt+kn9+gsJVA43lLKwcKIQrgCIKQLzaXUsruglGMxSIOZt018T06vHuqdjISXSYHPEKB1lgNS42W0B9Cy2NSS8lDO4KaWKA+n3A1H5HB4A8KPxRMVgSYhyYgnInhJtLrgEypm6mfLWyoDENsxEFRNaDgQ5EoY1gtXrdEqlPpMA3/RVzs5KWGePQuZ8UGhUmGHd5g0m+bgleRhhI8AoYcoRt3aQ/dBAFyb/co5Y0deyz6HrDtxr61IVmKagIZviVtr7xATT9+ZtkeqQ9TcYkXnIHZdqzV4C61UMPBD8XhRY6D+z5+PNXoLde+FE9WiHMQD+t+Sm4aJla/P+YrZUlrgVqPeA1CE1vfJg1GQauU5rAdoM44wYJ/GN6SEqG4LrrGY0UADvG2X76ob4mda3l9dQO8OBRMg0ZPXb+i7PSRn50wEnvqFzlyna6Z0hZ4U3euMZ9A7HY2AoKZ3wLRpn2j6bxV83m4D7tqFkVzbB/jUpUDNpVxGM/IoF4lbEyr55CdZKynBvR7XbeZeYfViU18ga99eoBsqlHOIUA9BVWU+snVg/V7QCv+uBszAlCJnFnkUe9pEJS1UlbpgNhSWLnkPkT8mY3Du/cPY2R2t6fBKjyb1VP8Gk9YrZATQLNsCRBk/VcegWRo5WtJwGAgQcMdNan8SqYfhQA6nMk7Dzlg155AE1uKioY8Wj+kWp51vd+MvhSIwQ+iOwl+LNMl2jsKjVNpiIV+UqrH9wqM5nlPwyYBzIXSBN+uY1NOCw/HtYniZ/4vjiVQGIuSGzNR9yOv/YIknr91R3Sa/twlO3/wD4WDtf+VNIz/R/9x8FuenRVcc+6kc9wF/baNAYJDV3eMci+9mBqjetl91faSmCdh1qx1+f3R82VEmnMwuJr1PPddWCfeg1mSl4sULDmRYtfD5iQbwBf2MT/8MOgSwJts2s5ZAF/kxZNdpEvXu1EcWHIxQdJUG29KJd7g/GPTC7eK9W/hzNJ4aNwEdTL0mjFQA174OiqXz2+4uDoIaEYDdQmgB3xuZv+HfoVLGFpngp/Lr057pDquweEzJ0fDGks5VZHa7XSiheRhO531tQjF0bXC/G9LlYI=", + "urls": [ + "https://pixeldrain.com/api/file/jVeUr8Zq", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_linux_x86_64.AppImage" + ] } }, "ubuntu18.10": { "1.0.4": { - "sha256": "", - "sig": "", - "urls": [] + "sha256": "09b9faaba24a8c199a2b104a9be3395c2ef8c6e25a934c34b1c617529d252ae0", + "sig": "B8p6M1ks8Z48QGJPQzhqNWK4uU8LyCM381/HJUz663f0LBe9YPqDSDRZUmake0QmYK5/97K7lEwq7w3h/NBKF7YzbGbiSddJN7oqBsJ3cmHo/8YtXXVgHVaxiQdcyv0w7KTNK9FTaz2TZfGGodIWX6fb6FyV1md97pSKnRp5IAk6FhWtXh1sKP1kb62VkRG0Dh4lC5mIgPTdCZb4i0PD9bNwNQKlLqkSzNrfECydwE5QLVIp5QKY2A2U0N1kccVQPXFvlLi6vKJWHruXEt+kn9+gsJVA43lLKwcKIQrgCIKQLzaXUsruglGMxSIOZt018T06vHuqdjISXSYHPEKB1lgNS42W0B9Cy2NSS8lDO4KaWKA+n3A1H5HB4A8KPxRMVgSYhyYgnInhJtLrgEypm6mfLWyoDENsxEFRNaDgQ5EoY1gtXrdEqlPpMA3/RVzs5KWGePQuZ8UGhUmGHd5g0m+bgleRhhI8AoYcoRt3aQ/dBAFyb/co5Y0deyz6HrDtxr61IVmKagIZviVtr7xATT9+ZtkeqQ9TcYkXnIHZdqzV4C61UMPBD8XhRY6D+z5+PNXoLde+FE9WiHMQD+t+Sm4aJla/P+YrZUlrgVqPeA1CE1vfJg1GQauU5rAdoM44wYJ/GN6SEqG4LrrGY0UADvG2X76ob4mda3l9dQO8OBRMg0ZPXb+i7PSRn50wEnvqFzlyna6Z0hZ4U3euMZ9A7HY2AoKZ3wLRpn2j6bxV83m4D7tqFkVzbB/jUpUDNpVxGM/IoF4lbEyr55CdZKynBvR7XbeZeYfViU18ga99eoBsqlHOIUA9BVWU+snVg/V7QCv+uBszAlCJnFnkUe9pEJS1UlbpgNhSWLnkPkT8mY3Du/cPY2R2t6fBKjyb1VP8Gk9YrZATQLNsCRBk/VcegWRo5WtJwGAgQcMdNan8SqYfhQA6nMk7Dzlg155AE1uKioY8Wj+kWp51vd+MvhSIwQ+iOwl+LNMl2jsKjVNpiIV+UqrH9wqM5nlPwyYBzIXSBN+uY1NOCw/HtYniZ/4vjiVQGIuSGzNR9yOv/YIknr91R3Sa/twlO3/wD4WDtf+VNIz/R/9x8FuenRVcc+6kc9wF/baNAYJDV3eMci+9mBqjetl91faSmCdh1qx1+f3R82VEmnMwuJr1PPddWCfeg1mSl4sULDmRYtfD5iQbwBf2MT/8MOgSwJts2s5ZAF/kxZNdpEvXu1EcWHIxQdJUG29KJd7g/GPTC7eK9W/hzNJ4aNwEdTL0mjFQA174OiqXz2+4uDoIaEYDdQmgB3xuZv+HfoVLGFpngp/Lr057pDquweEzJ0fDGks5VZHa7XSiheRhO531tQjF0bXC/G9LlYI=", + "urls": [ + "https://pixeldrain.com/api/file/jVeUr8Zq", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_linux_x86_64.AppImage" + ] } }, "ubuntu19.04": { "1.0.4": { - "sha256": "", - "sig": "", - "urls": [] + "sha256": "09b9faaba24a8c199a2b104a9be3395c2ef8c6e25a934c34b1c617529d252ae0", + "sig": "B8p6M1ks8Z48QGJPQzhqNWK4uU8LyCM381/HJUz663f0LBe9YPqDSDRZUmake0QmYK5/97K7lEwq7w3h/NBKF7YzbGbiSddJN7oqBsJ3cmHo/8YtXXVgHVaxiQdcyv0w7KTNK9FTaz2TZfGGodIWX6fb6FyV1md97pSKnRp5IAk6FhWtXh1sKP1kb62VkRG0Dh4lC5mIgPTdCZb4i0PD9bNwNQKlLqkSzNrfECydwE5QLVIp5QKY2A2U0N1kccVQPXFvlLi6vKJWHruXEt+kn9+gsJVA43lLKwcKIQrgCIKQLzaXUsruglGMxSIOZt018T06vHuqdjISXSYHPEKB1lgNS42W0B9Cy2NSS8lDO4KaWKA+n3A1H5HB4A8KPxRMVgSYhyYgnInhJtLrgEypm6mfLWyoDENsxEFRNaDgQ5EoY1gtXrdEqlPpMA3/RVzs5KWGePQuZ8UGhUmGHd5g0m+bgleRhhI8AoYcoRt3aQ/dBAFyb/co5Y0deyz6HrDtxr61IVmKagIZviVtr7xATT9+ZtkeqQ9TcYkXnIHZdqzV4C61UMPBD8XhRY6D+z5+PNXoLde+FE9WiHMQD+t+Sm4aJla/P+YrZUlrgVqPeA1CE1vfJg1GQauU5rAdoM44wYJ/GN6SEqG4LrrGY0UADvG2X76ob4mda3l9dQO8OBRMg0ZPXb+i7PSRn50wEnvqFzlyna6Z0hZ4U3euMZ9A7HY2AoKZ3wLRpn2j6bxV83m4D7tqFkVzbB/jUpUDNpVxGM/IoF4lbEyr55CdZKynBvR7XbeZeYfViU18ga99eoBsqlHOIUA9BVWU+snVg/V7QCv+uBszAlCJnFnkUe9pEJS1UlbpgNhSWLnkPkT8mY3Du/cPY2R2t6fBKjyb1VP8Gk9YrZATQLNsCRBk/VcegWRo5WtJwGAgQcMdNan8SqYfhQA6nMk7Dzlg155AE1uKioY8Wj+kWp51vd+MvhSIwQ+iOwl+LNMl2jsKjVNpiIV+UqrH9wqM5nlPwyYBzIXSBN+uY1NOCw/HtYniZ/4vjiVQGIuSGzNR9yOv/YIknr91R3Sa/twlO3/wD4WDtf+VNIz/R/9x8FuenRVcc+6kc9wF/baNAYJDV3eMci+9mBqjetl91faSmCdh1qx1+f3R82VEmnMwuJr1PPddWCfeg1mSl4sULDmRYtfD5iQbwBf2MT/8MOgSwJts2s5ZAF/kxZNdpEvXu1EcWHIxQdJUG29KJd7g/GPTC7eK9W/hzNJ4aNwEdTL0mjFQA174OiqXz2+4uDoIaEYDdQmgB3xuZv+HfoVLGFpngp/Lr057pDquweEzJ0fDGks5VZHa7XSiheRhO531tQjF0bXC/G9LlYI=", + "urls": [ + "https://pixeldrain.com/api/file/jVeUr8Zq", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_linux_x86_64.AppImage" + ] } }, "win32": { From 991bcf3ac8231a1a44409eee48e76f68cb6fd4ca Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Fri, 12 Jul 2019 13:36:08 -0500 Subject: [PATCH 28/31] Linux releases --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 157ebe6..e08641d 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Repertory allows you to mount Sia and/or SiaPrime blockchain storage solutions v * SiaPrime >=1.4.0 ## Downloads ## -* **Repertory UI v1.0.4 Linux 64-bit** []() []() +* **Repertory UI v1.0.4 Linux 64-bit** [](https://pixeldrain.com/api/file/jVeUr8Zq) [](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_linux_x86_64.AppImage) * NOTE: Linux distributions require `fuse` and `libfuse` to be installed. * **Repertory UI v1.0.4 OS X 64-bit** []() []() * **Repertory UI v1.0.4 Windows 64-bit** [](https://pixeldrain.com/u/PlUcsmJN) [](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_win.exe) From f82a8c8c8ef61a5c580ffcc5414ff0bec118a15c Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Fri, 12 Jul 2019 13:36:41 -0500 Subject: [PATCH 29/31] Linux releases --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e08641d..2207f21 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Repertory allows you to mount Sia and/or SiaPrime blockchain storage solutions v * SiaPrime >=1.4.0 ## Downloads ## -* **Repertory UI v1.0.4 Linux 64-bit** [](https://pixeldrain.com/api/file/jVeUr8Zq) [](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_linux_x86_64.AppImage) +* **Repertory UI v1.0.4 Linux 64-bit** [](https://pixeldrain.com/u/jVeUr8Zq) [](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_linux_x86_64.AppImage) * NOTE: Linux distributions require `fuse` and `libfuse` to be installed. * **Repertory UI v1.0.4 OS X 64-bit** []() []() * **Repertory UI v1.0.4 Windows 64-bit** [](https://pixeldrain.com/u/PlUcsmJN) [](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_win.exe) From e9fb949fdb5c50b5e3dccce6daf2a26dcaf2b098 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Fri, 12 Jul 2019 13:47:29 -0500 Subject: [PATCH 30/31] macOS release --- releases.json | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/releases.json b/releases.json index 8e6f739..6f1f2ed 100644 --- a/releases.json +++ b/releases.json @@ -22,9 +22,12 @@ }, "darwin": { "1.0.4": { - "sha256": "", - "sig": "", - "urls": [] + "sha256": "4c33ba2a0dae3604e10e0078bdca27abc1dad7dec5132746f47e151c9d1c9f75", + "sig": "BX3momrq4XzMZEIv+U2qllLiQ1HOzDOeosly/BqjGfsCQKBsoORXAfUDqJakTXgEE1R5BrqAIx83KY8bIDDQ7L+9IqJNZWu7H3KkBEPaC5OBtxNSOPNJ8/Xe8CJDyTnp4acAgIfXK3WTYLp5RAKzPJ4QZneJzqIbx+bTLQcE+BukkWL1nLlZifvbVjz3PC1G2ZZ2B3WKR3Z4th1oQnYS4xgMQdEpbtxjXCPMy1fd1Ipnp14p9s2GWfrQaVLQIvJcEeBkRdLlI6dwvsmRlRPy13dBdPqd6buLjBA+RCgvKygqUiFAUXRaePCmx3DY5KvPYJF75JvhhvTrjf9/AYh336Llmofl8WJM6N5KByzOL2XFOLgUG3xgThRmAi4p39ec/pO1XYbGzGUneTDKAMyv5TZk+gDIQDMqoY0ssRLxMl0eEd9lkJYIKhUXB9gltkBsuPjVmU/fKyXprEXedUTWzu3ip6/9NRIF31XQPROFUne67csIh2GjYOnElDnSfoPVAoy2U6drVgL/wnooyJzNRSxokgxoiLRt7Y13xrN3GoLZrOtM3lAH1aVD6C+aYacSrGLpTzRroRfzAm2Xehs5E0Y9UI7O77zqEAJUeLJ1SSiGCIrQeSL3abjfWwo3i6ma2fy8TpgpiMn74l9KHT3sUYgUFkISjOgeyqX6cH2PdFO3zhL5AndSGUOKf21TrGPlqNfANuNP+rZ3e4WkXE4yiD1kw+BEC5muW7CxYW4ocxDL9P947FET5RQT8t/YaL5nJNMJ/K7jq8TMeQ9WrsMZUYa5Tr8U8IxhXOHm9tsYFFF004eU0nd8duWljc+YG1PdwTxD+eAby0qPxQe1HirBXKB5ltvXFwjVXc+HiPxmzam241fupt3KlwW6FSTFrk+D2a0yK3RCw3Rihub3J2mvoPEAos/GTdC9M4IKTWz8iYUNcBE+XkI6S0o+/xVWobdQ5slGnQFMacEzoTaALQYtXFguiaIe5u2UI5PFm1EtTJqQq9qiYQB84NOMGdu6SPLPuifuGmBkAJpQadVXQ9HTFO1npTPF7jO2xqxGAc22xbV/oLKJCXViJSK1DHRYg+BFCAqxXqWrjEQaBmdrw2+fUmcQTc+DatpsDaFY6eTY+ee6FYosQdNCMmwnTju35AzFK77F338ZIePulu7cfgzdLn7TMsiX9QrRn9tAtfRnrcyehVxRpHWIxa70rKvBNuri/w9HZFG64Z3cdWOZk/kXn4RPdvUxb+RpZKtMQ6QaHhqpPbTCLLZmv7bFbexPEjJZFUbCbMDRwHrimI5zXXFc8Jr+iaHVKolbEOosdnFprD4+26R7HMCk24jFOkIovTzg6Q9NAlduScUbXXJ9HV7SOLc=", + "urls": [ + "https://pixeldrain.com/api/file/uKrr0H5r", + "https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_mac.dmg" + ] } }, "debian9": { From 17650c282ccf37ad030d36353cfc391f93785974 Mon Sep 17 00:00:00 2001 From: Scott Graves Date: Fri, 12 Jul 2019 18:49:05 +0000 Subject: [PATCH 31/31] README.md edited online with Bitbucket --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2207f21..2f82cdd 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Repertory allows you to mount Sia and/or SiaPrime blockchain storage solutions v ## Downloads ## * **Repertory UI v1.0.4 Linux 64-bit** [](https://pixeldrain.com/u/jVeUr8Zq) [](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_linux_x86_64.AppImage) * NOTE: Linux distributions require `fuse` and `libfuse` to be installed. -* **Repertory UI v1.0.4 OS X 64-bit** []() []() +* **Repertory UI v1.0.4 OS X 64-bit** [](https://pixeldrain.com/u/uKrr0H5r) [](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_mac.dmg) * **Repertory UI v1.0.4 Windows 64-bit** [](https://pixeldrain.com/u/PlUcsmJN) [](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.4_win.exe) ## Supported Platforms ##