forked from Silverfish/proton-bridge
GODT-2210: fix splash screen always showing on CentOS and Ubuntu.
This commit is contained in:
@ -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) {
|
||||||
|
|||||||
@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user