From 78f4ace5b8e299ae996dcf51a89181763647f2e5 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 28 May 2026 16:41:27 +0600 Subject: [PATCH] 2026-05-28 naisei: Android vault validation milestone + open issues --- personal/projects/nolvu-reflect-skip.md | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/personal/projects/nolvu-reflect-skip.md b/personal/projects/nolvu-reflect-skip.md index 6192c885..a045568d 100644 --- a/personal/projects/nolvu-reflect-skip.md +++ b/personal/projects/nolvu-reflect-skip.md @@ -13,7 +13,7 @@ tags: - psychology - skip-tools created: '2026-05-17' -updated: '2026-05-25' +updated: '2026-05-28' related: - "[[personal/projects/psychologist-app/overview]]" - "[[personal/projects/psychologist-app/dev-setup]]" @@ -25,7 +25,7 @@ related: - Активная кодовая база: `~/Developer/reflect-skip/` - Android: публикуется на `https://reflect.qentra.top` (F-Droid) - iOS: собирается через `Project.xcworkspace` → `Darwin/ReflectApp.xcodeproj` -- Текущая версия: v0.0.25 +- Текущая версия: v0.0.92 (Android APK), v0.0.25 (iOS) ## Структура проекта @@ -52,6 +52,25 @@ related: - **AnalystBot** — задаёт 2-3 глубоких вопроса по профилю + контексту сессии - **SessionManager** — управляет историей сессий +## Исправления (v0.0.92, 28 мая 2026) — Android vault validation + +### Веха: Android onboarding работает +✅ Алерт валидации vault отображается корректно +✅ Кнопки появились после выбора папки +✅ Дошли до экрана "Доброе утро" + +### Fix — @AppStorage вместо @State для UI-обновлений на Android +**Проблема:** `@State var folderPickerError: String?` и `@State var vaultFound: Int?` не триггерили Compose recompose в SkipFuse bridge. +**Симптом:** алерт не появлялся, кнопки не обновлялись, хотя логика SAF выполнялась. +**Исправление:** заменили на `@AppStorage("_vaultErr")` и `@AppStorage("_vaultFound")` — идут через SharedPreferences → всегда триггерят Compose recompose. +**Файл:** `Sources/naisei/Views/OnboardingView.swift` + +### Открытые проблемы (v0.0.92) +- ❌ На главном экране "0 сессий", "0 дней" +- ❌ Профиль и Инсайты пустые +- ❌ Агент при начале сессии говорит "нет данных" (не видит vault) +- **Гипотеза:** vault URI сохраняется, но ProfileManager/SessionManager читают данные не через SAF URI, а по прямому пути — на Android без SAF доступа путь недоступен + ## Исправления (v0.0.25, май 2026) ### Fix 1 — дублирование нарратора