Release 2.7.3.3: dark theme and Amnezia vpn:// import fixes.

This commit is contained in:
M4
2026-07-29 19:49:48 +03:00
parent 041cbb1250
commit 64c097d1e7
23 changed files with 401 additions and 69 deletions
+14 -3
View File
@@ -283,8 +283,13 @@ func (m *Manager) SetActiveProfile(name string) error {
func (m *Manager) SaveProfile(name, proxy string) error {
m.mu.Lock()
defer m.mu.Unlock()
if m.engine != nil && m.engine.Running() {
return fmt.Errorf("сначала отключитесь")
name = strings.TrimSpace(name)
if name == "" {
return fmt.Errorf("имя профиля пустое")
}
connected := m.engine != nil && m.engine.Running()
if connected && name == m.cfg.Active {
return fmt.Errorf("сначала отключитесь, чтобы изменить активный профиль")
}
proxy = strings.TrimSpace(proxy)
var proto config.Protocol
@@ -296,7 +301,13 @@ func (m *Manager) SaveProfile(name, proxy string) error {
proxy = normalized
proto = detected
}
if err := m.cfg.UpsertProfileWithProtocol(name, proxy, proto); err != nil {
var err error
if connected {
err = m.cfg.UpsertProfileKeepActive(name, proxy, proto)
} else {
err = m.cfg.UpsertProfileWithProtocol(name, proxy, proto)
}
if err != nil {
return err
}
if p, err := m.cfg.ActiveProfile(); err == nil {