fix: не терять новые категории (SYS) на вкладке «Прочее»

ASSIGNED_CATEGORIES пересчитывался из всех вкладок TAB_CONFIG уже после
того, как неизвестные категории попадали в TAB_CONFIG.other — из-за
этого они сами себя исключали из фильтра "not assigned" на вкладке
«Прочее». Баг был в двух местах (loadCategoriesFromAPI и
applyServerSettings), второе не проявлялось только потому, что синк
qt_settings с сервера никогда не был подключён к воркеру.

Заодно подключил Service.SyncQtSettings к фоновому синку (был мёртвым
кодом), чтобы tab_config/config_types и т.п. реально доезжали с сервера
до локального кеша.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Mikhail Chusavitin
2026-07-30 18:14:46 +03:00
co-authored by Claude Sonnet 5
parent e5aa1dfd38
commit dd70b6065b
3 changed files with 30 additions and 6 deletions
+15
View File
@@ -0,0 +1,15 @@
package sync
import "fmt"
// SyncQtSettings pulls qt_settings (tab_config, config_types, etc.) from
// MariaDB into the local cache so the configurator picks up server-driven
// category/tab changes without requiring a client rebuild.
func (s *Service) SyncQtSettings() error {
mariaDB, err := s.getDB()
if err != nil {
return fmt.Errorf("database not available: %w", err)
}
return s.localDB.SyncQtSettings(mariaDB)
}