From c5623aa409a29b849fdbabc283eb7f4d9ef161ad Mon Sep 17 00:00:00 2001 From: Corey Cole Date: Wed, 9 Oct 2019 13:02:31 -0700 Subject: [PATCH 01/16] docs(url_launcher): note about encoding URIs --- packages/url_launcher/url_launcher/README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/url_launcher/url_launcher/README.md b/packages/url_launcher/url_launcher/README.md index 4b65cfaf854d..7fe4800e921a 100644 --- a/packages/url_launcher/url_launcher/README.md +++ b/packages/url_launcher/url_launcher/README.md @@ -53,6 +53,16 @@ Common schemes supported by both iOS and Android: More details can be found here for [iOS](https://developer.apple.com/library/content/featuredarticles/iPhoneURLScheme_Reference/Introduction/Introduction.html) and [Android](https://developer.android.com/guide/components/intents-common.html) +### Encoding URLs + +URLs should be safely encoded, espeically when including spaces or other special characters. We can do this using dart's `Uri` helper methods included in `dart:core`: +```dart +final String subject = 'Example Subject'; +final emailLaunchString = Uri.encodeFull('mailto:smith@example.org?subject=$subject'); +// ... +launch(emailLaunchString); +``` + ## Handling missing URL receivers A particular mobile device may not be able to receive all supported URL schemes. From 7fc9d3e6d496efa998fc17ed8697b0a8061a986d Mon Sep 17 00:00:00 2001 From: Corey Cole Date: Wed, 9 Oct 2019 13:09:36 -0700 Subject: [PATCH 02/16] docs(url_launcher): consistent static types --- packages/url_launcher/url_launcher/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/url_launcher/url_launcher/README.md b/packages/url_launcher/url_launcher/README.md index 7fe4800e921a..7a33e5c6214e 100644 --- a/packages/url_launcher/url_launcher/README.md +++ b/packages/url_launcher/url_launcher/README.md @@ -57,7 +57,7 @@ More details can be found here for [iOS](https://developer.apple.com/library/con URLs should be safely encoded, espeically when including spaces or other special characters. We can do this using dart's `Uri` helper methods included in `dart:core`: ```dart -final String subject = 'Example Subject'; +final subject = 'Example Subject'; final emailLaunchString = Uri.encodeFull('mailto:smith@example.org?subject=$subject'); // ... launch(emailLaunchString); From eb362ba72477eb35c24a4fd4d99e55c6730eddb1 Mon Sep 17 00:00:00 2001 From: Corey Cole Date: Tue, 17 Dec 2019 17:07:25 -0800 Subject: [PATCH 03/16] docs: update to suggested URI usage --- packages/url_launcher/url_launcher/README.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/url_launcher/url_launcher/README.md b/packages/url_launcher/url_launcher/README.md index 7a33e5c6214e..729f6554f625 100644 --- a/packages/url_launcher/url_launcher/README.md +++ b/packages/url_launcher/url_launcher/README.md @@ -57,8 +57,15 @@ More details can be found here for [iOS](https://developer.apple.com/library/con URLs should be safely encoded, espeically when including spaces or other special characters. We can do this using dart's `Uri` helper methods included in `dart:core`: ```dart -final subject = 'Example Subject'; -final emailLaunchString = Uri.encodeFull('mailto:smith@example.org?subject=$subject'); +final Uri _emailLaunchUri = Uri( + scheme: 'mailto', + userInfo: 'support', + host: 'storybridgeapp.com', + queryParameters: { + 'subject': 'Example Subject & Symbols are allowed!' + } +); +final String _emailLaunchString = _emailLaunchUri.toString(); // ... launch(emailLaunchString); ``` From 89519955ca1bd05327b87db14071059c7bc4e550 Mon Sep 17 00:00:00 2001 From: Corey Cole Date: Mon, 27 Jan 2020 15:27:52 -0800 Subject: [PATCH 04/16] [url_launcher] docs: spacing --- packages/url_launcher/url_launcher/README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/url_launcher/url_launcher/README.md b/packages/url_launcher/url_launcher/README.md index 729f6554f625..c81bfa04e4be 100644 --- a/packages/url_launcher/url_launcher/README.md +++ b/packages/url_launcher/url_launcher/README.md @@ -57,6 +57,8 @@ More details can be found here for [iOS](https://developer.apple.com/library/con URLs should be safely encoded, espeically when including spaces or other special characters. We can do this using dart's `Uri` helper methods included in `dart:core`: ```dart +import 'package:url_launcher/url_launcher.dart'; + final Uri _emailLaunchUri = Uri( scheme: 'mailto', userInfo: 'support', @@ -65,8 +67,11 @@ final Uri _emailLaunchUri = Uri( 'subject': 'Example Subject & Symbols are allowed!' } ); + final String _emailLaunchString = _emailLaunchUri.toString(); + // ... + launch(emailLaunchString); ``` From 53566e3f936226c9eb1694e558d603ed0f3b9c96 Mon Sep 17 00:00:00 2001 From: Corey Cole Date: Mon, 27 Jan 2020 15:28:46 -0800 Subject: [PATCH 05/16] [url_launcher] docs: fix typo --- packages/url_launcher/url_launcher/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/url_launcher/url_launcher/README.md b/packages/url_launcher/url_launcher/README.md index c81bfa04e4be..214fcbe77c78 100644 --- a/packages/url_launcher/url_launcher/README.md +++ b/packages/url_launcher/url_launcher/README.md @@ -72,7 +72,7 @@ final String _emailLaunchString = _emailLaunchUri.toString(); // ... -launch(emailLaunchString); +launch(_emailLaunchString); ``` ## Handling missing URL receivers From 0826e8c3b0f93fe062822ab002a43feed784483d Mon Sep 17 00:00:00 2001 From: Corey Cole Date: Mon, 27 Jan 2020 15:30:21 -0800 Subject: [PATCH 06/16] [url_launcher] docs: generic flutter url --- packages/url_launcher/url_launcher/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/url_launcher/url_launcher/README.md b/packages/url_launcher/url_launcher/README.md index 214fcbe77c78..f9e6c71e938d 100644 --- a/packages/url_launcher/url_launcher/README.md +++ b/packages/url_launcher/url_launcher/README.md @@ -62,7 +62,7 @@ import 'package:url_launcher/url_launcher.dart'; final Uri _emailLaunchUri = Uri( scheme: 'mailto', userInfo: 'support', - host: 'storybridgeapp.com', + host: 'flutter.dev', queryParameters: { 'subject': 'Example Subject & Symbols are allowed!' } From c88471787e409fc8690081fb2fe16317f4fbccec Mon Sep 17 00:00:00 2001 From: Corey Cole Date: Mon, 27 Jan 2020 15:31:07 -0800 Subject: [PATCH 07/16] [url_launcher] docs: explicitly import dart:core --- packages/url_launcher/url_launcher/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/url_launcher/url_launcher/README.md b/packages/url_launcher/url_launcher/README.md index f9e6c71e938d..06371ddf78d7 100644 --- a/packages/url_launcher/url_launcher/README.md +++ b/packages/url_launcher/url_launcher/README.md @@ -57,6 +57,7 @@ More details can be found here for [iOS](https://developer.apple.com/library/con URLs should be safely encoded, espeically when including spaces or other special characters. We can do this using dart's `Uri` helper methods included in `dart:core`: ```dart +import 'dart:core'; import 'package:url_launcher/url_launcher.dart'; final Uri _emailLaunchUri = Uri( From 5509c58f1360d6e359adebc6a3b31eff6769d2e2 Mon Sep 17 00:00:00 2001 From: coreycole Date: Mon, 27 Jan 2020 15:44:29 -0800 Subject: [PATCH 08/16] [url_launcher] chore: upgrade version to 5.4.1+1 and prepend changelog --- packages/url_launcher/url_launcher/CHANGELOG.md | 4 ++++ packages/url_launcher/url_launcher/pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/url_launcher/url_launcher/CHANGELOG.md b/packages/url_launcher/url_launcher/CHANGELOG.md index a38c3ebed39c..01075785a3ca 100644 --- a/packages/url_launcher/url_launcher/CHANGELOG.md +++ b/packages/url_launcher/url_launcher/CHANGELOG.md @@ -1,3 +1,7 @@ +## 5.4.1+1 + +* Add documentation suggesting how to encode urls with special characters + ## 5.4.1 * Update unit tests to work with the PlatformInterface from package `plugin_platform_interface`. diff --git a/packages/url_launcher/url_launcher/pubspec.yaml b/packages/url_launcher/url_launcher/pubspec.yaml index cd51673aa758..94efe6292c38 100644 --- a/packages/url_launcher/url_launcher/pubspec.yaml +++ b/packages/url_launcher/url_launcher/pubspec.yaml @@ -2,7 +2,7 @@ name: url_launcher description: Flutter plugin for launching a URL on Android and iOS. Supports web, phone, SMS, and email schemes. homepage: https://github.com/flutter/plugins/tree/master/packages/url_launcher/url_launcher -version: 5.4.1 +version: 5.4.1+1 flutter: plugin: From 809d9fe60fd7bb89340a08c7c988421585b044a6 Mon Sep 17 00:00:00 2001 From: coreycole Date: Mon, 27 Jan 2020 15:50:13 -0800 Subject: [PATCH 09/16] [url_launcher] fix: update to allowed version number --- packages/url_launcher/url_launcher/CHANGELOG.md | 2 +- packages/url_launcher/url_launcher/pubspec.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/url_launcher/url_launcher/CHANGELOG.md b/packages/url_launcher/url_launcher/CHANGELOG.md index 01075785a3ca..30fe4bc58c5e 100644 --- a/packages/url_launcher/url_launcher/CHANGELOG.md +++ b/packages/url_launcher/url_launcher/CHANGELOG.md @@ -1,4 +1,4 @@ -## 5.4.1+1 +## 5.4.2 * Add documentation suggesting how to encode urls with special characters diff --git a/packages/url_launcher/url_launcher/pubspec.yaml b/packages/url_launcher/url_launcher/pubspec.yaml index 94efe6292c38..29af3244ced2 100644 --- a/packages/url_launcher/url_launcher/pubspec.yaml +++ b/packages/url_launcher/url_launcher/pubspec.yaml @@ -2,7 +2,7 @@ name: url_launcher description: Flutter plugin for launching a URL on Android and iOS. Supports web, phone, SMS, and email schemes. homepage: https://github.com/flutter/plugins/tree/master/packages/url_launcher/url_launcher -version: 5.4.1+1 +version: 5.4.2 flutter: plugin: From 6a28275eb0f0e7ebc3afdac3a75425866fe55404 Mon Sep 17 00:00:00 2001 From: coreycole Date: Tue, 28 Jan 2020 10:32:55 -0800 Subject: [PATCH 10/16] [url_launcher] docs: add missing bullet point to changelog also trigger a rebuild because the previous cirrus build timed out while upgrading https://cirrus-ci.com/task/5460390574292992 --- packages/url_launcher/url_launcher/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/url_launcher/url_launcher/CHANGELOG.md b/packages/url_launcher/url_launcher/CHANGELOG.md index 30fe4bc58c5e..c452ca6b73fb 100644 --- a/packages/url_launcher/url_launcher/CHANGELOG.md +++ b/packages/url_launcher/url_launcher/CHANGELOG.md @@ -34,7 +34,7 @@ ## 5.2.3 -Android: Use android.arch.lifecycle instead of androidx.lifecycle:lifecycle in `build.gradle` to support apps that has not been migrated to AndroidX. +* Android: Use android.arch.lifecycle instead of androidx.lifecycle:lifecycle in `build.gradle` to support apps that has not been migrated to AndroidX. ## 5.2.2 From 5a1d471977ef454b6af833c5d3359b648dcdc7f5 Mon Sep 17 00:00:00 2001 From: coreycole Date: Tue, 28 Jan 2020 13:20:33 -0800 Subject: [PATCH 11/16] [url_launcher] docs: add period to changelog statement also re-run the cirrus build it failed randomly again https://github.com/flutter/plugins/runs/413530777 --- packages/url_launcher/url_launcher/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/url_launcher/url_launcher/CHANGELOG.md b/packages/url_launcher/url_launcher/CHANGELOG.md index c452ca6b73fb..5d85c3728889 100644 --- a/packages/url_launcher/url_launcher/CHANGELOG.md +++ b/packages/url_launcher/url_launcher/CHANGELOG.md @@ -1,6 +1,6 @@ ## 5.4.2 -* Add documentation suggesting how to encode urls with special characters +* Add documentation suggesting how to encode urls with special characters. ## 5.4.1 From 854f6a34e36b94f2da1db787f4b783f76d391e6b Mon Sep 17 00:00:00 2001 From: Corey Cole Date: Tue, 28 Jan 2020 16:54:51 -0800 Subject: [PATCH 12/16] [url_launcher] fix: mailto example with path as recommended https://github.com/flutter/flutter/issues/42279#issuecomment-544039320 --- packages/url_launcher/url_launcher/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/url_launcher/url_launcher/README.md b/packages/url_launcher/url_launcher/README.md index 06371ddf78d7..e987f9eb88e8 100644 --- a/packages/url_launcher/url_launcher/README.md +++ b/packages/url_launcher/url_launcher/README.md @@ -62,8 +62,7 @@ import 'package:url_launcher/url_launcher.dart'; final Uri _emailLaunchUri = Uri( scheme: 'mailto', - userInfo: 'support', - host: 'flutter.dev', + path: 'smith@example.com', queryParameters: { 'subject': 'Example Subject & Symbols are allowed!' } From cb6a89b4704c10ee625254f3e4daa45a2ecd28de Mon Sep 17 00:00:00 2001 From: coreycole Date: Tue, 4 Feb 2020 10:50:47 -0800 Subject: [PATCH 13/16] [url_launcher] docs: update readme with suggestions from @stuartmorgan --- packages/url_launcher/url_launcher/README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/url_launcher/url_launcher/README.md b/packages/url_launcher/url_launcher/README.md index 06371ddf78d7..3d120c47b162 100644 --- a/packages/url_launcher/url_launcher/README.md +++ b/packages/url_launcher/url_launcher/README.md @@ -55,7 +55,7 @@ More details can be found here for [iOS](https://developer.apple.com/library/con ### Encoding URLs -URLs should be safely encoded, espeically when including spaces or other special characters. We can do this using dart's `Uri` helper methods included in `dart:core`: +URLs must be properly encoded, especially when including spaces or other special characters. This can be done using the [`Uri` class](https://api.dart.dev/stable/2.7.1/dart-core/Uri-class.html): ```dart import 'dart:core'; import 'package:url_launcher/url_launcher.dart'; @@ -69,11 +69,10 @@ final Uri _emailLaunchUri = Uri( } ); -final String _emailLaunchString = _emailLaunchUri.toString(); - // ... -launch(_emailLaunchString); +// mailto://support@flutter.dev?subject=Example+Subject+%26+Symbols+are+allowed%21 +launch(_emailLaunchUri.toString()); ``` ## Handling missing URL receivers From cb15f233a37f4aef491d67cd656feda287036245 Mon Sep 17 00:00:00 2001 From: coreycole Date: Tue, 4 Feb 2020 10:52:07 -0800 Subject: [PATCH 14/16] [url_launcher] docs: fix merge issue back to userInfo and host format --- packages/url_launcher/url_launcher/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/url_launcher/url_launcher/README.md b/packages/url_launcher/url_launcher/README.md index 85aecd9186b8..3d120c47b162 100644 --- a/packages/url_launcher/url_launcher/README.md +++ b/packages/url_launcher/url_launcher/README.md @@ -62,7 +62,8 @@ import 'package:url_launcher/url_launcher.dart'; final Uri _emailLaunchUri = Uri( scheme: 'mailto', - path: 'smith@example.com', + userInfo: 'support', + host: 'flutter.dev', queryParameters: { 'subject': 'Example Subject & Symbols are allowed!' } From c3b9c15526c07d388eed0a06cc419c492b573e24 Mon Sep 17 00:00:00 2001 From: coreycole Date: Tue, 4 Feb 2020 10:54:17 -0800 Subject: [PATCH 15/16] [url_launcher] docs: fix merge issue to path format --- packages/url_launcher/url_launcher/README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/url_launcher/url_launcher/README.md b/packages/url_launcher/url_launcher/README.md index 3d120c47b162..2b4f6c8e67cc 100644 --- a/packages/url_launcher/url_launcher/README.md +++ b/packages/url_launcher/url_launcher/README.md @@ -62,8 +62,7 @@ import 'package:url_launcher/url_launcher.dart'; final Uri _emailLaunchUri = Uri( scheme: 'mailto', - userInfo: 'support', - host: 'flutter.dev', + path: 'smith@example.com', queryParameters: { 'subject': 'Example Subject & Symbols are allowed!' } @@ -71,7 +70,7 @@ final Uri _emailLaunchUri = Uri( // ... -// mailto://support@flutter.dev?subject=Example+Subject+%26+Symbols+are+allowed%21 +// mailto:smith@example.com?subject=Example+Subject+%26+Symbols+are+allowed%21 launch(_emailLaunchUri.toString()); ``` From 1cd6c49ca3657bb578412a02390568d4a12775de Mon Sep 17 00:00:00 2001 From: coreycole Date: Wed, 17 Jun 2020 11:23:21 -0700 Subject: [PATCH 16/16] [url_launcher] docs: bump version to 5.4.11 for the URL encoding documentation in the README --- packages/url_launcher/url_launcher/CHANGELOG.md | 4 ++++ packages/url_launcher/url_launcher/pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/url_launcher/url_launcher/CHANGELOG.md b/packages/url_launcher/url_launcher/CHANGELOG.md index 4f8d75f2fd1a..6b1327a2da52 100644 --- a/packages/url_launcher/url_launcher/CHANGELOG.md +++ b/packages/url_launcher/url_launcher/CHANGELOG.md @@ -1,3 +1,7 @@ +## 5.4.11 + +* Add documentation in README suggesting how to properly encode urls with special characters. + ## 5.4.10 * Post-v2 Android embedding cleanups. diff --git a/packages/url_launcher/url_launcher/pubspec.yaml b/packages/url_launcher/url_launcher/pubspec.yaml index 156d608583a5..08ac3f9f8b80 100644 --- a/packages/url_launcher/url_launcher/pubspec.yaml +++ b/packages/url_launcher/url_launcher/pubspec.yaml @@ -2,7 +2,7 @@ name: url_launcher description: Flutter plugin for launching a URL on Android and iOS. Supports web, phone, SMS, and email schemes. homepage: https://github.com/flutter/plugins/tree/master/packages/url_launcher/url_launcher -version: 5.4.10 +version: 5.4.11 flutter: plugin: