From a365ad79103d14f0bff3b4a62766dab1d4b25f9c Mon Sep 17 00:00:00 2001
From: Hugh Willson
Date: Thu, 24 Aug 2017 07:19:29 -0400
Subject: [PATCH 1/2] Deprecate fastclick
Since `fastclick` is no longer maintained, is introducing bugs,
and is no longer really necessary with modern mobile browsers,
it is being deprecated.
---
History.md | 16 ++++++++++++++++
packages/{ => deprecated}/fastclick/.gitignore | 0
packages/{ => deprecated}/fastclick/README.md | 0
packages/{ => deprecated}/fastclick/fastclick.js | 0
packages/{ => deprecated}/fastclick/package.js | 0
packages/{ => deprecated}/fastclick/post.js | 0
packages/{ => deprecated}/fastclick/pre.js | 0
packages/mobile-experience/README.md | 5 ++---
packages/mobile-experience/package.js | 8 +-------
9 files changed, 19 insertions(+), 10 deletions(-)
rename packages/{ => deprecated}/fastclick/.gitignore (100%)
rename packages/{ => deprecated}/fastclick/README.md (100%)
rename packages/{ => deprecated}/fastclick/fastclick.js (100%)
rename packages/{ => deprecated}/fastclick/package.js (100%)
rename packages/{ => deprecated}/fastclick/post.js (100%)
rename packages/{ => deprecated}/fastclick/pre.js (100%)
diff --git a/History.md b/History.md
index e55edd7133..85c718b8d7 100644
--- a/History.md
+++ b/History.md
@@ -1,5 +1,21 @@
## v.NEXT
+* The `fastclick` package (previously included by default in Cordova
+ applications through the `mobile-experience` package) has been deprecated.
+ This package is no longer maintained and has years of outstanding
+ unresolved issues, some of which are impacting Meteor users. Most modern
+ mobile web browsers have removed the 300ms tap delay that `fastclick` worked
+ around, as long as the following `` `meta` element is set (which
+ is generally considered a mobile best practice regardless, and which the
+ Meteor boilerplate generator already sets by default for Cordova apps):
+ ``
+ If anyone is still interested in using `fastclick` with their application,
+ it can be installed from npm directly (`meteor npm install --save fastclick`).
+ Reference:
+ [Mobile Chrome](https://developers.google.com/web/updates/2013/12/300ms-tap-delay-gone-away)
+ [Mobile Safari](https://bugs.webkit.org/show_bug.cgi?id=150604)
+ [PR TODO]()
+
* Minimongo cursors are now JavaScript iterable objects and can now be iterated over
using `for...of` loops, spread operator, `yield*`, and destructuring assignments.
[PR #8888](https://github.com/meteor/meteor/pull/8888)
diff --git a/packages/fastclick/.gitignore b/packages/deprecated/fastclick/.gitignore
similarity index 100%
rename from packages/fastclick/.gitignore
rename to packages/deprecated/fastclick/.gitignore
diff --git a/packages/fastclick/README.md b/packages/deprecated/fastclick/README.md
similarity index 100%
rename from packages/fastclick/README.md
rename to packages/deprecated/fastclick/README.md
diff --git a/packages/fastclick/fastclick.js b/packages/deprecated/fastclick/fastclick.js
similarity index 100%
rename from packages/fastclick/fastclick.js
rename to packages/deprecated/fastclick/fastclick.js
diff --git a/packages/fastclick/package.js b/packages/deprecated/fastclick/package.js
similarity index 100%
rename from packages/fastclick/package.js
rename to packages/deprecated/fastclick/package.js
diff --git a/packages/fastclick/post.js b/packages/deprecated/fastclick/post.js
similarity index 100%
rename from packages/fastclick/post.js
rename to packages/deprecated/fastclick/post.js
diff --git a/packages/fastclick/pre.js b/packages/deprecated/fastclick/pre.js
similarity index 100%
rename from packages/fastclick/pre.js
rename to packages/deprecated/fastclick/pre.js
diff --git a/packages/mobile-experience/README.md b/packages/mobile-experience/README.md
index fa52ad557c..d2296ed0de 100644
--- a/packages/mobile-experience/README.md
+++ b/packages/mobile-experience/README.md
@@ -4,6 +4,5 @@
A set of Cordova/PhoneGap-specific packages that set some good defaults when building for mobile. These packages only activate when you are building a native Android or iOS app.
-1. [fastclick](https://atmospherejs.com/meteor/fastclick) - avoid the 300ms touch delay
-2. [mobile-status-bar](https://atmospherejs.com/meteor/mobile-status-bar) - avoid the status bar information covering up your app content
-3. [launch-screen](https://atmospherejs.com/meteor/launch-screen) - cover the app with a launch image so that people don’t have to see things loading
+1. [mobile-status-bar](https://atmospherejs.com/meteor/mobile-status-bar) - avoid the status bar information covering up your app content
+2. [launch-screen](https://atmospherejs.com/meteor/launch-screen) - cover the app with a launch image so that people don’t have to see things loading
diff --git a/packages/mobile-experience/package.js b/packages/mobile-experience/package.js
index 3d5d75e254..29623d0482 100644
--- a/packages/mobile-experience/package.js
+++ b/packages/mobile-experience/package.js
@@ -1,18 +1,12 @@
Package.describe({
name: 'mobile-experience',
- version: '1.0.4',
- // Brief, one-line summary of the package.
+ version: '1.0.5',
summary: 'Packages for a great mobile user experience',
- // By default, Meteor will default to using README.md for documentation.
- // To avoid submitting documentation, set this field to null.
documentation: 'README.md'
});
Package.onUse(function(api) {
api.imply([
- // Fastclick: remove the 300 ms click event lag in mobile browsers
- "fastclick",
-
// A nicer appearance for the status bar in PhoneGap/Cordova apps
"mobile-status-bar"
], "web.cordova");
From 3067c630e1d05bb8cd174fa5b2c5216cc86bc5b3 Mon Sep 17 00:00:00 2001
From: Hugh Willson
Date: Thu, 24 Aug 2017 07:25:59 -0400
Subject: [PATCH 2/2] Add fastclick deprecation PR link, now that is exists
---
History.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/History.md b/History.md
index 85c718b8d7..34d91c088a 100644
--- a/History.md
+++ b/History.md
@@ -14,7 +14,7 @@
Reference:
[Mobile Chrome](https://developers.google.com/web/updates/2013/12/300ms-tap-delay-gone-away)
[Mobile Safari](https://bugs.webkit.org/show_bug.cgi?id=150604)
- [PR TODO]()
+ [PR #9039](https://github.com/meteor/meteor/pull/9039)
* Minimongo cursors are now JavaScript iterable objects and can now be iterated over
using `for...of` loops, spread operator, `yield*`, and destructuring assignments.