> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Внутри десктопной оболочки

Страница загрузки, шлюз навигации, стек плагинов и справочник конфигурации.

## Страница загрузки

Окно сначала загружает встроенную страницу в apps/desktop/ui: она читает внедрённый __SUPASTACK_APP_URL__, пробует бэкенд с десятисекундным таймаутом и перенаправляет на него, когда он достижим. Недостижимый бэкенд рендерит состояние «Can't reach host» с кнопкой «Retry», которая также срабатывает при восстановлении сети, поэтому холодный старт никогда не показывает пустое окно. Параметр запроса ?target= упражняет страницу в обычном браузере.


## Нативные функции — плагины, а не IPC

Оболочка не регистрирует кастомных команд — каждая нативная возможность приходит через плагины Tauri: single-instance с функцией deep-link (которая маршрутизирует аргументы второго запуска на Windows и Linux), deep-link, window-state (только геометрия — масштаб и канал держат собственные сайдкары), opener, dialog, process (перезапуск после обновления), updater, autostart и global-shortcut, плюс функция tray-icon. Расширение оболочки означает добавление плагина и разрешения, а не форк UI webview.


## Шлюз навигации

Навигация остаётся для встроенных страниц оболочки, источника dev-сервера и точного настроенного источника приложения. Ссылки HTTP(S) без учётных данных, mailto: и tel: уходят через системный браузер через плагин opener; любая другая схема отменяется. Глубокая ссылка, прибывшая до существования окна, буферизуется в управляемом состоянии и применяется, когда оно появляется.


## Справочник конфигурации и возможностей

tauri.conf.json задаёт productName, version (поднимайте перед релизом — процесс может переопределить его), идентификатор (check:release-config требует сменить его с com.supastack.desktop), схему глубоких ссылок supastack, блок-сентинел апдейтера, цели бандла и значки-заглушки. capabilities/default.json выдаёт core:default плюс opener:allow-open-url — расширяйте его, только когда новому плагину нужно больше.


## Как тестируется оболочка

corepack pnpm --filter @supastack/desktop test проверяет синтаксис страницы загрузки и запускает юнит-набор Rust, покрывающий разрешение URL, глубокие ссылки, масштаб и логику каналов; typecheck запускает cargo check. Скрипты релиза на JavaScript покрыты vitest-наборами репозитория, а конвейер CI собирает реальные установщики на всех трёх операционных системах при каждом изменении.

```
corepack pnpm --filter @supastack/desktop typecheck
corepack pnpm --filter @supastack/desktop test
corepack pnpm --filter @supastack/desktop check:release-config
```


## Проверка и устранение неполадок

Запустите набор пакета после касания src-tauri, затем проверьте нативное поведение вручную на каждой целевой ОС — юнит-проверки доказывают правила, а не окно. Держите новое поведение оболочки внутри плагинов и пунктов меню, чтобы webview оставался обычным веб-приложением.


## Вперёд

[Обзор модулей](https://supastack.dev/ru/docs/modules.md)
