Backup before removing hiddify references

This commit is contained in:
Hiddify User
2026-01-15 12:28:40 +03:00
parent f54603d129
commit 36d9e31236
231 changed files with 6648 additions and 1832 deletions

306
AUDIT_REPORT.md Normal file
View File

@@ -0,0 +1,306 @@
# 📋 Аудит проекта Umbrix v0.1.0 (build 100)
**Дата:** 29 декабря 2025 г.
**Flutter:** 3.24.0 (Stable)
**Платформа:** Android SDK 36.1.0
---
## ✅ Статус сборки
### 🎯 Успешно собрано
- **APK:** `build/app/outputs/flutter-apk/app-debug.apk`
- **Размер:** 223 MB (debug-режим с символами отладки)
- **Время сборки:** 11.4s (Gradle)
- **Bootstrap:** 2358ms
- **Статус:** ✅ Приложение запущено и работает на эмуляторе
---
## 📊 Статический анализ кода (Flutter Analyze)
### Общая статистика
- **Всего проблем:** 265
- **Категории:**
-**Errors:** 0 (критических ошибок нет)
- ⚠️ **Warnings:** ~30 (неиспользуемые импорты, мёртвый код)
- **Info/Hints:** ~235 (стилистика, рекомендации)
### Основные проблемы
#### ⚠️ Warnings (требуют внимания):
1. **Неиспользуемые импорты** (20+ файлов):
- `lib/features/per_app_proxy/overview/per_app_proxy_page.dart:5` - `go_router`
- `lib/features/home/widget/home_page.dart:15` - `active_proxy_notifier.dart`
- `lib/features/settings/widgets/advanced_setting_tiles.dart` - 3 импорта
- И другие...
2. **Неиспользуемые переменные**:
- `connection_button.dart:31` - `today`
- `system_tray_notifier.dart:64` - `destinations`
- `logs_overview_page.dart:31` - `debug`
- `about_page.dart:28` - `appUpdate`
- И другие...
3. **Мёртвый код (Dead code)**:
- `profile_notifier.dart:117` - `false && ...` (всегда false)
- `qr_code_scanner_screen.dart:143` - недостижимый код
- `system_tray_notifier.dart:184` - недостижимый код
4. **Go lang warning**:
- `libcore/config/server.go:46` - impossible condition: `nil != nil`
#### Info (рекомендации по стилю):
- Отсутствие `const` конструкторов (~100 мест)
- Отсутствие trailing commas (~50 мест)
- Использование deprecated API (~10 мест)
- Generated код (protobuf) - игнорируется
---
## 📦 Зависимости
### Устаревшие пакеты (требующие обновления):
#### Критичные (серьёзно устарели):
- `flutter_adaptive_scaffold`: 0.1.12 → **0.3.3+1** (discontinued! ⚠️)
- `go_router`: 13.2.5 → **17.0.1** (+3 мажорные версии)
- `grpc`: 3.2.4 → **5.1.0** (+2 мажорные версии)
- `hooks_riverpod`: 2.6.1 → **3.1.0**
- `freezed_annotation`: 2.4.4 → **3.1.0**
- `riverpod_annotation`: 2.6.1 → **4.0.0**
- `protobuf`: 3.1.0 → **6.0.0** (+3 мажорные версии)
#### Рекомендуемые к обновлению:
- `mobile_scanner`: 5.2.3 → 7.1.4
- `package_info_plus`: 5.0.1 → 9.0.0
- `sentry_flutter`: 7.20.2 → 9.9.1
- `share_plus`: 7.2.2 → 12.0.1
- `slang`: 3.32.0 → 4.11.1
- `upgrader`: 9.0.0 → 12.3.0
- `window_manager`: 0.3.9 → 0.5.1
- `wolt_modal_sheet`: 0.4.1 → 0.11.0
#### Dev dependencies:
- `build_runner`: 2.4.13 → 2.10.4
- `dependency_validator`: 3.2.3 → 5.0.3
---
## 🔧 Конфигурация линтера
**Файл:** `analysis_options.yaml`
### Используемые плагины:
-`package:lint/strict.yaml` (строгие правила)
-`custom_lint` с `provider_parameters`
### Исключения:
- `libcore/**` (Go код)
- `**.g.dart` (сгенерированный код)
- `lib/gen/**` (переводы)
### Отключенные правила:
- `sort_pub_dependencies: false`
- `sort_unnamed_constructors_first: false`
- `avoid_classes_with_only_static_members: false`
---
## 🌍 Переводы (i18n)
### Статус: ✅ Полная локализация
**Поддерживаемые языки:** 11
- 🇸🇦 ar (арабский)
- 🇬🇧 en (английский - базовый)
- 🇪🇸 es (испанский)
- 🇮🇷 fa (персидский)
- 🇫🇷 fr (французский)
- 🇮🇩 id (индонезийский)
- 🇧🇷 pt-BR (португальский)
- 🇷🇺 ru (русский) ✨
- 🇹🇷 tr (турецкий)
- 🇨🇳 zh-CN (китайский упрощенный)
- 🇹🇼 zh-TW (китайский традиционный)
**Генератор:** slang v3.32.0 (можно обновить до 4.11.1)
**Время генерации:** 0.229s
**Статус:** Все ключи переведены, включая:
-`excludedDomains` (добавлены для id, pt-BR, zh-TW в этой сессии)
-`proxies.pageTitle` изменено с "Proxies" на "Locations" во всех языках
---
## 🛠️ Flutter Doctor
### ✅ Работающие компоненты:
- Flutter SDK 3.24.0 (stable)
- Android toolchain SDK 36.1.0
- Android Studio 2025.1.3
- VS Code 1.106.3 / 1.108.0-insider
- Connected devices (2)
- Network resources
### ❌ Отсутствующие (для полной поддержки):
- Chrome (для web-разработки)
- Linux toolchain (clang++, CMake, ninja)
---
## 📝 Git Status
### Изменённые файлы:
- `.gitignore`
- `android/app/build.gradle`
- `android/app/src/main/AndroidManifest.xml`
### Удалённые файлы (ребрендинг):
- Старый пакет: `com.hiddify.hiddify`
- Новый пакет: `com.umbrix.app`
- Удалено ~50 Kotlin файлов из старого namespace
---
## 🎨 UI Изменения (текущая сессия)
1. **Размер шрифта:**
- Description: 12px (было: default)
- Buttons: 13px (было: default)
- Цель: уместить русский текст в одну строку
2. **Переводы:**
- Кнопка "Proxies" → "Локации" (все языки)
- Добавлен раздел "Exclusions" для id, pt-BR, zh-TW
---
## 🚀 Рекомендации
### 🔴 Критично (сделать в ближайшее время):
1. **Удалить неиспользуемые импорты:**
```bash
dart fix --apply
```
2. **Обновить discontinued пакет:**
- Заменить `flutter_adaptive_scaffold` на актуальную альтернативу
3. **Исправить мёртвый код:**
- `profile_notifier.dart:117` - убрать `false &&`
- Другие dead code warnings
### 🟡 Важно (планировать):
4. **Major updates пакетов:**
- Обновить Riverpod 2.x → 3.x (breaking changes!)
- Обновить go_router 13.x → 17.x
- Обновить protobuf 3.x → 6.x
- Обновить grpc 3.x → 5.x
5. **Размер APK (223 MB):**
- Создать release build для оптимизации
- Проверить, нет ли лишних ресурсов
- Использовать app bundle вместо APK
### 🟢 Желательно (улучшения):
6. **Добавить const конструкторы** (производительность)
7. **Добавить trailing commas** (читаемость)
8. **Обновить deprecated API:**
- `AutoDisposeRef` → `Ref`
- `SingboxServiceRef` → `Ref`
- `package:drift_dev/api/migrations.dart`
9. **Linux support:**
```bash
sudo apt install clang cmake ninja-build
```
---
## 🧪 Плагины для проверки
### Уже используются:
- ✅ `flutter analyze` (встроенный статический анализатор)
- ✅ `custom_lint` (кастомные правила для Riverpod)
- ✅ `package:lint/strict.yaml` (строгие правила)
### Рекомендуемые дополнительно:
1. **dart_code_metrics** (DCM)
```yaml
dev_dependencies:
dart_code_metrics: ^5.7.6
```
- Циклическая сложность
- Метрики кода
- Anti-patterns
2. **flutter_lints**
```yaml
dev_dependencies:
flutter_lints: ^4.0.0
```
- Более современная альтернатива lint
3. **very_good_analysis**
```yaml
dev_dependencies:
very_good_analysis: ^5.1.0
```
- Еще более строгие правила от Very Good Ventures
4. **Dependency checkers:**
```bash
flutter pub run dependency_validator
```
- Проверка неиспользуемых зависимостей
5. **Security audit:**
```bash
flutter pub run pubspec_dependency_analyzer
```
---
## 📈 Итоговая оценка
| Критерий | Оценка | Комментарий |
|----------|--------|-------------|
| **Сборка** | ✅ 10/10 | Собирается без ошибок |
| **Код-стиль** | ⚠️ 6/10 | 265 замечаний, но нет критичных |
| **Зависимости** | ⚠️ 5/10 | Много устаревших пакетов |
| **Локализация** | ✅ 10/10 | 11 языков, все ключи переведены |
| **Размер APK** | ⚠️ 6/10 | 223 MB (debug), нужен release |
| **Тесты** | ❓ N/A | Требует проверки |
| **Документация** | ✅ 8/10 | README есть, можно улучшить |
### Общая оценка: ⚠️ 7.5/10
**Вывод:** Проект в хорошем состоянии, основные проблемы - устаревшие зависимости и стилистические замечания линтера. Критических ошибок нет, приложение работает стабильно.
---
## 🎯 План действий
### Этап 1 (Немедленно):
- [ ] Запустить `dart fix --apply`
- [ ] Удалить неиспользуемые импорты вручную
- [ ] Исправить dead code
### Этап 2 (На этой неделе):
- [ ] Собрать release APK
- [ ] Проверить размер release build
- [ ] Обновить minor версии пакетов
### Этап 3 (Планирование):
- [ ] Протестировать major updates
- [ ] Заменить discontinued пакеты
- [ ] Добавить DCM метрики
---
**Отчёт сгенерирован:** GitHub Copilot
**Версия приложения:** Umbrix v0.1.0 (100)