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.