Browse Source

Improve update state verbosity for user

tags/v2.0.0a
NGnius (Graham) 4 years ago
parent
commit
00a3333bc5
6 changed files with 31 additions and 23 deletions
  1. +1
    -1
      config.json
  2. +5
    -5
      rxsm/go.mod
  3. +10
    -12
      rxsm/go.sum
  4. +10
    -4
      rxsm/rxsm.go
  5. +4
    -1
      rxsm/settings-dialog.go
  6. +1
    -0
      rxsm/update.go

+ 1
- 1
config.json View File

@@ -9,7 +9,7 @@
"force-unique-ids?": true,
"icon-pack": "resources/exmods-icons/assets",
"snapshot-period": 0,
"version": "v1.1.0",
"version": "v2.0.0a",
"update-server": "https://rxsm-update.exmods.org",
"automatically-check-for-updates?": true,
"automatically-install-updates?": false,


+ 5
- 5
rxsm/go.mod View File

@@ -6,11 +6,11 @@ require (
github.com/google/go-cmp v0.3.1 // indirect
github.com/gopherjs/gopherjs v0.0.0-20190915194858-d3ddacdb130f // indirect
github.com/stretchr/testify v1.4.0 // indirect
github.com/therecipe/qt v0.0.0-20190914193131-4c875570321e
github.com/therecipe/qt/internal/binding/files/docs/5.13.0 v0.0.0-20190924211142-521980c88788 // indirect
golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7 // indirect
golang.org/x/net v0.0.0-20190916140828-c8589233b77d // indirect
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3 // indirect
github.com/therecipe/qt v0.0.0-20191006231156-9cc9109f8ecd
golang.org/x/crypto v0.0.0-20191002192127-34f69633bfdc // indirect
golang.org/x/net v0.0.0-20191009170851-d66e71096ffb // indirect
golang.org/x/sys v0.0.0-20191009170203-06d7bd2c5f4f // indirect
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect
gopkg.in/src-d/go-git.v4 v4.13.1
gopkg.in/yaml.v2 v2.2.4 // indirect
)

+ 10
- 12
rxsm/go.sum View File

@@ -52,27 +52,23 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/therecipe/qt v0.0.0-20190914193131-4c875570321e h1:ralwiYe77HLSNZzbnnfu0BlC+6AbgzwHjGB5hg5sL7s=
github.com/therecipe/qt v0.0.0-20190914193131-4c875570321e/go.mod h1:SUUR2j3aE1z6/g76SdD6NwACEpvCxb3fvG82eKbD6us=
github.com/therecipe/qt/internal/binding/files/docs/5.13.0 v0.0.0-20190914193131-4c875570321e h1:Bl9W/h6HkObONpu3jsL9jmrPQMhB0+fmuXApSJEmDuc=
github.com/therecipe/qt/internal/binding/files/docs/5.13.0 v0.0.0-20190914193131-4c875570321e/go.mod h1:mH55Ek7AZcdns5KPp99O0bg+78el64YCYWHiQKrOdt4=
github.com/therecipe/qt/internal/binding/files/docs/5.13.0 v0.0.0-20190924211142-521980c88788 h1:FfkdQ1ypwbc96fnOoO09/f1Sl1rn+GVlj5X2KXlMv8w=
github.com/therecipe/qt/internal/binding/files/docs/5.13.0 v0.0.0-20190924211142-521980c88788/go.mod h1:mH55Ek7AZcdns5KPp99O0bg+78el64YCYWHiQKrOdt4=
github.com/therecipe/qt v0.0.0-20191006231156-9cc9109f8ecd h1:4NmeSULkfSUe7DLhDzeRMKnJZT7NXqMvk8MdRTpxIRQ=
github.com/therecipe/qt v0.0.0-20191006231156-9cc9109f8ecd/go.mod h1:SUUR2j3aE1z6/g76SdD6NwACEpvCxb3fvG82eKbD6us=
github.com/xanzy/ssh-agent v0.2.1 h1:TCbipTQL2JiiCprBWx9frJ2eJlCYT00NmctrHxVAr70=
github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4=
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7 h1:0hQKqeLdqlt5iIwVOBErRisrHJAN57yOiPRQItI20fU=
golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191002192127-34f69633bfdc h1:c0o/qxkaO2LF5t6fQrT4b5hzyggAkLLlCUjqfRxd8Q4=
golang.org/x/crypto v0.0.0-20191002192127-34f69633bfdc/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190420063019-afa5a82059c6/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190916140828-c8589233b77d h1:mCMDWKhNO37A7GAhOpHPbIw1cjd0V86kX1/WA9c7FZ8=
golang.org/x/net v0.0.0-20190916140828-c8589233b77d/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20191009170851-d66e71096ffb h1:TR699M2v0qoKTOHxeLgp6zPqaQNs74f01a/ob9W0qko=
golang.org/x/net v0.0.0-20191009170851-d66e71096ffb/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -82,8 +78,8 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e h1:D5TXcfTk7xF7hvieo4QErS3qqCB4teTffacDWr7CI+0=
golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3 h1:7TYNF4UdlohbFwpNH04CoPMp1cHUZgO1Ebq5r2hIjfo=
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191009170203-06d7bd2c5f4f h1:hjzMYz/7Ea1mNKfOnFOfktR0mlA5jqhvywClCMHM/qw=
golang.org/x/sys v0.0.0-20191009170203-06d7bd2c5f4f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
@@ -105,3 +101,5 @@ gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME=
gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

+ 10
- 4
rxsm/rxsm.go View File

@@ -13,9 +13,9 @@ import (
)

const (
RXSMVersion string = "v2.0.0"
RXSMVersion string = "v2.0.0a"
RXSMPlatformStream string = "release"
UpdateSteps int = 2
UpdateSteps int = 4
DownloadTempFile = "rxsm-update.zip"
)

@@ -129,7 +129,7 @@ func downloadRXSMUpdateQuiet() {
}

func downloadRXSMUpdate(statusCallback func(progress int, description string)) {
statusCallback(0, "Downloading")
statusCallback(1, "Downloading")
log.Println("Downloading update from " + DownloadURL)
f, createErr := os.Create(DownloadTempFile)
if createErr != nil {
@@ -145,19 +145,21 @@ func downloadRXSMUpdate(statusCallback func(progress int, description string)) {
statusCallback(-1, "Download failed")
return
}
statusCallback(1, "Installing Updater")
statusCallback(2, "Installing Updater")
f.Sync()
f.Seek(0, 0)
fStat, statErr := f.Stat()
if statErr != nil {
log.Println("Error getting download temp file stat")
log.Println(statErr)
statusCallback(-1, "Installing failed")
return
}
zipFile, zipErr := zip.NewReader(f, fStat.Size())
if zipErr != nil {
log.Println("Error creating zip reader")
log.Println(zipErr)
statusCallback(-1, "Installing failed")
return
}
for _, f := range zipFile.File {
@@ -170,10 +172,12 @@ func downloadRXSMUpdate(statusCallback func(progress int, description string)) {
updaterFilename = "rxsm-updater"
}
if len(filename) >= len(updaterFilename) && filename[:len(updaterFilename)] == updaterFilename {
statusCallback(3, "Extracting Updater")
fileReadCloser, openErr := f.Open()
if openErr != nil {
log.Println("Error opening updater in zip archive")
log.Println(openErr)
statusCallback(-1, "Extracting failed")
return
}
defer fileReadCloser.Close()
@@ -181,6 +185,7 @@ func downloadRXSMUpdate(statusCallback func(progress int, description string)) {
if createErr != nil {
log.Println("Error creating updater file")
log.Println(createErr)
statusCallback(-1, "Extracting failed")
return
}
defer destFile.Close()
@@ -188,6 +193,7 @@ func downloadRXSMUpdate(statusCallback func(progress int, description string)) {
if copyErr != nil {
log.Println("Error copying/extracting updater")
log.Println(copyErr)
statusCallback(-1, "Extracting failed")
return
}
}


+ 4
- 1
rxsm/settings-dialog.go View File

@@ -344,7 +344,6 @@ func (sd *SettingsDialog) syncBackRXSMSettings() {
}

func (sd *SettingsDialog) onUpdateButtonClicked(bool) {
// TODO: implement
if !IsOutOfDate {
go func() {
sd.updateProgressBar.SetFormat("Checking for Update")
@@ -356,6 +355,9 @@ func (sd *SettingsDialog) onUpdateButtonClicked(bool) {
if IsOutOfDate {
sd.updateProgressBar.SetFormat("Update available")
sd.updateButton.SetText("Install Update")
} else {
sd.updateProgressBar.SetFormat("Up to Date")
sd.updateButton.SetText("Up to Date (Check Again)")
}
sd.updateProgressBar.Hide()
}()
@@ -368,6 +370,7 @@ func (sd *SettingsDialog) onUpdateButtonClicked(bool) {
sd.updateProgressBar.SetFormat(text + " - %p%")
if i == -1 {
success = false
sd.updateButton.SetText(text+" (Try Again)")
return
}
sd.updateProgressBar.SetValue(i)


+ 1
- 0
rxsm/update.go View File

@@ -1,4 +1,5 @@
// Created 2019-09-12 by NGnius
// Update API implementation

package main