Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@stuartmorgan-g
Copy link
Collaborator

The pattern of calling canLaunchUrl when there's no fallback is an anti-pattern, and the README explicitly recommends against it; on some platforms, canLaunchUrl is unreliable in some cases, and/or requires extra permissions that launchUrl does not.

This reworks the launch call to just try, and handle failure, instead of trying to pre-check.

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use dart format.)
  • I signed the CLA.
  • The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
  • I listed at least one issue that this PR fixes in the description above.
  • I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
  • I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is test-exempt.
  • All existing and new tests are passing.

The pattern of calling `canLaunchUrl` when there's no fallback is an
anti-pattern, and the README explicitly recommends against it; on some
platforms, `canLaunchUrl` is unreliable in some cases, and/or requires
extra permissions that `launchUrl` does not.

This reworks the launch call to just try, and handle failure, instead of
trying to pre-check.
Copy link
Member

@ditman ditman left a comment

Choose a reason for hiding this comment

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

LGTM!

@ditman ditman added the autosubmit Merge PR when tree becomes green via auto submit App label Jul 8, 2023
@auto-submit auto-submit bot merged commit 3eaad3d into flutter:main Jul 8, 2023
@stuartmorgan-g stuartmorgan-g deleted the url-launcher-link-remove-canlaunch branch July 8, 2023 09:47
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jul 10, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Jul 10, 2023
flutter/packages@b61eea1...4469c5e

2023-07-08 [email protected] Roll Flutter from d55a7d8 to 65ff3cb (21 revisions) (flutter/packages#4413)
2023-07-08 [email protected] [tool] Update Dart SDK version (flutter/packages#4402)
2023-07-08 [email protected] [url_lancher] Don't use `canLaunchUrl` in Link (flutter/packages#4400)
2023-07-08 [email protected] Remove unused autosubmit configuration file (flutter/packages#4410)
2023-07-07 49699333+dependabot[bot]@users.noreply.github.com [file_selector]: Bump androidx.annotation:annotation from 1.5.0 to 1.6.0 in /packages/file_selector/file_selector_android/android (flutter/packages#4312)
2023-07-07 [email protected] Roll Flutter from bc49cd1 to d55a7d8 (17 revisions) (flutter/packages#4403)
2023-07-07 [email protected] [shared_preferences] Variable binding in a condition requires an initializer fix (flutter/packages#4407)
2023-07-07 [email protected] [go_router] implemented helpers for StatefulShellRoute (flutter/packages#4228)
2023-07-07 [email protected] [in_app_purchase_android] Bump com.android.billingclient:billing from 5.2.0 to 6.0.0. (flutter/packages#4390)
2023-07-07 [email protected] [tool] Use 'flutter pub get' for Flutter packages (flutter/packages#4397)
2023-07-07 [email protected] [ci] Enable LUCI stable custom Linux tests (flutter/packages#4404)
2023-07-07 [email protected] [tool] Fix --current-package for app-facing packages (flutter/packages#4399)
2023-07-07 [email protected] [ci] Switch some tests to LUCI (flutter/packages#4395)
2023-07-07 [email protected] [flutter_markdown] Pass parent TextStyle down to MarkdownElementBuilder.visitElementAfter (flutter/packages#4393)
2023-07-07 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 2.3.3 to 2.20.3 (flutter/packages#4394)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
gbtb16 pushed a commit to gbtb16/flutter that referenced this pull request Nov 6, 2023
flutter/packages@b61eea1...4469c5e

2023-07-08 [email protected] Roll Flutter from d55a7d8 to 65ff3cb (21 revisions) (flutter/packages#4413)
2023-07-08 [email protected] [tool] Update Dart SDK version (flutter/packages#4402)
2023-07-08 [email protected] [url_lancher] Don't use `canLaunchUrl` in Link (flutter/packages#4400)
2023-07-08 [email protected] Remove unused autosubmit configuration file (flutter/packages#4410)
2023-07-07 49699333+dependabot[bot]@users.noreply.github.com [file_selector]: Bump androidx.annotation:annotation from 1.5.0 to 1.6.0 in /packages/file_selector/file_selector_android/android (flutter/packages#4312)
2023-07-07 [email protected] Roll Flutter from bc49cd1 to d55a7d8 (17 revisions) (flutter/packages#4403)
2023-07-07 [email protected] [shared_preferences] Variable binding in a condition requires an initializer fix (flutter/packages#4407)
2023-07-07 [email protected] [go_router] implemented helpers for StatefulShellRoute (flutter/packages#4228)
2023-07-07 [email protected] [in_app_purchase_android] Bump com.android.billingclient:billing from 5.2.0 to 6.0.0. (flutter/packages#4390)
2023-07-07 [email protected] [tool] Use 'flutter pub get' for Flutter packages (flutter/packages#4397)
2023-07-07 [email protected] [ci] Enable LUCI stable custom Linux tests (flutter/packages#4404)
2023-07-07 [email protected] [tool] Fix --current-package for app-facing packages (flutter/packages#4399)
2023-07-07 [email protected] [ci] Switch some tests to LUCI (flutter/packages#4395)
2023-07-07 [email protected] [flutter_markdown] Pass parent TextStyle down to MarkdownElementBuilder.visitElementAfter (flutter/packages#4393)
2023-07-07 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 2.3.3 to 2.20.3 (flutter/packages#4394)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App p: url_launcher

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants