| 2026-06-08 |
Feat: онлайн-загрузка SPA в Android-приложении через serverUrl из Preferences
Eugene Sukhodolskiy
committed
19 hours ago
|
Fix: splash screen иконка расплющена на Android 12+
...
- SplashScreen API (v31) требует иконку 288dp с контент area 192dp
- Старый layer-list 48dp был слишком мал — система растягивала bitmap
- Перегенерированы PNG по density: mdpi 288×288 / hdpi 432×432 / xhdpi 576×576 /
xxhdpi 864×864 / xxxhdpi 1152×1152, логотип 192dp центрирован
- Удалён неправильный drawable-v31/ic_splash.xml
Eugene Sukhodolskiy
committed
20 hours ago
|
Fix: Android статус бар overlay + splash screen размытость
...
- Custom layout/capacitor_bridge_layout_main.xml с fitsSystemWindows=true
(предотвращает контент за статус баром, override Capacitor bridge layout)
- MainActivity.java: сброс OnApplyWindowInsetsListener от SystemBars plugin,
установка fitsSystemWindows=true на CoordinatorLayout после super.onCreate()
- SplashScreen API 31+: values-v31/styles.xml с windowSplashScreenAnimatedIcon,
windowSplashScreenBackground, windowSplashScreenIconBackgroundColor
- drawable-v31/ic_splash.xml: layer-list с bitmap gravity=center для чёткой иконки
- styles.xml: windowOptOutEdgeToEdgeEnforcement=true для Android 15
Eugene Sukhodolskiy
committed
20 hours ago
|
Fix: splash screen иконка размытая на Android
...
- Перегенерированы splash.png из logo-cube-square.svg в нативном разрешении
- portrait: 360x640 / 540x960 / 720x1280 / 1080x1920 / 1440x2560
- landscape: 640x360 / 960x540 / 1280x720 / 1920x1080 / 2560x1440
- Логотип центрирован, фон #0f172a, размер логотипа пропорционален DPI
Eugene Sukhodolskiy
committed
20 hours ago
|
Fix: Android статус бар больше не перекрывает контент
...
- MainActivity.java: WindowCompat.setDecorFitsSystemWindows(window, true)
+ FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS / clear FLAG_TRANSLUCENT_STATUS
- styles.xml: добавлен android:windowOptOutEdgeToEdgeEnforcement=true
(opt-out от Android 15 enforced edge-to-edge)
- capacitor.config.json: adjustMarginsForEdgeToEdge: 'force'
(Capacitor 8 автоматически добавляет margins под system bars)
Eugene Sukhodolskiy
committed
20 hours ago
|
Fix: OAuth mobile flow + desktop auth + storage abstraction
...
- Desktop: initAccessToken() теперь вызывается всегда, не только в native
(исправлен бесконечный цикл логина на десктопе)
- Server: returnTo читается из сессии ДО handleCallback(), пока state живой
(исправлено: OAuth после авторизации не возвращал на mobile-bridge)
- Storage abstraction: единый адаптер storage.js (Preferences / localStorage)
- Navigation abstraction: единый navigation.js (redirectToOAuth, getOAuthReturnTo)
- AuthController::mobileBridge() — bridge page с intent:// deep link
- Android: custom MainActivity с Theme override, статус бар opaque
- Android: AndroidManifest intent-filter для shserv://auth/callback
- .gitignore: добавлен server/.env, удалён из tracking
Eugene Sukhodolskiy
committed
21 hours ago
|
Feat: Android-приложение на базе Vue SPA (Capacitor)
...
- Установлен Capacitor: core, CLI, Android platform, Preferences plugin
- Добавлена страница первичной настройки сервера (/mobile-setup) только для мобильного приложения
- Реализовано хранение адреса сервера в нативных Preferences (Capacitor)
- Динамический baseUrl для API-клиента через server-config.js
- Исправлены все auth-редиректы: теперь используют абсолютный URL с учётом serverUrl
- Добавлены мобильные meta-теги в index.html (viewport-fit=cover, theme-color, safe-area)
- CSS: запрет pull-to-refresh, поддержка safe-area-inset, tap-highlight
- Android: adaptive icon из логотипа, тёмный splash screen, разрешён cleartext traffic
- Android: название приложения 'Smart Home', package com.gnexus.shserv
- Скрипты: cap:sync и cap:android для удобной сборки
Eugene Sukhodolskiy
committed
1 day ago
|