Skip to content

chore: sincronizar main con develop - #1

Merged
tohure merged 44 commits into
mainfrom
release/sync-develop
Jun 26, 2026
Merged

tohure merged 44 commits into
mainfrom
release/sync-develop

Conversation

@tohure

@tohure tohure commented Jun 26, 2026

Copy link
Copy Markdown
Owner

Objetivo

Actualizar main al estado actual de develop antes de continuar el desarrollo.

Cambios

  • CI consolidada: se reemplazan cd_develop.yml + cd_main.yml por un único ci.yml.
  • Fix CI: actions a Node 24 (checkout@v5, setup-java@v5) — silencia el warning de deprecación de Node 20.
  • Fix release: se trae el tracking de gradle-wrapper.jar (antes faltaba en main, lo que rompía ./gradlew en CI).
  • Trabajo acumulado de develop: food log + dashboard nutricional, notificaciones proactivas, perfil clínico, memoria de sesión, deps al día.

Notas

  • Resuelto el conflicto de ci.yml tomando la versión de develop.
  • Al hacer push a main se dispara release-main (AAB firmado → Firebase). Secrets ya configurados.

  - 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
tohure and others added 14 commits April 19, 2026 23:13
   (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
tohure merged commit 1418da0 into main Jun 26, 2026
5 checks passed
@tohure
tohure deleted the release/sync-develop branch June 26, 2026 03:29
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>
tohure added a commit that referenced this pull request Jul 5, 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant