GODT-2210: fix splash screen always showing on CentOS and Ubuntu.

This commit is contained in:
Xavier Michelon
2023-01-27 14:10:14 +01:00
parent 6d024d2055
commit 4aa1091f62
2 changed files with 21 additions and 11 deletions

View File

@ -108,6 +108,12 @@ type Bridge struct {
logIMAPServer bool
logSMTP bool
// These two variables keep track of the startup values for the two settings of the same name.
// They are updated in the vault on startup so that we're sure they're updated in case of kill/crash,
// but we need to keep their initial value for the current instance of bridge.
firstStart bool
lastVersion *semver.Version
// tasks manages the bridge's goroutines.
tasks *async.Group
@ -226,6 +232,16 @@ func newBridge(
return nil, fmt.Errorf("failed to get Gluon Database directory: %w", err)
}
firstStart := vault.GetFirstStart()
if err := vault.SetFirstStart(false); err != nil {
return nil, fmt.Errorf("failed to save first start indicator: %w", err)
}
lastVersion := vault.GetLastVersion()
if err := vault.SetLastVersion(curVersion); err != nil {
return nil, fmt.Errorf("failed to save last version indicator: %w", err)
}
imapServer, err := newIMAPServer(
gluonCacheDir,
gluonDataDir,
@ -278,6 +294,9 @@ func newBridge(
logIMAPServer: logIMAPServer,
logSMTP: logSMTP,
firstStart: firstStart,
lastVersion: lastVersion,
tasks: tasks,
}
@ -441,15 +460,6 @@ func (bridge *Bridge) Close(ctx context.Context) {
}
bridge.watchers = nil
// Save the last version of bridge that was run.
if err := bridge.vault.SetLastVersion(bridge.curVersion); err != nil {
logrus.WithError(err).Error("Failed to save last version")
}
if err := bridge.vault.SetFirstStart(false); err != nil {
logrus.WithError(err).Error("Failed to save first start indicator")
}
}
func (bridge *Bridge) publish(event events.Event) {

View File

@ -317,11 +317,11 @@ func (bridge *Bridge) GetCurrentVersion() *semver.Version {
}
func (bridge *Bridge) GetLastVersion() *semver.Version {
return bridge.vault.GetLastVersion()
return bridge.lastVersion
}
func (bridge *Bridge) GetFirstStart() bool {
return bridge.vault.GetFirstStart()
return bridge.firstStart
}
func (bridge *Bridge) GetColorScheme() string {