fixed sync issue

Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
This commit is contained in:
Matt Bruce 2026-02-16 09:17:27 -06:00
parent ddc02c139f
commit 713a65f64b
4 changed files with 16 additions and 2 deletions

View File

@ -11,6 +11,7 @@
EAC04D322F298D9B007F87EA /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EAC04D312F298D9B007F87EA /* WidgetKit.framework */; };
EAC04D342F298D9B007F87EA /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EAC04D332F298D9B007F87EA /* SwiftUI.framework */; };
EAC04D412F298D9C007F87EA /* AndromidaWidgetExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = EAC04D2F2F298D9B007F87EA /* AndromidaWidgetExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
EAC04D522F26BD5B007F87EA /* CloudKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EAC04D532F26BD5C007F87EA /* CloudKit.framework */; };
EAC04E2C2F2998B2007F87EA /* Bedrock in Frameworks */ = {isa = PBXBuildFile; productRef = EAC04E2B2F2998B2007F87EA /* Bedrock */; };
/* End PBXBuildFile section */
@ -60,6 +61,7 @@
EAC04D312F298D9B007F87EA /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; };
EAC04D332F298D9B007F87EA /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; };
EAC04D4D2F298DD9007F87EA /* AndromidaWidgetExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = AndromidaWidgetExtension.entitlements; sourceTree = "<group>"; };
EAC04D532F26BD5C007F87EA /* CloudKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CloudKit.framework; path = System/Library/Frameworks/CloudKit.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */
/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
@ -128,6 +130,7 @@
buildActionMask = 2147483647;
files = (
EAC04AEE2F26BD5B007F87EA /* Bedrock in Frameworks */,
EAC04D522F26BD5B007F87EA /* CloudKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -185,6 +188,7 @@
EAC04D302F298D9B007F87EA /* Frameworks */ = {
isa = PBXGroup;
children = (
EAC04D532F26BD5C007F87EA /* CloudKit.framework */,
EAC04D312F298D9B007F87EA /* WidgetKit.framework */,
EAC04D332F298D9B007F87EA /* SwiftUI.framework */,
);
@ -569,7 +573,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.1;
MARKETING_VERSION = 1.2;
PRODUCT_BUNDLE_IDENTIFIER = "$(APP_BUNDLE_IDENTIFIER)";
PRODUCT_NAME = "$(PRODUCT_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = YES;
@ -606,7 +610,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.1;
MARKETING_VERSION = 1.2;
PRODUCT_BUNDLE_IDENTIFIER = "$(APP_BUNDLE_IDENTIFIER)";
PRODUCT_NAME = "$(PRODUCT_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = YES;

View File

@ -62,6 +62,7 @@ struct RitualsView: View {
startPoint: .topLeading,
endPoint: .bottomTrailing
))
.refreshable { store.refresh() }
.navigationTitle(String(localized: "Rituals"))
.navigationBarTitleDisplayMode(horizontalSizeClass == .regular ? .inline : .large)
.toolbar {

View File

@ -131,6 +131,14 @@ struct RootView: View {
showOverlay: useDebugOverlay,
minimumSeconds: useDebugOverlay ? debugForegroundRefreshMinimumSeconds : foregroundRefreshMinimumSeconds
)
// Delayed refreshes to catch CloudKit sync that completes after app activation.
// CloudKit fetch can take 510+ seconds; NSPersistentStoreRemoteChange is unreliable.
for delay in [5.0, 10.0] {
Task { @MainActor in
try? await Task.sleep(for: .seconds(delay))
store.refresh()
}
}
} else if newPhase == .background {
// Prepare for next resume
isResumingFromBackground = true

View File

@ -78,6 +78,7 @@ struct TodayView: View {
startPoint: .topLeading,
endPoint: .bottomTrailing
))
.refreshable { store.refresh() }
.navigationTitle(String(localized: "Today"))
.navigationBarTitleDisplayMode(horizontalSizeClass == .regular ? .inline : .large)
.sheet(isPresented: .init(