mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-11 05:06:51 +00:00
chore(GODT-2551): Store and Recover Last User Agent from Vault
This commit is contained in:
@ -225,3 +225,22 @@ func (vault *Vault) SetMaxSyncMemory(maxMemory uint64) error {
|
||||
data.Settings.MaxSyncMemory = maxMemory
|
||||
})
|
||||
}
|
||||
|
||||
// GetLastUserAgent returns the last user agent recorded by bridge.
|
||||
func (vault *Vault) GetLastUserAgent() string {
|
||||
v := vault.get().Settings.LastUserAgent
|
||||
|
||||
// Handle case where there may be no value.
|
||||
if len(v) == 0 {
|
||||
v = DefaultUserAgent
|
||||
}
|
||||
|
||||
return v
|
||||
}
|
||||
|
||||
// SetLastUserAgent store the last user agent recorded by bridge.
|
||||
func (vault *Vault) SetLastUserAgent(userAgent string) error {
|
||||
return vault.mod(func(data *Data) {
|
||||
data.Settings.LastUserAgent = userAgent
|
||||
})
|
||||
}
|
||||
|
||||
@ -216,3 +216,11 @@ func TestVault_Settings_MaxSyncMemory(t *testing.T) {
|
||||
// Check the default first start value.
|
||||
require.Equal(t, vault.DefaultMaxSyncMemory, s.GetMaxSyncMemory())
|
||||
}
|
||||
|
||||
func TestVault_Settings_LastUserAgent(t *testing.T) {
|
||||
// create a new test vault.
|
||||
s := newVault(t)
|
||||
|
||||
// Check the default first start value.
|
||||
require.Equal(t, vault.DefaultUserAgent, s.GetLastUserAgent())
|
||||
}
|
||||
|
||||
@ -46,12 +46,15 @@ type Settings struct {
|
||||
|
||||
MaxSyncMemory uint64
|
||||
|
||||
LastUserAgent string
|
||||
|
||||
// **WARNING**: These entry can't be removed until they vault has proper migration support.
|
||||
SyncWorkers int
|
||||
SyncAttPool int
|
||||
}
|
||||
|
||||
const DefaultMaxSyncMemory = 2 * 1024 * uint64(1024*1024)
|
||||
const DefaultUserAgent = "UnknownClient/0.0.1"
|
||||
|
||||
func GetDefaultSyncWorkerCount() int {
|
||||
const minSyncWorkers = 16
|
||||
@ -91,5 +94,7 @@ func newDefaultSettings(gluonDir string) Settings {
|
||||
MaxSyncMemory: DefaultMaxSyncMemory,
|
||||
SyncWorkers: syncWorkers,
|
||||
SyncAttPool: syncWorkers,
|
||||
|
||||
LastUserAgent: DefaultUserAgent,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user