Files
glchat/desktop/src-tauri/src/autostart.rs
T
grendervill cffcec72b8 feat(desktop): обёртка Tauri 2 вокруг веб-клиента
Первый инкремент Фазы 6 (docs/client-tauri.md): окно с тем же веб-клиентом
(по умолчанию https://gl.mhspx.su, адрес настраивается), трей с меню и
индикатором непрочитанных, нативные уведомления, глобальный push-to-talk и
переключение микрофона/deafen, автозапуск, single-instance, сохранение
геометрии окна, deep links glchat://…, автообновление по подписанному
манифесту.

Связь страницы с обёрткой — через платформенный адаптер
(web/src/lib/platform.ts) и минимальный типизированный набор команд;
в веб-клиенте появились системные уведомления об упоминаниях и личных
сообщениях и переключатель в настройках.

В web/src/stores/gateway.ts вместе с вызовом уведомления лежат правки по
дефектам realtime (READY и сессии) из параллельной волны: файл коммитится
целиком по договорённости с координатором.
2026-09-22 21:46:01 +03:00

26 lines
1.1 KiB
Rust

//! Автозапуск приложения (docs/client-tauri.md §5).
//!
//! Запуск идёт с аргументом `--minimized`: приложение поднимается свёрнутым в
//! трей и не перебивает работу пользователя окном.
use tauri::{AppHandle, Runtime};
use tauri_plugin_autostart::ManagerExt;
/// Аргумент командной строки для запуска свёрнутым в трей.
pub const MINIMIZED_ARG: &str = "--minimized";
/// Приводит системный автозапуск в соответствие с настройкой.
pub fn apply<R: Runtime>(app: &AppHandle<R>, enabled: bool) -> Result<(), String> {
let manager = app.autolaunch();
let current = manager.is_enabled().unwrap_or(false);
if current == enabled {
return Ok(());
}
let result = if enabled {
manager.enable()
} else {
manager.disable()
};
result.map_err(|error| format!("не удалось изменить автозапуск: {error}"))
}