Skip to content

fix(ui): gallery permission guidance, link feedback, Android-only APK entry - #11

Merged
interset-wq merged 3 commits into
mainfrom
fix/ios-polish
Nov 10, 2026
Merged

interset-wq merged 3 commits into
mainfrom
fix/ios-polish

Conversation

@interset-wq

Copy link
Copy Markdown
Owner

Summary

Low-cost fixes from the iOS device acceptance audit (three subagent sweeps over Android/iOS divergence, every finding file:line-verified):

  • Gallery permission dead-end — a denied save now offers a「去设置」action (app_settings) instead of a bare snackbar, in all three entry points: image long-press menu, long-image export, full-screen mermaid export (lib/src/ui/image_actions.dart:97, lib/src/ui/markdown_viewer.dart:828/2858).
  • Silent link failures — canLaunchUrl misses and launchUrl errors now surface a hint; mailto:/tel:/sms: links hand off to the system handler instead of being silently dropped (lib/src/ui/markdown_viewer.dart _onLinkTap).
  • Misleading update entry — the about page's "download latest APK" ListTile is now Android-only; iOS users were pointed at an un-installable file (lib/src/ui/settings/about_page.dart).

Complex findings filed separately: #10 (iOS libgit2 CA bootstrap missing), #7 comment (security-scoped resource + bookmark persistence gap).

Test plan

  • flutter analyze — no issues
  • flutter test — 246 tests passed
  • Device spot-check: denied gallery permission → 去设置 opens system settings; mailto link opens mail app; about page on iPad shows no APK entry

- Gallery permission denial now offers a "去设置" action
  (app_settings) instead of a dead-end snackbar, on the image
  long-press menu, long-image export and full-screen mermaid export
- External link taps no longer fail silently: canLaunchUrl misses and
  launch errors surface a hint; mailto:/tel:/sms links now hand off to
  the system handler
- The about page's "download latest APK" entry is Android-only — on
  iOS it pointed users at a file they cannot install

Complex iOS findings were filed separately: iOS libgit2 CA bootstrap
(#10) and the security-scoped local-folder gap (comment on #7).
@interset-wq
interset-wq merged commit 695de9e into main Nov 10, 2026
2 checks passed
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