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 logIMAPServer bool
logSMTP 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 manages the bridge's goroutines.
tasks *async.Group tasks *async.Group
@ -226,6 +232,16 @@ func newBridge(
return nil, fmt.Errorf("failed to get Gluon Database directory: %w", err) 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( imapServer, err := newIMAPServer(
gluonCacheDir, gluonCacheDir,
gluonDataDir, gluonDataDir,
@ -278,6 +294,9 @@ func newBridge(
logIMAPServer: logIMAPServer, logIMAPServer: logIMAPServer,
logSMTP: logSMTP, logSMTP: logSMTP,
firstStart: firstStart,
lastVersion: lastVersion,
tasks: tasks, tasks: tasks,
} }
@ -441,15 +460,6 @@ func (bridge *Bridge) Close(ctx context.Context) {
} }
bridge.watchers = nil 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) { 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 { func (bridge *Bridge) GetLastVersion() *semver.Version {
return bridge.vault.GetLastVersion() return bridge.lastVersion
} }
func (bridge *Bridge) GetFirstStart() bool { func (bridge *Bridge) GetFirstStart() bool {
return bridge.vault.GetFirstStart() return bridge.firstStart
} }
func (bridge *Bridge) GetColorScheme() string { func (bridge *Bridge) GetColorScheme() string {