Skip to content

Reduce minimum IOS version to 15#2221

Closed
jb55 wants to merge 1 commit intomasterfrom
ios-15
Closed

Reduce minimum IOS version to 15#2221
jb55 wants to merge 1 commit intomasterfrom
ios-15

Conversation

@jb55
Copy link
Copy Markdown
Collaborator

@jb55 jb55 commented May 6, 2024

resurrecting @kernelkind 's work on this. wip.

Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
@jb55 jb55 mentioned this pull request May 6, 2024
@jb55 jb55 linked an issue May 6, 2024 that may be closed by this pull request
@alltheseas
Copy link
Copy Markdown
Collaborator

agent review findings


Findings

  - High – damus/Util/Relays/RelayBootstrap.swift:74: TmpRegion(rawValue:
    Locale.current.identifier) never matches because identifier returns
    values like en_US. The new lookup therefore drops all region-specific
    bootstrap relays for every locale. Use a true region code (e.g.
    Locale.current.regionCode) or another iOS‑15–friendly replacement so those
    regional defaults still load.
  - High – damus.xcodeproj/project.pbxproj:4055: DamusNotificationService still
    advertises an iOS 16 deployment target. On an iOS 15 device the notification
    service extension won’t load, which risks breaking whatever logic you rely
    on there (e.g. rich push handling) and may even block App Store submission
    for a 15+ app. Align the extension’s deployment target—or conditionally
    strip it for 15.
  - Medium – damus/Components/Status/UserStatusView.swift:38: The iOS 15 path
    drops the context menu entirely even though the menu items API exists before
    iOS 16. Users on 15 lose the ability to long-press and open/copy the status
    URL. You can keep the menu by calling the older contextMenu { ... } overload
    and only skipping the preview: argument on <16.

  Questions / Risks

  - For the notification service: do we need its behavior on iOS 15? If so,
    we’ll have to audit that target for newer APIs and lower its deployment
    target (or provide conditional shims).
  - On the new single-line fallbacks (e.g. zap comment/status editors), are we
    okay with the UX downgrade for 15, or should we switch to a TextEditor to
    keep multi-line entry?

  Overall the changes follow a consistent pattern—NavigationBackport for stack
  navigation and #available guards for 16-only modifiers—but the region lookup
  and extension target need fixes before shipping.

@danieldaquino
Copy link
Copy Markdown
Collaborator

Closing due to extended inactivity. Please feel free to reopen if needed.

alltheseas added a commit to alltheseas/damus that referenced this pull request Jan 4, 2026
Add getCurrentRegion() helper that uses the appropriate API based on
iOS version:
- iOS 16+: Uses Locale.current.region directly
- iOS 15: Falls back to Locale.current.regionCode and converts to Region

This fixes the issue where regional bootstrap relays would fail to load
on iOS 15 devices.

Bug identified in PR damus-io#2221 review.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
alltheseas added a commit to alltheseas/damus that referenced this pull request Jan 4, 2026
The contextMenu(menuItems:preview:) overload is iOS 16+ only.

Add contextMenuWithPreview() helper extension that:
- Uses contextMenu with preview on iOS 16+
- Falls back to simple contextMenu (without preview) on iOS 15

Update UserStatusView to use the new helper to restore context menu
functionality on iOS 15 devices.

Bug identified in PR damus-io#2221 review.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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.

iOS 15 nav

4 participants