cmd/rpcfetch: update timer field on apply ticker
This commit is contained in:
parent
2c7d251298
commit
05b29229df
@ -98,6 +98,10 @@ func apply() {
|
|||||||
confLock.RUnlock()
|
confLock.RUnlock()
|
||||||
|
|
||||||
if nonce, err := retry(&act, s); err != nil {
|
if nonce, err := retry(&act, s); err != nil {
|
||||||
|
if errors.Is(err, syscall.EINTR) || errors.Is(err, discord.ErrNonce) {
|
||||||
|
log.Printf("abandoned further attempts on current tick: %v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
log.Fatalf("error setting activity: %s", err)
|
log.Fatalf("error setting activity: %s", err)
|
||||||
} else {
|
} else {
|
||||||
log.Printf("activity updated with nonce %s", nonce)
|
log.Printf("activity updated with nonce %s", nonce)
|
||||||
@ -109,20 +113,25 @@ var retryTicker = time.NewTicker(100 * time.Millisecond)
|
|||||||
func retry(act *discord.Activity, s *applyState) (nonce string, err error) {
|
func retry(act *discord.Activity, s *applyState) (nonce string, err error) {
|
||||||
fyne.DoAndWait(func() { uiUpdateClientInfo(s) })
|
fyne.DoAndWait(func() { uiUpdateClientInfo(s) })
|
||||||
|
|
||||||
|
i := 0
|
||||||
for range retryTicker.C {
|
for range retryTicker.C {
|
||||||
nonce, err = d.SetActivity(act)
|
if i == 5 {
|
||||||
if err == nil {
|
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
nonce, err = d.SetActivity(act)
|
||||||
|
if err == nil {
|
||||||
|
fyne.DoAndWait(func() { uiSetFailureState(true) })
|
||||||
|
break
|
||||||
|
}
|
||||||
|
i++
|
||||||
|
|
||||||
if errors.Is(err, syscall.EINTR) || errors.Is(err, discord.ErrNonce) {
|
if errors.Is(err, syscall.EINTR) || errors.Is(err, discord.ErrNonce) {
|
||||||
log.Println("retrying in 100 milliseconds...")
|
log.Printf("retrying in 100 milliseconds...")
|
||||||
} else {
|
} else {
|
||||||
log.Printf("cannot set activity: %v", err)
|
log.Printf("cannot set activity: %v", err)
|
||||||
}
|
}
|
||||||
fyne.DoAndWait(func() { uiSetFailureState(false) })
|
fyne.DoAndWait(func() { uiSetFailureState(false) })
|
||||||
}
|
}
|
||||||
fyne.DoAndWait(func() { uiSetFailureState(true) })
|
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -375,15 +375,11 @@ func ui() error {
|
|||||||
presetUp.SetIcon(theme.MoveUpIcon())
|
presetUp.SetIcon(theme.MoveUpIcon())
|
||||||
presetDown.SetIcon(theme.MoveDownIcon())
|
presetDown.SetIcon(theme.MoveDownIcon())
|
||||||
|
|
||||||
go func() {
|
|
||||||
for range time.Tick(time.Second) {
|
|
||||||
fyne.DoAndWait(func() { statusTimer.SetText(time.Now().UTC().Sub(launchTime).Round(time.Second).String()) })
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
|
|
||||||
active.Store(true)
|
active.Store(true)
|
||||||
go func() {
|
go func() {
|
||||||
for range time.Tick(1 * time.Second) {
|
for range time.Tick(1 * time.Second) {
|
||||||
|
fyne.DoAndWait(func() { statusTimer.SetText(time.Now().UTC().Sub(launchTime).Round(time.Second).String()) })
|
||||||
|
|
||||||
if active.Load() {
|
if active.Load() {
|
||||||
apply()
|
apply()
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user