b-dev-mobile
79e6b4ec83
mail: точные цвета тегов из макета (Работа/Позже/Личное)
...
Сняты пипеткой с «Почта · Список сообщений» (Figma):
Работа #DAEDD6/#28A413, Позже #F1EEE0/#C1B464, Личное #EFE4FB/#B574F7.
Раньше были приблизительные зелёный/коричневый/фиолетовый.
2026-07-08 09:36:52 +00:00
b-dev-mobile
696ed8d802
Дизайн Почты: теги письма в карточке списка (макет «Список сообщений»)
...
CI / verify (push) Failing after 3s
CI / release (push) Has been skipped
Строка письма уже карточная (аватар+имя+дата+тема) — близка к макету. Добавлены
цветные теги-пилюли (Работа/Позже/Личное) под темой (message.tags, MailTagChip).
Верхний бар (поиск+фильтр+compose) уже был. feature:mail компилируется.
2026-07-08 08:37:50 +00:00
b-dev-mobile
fd96ca89e6
Этап 1: version catalog (libs.versions.toml) — устранён дрейф версий
...
CI / verify (push) Has been cancelled
CI / release (push) Has been cancelled
- gradle/libs.versions.toml: единый источник версий (Gradle 9.3 авто-подхват).
- 15 module build.gradle мигрированы на libs.* (скриптом, регекс по group:name).
- Устранён дрейф: coroutines 1.8.1/1.10.1→1.10.1, coil 2.6.0/2.7.0→2.7.0,
lifecycle 2.8.1/2.8.7→2.8.7, activity-compose 1.9.0/1.10.1→1.10.1,
core-ktx 1.13.1/1.15.0→1.15.0. Firebase в core/push → bom (был explicit 24.0.1).
- Compose BOM в каталоге вместо дубля в каждом модуле.
Проверено: assembleRelease BUILD SUCCESSFUL, APK 53 МБ.
2026-07-07 23:53:30 +00:00
b-dev-mobile
ac438269c5
Этап 1: detekt (статанализ + ktlint-форматирование) с baseline
...
CI / verify (push) Has been cancelled
CI / release (push) Has been cancelled
- detekt 1.23.8 применён ко всем НАШИМ модулям (vendor-форк исключён),
+formatting-ruleset (обёртка ktlint). Совместим с Kotlin 2.3 (проверено).
- config/detekt/detekt.yml — настройки под наш код (LongMethod 120, MaxLine 140,
MagicNumber off — dp/цвета отдельно, FunctionNaming off — @Composable Заглавные).
- detekt-baseline.xml по модулям: ~403 текущих замечаний зафиксированы →
detekt зелёный, дальше ловит только НОВЫЕ. detekt в CI (ci.yml verify).
Проверено: detektBaseline + detekt BUILD SUCCESSFUL.
2026-07-07 23:36:40 +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
b90107a7fc
Этап 1: баги данных (test-first) — ICS-парсер, QR-пароль, курсор почты
...
Заведена тестовая инфраструктура (core:network junit) + 12 unit-тестов. Починено:
- ICS parseIcsInstant: суффикс Z → UTC (был локальным!), TZID учитывается, floating→локаль
- parseProps сохраняет параметры: несколько ATTENDEE не схлопываются, CN/PARTSTAT/ROLE
читаются (была порча участников при редактировании события → PUT на сервер)
- unescape single-pass (последовательные replace ломались на экранированном бэкслеше)
- CalDavClient.parseIcsInstant делегирует в CalendarIcs — устранён рассинхрон календарь↔задачи
- LoginFlowClient: маркер-парсер вместо split('&') — QR-пароль с &/: не теряется
- MailRepository/ViewModel/Models/Cache/Screen: курсор пагинации Int→Long (обрезка ~2038)
Проверено: 12 тестов зелёные (CalendarIcsTest 8 + LoginFlowClientTest 4) + assembleRelease OK.
2026-07-07 22:21:37 +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