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
+1 -1
View File
@@ -1 +1 @@
app_version "1.3.0"
app_version "1.3.1"
+29 -4
View File
@@ -1,8 +1,5 @@
default_platform(:ios)
# Credentials via `pass`
# export FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD=$(pass show appstore/apple-app-specific-password)
platform :ios do
EXPORT_OPTIONS = {
method: "app-store",
@@ -14,9 +11,19 @@ platform :ios do
}
}
def api_key
app_store_connect_api_key(
key_id: sh("pass show appstore/api-key-id", log: false).strip,
issuer_id: sh("pass show appstore/issuer-id", log: false).strip,
key_content: sh("pass show appstore/api-key-p8", log: false).strip,
is_key_content_base64: false
)
end
desc "Upload metadata and release notes only (binary already uploaded)"
lane :metadata do
deliver(
api_key: api_key,
metadata_path: "fastlane/metadata",
skip_screenshots: true,
skip_binary_upload: true,
@@ -30,7 +37,24 @@ platform :ios do
scheme: "PortfolioJournal",
export_options: EXPORT_OPTIONS
)
upload_to_testflight(skip_waiting_for_build_processing: true)
upload_to_testflight(
api_key: api_key,
skip_waiting_for_build_processing: true
)
end
desc "Submit already-uploaded build for App Store review (binary already in TestFlight)"
lane :submit do
deliver(
api_key: api_key,
metadata_path: "fastlane/metadata",
skip_screenshots: true,
skip_binary_upload: true,
submit_for_review: true,
automatic_release: false,
run_precheck_before_submit: false,
force: true
)
end
desc "Build, export and push a new release to the App Store"
@@ -40,6 +64,7 @@ platform :ios do
export_options: EXPORT_OPTIONS
)
upload_to_app_store(
api_key: api_key,
metadata_path: "fastlane/metadata",
skip_screenshots: true,
force: true
+5 -6
View File
@@ -1,7 +1,6 @@
Verbessertes Onboarding und monatliche Erinnerungen:
Verbesserungen bei iCloud-Sync und Quellenverwaltung:
Neu gestaltete Ersteinrichtung — eine klare Aktion zum Hinzufügen deiner ersten Investition, ohne unnötige Schritte
Monatliche Erinnerungen — optionale Benachrichtigungen, damit du das monatliche Portfolio-Update nicht vergisst
Charts-Vorschau — kostenlose Nutzer sehen, welche Charts verfügbar sind, bevor sie upgraden
Verbesserter Paywall — eine echte Portfolio-Grafik zeigt, wie der Vollzugang aussieht
• Klarere Quelleneinrichtung — kurze Erklärung beim Erstellen deiner ersten Anlageposition
iCloud-Syncdeine Daten synchronisieren sich jetzt zuverlässig auf allen Apple-Geräten
Quellensuche — finde jede Quelle schnell nach Namen
Kategoriefilter — filtere deine Quellen nach Anlageklasse
Fehlerbehebungen und Leistungsverbesserungen
+5 -6
View File
@@ -1,7 +1,6 @@
Smarter onboarding and monthly reminders:
iCloud sync and source management improvements:
Redesigned first-run experiencea single clear action to add your first investment, no setup friction
Monthly reminders — optional notifications so you never forget your monthly portfolio update
• Charts preview — free users now see which charts are available before upgrading
Improved paywall — a live portfolio chart preview shows what full access looks like
• Clearer source setup — added a short description when creating your first investment source
iCloud sync — your data now syncs reliably across all your Apple devices
Source search — quickly find any source by name
• Category filters — filter your sources by asset category
Bug fixes and performance improvements
+5 -6
View File
@@ -1,7 +1,6 @@
Incorporación más clara y recordatorios mensuales:
Mejoras en la sincronización iCloud y la gestión de fuentes:
Primera experiencia rediseñada — una acción clara para añadir tu primera inversión, sin pasos innecesarios
Recordatorios mensuales — notificaciones opcionales para no olvidar actualizar tu portfolio cada mes
Vista previa de gráficos — los usuarios gratuitos ven qué gráficos están disponibles antes de desbloquear
Paywall mejorado — un gráfico real de portfolio muestra cómo se ve el acceso completo
• Configuración de fuentes más clara — descripción breve al crear tu primera fuente de inversión
Sincronización iCloud — tus datos se sincronizan de forma fiable en todos tus dispositivos Apple
Búsqueda de fuentes — encuentra cualquier fuente por nombre rápidamente
Filtros por categoría — filtra tus fuentes por tipo de activo
Correcciones de errores y mejoras de rendimiento
+5 -6
View File
@@ -1,7 +1,6 @@
Intégration améliorée et rappels mensuels :
Améliorations de la synchronisation iCloud et de la gestion des sources :
Première expérience repensée — une action claire pour ajouter votre premier investissement, sans étapes superflues
• Rappels mensuels — notifications facultatives pour ne jamais oublier la mise à jour mensuelle de votre portefeuille
Aperçu des graphiques — les utilisateurs gratuits voient quels graphiques sont disponibles avant de passer à la version complète
Paywall amélioré — un vrai graphique de portefeuille montre à quoi ressemble l'accès complet
• Configuration des sources clarifiée — courte description lors de la création de votre première source d'investissement
Synchronisation iCloud — vos données se synchronisent désormais de manière fiable sur tous vos appareils Apple
• Recherche de sources — trouvez rapidement n'importe quelle source par nom
Filtres par catégorie — filtrez vos sources par classe d'actifs
Corrections de bugs et améliorations des performances
+5 -6
View File
@@ -1,7 +1,6 @@
Onboarding migliorato e promemoria mensili:
Miglioramenti alla sincronizzazione iCloud e alla gestione delle fonti:
Prima esperienza riprogettata — un'azione chiara per aggiungere il tuo primo investimento, senza passaggi inutili
Promemoria mensili — notifiche opzionali per non dimenticare l'aggiornamento mensile del portafoglio
Anteprima grafici — gli utenti gratuiti vedono quali grafici sono disponibili prima di passare alla versione completa
Paywall migliorato — un vero grafico del portafoglio mostra come appare l'accesso completo
• Configurazione delle fonti più chiara — breve descrizione durante la creazione della prima fonte di investimento
Sincronizzazione iCloud — i tuoi dati si sincronizzano in modo affidabile su tutti i dispositivi Apple
Ricerca fonti — trova rapidamente qualsiasi fonte per nome
Filtri per categoria — filtra le fonti per classe di asset
Correzioni di bug e miglioramenti delle prestazioni
+5 -6
View File
@@ -1,7 +1,6 @@
改善されたオンボーディングと月次リマインダー
iCloud同期とソース管理の改善
初回セットアップを刷新 — 最初の投資を追加するためのシンプルな1ステップ、余計な手順なし
月次リマインダー — 毎月のポートフォリオ更新を忘れないためのオプション通知
グラフのプレビュー — 無料ユーザーがアップグレード前に利用可能なグラフを確認できるように
パイウォールを改善 — 実際のポートフォリオグラフでフルアクセスの内容をプレビュー
• 投資元の作成をわかりやすく — 最初の投資元を追加する際に簡単な説明文を表示
iCloud同期 — すべてのAppleデバイス間でデータが確実に同期されるようになりました
ソース検索 — 名前で素早くソースを検索
カテゴリフィルター — 資産クラス別にソースをフィルタリング
バグ修正とパフォーマンス改善
+5 -6
View File
@@ -1,7 +1,6 @@
Integração mais clara e lembretes mensais:
Melhorias na sincronização iCloud e no gerenciamento de fontes:
Primeira experiência redesenhada — uma ação clara para adicionar seu primeiro investimento, sem etapas desnecessárias
Lembretes mensais — notificações opcionais para nunca esquecer de atualizar sua carteira todo mês
Prévia de gráficos — usuários gratuitos veem quais gráficos estão disponíveis antes de fazer upgrade
Paywall melhorado — um gráfico real da carteira mostra como é o acesso completo
• Configuração de fontes mais clara — breve descrição ao criar sua primeira fonte de investimento
Sincronização iCloud — seus dados agora sincronizam de forma confiável em todos os dispositivos Apple
Pesquisa de fontes — encontre qualquer fonte rapidamente por nome
Filtros por categoria — filtre suas fontes por classe de ativo
Correções de bugs e melhorias de desempenho