chore: sincronizar main con develop - #1
Merged
Merged
Conversation
…radle for agp 9.1.0
…ync layer, real data in Dashboard
- Replace IconButton with Box+clickable for send, camera and gallery (removes internal padding) - Replace OutlinedTextField with BasicTextField for compact chat input - Fix send arrow size and optical centering - Fix buildContext() race condition with job cancellation - Fix contextReady=true on error in ChatViewModel - Add deinit to ChatViewModelWrapper to prevent memory leak - Compute activeRestrictions once at construction (not on every access) - Add synced column indexes to FoodLog, HealthMetrics and Recommendation
(BGTaskScheduler)
- Morning advice notification with configurable time (WorkManager
periodic + BGAppRefreshTask)
- NotificationSettingsScreen (Android ModalBottomSheet) and
NotificationSettingsView (iOS sheet)
- Shared NotificationSettingsViewModel, NotificationPrefs
(commonMain/androidMain/iosMain)
- GenerateMorningAdviceUseCase: Gemini-powered personalized
nutritional advice
- BootReceiver reschedules WorkManager after device reboot
- ScreenHeader reusable composable for consistent headers across
Android screens
- Fix koinViewModel (was koinInject) to prevent ViewModel recreation
on recomposition
- Fix BGTask memory leak: cancel Swift Task on expirationHandler,
reschedule after setTaskCompleted
- Add retry logic (up to 2 attempts) in MorningAdviceWorker on
Gemini failure
- Add range validation (init require) in NotificationSettings domain
model
- Fix NSUserDefaults null checks for morningMinute + coerceIn for
both platforms
- Fix ktlint: remove unused parametersOf import in UseCaseModule,
fix chain-wrapping in ClinicalProfile
Food Log automático: - Chat detecta [FOODLOG:] y [CHECKIN:] via Gemini y muestra chips de confirmación - EstimateFoodNutritionUseCase: macros estimados por Gemini, guardados en SQLDelight+Supabase - Dashboard: card de nutrición diaria con calorías, macros y micronutrientes - Botones ¿Qué como hoy? y +Agregar navegan al tab de chat en iOS y Android Dashboard fixes: - Recarga al cambiar de tab (LaunchedEffect + onAppear directo sin esperar permisos) - Health sync en try-catch interno para no bloquear carga de food logs - iOS: TabView con selección programática (selectedTab binding en ContentView) Memoria entre sesiones: - BuildContextUseCase formatea recomendaciones como narrativa activa con hora y macros - Food logs del día incluyen kcal/macros en el contexto de Gemini - System prompt: tags obligatorios con prioridad explícita + sección continuidad - System prompt: reglas PANTRY y FOODLOG clarificadas con ejemplos y casos de NO usar
- Subir Kotlin 2.4.0, AGP 9.2.1, Compose 1.11.1, Ktor 3.5.1,
Supabase 3.6.0, Koin 4.2.2, coroutines 1.11.0, immutable collections 0.5.0
- Alinear KMP-NativeCoroutines en 1.0.4 (Gradle + SPM) y versionar Package.resolved
Silencia el warning de deprecación de Node.js 20 en GitHub Actions subiendo actions/checkout y actions/setup-java a v5.
Actualiza main al estado de develop: CI consolidada en un solo ci.yml (con actions en Node 24), tracking de gradle-wrapper.jar, food log, notificaciones proactivas, perfil clínico y dependencias al día. Elimina los workflows obsoletos cd_develop.yml y cd_main.yml, reemplazados por ci.yml. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
tohure
added a commit
that referenced
this pull request
Jun 30, 2026
Consolida develop en main: modelos Gemini 3.1 Flash-Lite (#2) y migración a AndroidX Compose (#3). Resuelve los conflictos fantasma del squash previo (PR #1) tomando develop como fuente de verdad; main queda idéntico a develop y el historial queda reconciliado. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Objetivo
Actualizar
mainal estado actual dedevelopantes de continuar el desarrollo.Cambios
cd_develop.yml+cd_main.ymlpor un únicoci.yml.checkout@v5,setup-java@v5) — silencia el warning de deprecación de Node 20.gradle-wrapper.jar(antes faltaba enmain, lo que rompía./gradlewen CI).develop: food log + dashboard nutricional, notificaciones proactivas, perfil clínico, memoria de sesión, deps al día.Notas
ci.ymltomando la versión dedevelop.mainse dispararelease-main(AAB firmado → Firebase). Secrets ya configurados.