Skip to content

Open the share sheet on iPad for offline sessions and debug logs - #35

Merged
MrAlders0n merged 1 commit into
devfrom
fix/ipad-share-origin
Oct 18, 2026
Merged

MrAlders0n merged 1 commit into
devfrom
fix/ipad-share-origin

Conversation

@MrAlders0n

Copy link
Copy Markdown
Contributor

Problem

An iPad user (iPad Pro 11" 3rd gen, iOS 26.4.2, app 1.4.0) reported they can't download offline sessions. Their log shows the session saved (2026-10-16-3.json, 32 pings) but no [OFFLINE] Shared session line afterwards.

share_plus 12.0.1 returns sharePositionOrigin: argument must be set on iPad when no popover anchor is given, so the sheet never opens. Two buttons call it without one:

  • Settings > Data > Offline Sessions > Download JSON: the error went to a snackbar and was not logged.
  • Settings > About > debug log > Share: shareDebugLog catches the error itself, so it failed silently.

Change

  • New lib/utils/share_origin.dart: globalRectOf(BuildContext) returns the widget's global rect, or null before layout.
  • shareOfflineSession and shareDebugLog take an optional sharePositionOrigin and pass it to ShareParams.
  • Both buttons now sit in a Builder and pass their own rect.
  • A failed offline download now also writes [OFFLINE] Failed to download session … to the debug log.

iPhone and Android ignore the origin. The web download path (kIsWeb) is unchanged.

Checks

  • flutter analyze: no issues
  • flutter test: all 2442 passed
  • Not yet confirmed on an iPad

share_plus refuses to open the sheet on iPad without a sharePositionOrigin, so Download JSON on an offline session and Share on a debug log did nothing there. Both buttons now pass their own on-screen rect as the popover anchor, and a failed offline download is logged.
@MrAlders0n
MrAlders0n merged commit f7e7eb9 into dev Oct 18, 2026
1 of 2 checks passed
@MrAlders0n
MrAlders0n deleted the fix/ipad-share-origin branch October 18, 2026 11:45
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.

1 participant