From 02296d77524020b44b751ec1426af4d155d55334 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20D=E2=80=99Aquino?= Date: Wed, 22 Oct 2025 17:17:36 -0700 Subject: [PATCH] Configure UI to be in compatibility mode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This temporarily addresses iOS 26 UI issues by setting a UI configuration called "compatibility mode" until we implement full iOS 26 support. See https://developer.apple.com/documentation/BundleResources/Information-Property-List/UIDesignRequiresCompatibility Furthermore, it addresses one remaining UI issue with the timeline top padding by altering the padding calculation for iOS 26 targets. Changelog-None Closes: https://github.com/damus-io/damus/issues/3283 Signed-off-by: Daniel D’Aquino --- damus/Features/Timeline/Views/TimelineView.swift | 11 ++++++++++- damus/Info.plist | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/damus/Features/Timeline/Views/TimelineView.swift b/damus/Features/Timeline/Views/TimelineView.swift index 8edff654..ebf8feca 100644 --- a/damus/Features/Timeline/Views/TimelineView.swift +++ b/damus/Features/Timeline/Views/TimelineView.swift @@ -50,6 +50,15 @@ struct TimelineView: View { MainContent } + var topPadding: CGFloat { + if #available(iOS 26.0, *) { + headerHeight + } + else { + headerHeight - getSafeAreaTop() + } + } + var MainContent: some View { ScrollViewReader { scroller in ScrollView { @@ -65,7 +74,7 @@ struct TimelineView: View { .redacted(reason: loading ? .placeholder : []) .shimmer(loading) .disabled(loading) - .padding(.top, headerHeight - getSafeAreaTop()) + .padding(.top, topPadding) .offsetY { previous, current in if previous > current{ if direction != .up && current < 0 { diff --git a/damus/Info.plist b/damus/Info.plist index 5d32856d..d7032a70 100644 --- a/damus/Info.plist +++ b/damus/Info.plist @@ -2,6 +2,8 @@ + UIDesignRequiresCompatibility + NSUserActivityTypes INSendMessageIntent