Skip to content

Conversation

@Lakr233
Copy link
Owner

@Lakr233 Lakr233 commented Jan 4, 2026

This pull request improves compatibility with iOS 16, updates calendar and microphone permission handling for different iOS versions, and enhances the user interface to better reflect iCloud sync availability depending on the OS version. It also contains minor updates to build scripts and the app version.

iOS Compatibility and iCloud Sync Availability:

  • Lowered the minimum deployment target from iOS 17.0 to iOS 16.0 in the project settings, making the app available for more users. [1] [2]
  • Updated all iCloud sync-related UI and logic (including settings and sync actions) to check if iCloud sync is supported on the current OS version, showing appropriate messages or disabling controls when unavailable. [1] [2] [3] [4] [5]

Permission Handling Improvements:

  • Updated calendar access requests to use the correct API for each iOS version: requestFullAccessToEvents for iOS 17+ and requestAccess(to:) for earlier versions, ensuring compatibility and proper permission prompts. [1] [2] [3] [4] [5]
  • Improved microphone permission handling in SimpleSpeechController to use AVAudioApplication for iOS 17+ and fall back to AVAudioSession for earlier versions.

Build and Versioning:

  • Updated the app's marketing version to 4.4.6.
  • Minor improvements to build scripts, ensuring directory paths are quoted and more robust. [1] [2]

UI/UX Improvements:

  • Updated the iCloud sync feature description in the welcome screen to indicate it requires iOS 17+.
  • Ensured that trait change registration for dark/light mode is only used on iOS 17+ to prevent crashes on earlier versions.

Lakr233 and others added 5 commits January 3, 2026 10:43
Updates iCloud sync and calendar access features to require iOS 17+ where necessary, with runtime checks and UI adjustments for unsupported versions. Refactors calendar and microphone permission requests for iOS 17+ APIs, conditionally enables/disables iCloud sync UI and actions, and improves SyncEngine to guard all CloudKit operations with availability checks. Bumps marketing version to 4.4.6 and updates developer scripts for Python typing compatibility.
Eliminated #available(iOS 17, macCatalyst 17, *) checks in SyncEngine to allow scheduleUploadIfNeeded to run on all supported platforms. Added @unchecked @retroactive Sendable conformance to CKRecord, CKRecordZone, and CKRecordZone.ID to support concurrency.
@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Jan 4, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
flowdown-landing 9bbc1f4 Commit Preview URL

Branch Preview URL
Jan 04 2026, 05:34 AM

@Lakr233 Lakr233 requested a review from Copilot January 4, 2026 05:26
Repository owner deleted a comment from claude bot Jan 4, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request lowers the iOS deployment target from iOS 17 to iOS 16, enhancing app availability while maintaining backward compatibility. The key changes include adding version checks for iOS 17+ specific APIs, conditionally enabling iCloud sync features based on OS version support, and updating permission request methods for calendar and microphone access to use appropriate APIs for each iOS version.

Key Changes:

  • Downgraded iOS deployment target from 17.0 to 16.0 across project configurations and Swift packages
  • Added version-specific checks for iCloud sync functionality, which requires iOS 17+
  • Updated calendar and microphone permission request methods to use version-appropriate APIs

Reviewed changes

Copilot reviewed 22 out of 22 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
Resources/DevKit/scripts/i18n_tools.py Updated type hints for Python 3.8 compatibility
Frameworks/Storage/Sources/Storage/Sync/SyncEngine.swift Added iOS 17+ availability checks for sync engine initialization and operations
Frameworks/Storage/Sources/Storage/Sync/Internal/*.swift Added macCatalyst 17 availability annotations to sync protocols and implementations
FlowDown/Resources/Localizable.xcstrings Added localized strings for iOS version unavailability messages
FlowDown/Interface/SettingController/DataControl/*.swift Conditionally display sync controls based on iOS version support
FlowDown/Interface/RichEditor/Supplement/BlockButton.swift Guarded trait change registration with iOS 17+ check
FlowDown/Interface/RichEditor/SimpleSpeech/*.swift Updated microphone permission requests for version compatibility
FlowDown/Backend/ModelTools/CalendarTools/*.swift Updated calendar permission requests to use appropriate APIs per iOS version
FlowDown/Configuration/Version.xcconfig Bumped marketing version to 4.4.6
FlowDown.xcodeproj/project.pbxproj Changed IPHONEOS_DEPLOYMENT_TARGET from 17.0 to 16.0

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Repository owner deleted a comment from claude bot Jan 4, 2026
@Lakr233 Lakr233 merged commit 7cf0efa into main Jan 4, 2026
4 of 5 checks passed
@Lakr233 Lakr233 deleted the feat/backport-16 branch January 4, 2026 05:50
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.

2 participants