# User Settings API user_settings хранит технические настройки пользователя только на его единственном действующем access-сервере. Межсерверной синхронизации настроек нет. При смене access-сервера старые настройки автоматически не переносятся. ## Подпись UI формирует строку: SHiNe/UserSettings:||||| и подписывает её текущим Ed25519 clientKey пользователя. Сервер: 1. находит пользователя; 2. проверяет совпадение client_key с актуальным ключом пользователя; 3. строго проверяет подпись; 4. при неверной подписи возвращает INVALID_SIGNATURE; 5. сохраняет запись только если time_ms новее локальной версии. ## Операции ### UpsertUserSetting Обязательные поля: - login; - setting_type; - setting_key; - time_ms; - client_key; - signature. Значения: - value_text — строковое значение, по умолчанию пустая строка; - value_num — числовое значение, по умолчанию 0. Поля sync_delivery и synced удалены. ### GetUserSetting Возвращает одну локальную настройку по login, setting_type и setting_key. ### ListUserSettings Возвращает все локальные настройки пользователя. ## Удалённые операции После перехода на один access-сервер удалены: - UserSettingsSyncBatch; - MarkAllUserSettingsUnsynced. Также удалены таблица peer-cursor и периодический сервис синхронизации настроек.