# Диагностика проблем с клиентским ПО

## Быстрая проверка работоспособности

1. Перезапустите браузер.
2. В адресной строке введите `gs-global3-cmd:version`.
3. Далее действуйте в зависимости от реакции браузера:
   - **Если появился запрос на открытие приложения** — плагин зарегистрирован корректно. Разрешите запуск: откроется окно приложения, в котором отобразится версия плагина.
   - **Если браузер показывает результаты поиска в интернете** — плагин не установлен или не зарегистрирован. Перейдите к [Установке плагина](/100_extension/010_install_solo.md).
4. **(Опционально, для Linux или отладки)** Проверка версии альтернативными способами:
   - Через консоль: выполните команду `plugin_chrome --version`.
   - Через файловую систему: откройте файл `version` в директории установки плагина — в нём содержится актуальная версия.
5. Убедитесь, что плагин и расширение расположены в корректной директории. [Расположение файлов и логов](#расположение-файлов-и-логов).

Если быстрая проверка не помогла - перейдите к [Проверка расширения в браузере](#проверка-расширения-в-браузере)

## Проверка расширения в браузере

1. В адресной строке браузера введите:
    - Для Google Chrome:
        ```
        chrome://extensions
        ```
    - Для Яндекс:
        ```
        browser://extensions/
        ```    

```{note}
Если установка была через групповые политики, то стоит проверить что [политики были применены к браузеру](/100_extension/020_install_domain_windows.md#проверка-применения-политик).
```

2. Найдите в списке установленных расширений Global System Browser Extension.  
Расширение должно быть версии не ниже 0.19.5. Актуальную версию можно проверить в настройках расширения или в магазине расширений вашего браузера.

**Таблица статусов расширения**

| Сценарий | Действие |
|--------------|----------|
| Расширение отсутствует | Перейдите к разделу [Установка расширения](/100_extension/010_install_solo.md#установка-расширения) |
| Расширение отключено | Включите его переключателем |
| Восклицательный знак на иконке | Нажмите **«Подробнее»**, прочтите предупреждение; при необходимости включите **«Режим разработчика»** |
| Установлено несколько копий | Оставьте одну, остальные удалите |
| Яндекс.Браузер предлагает отключить | Зайдите в расширения и включите обратно вручную |

**Проверка идентификатора расширения**

Сравните ID расширения с допустимыми значениями:

| ОС | Допустимые идентификаторы |
|----|---------------------------|
| Windows | `kffgbppgbjhblemlkkdhklghbookfifg` или `ngfgcgjklkfnbpandhelhehghbfbebai` |
| Linux | `bjfeojpgbhkdneodlmllhjdgnenamiej` или `cfacnoakkigaagggaccamihiiabjoiog` или `ngfgcgjklkfnbpandhelhehghbfbebai` |

Если ID не совпадает — обратитесь к администратору для проверки синхронизации манифестов.

## Известные проблемы и решения

| Симптом | Возможная причина | Решение |
|---------|------------------|---------|
| Ошибка при запуске `install.cmd` | Нет прав администратора | Запустите консоль/скрипт от имени администратора |
| Плагин перестал работать после перезагрузки | Групповые политики откатывают реестр | Повторите регистрацию, обратитесь к админу для обновления бэкапа реестра |
| Диалог «Устанавливает соединение...» без ответа | Блокировка фаерволом/антивирусом | Проверьте правила брандмауэра, добавьте исключения, приложите логи |
| Яндекс.Браузер предлагает отключить расширение | Политика безопасности браузера | Откройте `chrome://extensions` и включите расширение вручную |
| Расширение не загружается вручную | Неверный путь или структура папки | Убедитесь, что выбираете именно папку `extension` с файлом `manifest.json` внутри |
| Ошибки копирования при установке | Антивирус блокирует файлы | Добавьте папку установки в исключения антивируса |

## Если ничего не помогло

Подготовьте для анализа:

1. **Для Windows:**  
Скриншот консоли после запуска `install.cmd`.    
**Для Linux:**  
Скриншот: терминал после выполнения `sudo apt-get install`.  
**Для групповых политик:**  
Скриншот результата выполнения команды [проверки применения политик](/100_extension/020_install_domain_windows.md#проверка-применения-политик).
2. Файлы логов из папки:
   - Windows: `%LOCALAPPDATA%\global-erp\gs3-browser-cmd\logs`
   - Linux: `~/.global-erp/gs3-browser-cmd/logs`
3. Версию браузера и ОС.
4. Пошаговое описание действий, после которых возникает проблема.
5. Скриншот страницы `chrome://extensions` с видимым идентификатором расширения.
6. Информацию об установленной сборки (для Linux ALT):
   - Выполните команду: rpm -qa | grep globalerp
   - Приложите вывод команды (текстом или скриншотом)

## Расположение файлов и логов

### Windows

| Компонент | Путь |
|-----------|------|
| Плагин | `%ProgramFiles%\GlobalERP\Gs3-browser-cmd` |
| Расширение | `%ProgramFiles%\GlobalERP\Gs3-browser-cmd\extension` |
| Логи плагина | `%LOCALAPPDATA%\global-erp\gs3-browser-cmd\logs` |

### Linux

| Компонент | Путь (zip) | Путь (rpm/deb) | Путь (брендированные сборки) |
| :--- | :--- | :--- | :--- |
| Плагин | `/lib/gs3-browser-cmd` | `/opt/global-erp/desktop-agent` | `/opt/global-erp/[brand]-desktop-bundle` |
| Расширение | `/lib/gs3-browser-cmd/extension` | `/opt/global-erp/browser-extension` | `/opt/global-erp/[brand]-desktop-bundle/extension` |
| Логи плагина | `~/.global-erp/gs3-browser-cmd/logs` | `~/.global-erp/gs3-browser-cmd/logs` | `~/.global-erp/gs3-browser-cmd/logs` |

```{note}
Для брендированных сборок под конкретные регионы путь установки может отличаться.  
Переменная `[brand]` заменяется на идентификатор бренда (например, `sng` для сборки СНГ).  
Актуальные пути уточняйте в спецификации поставки.
```

## Примечания для технических специалистов

- Идентификаторы расширений могут различаться в зависимости от ОС и способа сборки — сверяйтесь с актуальной документацией.
- При обновлении плагина убедитесь, что версия расширения в `manifest.json` соответствует ожидаемой.
- Для отладки протокола можно использовать инструменты разработчика браузера (вкладка Console при вызове `gs-global3-cmd:*`).
- Логи плагина содержат детализацию обработки команд — полезны при диагностике «молчаливых» сбоев.
- При установке через `install(.sh/.cmd)` или пакетные менеджеры (MSI, RPM, DEB) ошибки выводятся в консоль — фиксируйте вывод для анализа.