Release 1.3.1 (build 20): iCloud sync fix + sources search/filter

iCloud sync:
- Fix: deploy CloudKit schema to production so exports work
- Fix: PredictionCache marked syncable=NO (binary attr caused partial failures)
- Fix: forceExportToiCloud uses createdAt+1ms for guaranteed persistent history
- Fix: auto-deduplication on CloudKit import (processRemoteChanges)
- Add: NSPersistentHistoryTrackingKey always enabled regardless of CloudKit state
- Add: cloudKitForceReload notification so repositories re-fetch on remote changes

Sources UI:
- Add: horizontal category filter chips in SourceListView
- Add: search toggle button with animated TextField

Other:
- Add: ITSAppUsesNonExemptEncryption=NO in Info.plist (skip manual compliance)
- Add: fastlane submit lane with run_precheck_before_submit=false
- Update: release notes all locales for 1.3.1
- Update: fastlane API key via pass

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
alexandrev-tibco
2026-05-07 22:19:33 +02:00
parent 8acac3d529
commit 773da6800b
23 changed files with 524 additions and 144 deletions
@@ -222,6 +222,23 @@
"onboarding_add_first_source" = "Añadir mi primera inversión";
"onboarding_import_data" = "Importar datos existentes";
// MARK: - iCloud Sync Status (1.3.1)
"Force Upload to iCloud" = "Forzar subida a iCloud";
"Uploading..." = "Subiendo...";
"No export yet" = "Aún no exportado";
"Syncing with iCloud..." = "Sincronizando con iCloud...";
"Not synced yet" = "Aún no sincronizado";
"Refresh" = "Actualizar";
// MARK: - iCloud Diagnostics (1.3.1)
"Verify iCloud Setup" = "Verificar configuración iCloud";
"Checking…" = "Comprobando…";
// MARK: - Sources Filter & Search (1.3.1)
"sources_filter_all" = "Todas";
"Search sources" = "Buscar fuentes";
"Clear Filters" = "Limpiar filtros";
// MARK: - AddSourceView (1.3.0)
"add_source_name_placeholder" = "p.ej. ETF MSCI World, Cuenta ING, Piso...";
"add_source_name_footer" = "Una fuente es cualquier inversión que quieras seguir: acciones, ETFs, cuentas de ahorro, inmuebles, cripto y más.";