b-dev-mobile
d1d61d0cf8
ux: pull-to-refresh на всех списках (Этап 2 п.12)
...
Раньше свайп-обновление было только в Файлах. Добавлено (Material3
PullToRefreshBox): Почта (входящие/исходящие, force-обновление), Конференции
(список бесед — заменяет убранную кнопку ↻), Контакты (force + CTag — дёшево),
Задачи (список), Карточки (доски и открытая доска). Контакты: refresh()
получил параметр force (pull-to-refresh форсит sync мимо TTL; с CTag-проверкой
это 1 лёгкий PROPFIND).
2026-07-09 12:48:08 +00:00
b-dev-mobile
342e1e497d
ui: убрана кнопка «чаты» в панели и кнопка обновления в Конференциях
...
- Нижняя панель: слева всегда «назад» (кнопки чатов больше нет; в
Конференциях раньше был чат-слот) — единый layout во всех разделах.
- Экран Конференций: убран onRefresh у F7ModuleScreen → нет кнопки ↻
сверху справа (список грузится при открытии и по push).
2026-07-08 17:45:34 +00:00
b-dev-mobile
8c3d422c85
talk: подложка чата из дизайна (Подложка2), локальный webp
...
TalkChatBackground грузил chat-pattern.svg с сервера поверх плоского фона.
Заменил на бандл-ресурс R.drawable.chat_background (светлый градиент +
паттерн иконок из Figma, Подложка2) — офлайн и точно из макета.
PNG 481КБ → WebP 49КБ (q82). ContentScale.Crop, full-bleed.
2026-07-08 09:33:31 +00:00
b-dev-mobile
ab8fa70e51
Этап 1: единый OkHttpClient ч.2 — 401 централизован через interceptor
...
CI / verify (push) Has been cancelled
CI / release (push) Has been cancelled
- UnauthorizedInterceptor (401→UnauthorizedException) в NetworkFactory,
флаг throwOnUnauthorized (по умолчанию true).
- Удалены 75 ручных проверок if(code==401) throw в 16 репозиториях.
- AuthVerifier (login-верификация) исключён: throwOnUnauthorized=false —
401 = 'неверный пароль' со своим сообщением, не session-expired.
- Побочно: 401 теперь ловится единообразно ВЕЗДЕ (включая пути, что раньше
забывали проверку).
- +3 MockWebServer-теста (401 бросает; 200/403 проходят) — всего 18 тестов.
Проверено: 18 тестов зелёные + assembleRelease BUILD SUCCESSFUL, APK 53 МБ.
2026-07-07 23:29:49 +00:00
b-dev-mobile
51fd1bf936
Этап 0 п.3: безопасность-минимум (trust-all off в release, шифрование пароля, allowBackup, ревокация)
...
1. trust-all TLS отключён в release: гейт if(!BuildConfig.DEBUG) в UnsafeSsl +
OfficeWebViewClient + TalkCallActivity; чекбокс скрыт в release. buildConfig
включён в core:network и feature:talk.
2. allowBackup=false (tools:replace поверх vendor true).
3. app password шифруется в покое AndroidKeystore AES-256-GCM (KeystoreCrypto),
AuthStore мигрирует legacy-plaintext при первом load. Биометрия — отдельная
задача (ломает фоновые push/звонки, нужен кэш в памяти).
4. Ревокация app password при logout (AppPasswordRevoker, DELETE core/apppassword,
best-effort).
Проверено: assembleRelease 53 МБ, подпись v2+v3, allowBackup=false в манифесте OK.
2026-07-07 19:51:23 +00:00
b-dev-mobile
6a07f1f40a
v0.5.114: убраны зашитые касания боевых хостов ячейки A (mail/035)
...
- дефолт-URL экрана входа -> BuildConfig.DEFAULT_SERVER_URL (-Pf7DefaultServerUrl, по умолчанию пусто)
- TalkHelper: preconnect только к origin сессии, хардкод hpb-prod.f7cloud.ru удалён
- AuthErrors: нейтральный пример адреса сервера
2026-07-07 10:04:11 +00:00
F7cloud Mobile
fd17df80a8
Initial import of f7cloud-mobile native Android app.
...
Kotlin/Compose client for F7cloud (mail, files, talk, calendar, contacts, tasks, support).
Current version: 0.5.113 (build 121).
2026-07-07 12:05:18 +03:00