You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by Richard Knoll <ri...@microsoft.com> on 2016/01/07 01:08:07 UTC

[DISCUSS] Core Plugins and Android API 23

Hey all,

As has been very thoroughly discussed at this point, the cordova-android 5.0.0 update included breaking changes for plugins in response to the new permission model that Android Marshmallow introduced. Unfortunately, this means that our plugins that took advantage of the new permission APIs are no longer able to build on Cordova platforms before cordova-android 5.0.0. Really, this update only came down to two new methods in CordovaInterface: one for requesting permissions and one for checking them. Since this is such a minor API change, it is trivial for us to modify the core plugins that require permissions to use reflection and allow projects that are still using the earlier Android APIs to keep using them. I have done so for the camera plugin as an example [1]. All it took was writing a helper class for permissions that I made general enough to be easily included in the other core plugins.

This change gives users who are not ready to embrace Android API 23 some more time before they are forced to update (e.g. if they are still using some other plugins that have yet to be updated). It also helps us reduce some of the current plugin versioning woes we're having. Anyone using Cordova 5.x stands to benefit, since this can prevent some confusion and frustration caused by broken builds when their cli fetches the latest plugins. In my opinion, the cost of copying a helper class is worth that potential payoff. What do others think?

I did a little testing with my modified camera plugin and cordova-android 3.7.1 (which I arbitrarily chose) and it built/seemed to work fine. If people support this idea, I can do a bit more testing and make PRs for the other plugins.

For the record, the affected plugins are as follows:
    cordova-plugin-camera
    cordova-plugin-contacts
    cordova-plugin-file
    cordova-plugin-geolocation
    cordova-plugin-media

Thanks,
Richard
[1] https://github.com/apache/cordova-plugin-camera/compare/master...riknoll:reflection?expand=1

Re: [DISCUSS] Core Plugins and Android API 23

Posted by Simon MacDonald <si...@gmail.com>.
I will take it upon myself to get it done.

Task list:
1) create cordova-plugin-compat repo, populate with code.
2) migrate core plugins to use cordova-plugin-compat
3) kick off plugins release
4) write blog post

am I missing anything?


Simon Mac Donald
http://hi.im/simonmacdonald

On Mon, Apr 4, 2016 at 1:30 PM, Richard Knoll <ri...@microsoft.com> wrote:

> Sorry for being late to comment on this. If we were the only ones using
> the class, I would say we should just keep copying around. However, since
> other plugins are using it I think it's a good idea to put it in a common
> place and a plugin is the best way to do it. LGTM! Should someone write up
> a blog post about this so that third-party plugins know to update?
>
> Thanks,
> Richard
>
> -----Original Message-----
> From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
> Sent: Sunday, April 3, 2016 12:26 PM
> To: dev@cordova.apache.org
> Subject: Re: [DISCUSS] Core Plugins and Android API 23
>
> Seems like we have momentum on this. So barring any negative comments from
> Microsoft about this approach whom do I contact to setup a new repo on
> Apache GIT?
>
>
> Simon Mac Donald
>
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=yGziFs1bd1KAZjUEloAiJ07c9EipxtrtSYxU8e5oO7M%3d
>
> On Sun, Apr 3, 2016 at 2:26 PM, julio cesar sanchez <
> jcesarmobile@gmail.com>
> wrote:
>
> > I like it too
> > A lot of 3rd party plugins are adding that classes too
> >
> > BTW, there is a JIRA issue to add
> > https://na01.safelinks.protection.outlook.com/?url=PermissionHelper.ja
> > va&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f454da19d7f08d35b
> > f5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=KXea2ILjY6Ja2Qr4XF
> > %2b8FoLrOpCRvinHQIaqi%2faMSXw%3d to cordova-android
> > https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fissue
> > s.apache.org%2fjira%2fbrowse%2fCB-10656&data=01%7c01%7criknoll%40micro
> > soft.com%7c6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7c
> > d011db47%7c1&sdata=Y6ygyF0AqvvK2VqTcTRSNflpowAn89Xaa%2fTaMFC%2fqlI%3d
> >
> >
> >
> > 2016-04-03 18:43 GMT+02:00 Carlos Santana <cs...@gmail.com>:
> >
> > > Simon I like approach
> > > Can we move to this approach now? Yes Then once the downstream
> > > distro's support API 23 and the new API methods in CordovaInterface
> > > we can move this into Cordova Android proper? Yes
> > >
> > > +1
> > >
> > > On Thu, Mar 31, 2016 at 6:38 PM Joe Bowser <bo...@gmail.com> wrote:
> > >
> > > > LGTM!
> > > >
> > > > On Thu, Mar 31, 2016 at 3:02 PM, Simon MacDonald <
> > > > simon.macdonald@gmail.com>
> > > > wrote:
> > > >
> > > > > I really hate the fact we need to add that
> > > > > https://na01.safelinks.protection.outlook.com/?url=PermissionHel
> > > > > per.java&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f454d
> > > > > a19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=
> > > > > KXea2ILjY6Ja2Qr4XF%2b8FoLrOpCRvinHQIaqi%2faMSXw%3d file
> > > to
> > > > > each and every plugin that requires API 23 permission support.
> > > Especially
> > > > > since the package the class is in is different for each plugin
> > > > > so we
> > > can
> > > > > two, three or more copies of the same code in an app. That's
> > > > > just
> > > > wasteful.
> > > > >
> > > > > Joe responded to my bitching by saying "Maybe we should create a
> > > > > permissions plugin for this and make everything go through that"
> > which
> > > > set
> > > > > my mind a racing (perhaps I was just over caffeinated) and I
> > > > > decided
> > to
> > > > > prototype it this afternoon.
> > > > >
> > > > > I've created a new plugin called cordova-plugin-compat over at
> > > > > https://github.com/macdonst/cordova-plugin-compat  and all it
> > > > > does
> > is
> > > > > deliver the org.apache.cordova.PermissionHelper class. I then
> > > > > turned
> > > > around
> > > > > and removed the class from the camera plugin and make
> > > > cordova-plugin-camera
> > > > > depend on cordova-plugin-compat.
> > > > >
> > > > > You can see that change over on my camera fork:
> > > > >
> > > > > https://github.com/macdonst
> > > > >
> > /cordova-plugin-camera/commit/58b72cb5c3109481df9f337ad97607858681b37e
> > > > >
> > > > > Can we move to this approach now? Then once the downstream
> > > > > distro's
> > > > support
> > > > > API 23 and the new API methods in CordovaInterface we can move
> > > > > this
> > > into
> > > > > Cordova Android proper?
> > > > >
> > > > > Thoughts? Are there use cases this approach doesn't work for?
> > > > >
> > > > >
> > > > > Simon Mac Donald
> > > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2f
> > > > > hi.im%2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.com%7c
> > > > > 6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011d
> > > > > b47%7c1&sdata=yGziFs1bd1KAZjUEloAiJ07c9EipxtrtSYxU8e5oO7M%3d
> > > > >
> > > > > On Fri, Feb 5, 2016 at 2:32 PM, Richard Knoll
> > > > > <riknoll@microsoft.com
> > >
> > > > > wrote:
> > > > >
> > > > > > Yep, I left it out of the first round by mistake; I was
> > > > > > looking at
> > an
> > > > out
> > > > > > of date version of cordova-plugin-media at the time. I've got
> > > > > > a PR
> > > open
> > > > > > that adds the helper here:
> > > > > >
> > > > > > https://github.com/apache/cordova-plugin-media/pull/79
> > > > > >
> > > > > > Thanks,
> > > > > > Richard
> > > > > >
> > > > > > -----Original Message-----
> > > > > > From: julio cesar sanchez [mailto:jcesarmobile@gmail.com]
> > > > > > Sent: Friday, February 5, 2016 7:20 AM
> > > > > > To: dev@cordova.apache.org
> > > > > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > > > > >
> > > > > > Yeah, that one.
> > > > > >
> > > > > >
> > > > > > El viernes, 5 de febrero de 2016, Homer, Tony <
> > tony.homer@intel.com>
> > > > > > escribió:
> > > > > >
> > > > > > > It took me a while to find it, but I guess you mean CB-10455?
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > On 2/5/16, 7:56 AM, "julio cesar sanchez" <
> > jcesarmobile@gmail.com
> > > > > > > <javascript:;>> wrote:
> > > > > > >
> > > > > > > >I think we just forgot, somebody mentioned this on slack
> > > > > > > >and
> > there
> > > > is
> > > > > > > >an issue open on JIRA.
> > > > > > > >
> > > > > > > >2016-02-05 13:52 GMT+01:00 Homer, Tony
> > > > > > > ><tony.homer@intel.com
> > > > > > > <javascript:;>>:
> > > > > > > >
> > > > > > > >> Earlier in this thread, Richard stated:
> > > > > > > >> >> This change has been merged into the file, camera,
> > > geolocation,
> > > > > > > >> >> and
> > > > > > > >> contacts plugins (media did not actually require any
> change).
> > > > > > > >>
> > > > > > > >>
> > > > > > > >> Media was updated on 1/15 but it still has a
> > > > > > > >> "cordova-android
> > > > > > > >=5.0.0-dev"
> > > > > > > >> engine tag.
> > > > > > > >> I couldn't find any other discussion about this on the
> > > > > > > >> list
> > and
> > > > > > > >> wondered why it was retained for media.
> > > > > > > >> Was this an oversight?
> > > > > > > >>
> > > > > > > >>
> > > > > > > >> Thanks!
> > > > > > > >> Tony
> > > > > > > >>
> > > > > > > >>
> > > > > > > >>
> > > > > > > >>
> > > > > > > >> On 1/15/16, 4:40 PM, "Simon MacDonald" <
> > > simon.macdonald@gmail.com
> > > > > > > <javascript:;>> wrote:
> > > > > > > >>
> > > > > > > >> >LGTM
> > > > > > > >> >
> > > > > > > >> >+1
> > > > > > > >> >
> > > > > > > >> >Simon Mac Donald
> > > > > > > >> >
> > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi
> > > > > > > >>
> > > > >.im%2fsimonmacdonald&data=01%7c01%7cRIKNOLL%40exchange.microsoft.
> > > > >c
> > > > > > > >>
> > > > >om%7cacc2d663ce574637d10908d32e3fd62d%7c72f988bf86f141af91ab2d7cd
> > > > >0
> > > > > > > >>
> > > >11db47%7c1&sdata=wCGbmJR3ZKj6lABfwOcjoLypjztI9HNX8%2bak6AhuBqY%3d
> > > > > > > >> >
> > > > > > > >> >On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <
> > bowserj@gmail.com
> > > > > > > <javascript:;>> wrote:
> > > > > > > >> >
> > > > > > > >> >> Sorry, wrong PR:
> > > > > > > >> >>
> > > https://github.com/apache/cordova-plugin-inappbrowser/pull/136
> > > > > > > >> >>
> > > > > > > >> >> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <
> > > > bowserj@gmail.com
> > > > > > > <javascript:;>> wrote:
> > > > > > > >> >>
> > > > > > > >> >> > So, what does the timeline look like for a Plugins
> > release.
> > > > I
> > > > > > > >> >> > just
> > > > > > > >> did a
> > > > > > > >> >> > major change in the InAppBrowser to fix tel: and sms:
> > URIs
> > > so
> > > > > > > >> >> > they
> > > > > > > do
> > > > > > > >> >> > stuff, and it'd be cool if this also made if this
> > > > > > > >> >> > got
> > > looked
> > > > > > > >> >> > over
> > > > > > > and
> > > > > > > >> >> > landed before the next release.
> > > > > > > >> >> >
> > > > > > > >> >> >
> > > > https://github.com/apache/cordova-plugin-inappbrowser/pull/135
> > > > > > > >> >> >
> > > > > > > >> >> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana <
> > > > > > > csantana23@gmail.com <javascript:;>
> > > > > > > >> >
> > > > > > > >> >> > wrote:
> > > > > > > >> >> >
> > > > > > > >> >> >> I agree with final compromise, I also had a
> > > > > > > >> >> >> discussion
> > > with
> > > > > > > >> >> >> Nikhil
> > > > > > > >> >> during
> > > > > > > >> >> >> holiday break offline and understood the situation,
> > > > > > > >> >> >> some
> > > 3rd
> > > > > > > >> >> >> party
> > > > > > > >> >> plugins
> > > > > > > >> >> >> are not open source and customers/devs don't move
> > > > > > > >> >> >> as
> > fast
> > > as
> > > > > > > >> >> >> we
> > > > > > > wish,
> > > > > > > >> >> but
> > > > > > > >> >> >> having a CLI 6 with latest plugins being backwards
> > > > compatible
> > > > > > > >> >> >> with
> > > > > > > >> lower
> > > > > > > >> >> >> Android API is good base for developers to start
> > > upgrading.
> > > > > > > >> >> >>
> > > > > > > >> >> >>
> > > > > > > >> >> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <
> > > > > > > stevengill97@gmail.com <javascript:;>>
> > > > > > > >> >> >> wrote:
> > > > > > > >> >> >>
> > > > > > > >> >> >> > Awesome! I'll kick up a discuss thread
> > > > > > > >> >> >> >
> > > > > > > >> >> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard Knoll <
> > > > > > > >> riknoll@microsoft.com <javascript:;>
> > > > > > > >> >> >
> > > > > > > >> >> >> > wrote:
> > > > > > > >> >> >> >
> > > > > > > >> >> >> > > Hey all,
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > This change has been merged into the file,
> > > > > > > >> >> >> > > camera,
> > > > > > > geolocation,
> > > > > > > >> and
> > > > > > > >> >> >> > > contacts plugins (media did not actually
> > > > > > > >> >> >> > > require any
> > > > > > change).
> > > > > > > I
> > > > > > > >> was
> > > > > > > >> >> >> able
> > > > > > > >> >> >> > to
> > > > > > > >> >> >> > > build and run mobilespec on cordova-android
> > > > > > > >> >> >> > > 4.0.0
> > and
> > > > > > > >> >> >> cordova-android's
> > > > > > > >> >> >> > > master. We should probably push for a plugins
> > release
> > > > > > > >> >> >> > > soon,
> > > > > > > since
> > > > > > > >> >> >> there
> > > > > > > >> >> >> > are
> > > > > > > >> >> >> > > also some major bug fixes to the contacts and
> > > > > > > >> >> >> > > camera plugins
> > > > > > > that
> > > > > > > >> >> were
> > > > > > > >> >> >> > > recently pushed.
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > Thanks,
> > > > > > > >> >> >> > > Richard
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > -----Original Message-----
> > > > > > > >> >> >> > > From: Nikhil Khandelwal [mailto:
> > > nikhilkh@microsoft.com
> > > > > > > <javascript:;>]
> > > > > > > >> >> >> > > Sent: Friday, January 8, 2016 12:12 PM
> > > > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > > > > > > >> >> >> > > Subject: RE: [DISCUSS] Core Plugins and Android
> > > > > > > >> >> >> > > API
> > 23
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > We had a good discussion about this offline
> > > > > > > >> >> >> > > with
> > Joe,
> > > > > > > >> >> >> > > Simon,
> > > > > > > >> Steve,
> > > > > > > >> >> >> > Jesse,
> > > > > > > >> >> >> > > Parashu and Jason. We came to the following
> > agreement:
> > > > > > > >> >> >> > > This is a temporary fix to the plugins which we
> > > > > > > >> >> >> > > need
> > > to
> > > > > > > >> >> >> > > take
> > > > > > > to
> > > > > > > >> >> ensure
> > > > > > > >> >> >> > > Cordova 5.x tools behavior of using the edge
> > > > > > > >> >> >> > > plugins
> > > > does
> > > > > > > >> >> >> > > not
> > > > > > > >> break
> > > > > > > >> >> >> for
> > > > > > > >> >> >> > our
> > > > > > > >> >> >> > > users. We will pursue the change for all the
> > affected
> > > > > > plugins.
> > > > > > > >> This
> > > > > > > >> >> >> will
> > > > > > > >> >> >> > go
> > > > > > > >> >> >> > > out in the next PLUGINS release which will
> > > > > > > >> >> >> > > happen
> > > before
> > > > > > > >> >> >> > > the
> > > > > > > >> Cordova
> > > > > > > >> >> >> 6.0
> > > > > > > >> >> >> > > release. Since this a temporary fix, we aim to
> > remove
> > > it
> > > > > > > >> >> >> > > in 6
> > > > > > > >> months
> > > > > > > >> >> >> > > (giving reasonable time for our user base to
> > > > > > > >> >> >> > > move to Cordova
> > > > > > > 6.x+
> > > > > > > >> >> >> which
> > > > > > > >> >> >> > > will have a better plugin version pinning
> > mechanism).
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > Thanks,
> > > > > > > >> >> >> > > Nikhil
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > -----Original Message-----
> > > > > > > >> >> >> > > From: Simon MacDonald [mailto:
> > > simon.macdonald@gmail.com
> > > > > > > <javascript:;>]
> > > > > > > >> >> >> > > Sent: Thursday, January 7, 2016 4:00 PM
> > > > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > > > > > > >> >> >> > > Subject: Re: [DISCUSS] Core Plugins and Android
> > > > > > > >> >> >> > > API
> > 23
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > I'm going to play devils advocate a bit here:
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > > There are valid reasons why many app
> > > > > > > >> >> >> > > > developers
> > > might
> > > > > > > >> >> >> > > > not be
> > > > > > > >> ready
> > > > > > > >> >> >> to
> > > > > > > >> >> >> > > > move to API level 23:
> > > > > > > >> >> >> > > >   1) They have an app which is stabilizing or
> > > > > > > >> >> >> > > > in maintenance
> > > > > > > >> mode
> > > > > > > >> >> >> and
> > > > > > > >> >> >> > > > they don't want to risk destabilization by
> > > > > > > >> >> >> > > > moving
> > > to a
> > > > > > > >> >> >> > > > new
> > > > > > > >> major
> > > > > > > >> >> >> > > > Cordova version, Cordova Android platform,
> > > > > > > >> >> >> > > > and
> > > Android
> > > > > > > >> >> >> > > > API
> > > > > > > >> level.
> > > > > > > >> >> >> > > >
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > If the developer is not ready to move to a new
> > version
> > > > of
> > > > > > > Cordova
> > > > > > > >> >> >> Android
> > > > > > > >> >> >> > > or the Android API would it not also follow
> > > > > > > >> >> >> > > that
> > they
> > > > > > > shouldn't
> > > > > > > >> be
> > > > > > > >> >> >> > changing
> > > > > > > >> >> >> > > their plugin versions?
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > >   2) They are using a 3rd-party plugin which
> > > > > > > >> >> >> > > > has
> > not
> > > > > > > >> >> >> > > > yet
> > > > > > > been
> > > > > > > >> >> >> updated
> > > > > > > >> >> >> > > > to request Android permissions as required by
> > > > > > > >> >> >> > > > API
> > > > level
> > > > > > 23.
> > > > > > > >> There
> > > > > > > >> >> >> are
> > > > > > > >> >> >> > > > probably a lot of plugins affected, since
> > > > > > > >> >> >> > > > access
> > to
> > > > any
> > > > > > > >> >> >> > > > of
> > > > > > > the
> > > > > > > >> >> >> > > > following things on Android M requires
> > > > > > > >> >> >> > > > runtime permission
> > > > > > > >> >> requests:
> > > > > > > >> >> >> > > > calendar, contacts, phone, camera,
> > > > > > > >> >> >> > > > microphone, location,
> > > > > > > >> beacons,
> > > > > > > >> >> >> > > sensors, SMS, storage.
> > > > > > > >> >> >> > > >
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > Right, so if the 3rd party plugin they are
> > > > > > > >> >> >> > > using
> > > doesn't
> > > > > > > support
> > > > > > > >> >> >> Android
> > > > > > > >> >> >> > M
> > > > > > > >> >> >> > > they should either a) not upgrade or b) send a
> > > > > > > >> >> >> > > PR to
> > > the
> > > > > > > plugin
> > > > > > > >> >> >> > maintainer
> > > > > > > >> >> >> > > so everyone can benefit.
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > >   3) They might not have the capacity or
> > > > > > > >> >> >> > > > ability
> > to
> > > > > > > >> >> >> > > > test
> > > > > > > their
> > > > > > > >> app
> > > > > > > >> >> >> on
> > > > > > > >> >> >> > > > devices running Android M. Because API 23
> > > > > > > >> >> >> > > > enables
> > > the
> > > > > > > >> >> >> > > > new
> > > > > > > >> >> >> permissions
> > > > > > > >> >> >> > > > model only on Android M, it requires testing
> > > > > > > >> >> >> > > > on
> > that
> > > > > > > platform.
> > > > > > > >> >> >> > > >
> > > > > > > >> >> >> > > >
> > > > > > > >> >> >> > > Everyone has access to the Android emulator.
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > > In any of the above cases, developers might
> > > > > > > >> >> >> > > > still
> > > like
> > > > > > > >> >> >> > > > to
> > > > > > > >> benefit
> > > > > > > >> >> >> from
> > > > > > > >> >> >> > > > some of the major bug fixes in those 5
> > > > > > > >> >> >> > > > popular
> > core
> > > > > > > >> >> >> > > > plugins
> > > > > > > >> >> >> mentioned
> > > > > > > >> >> >> > > > below. Or even if they weren't specifically
> > looking
> > > > for
> > > > > > > >> >> >> > > > bug
> > > > > > > >> fixes,
> > > > > > > >> >> >> it
> > > > > > > >> >> >> > > > would be a much better experience if adding
> > > > > > > >> >> >> > > > or
> > > > updating
> > > > > > > >> >> >> > > > one
> > > > > > > of
> > > > > > > >> >> those
> > > > > > > >> >> >> > > > plugins would just work, rather than failing
> > > > > > > >> >> >> > > > on Android. The explanation for the failure
> > > > > > > >> >> >> > > > will not
> > be
> > > > > > > >> >> >> > > > obvious to many
> > > > > > > users,
> > > > > > > >> if
> > > > > > > >> >> >> they
> > > > > > > >> >> >> > > > overlooked the warning when installing the
> > > > > > > >> >> >> > > > plugin
> > or
> > > > if
> > > > > > > >> >> >> > > > they
> > > > > > > >> were
> > > > > > > >> >> >> > > > using another tool to add the plugin where
> > > > > > > >> >> >> > > > the
> > > warning
> > > > > > > wasn't
> > > > > > > >> >> >> surfaced.
> > > > > > > >> >> >> > > >
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > >  Seems like you are describing a tooling
> > > > > > > >> >> >> > > problem
> > here.
> > > > If
> > > > > > > >> >> >> > > the
> > > > > > > >> tool
> > > > > > > >> >> >> > doesn't
> > > > > > > >> >> >> > > surface the warning or allows the user to add a
> > plugin
> > > > > > > >> >> >> > > that is
> > > > > > > >> >> >> > incompatible
> > > > > > > >> >> >> > > with the version of Cordova Android that is
> > > > > > > >> >> >> > > being
> > used
> > > > > > > >> >> >> > > really
> > > > > > > >> sounds
> > > > > > > >> >> >> > like a
> > > > > > > >> >> >> > > bug in the tooling to me.
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > > Of course developers should be encouraged to
> > upgrade
> > > > to
> > > > > > > >> >> >> > > > the
> > > > > > > >> latest
> > > > > > > >> >> >> > > > most secure highest-quality version of Cordova.
> > But
> > > > the
> > > > > > > >> >> >> encouragement
> > > > > > > >> >> >> > > > does not need to be so forceful. This
> > > > > > > >> >> >> > > > proposed
> > > change
> > > > > > > >> >> >> > > > gives
> > > > > > > >> >> >> developers
> > > > > > > >> >> >> > > > more time to upgrade, and allows for more
> > > > > > > >> >> >> > > > choice
> > > about
> > > > > > > >> >> >> > > > when
> > > > > > > to
> > > > > > > >> >> >> upgrade
> > > > > > > >> >> >> > > > individual parts
> > > > > > > >> >> >> > > > (plugins) rather than limiting them to
> > > all-or-nothing.
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > >  I would argue that the developer has an
> > > > > > > >> >> >> > > infinite
> > > amount
> > > > > > > >> >> >> > > of
> > > > > > > time
> > > > > > > >> to
> > > > > > > >> >> >> > > upgrade. Nothing is forcing you to upgrade to
> > > > > > > >> >> >> > > the
> > > latest
> > > > > > > Cordova
> > > > > > > >> >> >> Android
> > > > > > > >> >> >> > or
> > > > > > > >> >> >> > > Android API. They can continue to use the same
> > version
> > > > of
> > > > > > > Cordova
> > > > > > > >> >> >> Android
> > > > > > > >> >> >> > > and plugins that are currently working in their
> app.
> > > If
> > > > > > > >> >> >> > > the
> > > > > > > >> >> developer
> > > > > > > >> >> >> is
> > > > > > > >> >> >> > > using semver properly and we do our job right
> > > > > > > >> >> >> > > they shouldn't
> > > > > > > >> pick up
> > > > > > > >> >> >> > > breaking changes. For instance, if the API of a
> > plugin
> > > > > > > changes we
> > > > > > > >> >> bump
> > > > > > > >> >> >> > the
> > > > > > > >> >> >> > > major version of the plugin so users who setup
> > > > > > > >> >> >> > > their
> > > > > > > config.xml
> > > > > > > >> to
> > > > > > > >> >> >> use:
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > <plugin name="cordova-plugin-camera" spec="^1.1.0"
> > />
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > will effectively prevent the user from picking
> > > > > > > >> >> >> > > up
> > the
> > > > > > > >> >> >> > > breaking
> > > > > > > >> >> change
> > > > > > > >> >> >> in
> > > > > > > >> >> >> > > camera version 2.0.0.
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > Simon Mac Donald
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> >
> > > > > > > >> >> >>
> > > > > > > >> >>
> > > > > > > >>
> > > > > > >
> > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi
> > > > .im%
> > > > > > > 2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com
> > > > %7c84fb6405edf
> > > > > > >
> > > > 74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata
> > > > =B8D
> > > > > > > uMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
> > > > > > > >> >> >> > >  B
> > > > > > > >> >> >>
> > > > > > > >>
> > > > KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
> > > > K
> > > > > > > >> KCB
> > > > > > > >> >> >> > >   [  X  ܚX K  K[XZ[
> > > > > > > >> >> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[
> [X[
> > > > > >  K[XZ[
> > > > > > > >> >> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> >
> > > > > > > >> >> >>
> > > > > > > >> >> >
> > > > > > > >> >> >
> > > > > > > >> >>
> > > > > > > >>
> > > > > > > >>
> > > > ------------------------------------------------------------------
> > > > -
> > > > > > > >> -- To unsubscribe, e-mail:
> > > > > > > >> dev-unsubscribe@cordova.apache.org
> > > > > > > <javascript:;>
> > > > > > > >> For additional commands, e-mail:
> > > > > > > >> dev-help@cordova.apache.org
> > > > > > > <javascript:;>
> > > > > > > >>
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by Simon MacDonald <si...@gmail.com>.
Nope, that is still valid. Anyone using Cordova-Android 5+ doesn't need to
use the PermissionHelper shim. It is to support folks who haven't upgraded
to Cordova Android 5+.


Simon Mac Donald
http://hi.im/simonmacdonald

On Fri, Apr 15, 2016 at 3:31 PM, Steven Gill <st...@gmail.com> wrote:

> Does this document need to be updated for this change?
>
> http://cordova.apache.org/docs/en/latest/guide/platforms/android/plugin.html#android-permissions
>
> On Tue, Apr 5, 2016 at 11:13 AM, Jesse <pu...@gmail.com> wrote:
>
> > 5) add new plugin repo to coho managed plugins list
> >
> >
> > @purplecabbage
> > risingj.com
> >
> > On Tue, Apr 5, 2016 at 8:20 AM, Simon MacDonald <
> simon.macdonald@gmail.com
> > >
> > wrote:
> >
> > > Just an update:
> > >
> > > Task list:
> > >
> > > 1) create cordova-plugin-compat repo, populate with code. COMPLETE
> > > Apache Repo:
> > > https://git-wip-us.apache.org/repos/asf?p=cordova-plugin-compat.git
> > > Github Mirror: https://github.com/apache/cordova-plugin-compat
> > > NPM:
> > >
> >
> https://www.npmjs.com/package/cordova-plugin-compat#cordova-plugin-compat
> > >
> > > 2) migrate core plugins to use cordova-plugin-compat
> > > 3) kick off plugins release
> > > 4) write blog post
> > >
> > >
> > > Simon Mac Donald
> > > http://hi.im/simonmacdonald
> > >
> > > On Mon, Apr 4, 2016 at 4:08 PM, Simon MacDonald <
> > simon.macdonald@gmail.com
> > > >
> > > wrote:
> > >
> > > > I'm moving forward with 1 as I've requested a new git repo and github
> > > > mirror from infra:
> > > >
> > > >
> > https://issues.apache.org/jira/servicedesk/customer/portal/1/INFRA-11592
> > > >
> > https://issues.apache.org/jira/servicedesk/customer/portal/1/INFRA-11593
> > > >
> > > > once that is done I'll get on to migrating the core plugins to use
> this
> > > as
> > > > a dependency once published to NPM.
> > > >
> > > >
> > > > Simon Mac Donald
> > > > http://hi.im/simonmacdonald
> > > >
> > > > On Mon, Apr 4, 2016 at 1:38 PM, Richard Knoll <riknoll@microsoft.com
> >
> > > > wrote:
> > > >
> > > >> That sounds right to me. No major version bumps needed.
> > > >>
> > > >> Richard
> > > >>
> > > >> -----Original Message-----
> > > >> From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
> > > >> Sent: Monday, April 4, 2016 10:35 AM
> > > >> To: dev@cordova.apache.org
> > > >> Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > > >>
> > > >> In cordova-android? No, I don't think so. For the plugins I'd bump
> > their
> > > >> minor version. Make sense?
> > > >>
> > > >>
> > > >> Simon Mac Donald
> > > >>
> > > >>
> > >
> >
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.com%7c8bdd5fa551a84275174b08d35caf7ef9%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=Tx2MCYz9NAhmUMBCaa6fPoOLPb8R%2be5%2f6hCvsHapVaI%3d
> > > >>
> > > >> On Mon, Apr 4, 2016 at 1:32 PM, Joe Bowser <bo...@gmail.com>
> wrote:
> > > >>
> > > >> > Does this require a major version change?
> > > >> >
> > > >> > On Mon, Apr 4, 2016, 10:30 AM Richard Knoll <
> riknoll@microsoft.com>
> > > >> wrote:
> > > >> >
> > > >> > > Sorry for being late to comment on this. If we were the only
> ones
> > > >> > > using the class, I would say we should just keep copying around.
> > > >> > > However, since other plugins are using it I think it's a good
> idea
> > > >> > > to put it in a common place and a plugin is the best way to do
> it.
> > > >> > > LGTM! Should someone write
> > > >> > up
> > > >> > > a blog post about this so that third-party plugins know to
> update?
> > > >> > >
> > > >> > > Thanks,
> > > >> > > Richard
> > > >> > >
> > > >> > > -----Original Message-----
> > > >> > > From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
> > > >> > > Sent: Sunday, April 3, 2016 12:26 PM
> > > >> > > To: dev@cordova.apache.org
> > > >> > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > > >> > >
> > > >> > > Seems like we have momentum on this. So barring any negative
> > > >> > > comments
> > > >> > from
> > > >> > > Microsoft about this approach whom do I contact to setup a new
> > repo
> > > >> > > on Apache GIT?
> > > >> > >
> > > >> > >
> > > >> > > Simon Mac Donald
> > > >> > >
> > > >> > >
> > > >> >
> > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%
> > > >> > 2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.com
> > > %7c6d4d4a706f45
> > > >> >
> > 4da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=yGzi
> > > >> > Fs1bd1KAZjUEloAiJ07c9EipxtrtSYxU8e5oO7M%3d
> > > >> > >
> > > >> > > On Sun, Apr 3, 2016 at 2:26 PM, julio cesar sanchez <
> > > >> > > jcesarmobile@gmail.com>
> > > >> > > wrote:
> > > >> > >
> > > >> > > > I like it too
> > > >> > > > A lot of 3rd party plugins are adding that classes too
> > > >> > > >
> > > >> > > > BTW, there is a JIRA issue to add
> > > >> > > >
> > > https://na01.safelinks.protection.outlook.com/?url=PermissionHelpe
> > > >> > > > r.ja
> > > >> > > > va&data=01%7c01%7criknoll%40microsoft.com
> > > %7c6d4d4a706f454da19d7f08
> > > >> > > > d35b
> > > >> > > >
> > f5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=KXea2ILjY6Ja2Q
> > > >> > > > r4XF %2b8FoLrOpCRvinHQIaqi%2faMSXw%3d to cordova-android
> > > >> > > >
> > > https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fi
> > > >> > > > ssue
> > > >> > > > s.apache.org
> > > %2fjira%2fbrowse%2fCB-10656&data=01%7c01%7criknoll%40m
> > > >> > > > icro
> > > >> > > > soft.com
> > > %7c6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab
> > > >> > > > 2d7c
> > > >> > > >
> > d011db47%7c1&sdata=Y6ygyF0AqvvK2VqTcTRSNflpowAn89Xaa%2fTaMFC%2fqlI
> > > >> > > > %3d
> > > >> > > >
> > > >> > > >
> > > >> > > >
> > > >> > > > 2016-04-03 18:43 GMT+02:00 Carlos Santana <
> csantana23@gmail.com
> > >:
> > > >> > > >
> > > >> > > > > Simon I like approach
> > > >> > > > > Can we move to this approach now? Yes Then once the
> downstream
> > > >> > > > > distro's support API 23 and the new API methods in
> > > >> > > > > CordovaInterface we can move this into Cordova Android
> proper?
> > > >> > > > > Yes
> > > >> > > > >
> > > >> > > > > +1
> > > >> > > > >
> > > >> > > > > On Thu, Mar 31, 2016 at 6:38 PM Joe Bowser <
> bowserj@gmail.com
> > >
> > > >> > wrote:
> > > >> > > > >
> > > >> > > > > > LGTM!
> > > >> > > > > >
> > > >> > > > > > On Thu, Mar 31, 2016 at 3:02 PM, Simon MacDonald <
> > > >> > > > > > simon.macdonald@gmail.com>
> > > >> > > > > > wrote:
> > > >> > > > > >
> > > >> > > > > > > I really hate the fact we need to add that
> > > >> > > > > > >
> > > https://na01.safelinks.protection.outlook.com/?url=Permissio
> > > >> > > > > > > nHel
> > > >> > > > > > > per.java&data=01%7c01%7criknoll%40microsoft.com
> > > %7c6d4d4a706f
> > > >> > > > > > > 454d
> > > >> > > > > > >
> > a19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sd
> > > >> > > > > > > ata= KXea2ILjY6Ja2Qr4XF%2b8FoLrOpCRvinHQIaqi%2faMSXw%3d
> > file
> > > >> > > > > to
> > > >> > > > > > > each and every plugin that requires API 23 permission
> > > support.
> > > >> > > > > Especially
> > > >> > > > > > > since the package the class is in is different for each
> > > >> > > > > > > plugin so we
> > > >> > > > > can
> > > >> > > > > > > two, three or more copies of the same code in an app.
> > That's
> > > >> > > > > > > just
> > > >> > > > > > wasteful.
> > > >> > > > > > >
> > > >> > > > > > > Joe responded to my bitching by saying "Maybe we should
> > > >> > > > > > > create a permissions plugin for this and make everything
> > go
> > > >> through that"
> > > >> > > > which
> > > >> > > > > > set
> > > >> > > > > > > my mind a racing (perhaps I was just over caffeinated)
> > and I
> > > >> > > > > > > decided
> > > >> > > > to
> > > >> > > > > > > prototype it this afternoon.
> > > >> > > > > > >
> > > >> > > > > > > I've created a new plugin called cordova-plugin-compat
> > over
> > > >> > > > > > > at https://github.com/macdonst/cordova-plugin-compat
> and
> > > >> > > > > > > all it does
> > > >> > > > is
> > > >> > > > > > > deliver the org.apache.cordova.PermissionHelper class. I
> > > >> > > > > > > then turned
> > > >> > > > > > around
> > > >> > > > > > > and removed the class from the camera plugin and make
> > > >> > > > > > cordova-plugin-camera
> > > >> > > > > > > depend on cordova-plugin-compat.
> > > >> > > > > > >
> > > >> > > > > > > You can see that change over on my camera fork:
> > > >> > > > > > >
> > > >> > > > > > > https://github.com/macdonst
> > > >> > > > > > >
> > > >> > > >
> > /cordova-plugin-camera/commit/58b72cb5c3109481df9f337ad97607858681
> > > >> > > > b37e
> > > >> > > > > > >
> > > >> > > > > > > Can we move to this approach now? Then once the
> downstream
> > > >> > > > > > > distro's
> > > >> > > > > > support
> > > >> > > > > > > API 23 and the new API methods in CordovaInterface we
> can
> > > >> > > > > > > move this
> > > >> > > > > into
> > > >> > > > > > > Cordova Android proper?
> > > >> > > > > > >
> > > >> > > > > > > Thoughts? Are there use cases this approach doesn't work
> > > for?
> > > >> > > > > > >
> > > >> > > > > > >
> > > >> > > > > > > Simon Mac Donald
> > > >> > > > > > >
> > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2
> > > >> > > > > > > f%2f
> > > >> > > > > > > hi.im%2fsimonmacdonald&data=01%7c01%7criknoll%
> > > 40microsoft.co
> > > >> > > > > > > m%7c
> > > >> > > > > > >
> > 6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd
> > > >> > > > > > > 011d
> > > >> > > > > > >
> > b47%7c1&sdata=yGziFs1bd1KAZjUEloAiJ07c9EipxtrtSYxU8e5oO7M%3d
> > > >> > > > > > >
> > > >> > > > > > > On Fri, Feb 5, 2016 at 2:32 PM, Richard Knoll
> > > >> > > > > > > <riknoll@microsoft.com
> > > >> > > > >
> > > >> > > > > > > wrote:
> > > >> > > > > > >
> > > >> > > > > > > > Yep, I left it out of the first round by mistake; I
> was
> > > >> > > > > > > > looking at
> > > >> > > > an
> > > >> > > > > > out
> > > >> > > > > > > > of date version of cordova-plugin-media at the time.
> > I've
> > > >> > > > > > > > got a PR
> > > >> > > > > open
> > > >> > > > > > > > that adds the helper here:
> > > >> > > > > > > >
> > > >> > > > > > > >
> https://github.com/apache/cordova-plugin-media/pull/79
> > > >> > > > > > > >
> > > >> > > > > > > > Thanks,
> > > >> > > > > > > > Richard
> > > >> > > > > > > >
> > > >> > > > > > > > -----Original Message-----
> > > >> > > > > > > > From: julio cesar sanchez [mailto:
> > jcesarmobile@gmail.com]
> > > >> > > > > > > > Sent: Friday, February 5, 2016 7:20 AM
> > > >> > > > > > > > To: dev@cordova.apache.org
> > > >> > > > > > > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > > >> > > > > > > >
> > > >> > > > > > > > Yeah, that one.
> > > >> > > > > > > >
> > > >> > > > > > > >
> > > >> > > > > > > > El viernes, 5 de febrero de 2016, Homer, Tony <
> > > >> > > > tony.homer@intel.com>
> > > >> > > > > > > > escribió:
> > > >> > > > > > > >
> > > >> > > > > > > > > It took me a while to find it, but I guess you mean
> > > >> CB-10455?
> > > >> > > > > > > > >
> > > >> > > > > > > > >
> > > >> > > > > > > > >
> > > >> > > > > > > > > On 2/5/16, 7:56 AM, "julio cesar sanchez" <
> > > >> > > > jcesarmobile@gmail.com
> > > >> > > > > > > > > <javascript:;>> wrote:
> > > >> > > > > > > > >
> > > >> > > > > > > > > >I think we just forgot, somebody mentioned this on
> > > >> > > > > > > > > >slack and
> > > >> > > > there
> > > >> > > > > > is
> > > >> > > > > > > > > >an issue open on JIRA.
> > > >> > > > > > > > > >
> > > >> > > > > > > > > >2016-02-05 13:52 GMT+01:00 Homer, Tony
> > > >> > > > > > > > > ><tony.homer@intel.com
> > > >> > > > > > > > > <javascript:;>>:
> > > >> > > > > > > > > >
> > > >> > > > > > > > > >> Earlier in this thread, Richard stated:
> > > >> > > > > > > > > >> >> This change has been merged into the file,
> > camera,
> > > >> > > > > geolocation,
> > > >> > > > > > > > > >> >> and
> > > >> > > > > > > > > >> contacts plugins (media did not actually require
> > any
> > > >> > > change).
> > > >> > > > > > > > > >>
> > > >> > > > > > > > > >>
> > > >> > > > > > > > > >> Media was updated on 1/15 but it still has a
> > > >> > > > > > > > > >> "cordova-android
> > > >> > > > > > > > > >=5.0.0-dev"
> > > >> > > > > > > > > >> engine tag.
> > > >> > > > > > > > > >> I couldn't find any other discussion about this
> on
> > > >> > > > > > > > > >> the list
> > > >> > > > and
> > > >> > > > > > > > > >> wondered why it was retained for media.
> > > >> > > > > > > > > >> Was this an oversight?
> > > >> > > > > > > > > >>
> > > >> > > > > > > > > >>
> > > >> > > > > > > > > >> Thanks!
> > > >> > > > > > > > > >> Tony
> > > >> > > > > > > > > >>
> > > >> > > > > > > > > >>
> > > >> > > > > > > > > >>
> > > >> > > > > > > > > >>
> > > >> > > > > > > > > >> On 1/15/16, 4:40 PM, "Simon MacDonald" <
> > > >> > > > > simon.macdonald@gmail.com
> > > >> > > > > > > > > <javascript:;>> wrote:
> > > >> > > > > > > > > >>
> > > >> > > > > > > > > >> >LGTM
> > > >> > > > > > > > > >> >
> > > >> > > > > > > > > >> >+1
> > > >> > > > > > > > > >> >
> > > >> > > > > > > > > >> >Simon Mac Donald
> > > >> > > > > > > > > >> >
> > > >> > > > > >
> > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%
> > > >> > > > > > 2fhi
> > > >> > > > > > > > > >>
> > > >> > > > > >
> > > >> >.im%2fsimonmacdonald&data=01%7c01%7cRIKNOLL%40exchange.microsoft.
> > > >> > > > > > >c
> > > >> > > > > > > > > >>
> > > >> > > > > >
> > >om%7cacc2d663ce574637d10908d32e3fd62d%7c72f988bf86f141af91ab2
> > > >> > > > > > >d7cd
> > > >> > > > > > >0
> > > >> > > > > > > > > >>
> > > >> > > > >
> > >11db47%7c1&sdata=wCGbmJR3ZKj6lABfwOcjoLypjztI9HNX8%2bak6AhuBqY%
> > > >> > > > > >3d
> > > >> > > > > > > > > >> >
> > > >> > > > > > > > > >> >On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <
> > > >> > > > bowserj@gmail.com
> > > >> > > > > > > > > <javascript:;>> wrote:
> > > >> > > > > > > > > >> >
> > > >> > > > > > > > > >> >> Sorry, wrong PR:
> > > >> > > > > > > > > >> >>
> > > >> > > > >
> > https://github.com/apache/cordova-plugin-inappbrowser/pull/136
> > > >> > > > > > > > > >> >>
> > > >> > > > > > > > > >> >> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <
> > > >> > > > > > bowserj@gmail.com
> > > >> > > > > > > > > <javascript:;>> wrote:
> > > >> > > > > > > > > >> >>
> > > >> > > > > > > > > >> >> > So, what does the timeline look like for a
> > > >> > > > > > > > > >> >> > Plugins
> > > >> > > > release.
> > > >> > > > > > I
> > > >> > > > > > > > > >> >> > just
> > > >> > > > > > > > > >> did a
> > > >> > > > > > > > > >> >> > major change in the InAppBrowser to fix tel:
> > and
> > > >> sms:
> > > >> > > > URIs
> > > >> > > > > so
> > > >> > > > > > > > > >> >> > they
> > > >> > > > > > > > > do
> > > >> > > > > > > > > >> >> > stuff, and it'd be cool if this also made if
> > > >> > > > > > > > > >> >> > this got
> > > >> > > > > looked
> > > >> > > > > > > > > >> >> > over
> > > >> > > > > > > > > and
> > > >> > > > > > > > > >> >> > landed before the next release.
> > > >> > > > > > > > > >> >> >
> > > >> > > > > > > > > >> >> >
> > > >> > > > > >
> > > https://github.com/apache/cordova-plugin-inappbrowser/pull/135
> > > >> > > > > > > > > >> >> >
> > > >> > > > > > > > > >> >> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos
> > Santana
> > > >> > > > > > > > > >> >> > <
> > > >> > > > > > > > > csantana23@gmail.com <javascript:;>
> > > >> > > > > > > > > >> >
> > > >> > > > > > > > > >> >> > wrote:
> > > >> > > > > > > > > >> >> >
> > > >> > > > > > > > > >> >> >> I agree with final compromise, I also had a
> > > >> > > > > > > > > >> >> >> discussion
> > > >> > > > > with
> > > >> > > > > > > > > >> >> >> Nikhil
> > > >> > > > > > > > > >> >> during
> > > >> > > > > > > > > >> >> >> holiday break offline and understood the
> > > >> > > > > > > > > >> >> >> situation, some
> > > >> > > > > 3rd
> > > >> > > > > > > > > >> >> >> party
> > > >> > > > > > > > > >> >> plugins
> > > >> > > > > > > > > >> >> >> are not open source and customers/devs
> don't
> > > >> > > > > > > > > >> >> >> move as
> > > >> > > > fast
> > > >> > > > > as
> > > >> > > > > > > > > >> >> >> we
> > > >> > > > > > > > > wish,
> > > >> > > > > > > > > >> >> but
> > > >> > > > > > > > > >> >> >> having a CLI 6 with latest plugins being
> > > >> > > > > > > > > >> >> >> backwards
> > > >> > > > > > compatible
> > > >> > > > > > > > > >> >> >> with
> > > >> > > > > > > > > >> lower
> > > >> > > > > > > > > >> >> >> Android API is good base for developers to
> > > >> > > > > > > > > >> >> >> start
> > > >> > > > > upgrading.
> > > >> > > > > > > > > >> >> >>
> > > >> > > > > > > > > >> >> >>
> > > >> > > > > > > > > >> >> >> On Thu, Jan 14, 2016 at 1:23 PM Steven
> Gill <
> > > >> > > > > > > > > stevengill97@gmail.com <javascript:;>>
> > > >> > > > > > > > > >> >> >> wrote:
> > > >> > > > > > > > > >> >> >>
> > > >> > > > > > > > > >> >> >> > Awesome! I'll kick up a discuss thread
> > > >> > > > > > > > > >> >> >> >
> > > >> > > > > > > > > >> >> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard
> > > >> > > > > > > > > >> >> >> > Knoll <
> > > >> > > > > > > > > >> riknoll@microsoft.com <javascript:;>
> > > >> > > > > > > > > >> >> >
> > > >> > > > > > > > > >> >> >> > wrote:
> > > >> > > > > > > > > >> >> >> >
> > > >> > > > > > > > > >> >> >> > > Hey all,
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > > This change has been merged into the
> > file,
> > > >> > > > > > > > > >> >> >> > > camera,
> > > >> > > > > > > > > geolocation,
> > > >> > > > > > > > > >> and
> > > >> > > > > > > > > >> >> >> > > contacts plugins (media did not
> actually
> > > >> > > > > > > > > >> >> >> > > require any
> > > >> > > > > > > > change).
> > > >> > > > > > > > > I
> > > >> > > > > > > > > >> was
> > > >> > > > > > > > > >> >> >> able
> > > >> > > > > > > > > >> >> >> > to
> > > >> > > > > > > > > >> >> >> > > build and run mobilespec on
> > cordova-android
> > > >> > > > > > > > > >> >> >> > > 4.0.0
> > > >> > > > and
> > > >> > > > > > > > > >> >> >> cordova-android's
> > > >> > > > > > > > > >> >> >> > > master. We should probably push for a
> > > >> > > > > > > > > >> >> >> > > plugins
> > > >> > > > release
> > > >> > > > > > > > > >> >> >> > > soon,
> > > >> > > > > > > > > since
> > > >> > > > > > > > > >> >> >> there
> > > >> > > > > > > > > >> >> >> > are
> > > >> > > > > > > > > >> >> >> > > also some major bug fixes to the
> contacts
> > > >> > > > > > > > > >> >> >> > > and camera plugins
> > > >> > > > > > > > > that
> > > >> > > > > > > > > >> >> were
> > > >> > > > > > > > > >> >> >> > > recently pushed.
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > > Thanks,
> > > >> > > > > > > > > >> >> >> > > Richard
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > > -----Original Message-----
> > > >> > > > > > > > > >> >> >> > > From: Nikhil Khandelwal [mailto:
> > > >> > > > > nikhilkh@microsoft.com
> > > >> > > > > > > > > <javascript:;>]
> > > >> > > > > > > > > >> >> >> > > Sent: Friday, January 8, 2016 12:12 PM
> > > >> > > > > > > > > >> >> >> > > To: dev@cordova.apache.org
> > <javascript:;>
> > > >> > > > > > > > > >> >> >> > > Subject: RE: [DISCUSS] Core Plugins and
> > > >> > > > > > > > > >> >> >> > > Android API
> > > >> > > > 23
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > > We had a good discussion about this
> > offline
> > > >> > > > > > > > > >> >> >> > > with
> > > >> > > > Joe,
> > > >> > > > > > > > > >> >> >> > > Simon,
> > > >> > > > > > > > > >> Steve,
> > > >> > > > > > > > > >> >> >> > Jesse,
> > > >> > > > > > > > > >> >> >> > > Parashu and Jason. We came to the
> > following
> > > >> > > > agreement:
> > > >> > > > > > > > > >> >> >> > > This is a temporary fix to the plugins
> > > >> > > > > > > > > >> >> >> > > which we need
> > > >> > > > > to
> > > >> > > > > > > > > >> >> >> > > take
> > > >> > > > > > > > > to
> > > >> > > > > > > > > >> >> ensure
> > > >> > > > > > > > > >> >> >> > > Cordova 5.x tools behavior of using the
> > > >> > > > > > > > > >> >> >> > > edge plugins
> > > >> > > > > > does
> > > >> > > > > > > > > >> >> >> > > not
> > > >> > > > > > > > > >> break
> > > >> > > > > > > > > >> >> >> for
> > > >> > > > > > > > > >> >> >> > our
> > > >> > > > > > > > > >> >> >> > > users. We will pursue the change for
> all
> > > >> > > > > > > > > >> >> >> > > the
> > > >> > > > affected
> > > >> > > > > > > > plugins.
> > > >> > > > > > > > > >> This
> > > >> > > > > > > > > >> >> >> will
> > > >> > > > > > > > > >> >> >> > go
> > > >> > > > > > > > > >> >> >> > > out in the next PLUGINS release which
> > will
> > > >> > > > > > > > > >> >> >> > > happen
> > > >> > > > > before
> > > >> > > > > > > > > >> >> >> > > the
> > > >> > > > > > > > > >> Cordova
> > > >> > > > > > > > > >> >> >> 6.0
> > > >> > > > > > > > > >> >> >> > > release. Since this a temporary fix, we
> > aim
> > > >> > > > > > > > > >> >> >> > > to
> > > >> > > > remove
> > > >> > > > > it
> > > >> > > > > > > > > >> >> >> > > in 6
> > > >> > > > > > > > > >> months
> > > >> > > > > > > > > >> >> >> > > (giving reasonable time for our user
> base
> > > >> > > > > > > > > >> >> >> > > to move to Cordova
> > > >> > > > > > > > > 6.x+
> > > >> > > > > > > > > >> >> >> which
> > > >> > > > > > > > > >> >> >> > > will have a better plugin version
> pinning
> > > >> > > > mechanism).
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > > Thanks,
> > > >> > > > > > > > > >> >> >> > > Nikhil
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > > -----Original Message-----
> > > >> > > > > > > > > >> >> >> > > From: Simon MacDonald [mailto:
> > > >> > > > > simon.macdonald@gmail.com
> > > >> > > > > > > > > <javascript:;>]
> > > >> > > > > > > > > >> >> >> > > Sent: Thursday, January 7, 2016 4:00 PM
> > > >> > > > > > > > > >> >> >> > > To: dev@cordova.apache.org
> > <javascript:;>
> > > >> > > > > > > > > >> >> >> > > Subject: Re: [DISCUSS] Core Plugins and
> > > >> > > > > > > > > >> >> >> > > Android API
> > > >> > > > 23
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > > I'm going to play devils advocate a bit
> > > here:
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > > > There are valid reasons why many app
> > > >> > > > > > > > > >> >> >> > > > developers
> > > >> > > > > might
> > > >> > > > > > > > > >> >> >> > > > not be
> > > >> > > > > > > > > >> ready
> > > >> > > > > > > > > >> >> >> to
> > > >> > > > > > > > > >> >> >> > > > move to API level 23:
> > > >> > > > > > > > > >> >> >> > > >   1) They have an app which is
> > > >> > > > > > > > > >> >> >> > > > stabilizing or in maintenance
> > > >> > > > > > > > > >> mode
> > > >> > > > > > > > > >> >> >> and
> > > >> > > > > > > > > >> >> >> > > > they don't want to risk
> destabilization
> > > >> > > > > > > > > >> >> >> > > > by moving
> > > >> > > > > to a
> > > >> > > > > > > > > >> >> >> > > > new
> > > >> > > > > > > > > >> major
> > > >> > > > > > > > > >> >> >> > > > Cordova version, Cordova Android
> > > >> > > > > > > > > >> >> >> > > > platform, and
> > > >> > > > > Android
> > > >> > > > > > > > > >> >> >> > > > API
> > > >> > > > > > > > > >> level.
> > > >> > > > > > > > > >> >> >> > > >
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > > If the developer is not ready to move
> to
> > a
> > > >> > > > > > > > > >> >> >> > > new
> > > >> > > > version
> > > >> > > > > > of
> > > >> > > > > > > > > Cordova
> > > >> > > > > > > > > >> >> >> Android
> > > >> > > > > > > > > >> >> >> > > or the Android API would it not also
> > follow
> > > >> > > > > > > > > >> >> >> > > that
> > > >> > > > they
> > > >> > > > > > > > > shouldn't
> > > >> > > > > > > > > >> be
> > > >> > > > > > > > > >> >> >> > changing
> > > >> > > > > > > > > >> >> >> > > their plugin versions?
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > > >   2) They are using a 3rd-party
> plugin
> > > >> > > > > > > > > >> >> >> > > > which has
> > > >> > > > not
> > > >> > > > > > > > > >> >> >> > > > yet
> > > >> > > > > > > > > been
> > > >> > > > > > > > > >> >> >> updated
> > > >> > > > > > > > > >> >> >> > > > to request Android permissions as
> > > >> > > > > > > > > >> >> >> > > > required by API
> > > >> > > > > > level
> > > >> > > > > > > > 23.
> > > >> > > > > > > > > >> There
> > > >> > > > > > > > > >> >> >> are
> > > >> > > > > > > > > >> >> >> > > > probably a lot of plugins affected,
> > since
> > > >> > > > > > > > > >> >> >> > > > access
> > > >> > > > to
> > > >> > > > > > any
> > > >> > > > > > > > > >> >> >> > > > of
> > > >> > > > > > > > > the
> > > >> > > > > > > > > >> >> >> > > > following things on Android M
> requires
> > > >> > > > > > > > > >> >> >> > > > runtime permission
> > > >> > > > > > > > > >> >> requests:
> > > >> > > > > > > > > >> >> >> > > > calendar, contacts, phone, camera,
> > > >> > > > > > > > > >> >> >> > > > microphone, location,
> > > >> > > > > > > > > >> beacons,
> > > >> > > > > > > > > >> >> >> > > sensors, SMS, storage.
> > > >> > > > > > > > > >> >> >> > > >
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > > Right, so if the 3rd party plugin they
> > are
> > > >> > > > > > > > > >> >> >> > > using
> > > >> > > > > doesn't
> > > >> > > > > > > > > support
> > > >> > > > > > > > > >> >> >> Android
> > > >> > > > > > > > > >> >> >> > M
> > > >> > > > > > > > > >> >> >> > > they should either a) not upgrade or b)
> > > >> > > > > > > > > >> >> >> > > send a PR to
> > > >> > > > > the
> > > >> > > > > > > > > plugin
> > > >> > > > > > > > > >> >> >> > maintainer
> > > >> > > > > > > > > >> >> >> > > so everyone can benefit.
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > > >   3) They might not have the capacity
> > or
> > > >> > > > > > > > > >> >> >> > > > ability
> > > >> > > > to
> > > >> > > > > > > > > >> >> >> > > > test
> > > >> > > > > > > > > their
> > > >> > > > > > > > > >> app
> > > >> > > > > > > > > >> >> >> on
> > > >> > > > > > > > > >> >> >> > > > devices running Android M. Because
> API
> > 23
> > > >> > > > > > > > > >> >> >> > > > enables
> > > >> > > > > the
> > > >> > > > > > > > > >> >> >> > > > new
> > > >> > > > > > > > > >> >> >> permissions
> > > >> > > > > > > > > >> >> >> > > > model only on Android M, it requires
> > > >> > > > > > > > > >> >> >> > > > testing on
> > > >> > > > that
> > > >> > > > > > > > > platform.
> > > >> > > > > > > > > >> >> >> > > >
> > > >> > > > > > > > > >> >> >> > > >
> > > >> > > > > > > > > >> >> >> > > Everyone has access to the Android
> > > emulator.
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > > > In any of the above cases, developers
> > > >> > > > > > > > > >> >> >> > > > might still
> > > >> > > > > like
> > > >> > > > > > > > > >> >> >> > > > to
> > > >> > > > > > > > > >> benefit
> > > >> > > > > > > > > >> >> >> from
> > > >> > > > > > > > > >> >> >> > > > some of the major bug fixes in those
> 5
> > > >> > > > > > > > > >> >> >> > > > popular
> > > >> > > > core
> > > >> > > > > > > > > >> >> >> > > > plugins
> > > >> > > > > > > > > >> >> >> mentioned
> > > >> > > > > > > > > >> >> >> > > > below. Or even if they weren't
> > > >> > > > > > > > > >> >> >> > > > specifically
> > > >> > > > looking
> > > >> > > > > > for
> > > >> > > > > > > > > >> >> >> > > > bug
> > > >> > > > > > > > > >> fixes,
> > > >> > > > > > > > > >> >> >> it
> > > >> > > > > > > > > >> >> >> > > > would be a much better experience if
> > > >> > > > > > > > > >> >> >> > > > adding or
> > > >> > > > > > updating
> > > >> > > > > > > > > >> >> >> > > > one
> > > >> > > > > > > > > of
> > > >> > > > > > > > > >> >> those
> > > >> > > > > > > > > >> >> >> > > > plugins would just work, rather than
> > > >> > > > > > > > > >> >> >> > > > failing on Android. The explanation
> for
> > > >> > > > > > > > > >> >> >> > > > the failure will not
> > > >> > > > be
> > > >> > > > > > > > > >> >> >> > > > obvious to many
> > > >> > > > > > > > > users,
> > > >> > > > > > > > > >> if
> > > >> > > > > > > > > >> >> >> they
> > > >> > > > > > > > > >> >> >> > > > overlooked the warning when
> installing
> > > >> > > > > > > > > >> >> >> > > > the plugin
> > > >> > > > or
> > > >> > > > > > if
> > > >> > > > > > > > > >> >> >> > > > they
> > > >> > > > > > > > > >> were
> > > >> > > > > > > > > >> >> >> > > > using another tool to add the plugin
> > > >> > > > > > > > > >> >> >> > > > where the
> > > >> > > > > warning
> > > >> > > > > > > > > wasn't
> > > >> > > > > > > > > >> >> >> surfaced.
> > > >> > > > > > > > > >> >> >> > > >
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > >  Seems like you are describing a
> tooling
> > > >> > > > > > > > > >> >> >> > > problem
> > > >> > > > here.
> > > >> > > > > > If
> > > >> > > > > > > > > >> >> >> > > the
> > > >> > > > > > > > > >> tool
> > > >> > > > > > > > > >> >> >> > doesn't
> > > >> > > > > > > > > >> >> >> > > surface the warning or allows the user
> to
> > > >> > > > > > > > > >> >> >> > > add a
> > > >> > > > plugin
> > > >> > > > > > > > > >> >> >> > > that is
> > > >> > > > > > > > > >> >> >> > incompatible
> > > >> > > > > > > > > >> >> >> > > with the version of Cordova Android
> that
> > is
> > > >> > > > > > > > > >> >> >> > > being
> > > >> > > > used
> > > >> > > > > > > > > >> >> >> > > really
> > > >> > > > > > > > > >> sounds
> > > >> > > > > > > > > >> >> >> > like a
> > > >> > > > > > > > > >> >> >> > > bug in the tooling to me.
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > > > Of course developers should be
> > encouraged
> > > >> > > > > > > > > >> >> >> > > > to
> > > >> > > > upgrade
> > > >> > > > > > to
> > > >> > > > > > > > > >> >> >> > > > the
> > > >> > > > > > > > > >> latest
> > > >> > > > > > > > > >> >> >> > > > most secure highest-quality version
> of
> > > >> > Cordova.
> > > >> > > > But
> > > >> > > > > > the
> > > >> > > > > > > > > >> >> >> encouragement
> > > >> > > > > > > > > >> >> >> > > > does not need to be so forceful. This
> > > >> > > > > > > > > >> >> >> > > > proposed
> > > >> > > > > change
> > > >> > > > > > > > > >> >> >> > > > gives
> > > >> > > > > > > > > >> >> >> developers
> > > >> > > > > > > > > >> >> >> > > > more time to upgrade, and allows for
> > more
> > > >> > > > > > > > > >> >> >> > > > choice
> > > >> > > > > about
> > > >> > > > > > > > > >> >> >> > > > when
> > > >> > > > > > > > > to
> > > >> > > > > > > > > >> >> >> upgrade
> > > >> > > > > > > > > >> >> >> > > > individual parts
> > > >> > > > > > > > > >> >> >> > > > (plugins) rather than limiting them
> to
> > > >> > > > > all-or-nothing.
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > >  I would argue that the developer has
> an
> > > >> > > > > > > > > >> >> >> > > infinite
> > > >> > > > > amount
> > > >> > > > > > > > > >> >> >> > > of
> > > >> > > > > > > > > time
> > > >> > > > > > > > > >> to
> > > >> > > > > > > > > >> >> >> > > upgrade. Nothing is forcing you to
> > upgrade
> > > >> > > > > > > > > >> >> >> > > to the
> > > >> > > > > latest
> > > >> > > > > > > > > Cordova
> > > >> > > > > > > > > >> >> >> Android
> > > >> > > > > > > > > >> >> >> > or
> > > >> > > > > > > > > >> >> >> > > Android API. They can continue to use
> the
> > > >> > > > > > > > > >> >> >> > > same
> > > >> > > > version
> > > >> > > > > > of
> > > >> > > > > > > > > Cordova
> > > >> > > > > > > > > >> >> >> Android
> > > >> > > > > > > > > >> >> >> > > and plugins that are currently working
> in
> > > >> > > > > > > > > >> >> >> > > their
> > > >> > > app.
> > > >> > > > > If
> > > >> > > > > > > > > >> >> >> > > the
> > > >> > > > > > > > > >> >> developer
> > > >> > > > > > > > > >> >> >> is
> > > >> > > > > > > > > >> >> >> > > using semver properly and we do our job
> > > >> > > > > > > > > >> >> >> > > right they shouldn't
> > > >> > > > > > > > > >> pick up
> > > >> > > > > > > > > >> >> >> > > breaking changes. For instance, if the
> > API
> > > >> > > > > > > > > >> >> >> > > of a
> > > >> > > > plugin
> > > >> > > > > > > > > changes we
> > > >> > > > > > > > > >> >> bump
> > > >> > > > > > > > > >> >> >> > the
> > > >> > > > > > > > > >> >> >> > > major version of the plugin so users
> who
> > > >> > > > > > > > > >> >> >> > > setup their
> > > >> > > > > > > > > config.xml
> > > >> > > > > > > > > >> to
> > > >> > > > > > > > > >> >> >> use:
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > > <plugin name="cordova-plugin-camera"
> > > >> > spec="^1.1.0"
> > > >> > > > />
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > > will effectively prevent the user from
> > > >> > > > > > > > > >> >> >> > > picking up
> > > >> > > > the
> > > >> > > > > > > > > >> >> >> > > breaking
> > > >> > > > > > > > > >> >> change
> > > >> > > > > > > > > >> >> >> in
> > > >> > > > > > > > > >> >> >> > > camera version 2.0.0.
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > > Simon Mac Donald
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> >
> > > >> > > > > > > > > >> >> >>
> > > >> > > > > > > > > >> >>
> > > >> > > > > > > > > >>
> > > >> > > > > > > > >
> > > >> > > > > >
> > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%
> > > >> > > > > > 2fhi
> > > >> > > > > > .im%
> > > >> > > > > > > > > 2fsimonmacdonald&data=01%7c01%7cnikhilkh%
> > > 40microsoft.com
> > > >> > > > > > %7c84fb6405edf
> > > >> > > > > > > > >
> > > >> > > > > >
> > 74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&s
> > > >> > > > > > data
> > > >> > > > > > =B8D
> > > >> > > > > > > > > uMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
> > > >> > > > > > > > > >> >> >> > >  B
> > > >> > > > > > > > > >> >> >>
> > > >> > > > > > > > > >>
> > > >> > > > > >
> > KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
> > > >> > > > > > KKKK
> > > >> > > > > > K
> > > >> > > > > > > > > >> KCB
> > > >> > > > > > > > > >> >> >> > >   [  X  ܚX K  K[XZ[
> > > >> > > > > > > > > >> >> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈
> Y  ]
> > > >> > > > > > > > > >> >> >> > > [ۘ[
> > > >> > > [X[
> > > >> > > > > > > >  K[XZ[
> > > >> > > > > > > > > >> >> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
> > > >> > > > > > > > > >> >> >> > >
> > > >> > > > > > > > > >> >> >> >
> > > >> > > > > > > > > >> >> >>
> > > >> > > > > > > > > >> >> >
> > > >> > > > > > > > > >> >> >
> > > >> > > > > > > > > >> >>
> > > >> > > > > > > > > >>
> > > >> > > > > > > > > >>
> > > >> > > > > >
> > --------------------------------------------------------------
> > > >> > > > > > ----
> > > >> > > > > > -
> > > >> > > > > > > > > >> -- To unsubscribe, e-mail:
> > > >> > > > > > > > > >> dev-unsubscribe@cordova.apache.org
> > > >> > > > > > > > > <javascript:;>
> > > >> > > > > > > > > >> For additional commands, e-mail:
> > > >> > > > > > > > > >> dev-help@cordova.apache.org
> > > >> > > > > > > > > <javascript:;>
> > > >> > > > > > > > > >>
> > > >> > > > > > > > >
> > > >> > > > > > > >
> > > >> > > > > > >
> > > >> > > > > >
> > > >> > > > >
> > > >> > > >
> > > >> > >
> > > >> >
> > > >>
> > > >
> > > >
> > >
> >
>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by Steven Gill <st...@gmail.com>.
Does this document need to be updated for this change?
http://cordova.apache.org/docs/en/latest/guide/platforms/android/plugin.html#android-permissions

On Tue, Apr 5, 2016 at 11:13 AM, Jesse <pu...@gmail.com> wrote:

> 5) add new plugin repo to coho managed plugins list
>
>
> @purplecabbage
> risingj.com
>
> On Tue, Apr 5, 2016 at 8:20 AM, Simon MacDonald <simon.macdonald@gmail.com
> >
> wrote:
>
> > Just an update:
> >
> > Task list:
> >
> > 1) create cordova-plugin-compat repo, populate with code. COMPLETE
> > Apache Repo:
> > https://git-wip-us.apache.org/repos/asf?p=cordova-plugin-compat.git
> > Github Mirror: https://github.com/apache/cordova-plugin-compat
> > NPM:
> >
> https://www.npmjs.com/package/cordova-plugin-compat#cordova-plugin-compat
> >
> > 2) migrate core plugins to use cordova-plugin-compat
> > 3) kick off plugins release
> > 4) write blog post
> >
> >
> > Simon Mac Donald
> > http://hi.im/simonmacdonald
> >
> > On Mon, Apr 4, 2016 at 4:08 PM, Simon MacDonald <
> simon.macdonald@gmail.com
> > >
> > wrote:
> >
> > > I'm moving forward with 1 as I've requested a new git repo and github
> > > mirror from infra:
> > >
> > >
> https://issues.apache.org/jira/servicedesk/customer/portal/1/INFRA-11592
> > >
> https://issues.apache.org/jira/servicedesk/customer/portal/1/INFRA-11593
> > >
> > > once that is done I'll get on to migrating the core plugins to use this
> > as
> > > a dependency once published to NPM.
> > >
> > >
> > > Simon Mac Donald
> > > http://hi.im/simonmacdonald
> > >
> > > On Mon, Apr 4, 2016 at 1:38 PM, Richard Knoll <ri...@microsoft.com>
> > > wrote:
> > >
> > >> That sounds right to me. No major version bumps needed.
> > >>
> > >> Richard
> > >>
> > >> -----Original Message-----
> > >> From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
> > >> Sent: Monday, April 4, 2016 10:35 AM
> > >> To: dev@cordova.apache.org
> > >> Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > >>
> > >> In cordova-android? No, I don't think so. For the plugins I'd bump
> their
> > >> minor version. Make sense?
> > >>
> > >>
> > >> Simon Mac Donald
> > >>
> > >>
> >
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.com%7c8bdd5fa551a84275174b08d35caf7ef9%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=Tx2MCYz9NAhmUMBCaa6fPoOLPb8R%2be5%2f6hCvsHapVaI%3d
> > >>
> > >> On Mon, Apr 4, 2016 at 1:32 PM, Joe Bowser <bo...@gmail.com> wrote:
> > >>
> > >> > Does this require a major version change?
> > >> >
> > >> > On Mon, Apr 4, 2016, 10:30 AM Richard Knoll <ri...@microsoft.com>
> > >> wrote:
> > >> >
> > >> > > Sorry for being late to comment on this. If we were the only ones
> > >> > > using the class, I would say we should just keep copying around.
> > >> > > However, since other plugins are using it I think it's a good idea
> > >> > > to put it in a common place and a plugin is the best way to do it.
> > >> > > LGTM! Should someone write
> > >> > up
> > >> > > a blog post about this so that third-party plugins know to update?
> > >> > >
> > >> > > Thanks,
> > >> > > Richard
> > >> > >
> > >> > > -----Original Message-----
> > >> > > From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
> > >> > > Sent: Sunday, April 3, 2016 12:26 PM
> > >> > > To: dev@cordova.apache.org
> > >> > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > >> > >
> > >> > > Seems like we have momentum on this. So barring any negative
> > >> > > comments
> > >> > from
> > >> > > Microsoft about this approach whom do I contact to setup a new
> repo
> > >> > > on Apache GIT?
> > >> > >
> > >> > >
> > >> > > Simon Mac Donald
> > >> > >
> > >> > >
> > >> >
> > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%
> > >> > 2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.com
> > %7c6d4d4a706f45
> > >> >
> 4da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=yGzi
> > >> > Fs1bd1KAZjUEloAiJ07c9EipxtrtSYxU8e5oO7M%3d
> > >> > >
> > >> > > On Sun, Apr 3, 2016 at 2:26 PM, julio cesar sanchez <
> > >> > > jcesarmobile@gmail.com>
> > >> > > wrote:
> > >> > >
> > >> > > > I like it too
> > >> > > > A lot of 3rd party plugins are adding that classes too
> > >> > > >
> > >> > > > BTW, there is a JIRA issue to add
> > >> > > >
> > https://na01.safelinks.protection.outlook.com/?url=PermissionHelpe
> > >> > > > r.ja
> > >> > > > va&data=01%7c01%7criknoll%40microsoft.com
> > %7c6d4d4a706f454da19d7f08
> > >> > > > d35b
> > >> > > >
> f5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=KXea2ILjY6Ja2Q
> > >> > > > r4XF %2b8FoLrOpCRvinHQIaqi%2faMSXw%3d to cordova-android
> > >> > > >
> > https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fi
> > >> > > > ssue
> > >> > > > s.apache.org
> > %2fjira%2fbrowse%2fCB-10656&data=01%7c01%7criknoll%40m
> > >> > > > icro
> > >> > > > soft.com
> > %7c6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab
> > >> > > > 2d7c
> > >> > > >
> d011db47%7c1&sdata=Y6ygyF0AqvvK2VqTcTRSNflpowAn89Xaa%2fTaMFC%2fqlI
> > >> > > > %3d
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > > > 2016-04-03 18:43 GMT+02:00 Carlos Santana <csantana23@gmail.com
> >:
> > >> > > >
> > >> > > > > Simon I like approach
> > >> > > > > Can we move to this approach now? Yes Then once the downstream
> > >> > > > > distro's support API 23 and the new API methods in
> > >> > > > > CordovaInterface we can move this into Cordova Android proper?
> > >> > > > > Yes
> > >> > > > >
> > >> > > > > +1
> > >> > > > >
> > >> > > > > On Thu, Mar 31, 2016 at 6:38 PM Joe Bowser <bowserj@gmail.com
> >
> > >> > wrote:
> > >> > > > >
> > >> > > > > > LGTM!
> > >> > > > > >
> > >> > > > > > On Thu, Mar 31, 2016 at 3:02 PM, Simon MacDonald <
> > >> > > > > > simon.macdonald@gmail.com>
> > >> > > > > > wrote:
> > >> > > > > >
> > >> > > > > > > I really hate the fact we need to add that
> > >> > > > > > >
> > https://na01.safelinks.protection.outlook.com/?url=Permissio
> > >> > > > > > > nHel
> > >> > > > > > > per.java&data=01%7c01%7criknoll%40microsoft.com
> > %7c6d4d4a706f
> > >> > > > > > > 454d
> > >> > > > > > >
> a19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sd
> > >> > > > > > > ata= KXea2ILjY6Ja2Qr4XF%2b8FoLrOpCRvinHQIaqi%2faMSXw%3d
> file
> > >> > > > > to
> > >> > > > > > > each and every plugin that requires API 23 permission
> > support.
> > >> > > > > Especially
> > >> > > > > > > since the package the class is in is different for each
> > >> > > > > > > plugin so we
> > >> > > > > can
> > >> > > > > > > two, three or more copies of the same code in an app.
> That's
> > >> > > > > > > just
> > >> > > > > > wasteful.
> > >> > > > > > >
> > >> > > > > > > Joe responded to my bitching by saying "Maybe we should
> > >> > > > > > > create a permissions plugin for this and make everything
> go
> > >> through that"
> > >> > > > which
> > >> > > > > > set
> > >> > > > > > > my mind a racing (perhaps I was just over caffeinated)
> and I
> > >> > > > > > > decided
> > >> > > > to
> > >> > > > > > > prototype it this afternoon.
> > >> > > > > > >
> > >> > > > > > > I've created a new plugin called cordova-plugin-compat
> over
> > >> > > > > > > at https://github.com/macdonst/cordova-plugin-compat  and
> > >> > > > > > > all it does
> > >> > > > is
> > >> > > > > > > deliver the org.apache.cordova.PermissionHelper class. I
> > >> > > > > > > then turned
> > >> > > > > > around
> > >> > > > > > > and removed the class from the camera plugin and make
> > >> > > > > > cordova-plugin-camera
> > >> > > > > > > depend on cordova-plugin-compat.
> > >> > > > > > >
> > >> > > > > > > You can see that change over on my camera fork:
> > >> > > > > > >
> > >> > > > > > > https://github.com/macdonst
> > >> > > > > > >
> > >> > > >
> /cordova-plugin-camera/commit/58b72cb5c3109481df9f337ad97607858681
> > >> > > > b37e
> > >> > > > > > >
> > >> > > > > > > Can we move to this approach now? Then once the downstream
> > >> > > > > > > distro's
> > >> > > > > > support
> > >> > > > > > > API 23 and the new API methods in CordovaInterface we can
> > >> > > > > > > move this
> > >> > > > > into
> > >> > > > > > > Cordova Android proper?
> > >> > > > > > >
> > >> > > > > > > Thoughts? Are there use cases this approach doesn't work
> > for?
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > > > Simon Mac Donald
> > >> > > > > > >
> > https://na01.safelinks.protection.outlook.com/?url=http%3a%2
> > >> > > > > > > f%2f
> > >> > > > > > > hi.im%2fsimonmacdonald&data=01%7c01%7criknoll%
> > 40microsoft.co
> > >> > > > > > > m%7c
> > >> > > > > > >
> 6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd
> > >> > > > > > > 011d
> > >> > > > > > >
> b47%7c1&sdata=yGziFs1bd1KAZjUEloAiJ07c9EipxtrtSYxU8e5oO7M%3d
> > >> > > > > > >
> > >> > > > > > > On Fri, Feb 5, 2016 at 2:32 PM, Richard Knoll
> > >> > > > > > > <riknoll@microsoft.com
> > >> > > > >
> > >> > > > > > > wrote:
> > >> > > > > > >
> > >> > > > > > > > Yep, I left it out of the first round by mistake; I was
> > >> > > > > > > > looking at
> > >> > > > an
> > >> > > > > > out
> > >> > > > > > > > of date version of cordova-plugin-media at the time.
> I've
> > >> > > > > > > > got a PR
> > >> > > > > open
> > >> > > > > > > > that adds the helper here:
> > >> > > > > > > >
> > >> > > > > > > > https://github.com/apache/cordova-plugin-media/pull/79
> > >> > > > > > > >
> > >> > > > > > > > Thanks,
> > >> > > > > > > > Richard
> > >> > > > > > > >
> > >> > > > > > > > -----Original Message-----
> > >> > > > > > > > From: julio cesar sanchez [mailto:
> jcesarmobile@gmail.com]
> > >> > > > > > > > Sent: Friday, February 5, 2016 7:20 AM
> > >> > > > > > > > To: dev@cordova.apache.org
> > >> > > > > > > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > >> > > > > > > >
> > >> > > > > > > > Yeah, that one.
> > >> > > > > > > >
> > >> > > > > > > >
> > >> > > > > > > > El viernes, 5 de febrero de 2016, Homer, Tony <
> > >> > > > tony.homer@intel.com>
> > >> > > > > > > > escribió:
> > >> > > > > > > >
> > >> > > > > > > > > It took me a while to find it, but I guess you mean
> > >> CB-10455?
> > >> > > > > > > > >
> > >> > > > > > > > >
> > >> > > > > > > > >
> > >> > > > > > > > > On 2/5/16, 7:56 AM, "julio cesar sanchez" <
> > >> > > > jcesarmobile@gmail.com
> > >> > > > > > > > > <javascript:;>> wrote:
> > >> > > > > > > > >
> > >> > > > > > > > > >I think we just forgot, somebody mentioned this on
> > >> > > > > > > > > >slack and
> > >> > > > there
> > >> > > > > > is
> > >> > > > > > > > > >an issue open on JIRA.
> > >> > > > > > > > > >
> > >> > > > > > > > > >2016-02-05 13:52 GMT+01:00 Homer, Tony
> > >> > > > > > > > > ><tony.homer@intel.com
> > >> > > > > > > > > <javascript:;>>:
> > >> > > > > > > > > >
> > >> > > > > > > > > >> Earlier in this thread, Richard stated:
> > >> > > > > > > > > >> >> This change has been merged into the file,
> camera,
> > >> > > > > geolocation,
> > >> > > > > > > > > >> >> and
> > >> > > > > > > > > >> contacts plugins (media did not actually require
> any
> > >> > > change).
> > >> > > > > > > > > >>
> > >> > > > > > > > > >>
> > >> > > > > > > > > >> Media was updated on 1/15 but it still has a
> > >> > > > > > > > > >> "cordova-android
> > >> > > > > > > > > >=5.0.0-dev"
> > >> > > > > > > > > >> engine tag.
> > >> > > > > > > > > >> I couldn't find any other discussion about this on
> > >> > > > > > > > > >> the list
> > >> > > > and
> > >> > > > > > > > > >> wondered why it was retained for media.
> > >> > > > > > > > > >> Was this an oversight?
> > >> > > > > > > > > >>
> > >> > > > > > > > > >>
> > >> > > > > > > > > >> Thanks!
> > >> > > > > > > > > >> Tony
> > >> > > > > > > > > >>
> > >> > > > > > > > > >>
> > >> > > > > > > > > >>
> > >> > > > > > > > > >>
> > >> > > > > > > > > >> On 1/15/16, 4:40 PM, "Simon MacDonald" <
> > >> > > > > simon.macdonald@gmail.com
> > >> > > > > > > > > <javascript:;>> wrote:
> > >> > > > > > > > > >>
> > >> > > > > > > > > >> >LGTM
> > >> > > > > > > > > >> >
> > >> > > > > > > > > >> >+1
> > >> > > > > > > > > >> >
> > >> > > > > > > > > >> >Simon Mac Donald
> > >> > > > > > > > > >> >
> > >> > > > > >
> > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%
> > >> > > > > > 2fhi
> > >> > > > > > > > > >>
> > >> > > > > >
> > >> >.im%2fsimonmacdonald&data=01%7c01%7cRIKNOLL%40exchange.microsoft.
> > >> > > > > > >c
> > >> > > > > > > > > >>
> > >> > > > > >
> >om%7cacc2d663ce574637d10908d32e3fd62d%7c72f988bf86f141af91ab2
> > >> > > > > > >d7cd
> > >> > > > > > >0
> > >> > > > > > > > > >>
> > >> > > > >
> >11db47%7c1&sdata=wCGbmJR3ZKj6lABfwOcjoLypjztI9HNX8%2bak6AhuBqY%
> > >> > > > > >3d
> > >> > > > > > > > > >> >
> > >> > > > > > > > > >> >On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <
> > >> > > > bowserj@gmail.com
> > >> > > > > > > > > <javascript:;>> wrote:
> > >> > > > > > > > > >> >
> > >> > > > > > > > > >> >> Sorry, wrong PR:
> > >> > > > > > > > > >> >>
> > >> > > > >
> https://github.com/apache/cordova-plugin-inappbrowser/pull/136
> > >> > > > > > > > > >> >>
> > >> > > > > > > > > >> >> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <
> > >> > > > > > bowserj@gmail.com
> > >> > > > > > > > > <javascript:;>> wrote:
> > >> > > > > > > > > >> >>
> > >> > > > > > > > > >> >> > So, what does the timeline look like for a
> > >> > > > > > > > > >> >> > Plugins
> > >> > > > release.
> > >> > > > > > I
> > >> > > > > > > > > >> >> > just
> > >> > > > > > > > > >> did a
> > >> > > > > > > > > >> >> > major change in the InAppBrowser to fix tel:
> and
> > >> sms:
> > >> > > > URIs
> > >> > > > > so
> > >> > > > > > > > > >> >> > they
> > >> > > > > > > > > do
> > >> > > > > > > > > >> >> > stuff, and it'd be cool if this also made if
> > >> > > > > > > > > >> >> > this got
> > >> > > > > looked
> > >> > > > > > > > > >> >> > over
> > >> > > > > > > > > and
> > >> > > > > > > > > >> >> > landed before the next release.
> > >> > > > > > > > > >> >> >
> > >> > > > > > > > > >> >> >
> > >> > > > > >
> > https://github.com/apache/cordova-plugin-inappbrowser/pull/135
> > >> > > > > > > > > >> >> >
> > >> > > > > > > > > >> >> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos
> Santana
> > >> > > > > > > > > >> >> > <
> > >> > > > > > > > > csantana23@gmail.com <javascript:;>
> > >> > > > > > > > > >> >
> > >> > > > > > > > > >> >> > wrote:
> > >> > > > > > > > > >> >> >
> > >> > > > > > > > > >> >> >> I agree with final compromise, I also had a
> > >> > > > > > > > > >> >> >> discussion
> > >> > > > > with
> > >> > > > > > > > > >> >> >> Nikhil
> > >> > > > > > > > > >> >> during
> > >> > > > > > > > > >> >> >> holiday break offline and understood the
> > >> > > > > > > > > >> >> >> situation, some
> > >> > > > > 3rd
> > >> > > > > > > > > >> >> >> party
> > >> > > > > > > > > >> >> plugins
> > >> > > > > > > > > >> >> >> are not open source and customers/devs don't
> > >> > > > > > > > > >> >> >> move as
> > >> > > > fast
> > >> > > > > as
> > >> > > > > > > > > >> >> >> we
> > >> > > > > > > > > wish,
> > >> > > > > > > > > >> >> but
> > >> > > > > > > > > >> >> >> having a CLI 6 with latest plugins being
> > >> > > > > > > > > >> >> >> backwards
> > >> > > > > > compatible
> > >> > > > > > > > > >> >> >> with
> > >> > > > > > > > > >> lower
> > >> > > > > > > > > >> >> >> Android API is good base for developers to
> > >> > > > > > > > > >> >> >> start
> > >> > > > > upgrading.
> > >> > > > > > > > > >> >> >>
> > >> > > > > > > > > >> >> >>
> > >> > > > > > > > > >> >> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <
> > >> > > > > > > > > stevengill97@gmail.com <javascript:;>>
> > >> > > > > > > > > >> >> >> wrote:
> > >> > > > > > > > > >> >> >>
> > >> > > > > > > > > >> >> >> > Awesome! I'll kick up a discuss thread
> > >> > > > > > > > > >> >> >> >
> > >> > > > > > > > > >> >> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard
> > >> > > > > > > > > >> >> >> > Knoll <
> > >> > > > > > > > > >> riknoll@microsoft.com <javascript:;>
> > >> > > > > > > > > >> >> >
> > >> > > > > > > > > >> >> >> > wrote:
> > >> > > > > > > > > >> >> >> >
> > >> > > > > > > > > >> >> >> > > Hey all,
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > > This change has been merged into the
> file,
> > >> > > > > > > > > >> >> >> > > camera,
> > >> > > > > > > > > geolocation,
> > >> > > > > > > > > >> and
> > >> > > > > > > > > >> >> >> > > contacts plugins (media did not actually
> > >> > > > > > > > > >> >> >> > > require any
> > >> > > > > > > > change).
> > >> > > > > > > > > I
> > >> > > > > > > > > >> was
> > >> > > > > > > > > >> >> >> able
> > >> > > > > > > > > >> >> >> > to
> > >> > > > > > > > > >> >> >> > > build and run mobilespec on
> cordova-android
> > >> > > > > > > > > >> >> >> > > 4.0.0
> > >> > > > and
> > >> > > > > > > > > >> >> >> cordova-android's
> > >> > > > > > > > > >> >> >> > > master. We should probably push for a
> > >> > > > > > > > > >> >> >> > > plugins
> > >> > > > release
> > >> > > > > > > > > >> >> >> > > soon,
> > >> > > > > > > > > since
> > >> > > > > > > > > >> >> >> there
> > >> > > > > > > > > >> >> >> > are
> > >> > > > > > > > > >> >> >> > > also some major bug fixes to the contacts
> > >> > > > > > > > > >> >> >> > > and camera plugins
> > >> > > > > > > > > that
> > >> > > > > > > > > >> >> were
> > >> > > > > > > > > >> >> >> > > recently pushed.
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > > Thanks,
> > >> > > > > > > > > >> >> >> > > Richard
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > > -----Original Message-----
> > >> > > > > > > > > >> >> >> > > From: Nikhil Khandelwal [mailto:
> > >> > > > > nikhilkh@microsoft.com
> > >> > > > > > > > > <javascript:;>]
> > >> > > > > > > > > >> >> >> > > Sent: Friday, January 8, 2016 12:12 PM
> > >> > > > > > > > > >> >> >> > > To: dev@cordova.apache.org
> <javascript:;>
> > >> > > > > > > > > >> >> >> > > Subject: RE: [DISCUSS] Core Plugins and
> > >> > > > > > > > > >> >> >> > > Android API
> > >> > > > 23
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > > We had a good discussion about this
> offline
> > >> > > > > > > > > >> >> >> > > with
> > >> > > > Joe,
> > >> > > > > > > > > >> >> >> > > Simon,
> > >> > > > > > > > > >> Steve,
> > >> > > > > > > > > >> >> >> > Jesse,
> > >> > > > > > > > > >> >> >> > > Parashu and Jason. We came to the
> following
> > >> > > > agreement:
> > >> > > > > > > > > >> >> >> > > This is a temporary fix to the plugins
> > >> > > > > > > > > >> >> >> > > which we need
> > >> > > > > to
> > >> > > > > > > > > >> >> >> > > take
> > >> > > > > > > > > to
> > >> > > > > > > > > >> >> ensure
> > >> > > > > > > > > >> >> >> > > Cordova 5.x tools behavior of using the
> > >> > > > > > > > > >> >> >> > > edge plugins
> > >> > > > > > does
> > >> > > > > > > > > >> >> >> > > not
> > >> > > > > > > > > >> break
> > >> > > > > > > > > >> >> >> for
> > >> > > > > > > > > >> >> >> > our
> > >> > > > > > > > > >> >> >> > > users. We will pursue the change for all
> > >> > > > > > > > > >> >> >> > > the
> > >> > > > affected
> > >> > > > > > > > plugins.
> > >> > > > > > > > > >> This
> > >> > > > > > > > > >> >> >> will
> > >> > > > > > > > > >> >> >> > go
> > >> > > > > > > > > >> >> >> > > out in the next PLUGINS release which
> will
> > >> > > > > > > > > >> >> >> > > happen
> > >> > > > > before
> > >> > > > > > > > > >> >> >> > > the
> > >> > > > > > > > > >> Cordova
> > >> > > > > > > > > >> >> >> 6.0
> > >> > > > > > > > > >> >> >> > > release. Since this a temporary fix, we
> aim
> > >> > > > > > > > > >> >> >> > > to
> > >> > > > remove
> > >> > > > > it
> > >> > > > > > > > > >> >> >> > > in 6
> > >> > > > > > > > > >> months
> > >> > > > > > > > > >> >> >> > > (giving reasonable time for our user base
> > >> > > > > > > > > >> >> >> > > to move to Cordova
> > >> > > > > > > > > 6.x+
> > >> > > > > > > > > >> >> >> which
> > >> > > > > > > > > >> >> >> > > will have a better plugin version pinning
> > >> > > > mechanism).
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > > Thanks,
> > >> > > > > > > > > >> >> >> > > Nikhil
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > > -----Original Message-----
> > >> > > > > > > > > >> >> >> > > From: Simon MacDonald [mailto:
> > >> > > > > simon.macdonald@gmail.com
> > >> > > > > > > > > <javascript:;>]
> > >> > > > > > > > > >> >> >> > > Sent: Thursday, January 7, 2016 4:00 PM
> > >> > > > > > > > > >> >> >> > > To: dev@cordova.apache.org
> <javascript:;>
> > >> > > > > > > > > >> >> >> > > Subject: Re: [DISCUSS] Core Plugins and
> > >> > > > > > > > > >> >> >> > > Android API
> > >> > > > 23
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > > I'm going to play devils advocate a bit
> > here:
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > > > There are valid reasons why many app
> > >> > > > > > > > > >> >> >> > > > developers
> > >> > > > > might
> > >> > > > > > > > > >> >> >> > > > not be
> > >> > > > > > > > > >> ready
> > >> > > > > > > > > >> >> >> to
> > >> > > > > > > > > >> >> >> > > > move to API level 23:
> > >> > > > > > > > > >> >> >> > > >   1) They have an app which is
> > >> > > > > > > > > >> >> >> > > > stabilizing or in maintenance
> > >> > > > > > > > > >> mode
> > >> > > > > > > > > >> >> >> and
> > >> > > > > > > > > >> >> >> > > > they don't want to risk destabilization
> > >> > > > > > > > > >> >> >> > > > by moving
> > >> > > > > to a
> > >> > > > > > > > > >> >> >> > > > new
> > >> > > > > > > > > >> major
> > >> > > > > > > > > >> >> >> > > > Cordova version, Cordova Android
> > >> > > > > > > > > >> >> >> > > > platform, and
> > >> > > > > Android
> > >> > > > > > > > > >> >> >> > > > API
> > >> > > > > > > > > >> level.
> > >> > > > > > > > > >> >> >> > > >
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > > If the developer is not ready to move to
> a
> > >> > > > > > > > > >> >> >> > > new
> > >> > > > version
> > >> > > > > > of
> > >> > > > > > > > > Cordova
> > >> > > > > > > > > >> >> >> Android
> > >> > > > > > > > > >> >> >> > > or the Android API would it not also
> follow
> > >> > > > > > > > > >> >> >> > > that
> > >> > > > they
> > >> > > > > > > > > shouldn't
> > >> > > > > > > > > >> be
> > >> > > > > > > > > >> >> >> > changing
> > >> > > > > > > > > >> >> >> > > their plugin versions?
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > > >   2) They are using a 3rd-party plugin
> > >> > > > > > > > > >> >> >> > > > which has
> > >> > > > not
> > >> > > > > > > > > >> >> >> > > > yet
> > >> > > > > > > > > been
> > >> > > > > > > > > >> >> >> updated
> > >> > > > > > > > > >> >> >> > > > to request Android permissions as
> > >> > > > > > > > > >> >> >> > > > required by API
> > >> > > > > > level
> > >> > > > > > > > 23.
> > >> > > > > > > > > >> There
> > >> > > > > > > > > >> >> >> are
> > >> > > > > > > > > >> >> >> > > > probably a lot of plugins affected,
> since
> > >> > > > > > > > > >> >> >> > > > access
> > >> > > > to
> > >> > > > > > any
> > >> > > > > > > > > >> >> >> > > > of
> > >> > > > > > > > > the
> > >> > > > > > > > > >> >> >> > > > following things on Android M requires
> > >> > > > > > > > > >> >> >> > > > runtime permission
> > >> > > > > > > > > >> >> requests:
> > >> > > > > > > > > >> >> >> > > > calendar, contacts, phone, camera,
> > >> > > > > > > > > >> >> >> > > > microphone, location,
> > >> > > > > > > > > >> beacons,
> > >> > > > > > > > > >> >> >> > > sensors, SMS, storage.
> > >> > > > > > > > > >> >> >> > > >
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > > Right, so if the 3rd party plugin they
> are
> > >> > > > > > > > > >> >> >> > > using
> > >> > > > > doesn't
> > >> > > > > > > > > support
> > >> > > > > > > > > >> >> >> Android
> > >> > > > > > > > > >> >> >> > M
> > >> > > > > > > > > >> >> >> > > they should either a) not upgrade or b)
> > >> > > > > > > > > >> >> >> > > send a PR to
> > >> > > > > the
> > >> > > > > > > > > plugin
> > >> > > > > > > > > >> >> >> > maintainer
> > >> > > > > > > > > >> >> >> > > so everyone can benefit.
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > > >   3) They might not have the capacity
> or
> > >> > > > > > > > > >> >> >> > > > ability
> > >> > > > to
> > >> > > > > > > > > >> >> >> > > > test
> > >> > > > > > > > > their
> > >> > > > > > > > > >> app
> > >> > > > > > > > > >> >> >> on
> > >> > > > > > > > > >> >> >> > > > devices running Android M. Because API
> 23
> > >> > > > > > > > > >> >> >> > > > enables
> > >> > > > > the
> > >> > > > > > > > > >> >> >> > > > new
> > >> > > > > > > > > >> >> >> permissions
> > >> > > > > > > > > >> >> >> > > > model only on Android M, it requires
> > >> > > > > > > > > >> >> >> > > > testing on
> > >> > > > that
> > >> > > > > > > > > platform.
> > >> > > > > > > > > >> >> >> > > >
> > >> > > > > > > > > >> >> >> > > >
> > >> > > > > > > > > >> >> >> > > Everyone has access to the Android
> > emulator.
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > > > In any of the above cases, developers
> > >> > > > > > > > > >> >> >> > > > might still
> > >> > > > > like
> > >> > > > > > > > > >> >> >> > > > to
> > >> > > > > > > > > >> benefit
> > >> > > > > > > > > >> >> >> from
> > >> > > > > > > > > >> >> >> > > > some of the major bug fixes in those 5
> > >> > > > > > > > > >> >> >> > > > popular
> > >> > > > core
> > >> > > > > > > > > >> >> >> > > > plugins
> > >> > > > > > > > > >> >> >> mentioned
> > >> > > > > > > > > >> >> >> > > > below. Or even if they weren't
> > >> > > > > > > > > >> >> >> > > > specifically
> > >> > > > looking
> > >> > > > > > for
> > >> > > > > > > > > >> >> >> > > > bug
> > >> > > > > > > > > >> fixes,
> > >> > > > > > > > > >> >> >> it
> > >> > > > > > > > > >> >> >> > > > would be a much better experience if
> > >> > > > > > > > > >> >> >> > > > adding or
> > >> > > > > > updating
> > >> > > > > > > > > >> >> >> > > > one
> > >> > > > > > > > > of
> > >> > > > > > > > > >> >> those
> > >> > > > > > > > > >> >> >> > > > plugins would just work, rather than
> > >> > > > > > > > > >> >> >> > > > failing on Android. The explanation for
> > >> > > > > > > > > >> >> >> > > > the failure will not
> > >> > > > be
> > >> > > > > > > > > >> >> >> > > > obvious to many
> > >> > > > > > > > > users,
> > >> > > > > > > > > >> if
> > >> > > > > > > > > >> >> >> they
> > >> > > > > > > > > >> >> >> > > > overlooked the warning when installing
> > >> > > > > > > > > >> >> >> > > > the plugin
> > >> > > > or
> > >> > > > > > if
> > >> > > > > > > > > >> >> >> > > > they
> > >> > > > > > > > > >> were
> > >> > > > > > > > > >> >> >> > > > using another tool to add the plugin
> > >> > > > > > > > > >> >> >> > > > where the
> > >> > > > > warning
> > >> > > > > > > > > wasn't
> > >> > > > > > > > > >> >> >> surfaced.
> > >> > > > > > > > > >> >> >> > > >
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > >  Seems like you are describing a tooling
> > >> > > > > > > > > >> >> >> > > problem
> > >> > > > here.
> > >> > > > > > If
> > >> > > > > > > > > >> >> >> > > the
> > >> > > > > > > > > >> tool
> > >> > > > > > > > > >> >> >> > doesn't
> > >> > > > > > > > > >> >> >> > > surface the warning or allows the user to
> > >> > > > > > > > > >> >> >> > > add a
> > >> > > > plugin
> > >> > > > > > > > > >> >> >> > > that is
> > >> > > > > > > > > >> >> >> > incompatible
> > >> > > > > > > > > >> >> >> > > with the version of Cordova Android that
> is
> > >> > > > > > > > > >> >> >> > > being
> > >> > > > used
> > >> > > > > > > > > >> >> >> > > really
> > >> > > > > > > > > >> sounds
> > >> > > > > > > > > >> >> >> > like a
> > >> > > > > > > > > >> >> >> > > bug in the tooling to me.
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > > > Of course developers should be
> encouraged
> > >> > > > > > > > > >> >> >> > > > to
> > >> > > > upgrade
> > >> > > > > > to
> > >> > > > > > > > > >> >> >> > > > the
> > >> > > > > > > > > >> latest
> > >> > > > > > > > > >> >> >> > > > most secure highest-quality version of
> > >> > Cordova.
> > >> > > > But
> > >> > > > > > the
> > >> > > > > > > > > >> >> >> encouragement
> > >> > > > > > > > > >> >> >> > > > does not need to be so forceful. This
> > >> > > > > > > > > >> >> >> > > > proposed
> > >> > > > > change
> > >> > > > > > > > > >> >> >> > > > gives
> > >> > > > > > > > > >> >> >> developers
> > >> > > > > > > > > >> >> >> > > > more time to upgrade, and allows for
> more
> > >> > > > > > > > > >> >> >> > > > choice
> > >> > > > > about
> > >> > > > > > > > > >> >> >> > > > when
> > >> > > > > > > > > to
> > >> > > > > > > > > >> >> >> upgrade
> > >> > > > > > > > > >> >> >> > > > individual parts
> > >> > > > > > > > > >> >> >> > > > (plugins) rather than limiting them to
> > >> > > > > all-or-nothing.
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > >  I would argue that the developer has an
> > >> > > > > > > > > >> >> >> > > infinite
> > >> > > > > amount
> > >> > > > > > > > > >> >> >> > > of
> > >> > > > > > > > > time
> > >> > > > > > > > > >> to
> > >> > > > > > > > > >> >> >> > > upgrade. Nothing is forcing you to
> upgrade
> > >> > > > > > > > > >> >> >> > > to the
> > >> > > > > latest
> > >> > > > > > > > > Cordova
> > >> > > > > > > > > >> >> >> Android
> > >> > > > > > > > > >> >> >> > or
> > >> > > > > > > > > >> >> >> > > Android API. They can continue to use the
> > >> > > > > > > > > >> >> >> > > same
> > >> > > > version
> > >> > > > > > of
> > >> > > > > > > > > Cordova
> > >> > > > > > > > > >> >> >> Android
> > >> > > > > > > > > >> >> >> > > and plugins that are currently working in
> > >> > > > > > > > > >> >> >> > > their
> > >> > > app.
> > >> > > > > If
> > >> > > > > > > > > >> >> >> > > the
> > >> > > > > > > > > >> >> developer
> > >> > > > > > > > > >> >> >> is
> > >> > > > > > > > > >> >> >> > > using semver properly and we do our job
> > >> > > > > > > > > >> >> >> > > right they shouldn't
> > >> > > > > > > > > >> pick up
> > >> > > > > > > > > >> >> >> > > breaking changes. For instance, if the
> API
> > >> > > > > > > > > >> >> >> > > of a
> > >> > > > plugin
> > >> > > > > > > > > changes we
> > >> > > > > > > > > >> >> bump
> > >> > > > > > > > > >> >> >> > the
> > >> > > > > > > > > >> >> >> > > major version of the plugin so users who
> > >> > > > > > > > > >> >> >> > > setup their
> > >> > > > > > > > > config.xml
> > >> > > > > > > > > >> to
> > >> > > > > > > > > >> >> >> use:
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > > <plugin name="cordova-plugin-camera"
> > >> > spec="^1.1.0"
> > >> > > > />
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > > will effectively prevent the user from
> > >> > > > > > > > > >> >> >> > > picking up
> > >> > > > the
> > >> > > > > > > > > >> >> >> > > breaking
> > >> > > > > > > > > >> >> change
> > >> > > > > > > > > >> >> >> in
> > >> > > > > > > > > >> >> >> > > camera version 2.0.0.
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > > Simon Mac Donald
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> >
> > >> > > > > > > > > >> >> >>
> > >> > > > > > > > > >> >>
> > >> > > > > > > > > >>
> > >> > > > > > > > >
> > >> > > > > >
> > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%
> > >> > > > > > 2fhi
> > >> > > > > > .im%
> > >> > > > > > > > > 2fsimonmacdonald&data=01%7c01%7cnikhilkh%
> > 40microsoft.com
> > >> > > > > > %7c84fb6405edf
> > >> > > > > > > > >
> > >> > > > > >
> 74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&s
> > >> > > > > > data
> > >> > > > > > =B8D
> > >> > > > > > > > > uMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
> > >> > > > > > > > > >> >> >> > >  B
> > >> > > > > > > > > >> >> >>
> > >> > > > > > > > > >>
> > >> > > > > >
> KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
> > >> > > > > > KKKK
> > >> > > > > > K
> > >> > > > > > > > > >> KCB
> > >> > > > > > > > > >> >> >> > >   [  X  ܚX K  K[XZ[
> > >> > > > > > > > > >> >> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ]
> > >> > > > > > > > > >> >> >> > > [ۘ[
> > >> > > [X[
> > >> > > > > > > >  K[XZ[
> > >> > > > > > > > > >> >> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
> > >> > > > > > > > > >> >> >> > >
> > >> > > > > > > > > >> >> >> >
> > >> > > > > > > > > >> >> >>
> > >> > > > > > > > > >> >> >
> > >> > > > > > > > > >> >> >
> > >> > > > > > > > > >> >>
> > >> > > > > > > > > >>
> > >> > > > > > > > > >>
> > >> > > > > >
> --------------------------------------------------------------
> > >> > > > > > ----
> > >> > > > > > -
> > >> > > > > > > > > >> -- To unsubscribe, e-mail:
> > >> > > > > > > > > >> dev-unsubscribe@cordova.apache.org
> > >> > > > > > > > > <javascript:;>
> > >> > > > > > > > > >> For additional commands, e-mail:
> > >> > > > > > > > > >> dev-help@cordova.apache.org
> > >> > > > > > > > > <javascript:;>
> > >> > > > > > > > > >>
> > >> > > > > > > > >
> > >> > > > > > > >
> > >> > > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> > >
> > >
> >
>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by Jesse <pu...@gmail.com>.
5) add new plugin repo to coho managed plugins list


@purplecabbage
risingj.com

On Tue, Apr 5, 2016 at 8:20 AM, Simon MacDonald <si...@gmail.com>
wrote:

> Just an update:
>
> Task list:
>
> 1) create cordova-plugin-compat repo, populate with code. COMPLETE
> Apache Repo:
> https://git-wip-us.apache.org/repos/asf?p=cordova-plugin-compat.git
> Github Mirror: https://github.com/apache/cordova-plugin-compat
> NPM:
> https://www.npmjs.com/package/cordova-plugin-compat#cordova-plugin-compat
>
> 2) migrate core plugins to use cordova-plugin-compat
> 3) kick off plugins release
> 4) write blog post
>
>
> Simon Mac Donald
> http://hi.im/simonmacdonald
>
> On Mon, Apr 4, 2016 at 4:08 PM, Simon MacDonald <simon.macdonald@gmail.com
> >
> wrote:
>
> > I'm moving forward with 1 as I've requested a new git repo and github
> > mirror from infra:
> >
> > https://issues.apache.org/jira/servicedesk/customer/portal/1/INFRA-11592
> > https://issues.apache.org/jira/servicedesk/customer/portal/1/INFRA-11593
> >
> > once that is done I'll get on to migrating the core plugins to use this
> as
> > a dependency once published to NPM.
> >
> >
> > Simon Mac Donald
> > http://hi.im/simonmacdonald
> >
> > On Mon, Apr 4, 2016 at 1:38 PM, Richard Knoll <ri...@microsoft.com>
> > wrote:
> >
> >> That sounds right to me. No major version bumps needed.
> >>
> >> Richard
> >>
> >> -----Original Message-----
> >> From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
> >> Sent: Monday, April 4, 2016 10:35 AM
> >> To: dev@cordova.apache.org
> >> Subject: Re: [DISCUSS] Core Plugins and Android API 23
> >>
> >> In cordova-android? No, I don't think so. For the plugins I'd bump their
> >> minor version. Make sense?
> >>
> >>
> >> Simon Mac Donald
> >>
> >>
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.com%7c8bdd5fa551a84275174b08d35caf7ef9%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=Tx2MCYz9NAhmUMBCaa6fPoOLPb8R%2be5%2f6hCvsHapVaI%3d
> >>
> >> On Mon, Apr 4, 2016 at 1:32 PM, Joe Bowser <bo...@gmail.com> wrote:
> >>
> >> > Does this require a major version change?
> >> >
> >> > On Mon, Apr 4, 2016, 10:30 AM Richard Knoll <ri...@microsoft.com>
> >> wrote:
> >> >
> >> > > Sorry for being late to comment on this. If we were the only ones
> >> > > using the class, I would say we should just keep copying around.
> >> > > However, since other plugins are using it I think it's a good idea
> >> > > to put it in a common place and a plugin is the best way to do it.
> >> > > LGTM! Should someone write
> >> > up
> >> > > a blog post about this so that third-party plugins know to update?
> >> > >
> >> > > Thanks,
> >> > > Richard
> >> > >
> >> > > -----Original Message-----
> >> > > From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
> >> > > Sent: Sunday, April 3, 2016 12:26 PM
> >> > > To: dev@cordova.apache.org
> >> > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> >> > >
> >> > > Seems like we have momentum on this. So barring any negative
> >> > > comments
> >> > from
> >> > > Microsoft about this approach whom do I contact to setup a new repo
> >> > > on Apache GIT?
> >> > >
> >> > >
> >> > > Simon Mac Donald
> >> > >
> >> > >
> >> >
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%
> >> > 2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.com
> %7c6d4d4a706f45
> >> > 4da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=yGzi
> >> > Fs1bd1KAZjUEloAiJ07c9EipxtrtSYxU8e5oO7M%3d
> >> > >
> >> > > On Sun, Apr 3, 2016 at 2:26 PM, julio cesar sanchez <
> >> > > jcesarmobile@gmail.com>
> >> > > wrote:
> >> > >
> >> > > > I like it too
> >> > > > A lot of 3rd party plugins are adding that classes too
> >> > > >
> >> > > > BTW, there is a JIRA issue to add
> >> > > >
> https://na01.safelinks.protection.outlook.com/?url=PermissionHelpe
> >> > > > r.ja
> >> > > > va&data=01%7c01%7criknoll%40microsoft.com
> %7c6d4d4a706f454da19d7f08
> >> > > > d35b
> >> > > > f5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=KXea2ILjY6Ja2Q
> >> > > > r4XF %2b8FoLrOpCRvinHQIaqi%2faMSXw%3d to cordova-android
> >> > > >
> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fi
> >> > > > ssue
> >> > > > s.apache.org
> %2fjira%2fbrowse%2fCB-10656&data=01%7c01%7criknoll%40m
> >> > > > icro
> >> > > > soft.com
> %7c6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab
> >> > > > 2d7c
> >> > > > d011db47%7c1&sdata=Y6ygyF0AqvvK2VqTcTRSNflpowAn89Xaa%2fTaMFC%2fqlI
> >> > > > %3d
> >> > > >
> >> > > >
> >> > > >
> >> > > > 2016-04-03 18:43 GMT+02:00 Carlos Santana <cs...@gmail.com>:
> >> > > >
> >> > > > > Simon I like approach
> >> > > > > Can we move to this approach now? Yes Then once the downstream
> >> > > > > distro's support API 23 and the new API methods in
> >> > > > > CordovaInterface we can move this into Cordova Android proper?
> >> > > > > Yes
> >> > > > >
> >> > > > > +1
> >> > > > >
> >> > > > > On Thu, Mar 31, 2016 at 6:38 PM Joe Bowser <bo...@gmail.com>
> >> > wrote:
> >> > > > >
> >> > > > > > LGTM!
> >> > > > > >
> >> > > > > > On Thu, Mar 31, 2016 at 3:02 PM, Simon MacDonald <
> >> > > > > > simon.macdonald@gmail.com>
> >> > > > > > wrote:
> >> > > > > >
> >> > > > > > > I really hate the fact we need to add that
> >> > > > > > >
> https://na01.safelinks.protection.outlook.com/?url=Permissio
> >> > > > > > > nHel
> >> > > > > > > per.java&data=01%7c01%7criknoll%40microsoft.com
> %7c6d4d4a706f
> >> > > > > > > 454d
> >> > > > > > > a19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sd
> >> > > > > > > ata= KXea2ILjY6Ja2Qr4XF%2b8FoLrOpCRvinHQIaqi%2faMSXw%3d file
> >> > > > > to
> >> > > > > > > each and every plugin that requires API 23 permission
> support.
> >> > > > > Especially
> >> > > > > > > since the package the class is in is different for each
> >> > > > > > > plugin so we
> >> > > > > can
> >> > > > > > > two, three or more copies of the same code in an app. That's
> >> > > > > > > just
> >> > > > > > wasteful.
> >> > > > > > >
> >> > > > > > > Joe responded to my bitching by saying "Maybe we should
> >> > > > > > > create a permissions plugin for this and make everything go
> >> through that"
> >> > > > which
> >> > > > > > set
> >> > > > > > > my mind a racing (perhaps I was just over caffeinated) and I
> >> > > > > > > decided
> >> > > > to
> >> > > > > > > prototype it this afternoon.
> >> > > > > > >
> >> > > > > > > I've created a new plugin called cordova-plugin-compat over
> >> > > > > > > at https://github.com/macdonst/cordova-plugin-compat  and
> >> > > > > > > all it does
> >> > > > is
> >> > > > > > > deliver the org.apache.cordova.PermissionHelper class. I
> >> > > > > > > then turned
> >> > > > > > around
> >> > > > > > > and removed the class from the camera plugin and make
> >> > > > > > cordova-plugin-camera
> >> > > > > > > depend on cordova-plugin-compat.
> >> > > > > > >
> >> > > > > > > You can see that change over on my camera fork:
> >> > > > > > >
> >> > > > > > > https://github.com/macdonst
> >> > > > > > >
> >> > > > /cordova-plugin-camera/commit/58b72cb5c3109481df9f337ad97607858681
> >> > > > b37e
> >> > > > > > >
> >> > > > > > > Can we move to this approach now? Then once the downstream
> >> > > > > > > distro's
> >> > > > > > support
> >> > > > > > > API 23 and the new API methods in CordovaInterface we can
> >> > > > > > > move this
> >> > > > > into
> >> > > > > > > Cordova Android proper?
> >> > > > > > >
> >> > > > > > > Thoughts? Are there use cases this approach doesn't work
> for?
> >> > > > > > >
> >> > > > > > >
> >> > > > > > > Simon Mac Donald
> >> > > > > > >
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2
> >> > > > > > > f%2f
> >> > > > > > > hi.im%2fsimonmacdonald&data=01%7c01%7criknoll%
> 40microsoft.co
> >> > > > > > > m%7c
> >> > > > > > > 6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd
> >> > > > > > > 011d
> >> > > > > > > b47%7c1&sdata=yGziFs1bd1KAZjUEloAiJ07c9EipxtrtSYxU8e5oO7M%3d
> >> > > > > > >
> >> > > > > > > On Fri, Feb 5, 2016 at 2:32 PM, Richard Knoll
> >> > > > > > > <riknoll@microsoft.com
> >> > > > >
> >> > > > > > > wrote:
> >> > > > > > >
> >> > > > > > > > Yep, I left it out of the first round by mistake; I was
> >> > > > > > > > looking at
> >> > > > an
> >> > > > > > out
> >> > > > > > > > of date version of cordova-plugin-media at the time. I've
> >> > > > > > > > got a PR
> >> > > > > open
> >> > > > > > > > that adds the helper here:
> >> > > > > > > >
> >> > > > > > > > https://github.com/apache/cordova-plugin-media/pull/79
> >> > > > > > > >
> >> > > > > > > > Thanks,
> >> > > > > > > > Richard
> >> > > > > > > >
> >> > > > > > > > -----Original Message-----
> >> > > > > > > > From: julio cesar sanchez [mailto:jcesarmobile@gmail.com]
> >> > > > > > > > Sent: Friday, February 5, 2016 7:20 AM
> >> > > > > > > > To: dev@cordova.apache.org
> >> > > > > > > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> >> > > > > > > >
> >> > > > > > > > Yeah, that one.
> >> > > > > > > >
> >> > > > > > > >
> >> > > > > > > > El viernes, 5 de febrero de 2016, Homer, Tony <
> >> > > > tony.homer@intel.com>
> >> > > > > > > > escribió:
> >> > > > > > > >
> >> > > > > > > > > It took me a while to find it, but I guess you mean
> >> CB-10455?
> >> > > > > > > > >
> >> > > > > > > > >
> >> > > > > > > > >
> >> > > > > > > > > On 2/5/16, 7:56 AM, "julio cesar sanchez" <
> >> > > > jcesarmobile@gmail.com
> >> > > > > > > > > <javascript:;>> wrote:
> >> > > > > > > > >
> >> > > > > > > > > >I think we just forgot, somebody mentioned this on
> >> > > > > > > > > >slack and
> >> > > > there
> >> > > > > > is
> >> > > > > > > > > >an issue open on JIRA.
> >> > > > > > > > > >
> >> > > > > > > > > >2016-02-05 13:52 GMT+01:00 Homer, Tony
> >> > > > > > > > > ><tony.homer@intel.com
> >> > > > > > > > > <javascript:;>>:
> >> > > > > > > > > >
> >> > > > > > > > > >> Earlier in this thread, Richard stated:
> >> > > > > > > > > >> >> This change has been merged into the file, camera,
> >> > > > > geolocation,
> >> > > > > > > > > >> >> and
> >> > > > > > > > > >> contacts plugins (media did not actually require any
> >> > > change).
> >> > > > > > > > > >>
> >> > > > > > > > > >>
> >> > > > > > > > > >> Media was updated on 1/15 but it still has a
> >> > > > > > > > > >> "cordova-android
> >> > > > > > > > > >=5.0.0-dev"
> >> > > > > > > > > >> engine tag.
> >> > > > > > > > > >> I couldn't find any other discussion about this on
> >> > > > > > > > > >> the list
> >> > > > and
> >> > > > > > > > > >> wondered why it was retained for media.
> >> > > > > > > > > >> Was this an oversight?
> >> > > > > > > > > >>
> >> > > > > > > > > >>
> >> > > > > > > > > >> Thanks!
> >> > > > > > > > > >> Tony
> >> > > > > > > > > >>
> >> > > > > > > > > >>
> >> > > > > > > > > >>
> >> > > > > > > > > >>
> >> > > > > > > > > >> On 1/15/16, 4:40 PM, "Simon MacDonald" <
> >> > > > > simon.macdonald@gmail.com
> >> > > > > > > > > <javascript:;>> wrote:
> >> > > > > > > > > >>
> >> > > > > > > > > >> >LGTM
> >> > > > > > > > > >> >
> >> > > > > > > > > >> >+1
> >> > > > > > > > > >> >
> >> > > > > > > > > >> >Simon Mac Donald
> >> > > > > > > > > >> >
> >> > > > > >
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%
> >> > > > > > 2fhi
> >> > > > > > > > > >>
> >> > > > > >
> >> >.im%2fsimonmacdonald&data=01%7c01%7cRIKNOLL%40exchange.microsoft.
> >> > > > > > >c
> >> > > > > > > > > >>
> >> > > > > > >om%7cacc2d663ce574637d10908d32e3fd62d%7c72f988bf86f141af91ab2
> >> > > > > > >d7cd
> >> > > > > > >0
> >> > > > > > > > > >>
> >> > > > > >11db47%7c1&sdata=wCGbmJR3ZKj6lABfwOcjoLypjztI9HNX8%2bak6AhuBqY%
> >> > > > > >3d
> >> > > > > > > > > >> >
> >> > > > > > > > > >> >On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <
> >> > > > bowserj@gmail.com
> >> > > > > > > > > <javascript:;>> wrote:
> >> > > > > > > > > >> >
> >> > > > > > > > > >> >> Sorry, wrong PR:
> >> > > > > > > > > >> >>
> >> > > > > https://github.com/apache/cordova-plugin-inappbrowser/pull/136
> >> > > > > > > > > >> >>
> >> > > > > > > > > >> >> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <
> >> > > > > > bowserj@gmail.com
> >> > > > > > > > > <javascript:;>> wrote:
> >> > > > > > > > > >> >>
> >> > > > > > > > > >> >> > So, what does the timeline look like for a
> >> > > > > > > > > >> >> > Plugins
> >> > > > release.
> >> > > > > > I
> >> > > > > > > > > >> >> > just
> >> > > > > > > > > >> did a
> >> > > > > > > > > >> >> > major change in the InAppBrowser to fix tel: and
> >> sms:
> >> > > > URIs
> >> > > > > so
> >> > > > > > > > > >> >> > they
> >> > > > > > > > > do
> >> > > > > > > > > >> >> > stuff, and it'd be cool if this also made if
> >> > > > > > > > > >> >> > this got
> >> > > > > looked
> >> > > > > > > > > >> >> > over
> >> > > > > > > > > and
> >> > > > > > > > > >> >> > landed before the next release.
> >> > > > > > > > > >> >> >
> >> > > > > > > > > >> >> >
> >> > > > > >
> https://github.com/apache/cordova-plugin-inappbrowser/pull/135
> >> > > > > > > > > >> >> >
> >> > > > > > > > > >> >> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana
> >> > > > > > > > > >> >> > <
> >> > > > > > > > > csantana23@gmail.com <javascript:;>
> >> > > > > > > > > >> >
> >> > > > > > > > > >> >> > wrote:
> >> > > > > > > > > >> >> >
> >> > > > > > > > > >> >> >> I agree with final compromise, I also had a
> >> > > > > > > > > >> >> >> discussion
> >> > > > > with
> >> > > > > > > > > >> >> >> Nikhil
> >> > > > > > > > > >> >> during
> >> > > > > > > > > >> >> >> holiday break offline and understood the
> >> > > > > > > > > >> >> >> situation, some
> >> > > > > 3rd
> >> > > > > > > > > >> >> >> party
> >> > > > > > > > > >> >> plugins
> >> > > > > > > > > >> >> >> are not open source and customers/devs don't
> >> > > > > > > > > >> >> >> move as
> >> > > > fast
> >> > > > > as
> >> > > > > > > > > >> >> >> we
> >> > > > > > > > > wish,
> >> > > > > > > > > >> >> but
> >> > > > > > > > > >> >> >> having a CLI 6 with latest plugins being
> >> > > > > > > > > >> >> >> backwards
> >> > > > > > compatible
> >> > > > > > > > > >> >> >> with
> >> > > > > > > > > >> lower
> >> > > > > > > > > >> >> >> Android API is good base for developers to
> >> > > > > > > > > >> >> >> start
> >> > > > > upgrading.
> >> > > > > > > > > >> >> >>
> >> > > > > > > > > >> >> >>
> >> > > > > > > > > >> >> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <
> >> > > > > > > > > stevengill97@gmail.com <javascript:;>>
> >> > > > > > > > > >> >> >> wrote:
> >> > > > > > > > > >> >> >>
> >> > > > > > > > > >> >> >> > Awesome! I'll kick up a discuss thread
> >> > > > > > > > > >> >> >> >
> >> > > > > > > > > >> >> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard
> >> > > > > > > > > >> >> >> > Knoll <
> >> > > > > > > > > >> riknoll@microsoft.com <javascript:;>
> >> > > > > > > > > >> >> >
> >> > > > > > > > > >> >> >> > wrote:
> >> > > > > > > > > >> >> >> >
> >> > > > > > > > > >> >> >> > > Hey all,
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > > This change has been merged into the file,
> >> > > > > > > > > >> >> >> > > camera,
> >> > > > > > > > > geolocation,
> >> > > > > > > > > >> and
> >> > > > > > > > > >> >> >> > > contacts plugins (media did not actually
> >> > > > > > > > > >> >> >> > > require any
> >> > > > > > > > change).
> >> > > > > > > > > I
> >> > > > > > > > > >> was
> >> > > > > > > > > >> >> >> able
> >> > > > > > > > > >> >> >> > to
> >> > > > > > > > > >> >> >> > > build and run mobilespec on cordova-android
> >> > > > > > > > > >> >> >> > > 4.0.0
> >> > > > and
> >> > > > > > > > > >> >> >> cordova-android's
> >> > > > > > > > > >> >> >> > > master. We should probably push for a
> >> > > > > > > > > >> >> >> > > plugins
> >> > > > release
> >> > > > > > > > > >> >> >> > > soon,
> >> > > > > > > > > since
> >> > > > > > > > > >> >> >> there
> >> > > > > > > > > >> >> >> > are
> >> > > > > > > > > >> >> >> > > also some major bug fixes to the contacts
> >> > > > > > > > > >> >> >> > > and camera plugins
> >> > > > > > > > > that
> >> > > > > > > > > >> >> were
> >> > > > > > > > > >> >> >> > > recently pushed.
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > > Thanks,
> >> > > > > > > > > >> >> >> > > Richard
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > > -----Original Message-----
> >> > > > > > > > > >> >> >> > > From: Nikhil Khandelwal [mailto:
> >> > > > > nikhilkh@microsoft.com
> >> > > > > > > > > <javascript:;>]
> >> > > > > > > > > >> >> >> > > Sent: Friday, January 8, 2016 12:12 PM
> >> > > > > > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> >> > > > > > > > > >> >> >> > > Subject: RE: [DISCUSS] Core Plugins and
> >> > > > > > > > > >> >> >> > > Android API
> >> > > > 23
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > > We had a good discussion about this offline
> >> > > > > > > > > >> >> >> > > with
> >> > > > Joe,
> >> > > > > > > > > >> >> >> > > Simon,
> >> > > > > > > > > >> Steve,
> >> > > > > > > > > >> >> >> > Jesse,
> >> > > > > > > > > >> >> >> > > Parashu and Jason. We came to the following
> >> > > > agreement:
> >> > > > > > > > > >> >> >> > > This is a temporary fix to the plugins
> >> > > > > > > > > >> >> >> > > which we need
> >> > > > > to
> >> > > > > > > > > >> >> >> > > take
> >> > > > > > > > > to
> >> > > > > > > > > >> >> ensure
> >> > > > > > > > > >> >> >> > > Cordova 5.x tools behavior of using the
> >> > > > > > > > > >> >> >> > > edge plugins
> >> > > > > > does
> >> > > > > > > > > >> >> >> > > not
> >> > > > > > > > > >> break
> >> > > > > > > > > >> >> >> for
> >> > > > > > > > > >> >> >> > our
> >> > > > > > > > > >> >> >> > > users. We will pursue the change for all
> >> > > > > > > > > >> >> >> > > the
> >> > > > affected
> >> > > > > > > > plugins.
> >> > > > > > > > > >> This
> >> > > > > > > > > >> >> >> will
> >> > > > > > > > > >> >> >> > go
> >> > > > > > > > > >> >> >> > > out in the next PLUGINS release which will
> >> > > > > > > > > >> >> >> > > happen
> >> > > > > before
> >> > > > > > > > > >> >> >> > > the
> >> > > > > > > > > >> Cordova
> >> > > > > > > > > >> >> >> 6.0
> >> > > > > > > > > >> >> >> > > release. Since this a temporary fix, we aim
> >> > > > > > > > > >> >> >> > > to
> >> > > > remove
> >> > > > > it
> >> > > > > > > > > >> >> >> > > in 6
> >> > > > > > > > > >> months
> >> > > > > > > > > >> >> >> > > (giving reasonable time for our user base
> >> > > > > > > > > >> >> >> > > to move to Cordova
> >> > > > > > > > > 6.x+
> >> > > > > > > > > >> >> >> which
> >> > > > > > > > > >> >> >> > > will have a better plugin version pinning
> >> > > > mechanism).
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > > Thanks,
> >> > > > > > > > > >> >> >> > > Nikhil
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > > -----Original Message-----
> >> > > > > > > > > >> >> >> > > From: Simon MacDonald [mailto:
> >> > > > > simon.macdonald@gmail.com
> >> > > > > > > > > <javascript:;>]
> >> > > > > > > > > >> >> >> > > Sent: Thursday, January 7, 2016 4:00 PM
> >> > > > > > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> >> > > > > > > > > >> >> >> > > Subject: Re: [DISCUSS] Core Plugins and
> >> > > > > > > > > >> >> >> > > Android API
> >> > > > 23
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > > I'm going to play devils advocate a bit
> here:
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > > > There are valid reasons why many app
> >> > > > > > > > > >> >> >> > > > developers
> >> > > > > might
> >> > > > > > > > > >> >> >> > > > not be
> >> > > > > > > > > >> ready
> >> > > > > > > > > >> >> >> to
> >> > > > > > > > > >> >> >> > > > move to API level 23:
> >> > > > > > > > > >> >> >> > > >   1) They have an app which is
> >> > > > > > > > > >> >> >> > > > stabilizing or in maintenance
> >> > > > > > > > > >> mode
> >> > > > > > > > > >> >> >> and
> >> > > > > > > > > >> >> >> > > > they don't want to risk destabilization
> >> > > > > > > > > >> >> >> > > > by moving
> >> > > > > to a
> >> > > > > > > > > >> >> >> > > > new
> >> > > > > > > > > >> major
> >> > > > > > > > > >> >> >> > > > Cordova version, Cordova Android
> >> > > > > > > > > >> >> >> > > > platform, and
> >> > > > > Android
> >> > > > > > > > > >> >> >> > > > API
> >> > > > > > > > > >> level.
> >> > > > > > > > > >> >> >> > > >
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > > If the developer is not ready to move to a
> >> > > > > > > > > >> >> >> > > new
> >> > > > version
> >> > > > > > of
> >> > > > > > > > > Cordova
> >> > > > > > > > > >> >> >> Android
> >> > > > > > > > > >> >> >> > > or the Android API would it not also follow
> >> > > > > > > > > >> >> >> > > that
> >> > > > they
> >> > > > > > > > > shouldn't
> >> > > > > > > > > >> be
> >> > > > > > > > > >> >> >> > changing
> >> > > > > > > > > >> >> >> > > their plugin versions?
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > > >   2) They are using a 3rd-party plugin
> >> > > > > > > > > >> >> >> > > > which has
> >> > > > not
> >> > > > > > > > > >> >> >> > > > yet
> >> > > > > > > > > been
> >> > > > > > > > > >> >> >> updated
> >> > > > > > > > > >> >> >> > > > to request Android permissions as
> >> > > > > > > > > >> >> >> > > > required by API
> >> > > > > > level
> >> > > > > > > > 23.
> >> > > > > > > > > >> There
> >> > > > > > > > > >> >> >> are
> >> > > > > > > > > >> >> >> > > > probably a lot of plugins affected, since
> >> > > > > > > > > >> >> >> > > > access
> >> > > > to
> >> > > > > > any
> >> > > > > > > > > >> >> >> > > > of
> >> > > > > > > > > the
> >> > > > > > > > > >> >> >> > > > following things on Android M requires
> >> > > > > > > > > >> >> >> > > > runtime permission
> >> > > > > > > > > >> >> requests:
> >> > > > > > > > > >> >> >> > > > calendar, contacts, phone, camera,
> >> > > > > > > > > >> >> >> > > > microphone, location,
> >> > > > > > > > > >> beacons,
> >> > > > > > > > > >> >> >> > > sensors, SMS, storage.
> >> > > > > > > > > >> >> >> > > >
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > > Right, so if the 3rd party plugin they are
> >> > > > > > > > > >> >> >> > > using
> >> > > > > doesn't
> >> > > > > > > > > support
> >> > > > > > > > > >> >> >> Android
> >> > > > > > > > > >> >> >> > M
> >> > > > > > > > > >> >> >> > > they should either a) not upgrade or b)
> >> > > > > > > > > >> >> >> > > send a PR to
> >> > > > > the
> >> > > > > > > > > plugin
> >> > > > > > > > > >> >> >> > maintainer
> >> > > > > > > > > >> >> >> > > so everyone can benefit.
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > > >   3) They might not have the capacity or
> >> > > > > > > > > >> >> >> > > > ability
> >> > > > to
> >> > > > > > > > > >> >> >> > > > test
> >> > > > > > > > > their
> >> > > > > > > > > >> app
> >> > > > > > > > > >> >> >> on
> >> > > > > > > > > >> >> >> > > > devices running Android M. Because API 23
> >> > > > > > > > > >> >> >> > > > enables
> >> > > > > the
> >> > > > > > > > > >> >> >> > > > new
> >> > > > > > > > > >> >> >> permissions
> >> > > > > > > > > >> >> >> > > > model only on Android M, it requires
> >> > > > > > > > > >> >> >> > > > testing on
> >> > > > that
> >> > > > > > > > > platform.
> >> > > > > > > > > >> >> >> > > >
> >> > > > > > > > > >> >> >> > > >
> >> > > > > > > > > >> >> >> > > Everyone has access to the Android
> emulator.
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > > > In any of the above cases, developers
> >> > > > > > > > > >> >> >> > > > might still
> >> > > > > like
> >> > > > > > > > > >> >> >> > > > to
> >> > > > > > > > > >> benefit
> >> > > > > > > > > >> >> >> from
> >> > > > > > > > > >> >> >> > > > some of the major bug fixes in those 5
> >> > > > > > > > > >> >> >> > > > popular
> >> > > > core
> >> > > > > > > > > >> >> >> > > > plugins
> >> > > > > > > > > >> >> >> mentioned
> >> > > > > > > > > >> >> >> > > > below. Or even if they weren't
> >> > > > > > > > > >> >> >> > > > specifically
> >> > > > looking
> >> > > > > > for
> >> > > > > > > > > >> >> >> > > > bug
> >> > > > > > > > > >> fixes,
> >> > > > > > > > > >> >> >> it
> >> > > > > > > > > >> >> >> > > > would be a much better experience if
> >> > > > > > > > > >> >> >> > > > adding or
> >> > > > > > updating
> >> > > > > > > > > >> >> >> > > > one
> >> > > > > > > > > of
> >> > > > > > > > > >> >> those
> >> > > > > > > > > >> >> >> > > > plugins would just work, rather than
> >> > > > > > > > > >> >> >> > > > failing on Android. The explanation for
> >> > > > > > > > > >> >> >> > > > the failure will not
> >> > > > be
> >> > > > > > > > > >> >> >> > > > obvious to many
> >> > > > > > > > > users,
> >> > > > > > > > > >> if
> >> > > > > > > > > >> >> >> they
> >> > > > > > > > > >> >> >> > > > overlooked the warning when installing
> >> > > > > > > > > >> >> >> > > > the plugin
> >> > > > or
> >> > > > > > if
> >> > > > > > > > > >> >> >> > > > they
> >> > > > > > > > > >> were
> >> > > > > > > > > >> >> >> > > > using another tool to add the plugin
> >> > > > > > > > > >> >> >> > > > where the
> >> > > > > warning
> >> > > > > > > > > wasn't
> >> > > > > > > > > >> >> >> surfaced.
> >> > > > > > > > > >> >> >> > > >
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > >  Seems like you are describing a tooling
> >> > > > > > > > > >> >> >> > > problem
> >> > > > here.
> >> > > > > > If
> >> > > > > > > > > >> >> >> > > the
> >> > > > > > > > > >> tool
> >> > > > > > > > > >> >> >> > doesn't
> >> > > > > > > > > >> >> >> > > surface the warning or allows the user to
> >> > > > > > > > > >> >> >> > > add a
> >> > > > plugin
> >> > > > > > > > > >> >> >> > > that is
> >> > > > > > > > > >> >> >> > incompatible
> >> > > > > > > > > >> >> >> > > with the version of Cordova Android that is
> >> > > > > > > > > >> >> >> > > being
> >> > > > used
> >> > > > > > > > > >> >> >> > > really
> >> > > > > > > > > >> sounds
> >> > > > > > > > > >> >> >> > like a
> >> > > > > > > > > >> >> >> > > bug in the tooling to me.
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > > > Of course developers should be encouraged
> >> > > > > > > > > >> >> >> > > > to
> >> > > > upgrade
> >> > > > > > to
> >> > > > > > > > > >> >> >> > > > the
> >> > > > > > > > > >> latest
> >> > > > > > > > > >> >> >> > > > most secure highest-quality version of
> >> > Cordova.
> >> > > > But
> >> > > > > > the
> >> > > > > > > > > >> >> >> encouragement
> >> > > > > > > > > >> >> >> > > > does not need to be so forceful. This
> >> > > > > > > > > >> >> >> > > > proposed
> >> > > > > change
> >> > > > > > > > > >> >> >> > > > gives
> >> > > > > > > > > >> >> >> developers
> >> > > > > > > > > >> >> >> > > > more time to upgrade, and allows for more
> >> > > > > > > > > >> >> >> > > > choice
> >> > > > > about
> >> > > > > > > > > >> >> >> > > > when
> >> > > > > > > > > to
> >> > > > > > > > > >> >> >> upgrade
> >> > > > > > > > > >> >> >> > > > individual parts
> >> > > > > > > > > >> >> >> > > > (plugins) rather than limiting them to
> >> > > > > all-or-nothing.
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > >  I would argue that the developer has an
> >> > > > > > > > > >> >> >> > > infinite
> >> > > > > amount
> >> > > > > > > > > >> >> >> > > of
> >> > > > > > > > > time
> >> > > > > > > > > >> to
> >> > > > > > > > > >> >> >> > > upgrade. Nothing is forcing you to upgrade
> >> > > > > > > > > >> >> >> > > to the
> >> > > > > latest
> >> > > > > > > > > Cordova
> >> > > > > > > > > >> >> >> Android
> >> > > > > > > > > >> >> >> > or
> >> > > > > > > > > >> >> >> > > Android API. They can continue to use the
> >> > > > > > > > > >> >> >> > > same
> >> > > > version
> >> > > > > > of
> >> > > > > > > > > Cordova
> >> > > > > > > > > >> >> >> Android
> >> > > > > > > > > >> >> >> > > and plugins that are currently working in
> >> > > > > > > > > >> >> >> > > their
> >> > > app.
> >> > > > > If
> >> > > > > > > > > >> >> >> > > the
> >> > > > > > > > > >> >> developer
> >> > > > > > > > > >> >> >> is
> >> > > > > > > > > >> >> >> > > using semver properly and we do our job
> >> > > > > > > > > >> >> >> > > right they shouldn't
> >> > > > > > > > > >> pick up
> >> > > > > > > > > >> >> >> > > breaking changes. For instance, if the API
> >> > > > > > > > > >> >> >> > > of a
> >> > > > plugin
> >> > > > > > > > > changes we
> >> > > > > > > > > >> >> bump
> >> > > > > > > > > >> >> >> > the
> >> > > > > > > > > >> >> >> > > major version of the plugin so users who
> >> > > > > > > > > >> >> >> > > setup their
> >> > > > > > > > > config.xml
> >> > > > > > > > > >> to
> >> > > > > > > > > >> >> >> use:
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > > <plugin name="cordova-plugin-camera"
> >> > spec="^1.1.0"
> >> > > > />
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > > will effectively prevent the user from
> >> > > > > > > > > >> >> >> > > picking up
> >> > > > the
> >> > > > > > > > > >> >> >> > > breaking
> >> > > > > > > > > >> >> change
> >> > > > > > > > > >> >> >> in
> >> > > > > > > > > >> >> >> > > camera version 2.0.0.
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > > Simon Mac Donald
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> >
> >> > > > > > > > > >> >> >>
> >> > > > > > > > > >> >>
> >> > > > > > > > > >>
> >> > > > > > > > >
> >> > > > > >
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%
> >> > > > > > 2fhi
> >> > > > > > .im%
> >> > > > > > > > > 2fsimonmacdonald&data=01%7c01%7cnikhilkh%
> 40microsoft.com
> >> > > > > > %7c84fb6405edf
> >> > > > > > > > >
> >> > > > > > 74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&s
> >> > > > > > data
> >> > > > > > =B8D
> >> > > > > > > > > uMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
> >> > > > > > > > > >> >> >> > >  B
> >> > > > > > > > > >> >> >>
> >> > > > > > > > > >>
> >> > > > > > KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
> >> > > > > > KKKK
> >> > > > > > K
> >> > > > > > > > > >> KCB
> >> > > > > > > > > >> >> >> > >   [  X  ܚX K  K[XZ[
> >> > > > > > > > > >> >> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ]
> >> > > > > > > > > >> >> >> > > [ۘ[
> >> > > [X[
> >> > > > > > > >  K[XZ[
> >> > > > > > > > > >> >> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
> >> > > > > > > > > >> >> >> > >
> >> > > > > > > > > >> >> >> >
> >> > > > > > > > > >> >> >>
> >> > > > > > > > > >> >> >
> >> > > > > > > > > >> >> >
> >> > > > > > > > > >> >>
> >> > > > > > > > > >>
> >> > > > > > > > > >>
> >> > > > > > --------------------------------------------------------------
> >> > > > > > ----
> >> > > > > > -
> >> > > > > > > > > >> -- To unsubscribe, e-mail:
> >> > > > > > > > > >> dev-unsubscribe@cordova.apache.org
> >> > > > > > > > > <javascript:;>
> >> > > > > > > > > >> For additional commands, e-mail:
> >> > > > > > > > > >> dev-help@cordova.apache.org
> >> > > > > > > > > <javascript:;>
> >> > > > > > > > > >>
> >> > > > > > > > >
> >> > > > > > > >
> >> > > > > > >
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> >
> >
>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by Simon MacDonald <si...@gmail.com>.
Just an update:

Task list:

1) create cordova-plugin-compat repo, populate with code. COMPLETE
Apache Repo:
https://git-wip-us.apache.org/repos/asf?p=cordova-plugin-compat.git
Github Mirror: https://github.com/apache/cordova-plugin-compat
NPM:
https://www.npmjs.com/package/cordova-plugin-compat#cordova-plugin-compat

2) migrate core plugins to use cordova-plugin-compat
3) kick off plugins release
4) write blog post


Simon Mac Donald
http://hi.im/simonmacdonald

On Mon, Apr 4, 2016 at 4:08 PM, Simon MacDonald <si...@gmail.com>
wrote:

> I'm moving forward with 1 as I've requested a new git repo and github
> mirror from infra:
>
> https://issues.apache.org/jira/servicedesk/customer/portal/1/INFRA-11592
> https://issues.apache.org/jira/servicedesk/customer/portal/1/INFRA-11593
>
> once that is done I'll get on to migrating the core plugins to use this as
> a dependency once published to NPM.
>
>
> Simon Mac Donald
> http://hi.im/simonmacdonald
>
> On Mon, Apr 4, 2016 at 1:38 PM, Richard Knoll <ri...@microsoft.com>
> wrote:
>
>> That sounds right to me. No major version bumps needed.
>>
>> Richard
>>
>> -----Original Message-----
>> From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
>> Sent: Monday, April 4, 2016 10:35 AM
>> To: dev@cordova.apache.org
>> Subject: Re: [DISCUSS] Core Plugins and Android API 23
>>
>> In cordova-android? No, I don't think so. For the plugins I'd bump their
>> minor version. Make sense?
>>
>>
>> Simon Mac Donald
>>
>> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.com%7c8bdd5fa551a84275174b08d35caf7ef9%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=Tx2MCYz9NAhmUMBCaa6fPoOLPb8R%2be5%2f6hCvsHapVaI%3d
>>
>> On Mon, Apr 4, 2016 at 1:32 PM, Joe Bowser <bo...@gmail.com> wrote:
>>
>> > Does this require a major version change?
>> >
>> > On Mon, Apr 4, 2016, 10:30 AM Richard Knoll <ri...@microsoft.com>
>> wrote:
>> >
>> > > Sorry for being late to comment on this. If we were the only ones
>> > > using the class, I would say we should just keep copying around.
>> > > However, since other plugins are using it I think it's a good idea
>> > > to put it in a common place and a plugin is the best way to do it.
>> > > LGTM! Should someone write
>> > up
>> > > a blog post about this so that third-party plugins know to update?
>> > >
>> > > Thanks,
>> > > Richard
>> > >
>> > > -----Original Message-----
>> > > From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
>> > > Sent: Sunday, April 3, 2016 12:26 PM
>> > > To: dev@cordova.apache.org
>> > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
>> > >
>> > > Seems like we have momentum on this. So barring any negative
>> > > comments
>> > from
>> > > Microsoft about this approach whom do I contact to setup a new repo
>> > > on Apache GIT?
>> > >
>> > >
>> > > Simon Mac Donald
>> > >
>> > >
>> > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%
>> > 2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f45
>> > 4da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=yGzi
>> > Fs1bd1KAZjUEloAiJ07c9EipxtrtSYxU8e5oO7M%3d
>> > >
>> > > On Sun, Apr 3, 2016 at 2:26 PM, julio cesar sanchez <
>> > > jcesarmobile@gmail.com>
>> > > wrote:
>> > >
>> > > > I like it too
>> > > > A lot of 3rd party plugins are adding that classes too
>> > > >
>> > > > BTW, there is a JIRA issue to add
>> > > > https://na01.safelinks.protection.outlook.com/?url=PermissionHelpe
>> > > > r.ja
>> > > > va&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f454da19d7f08
>> > > > d35b
>> > > > f5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=KXea2ILjY6Ja2Q
>> > > > r4XF %2b8FoLrOpCRvinHQIaqi%2faMSXw%3d to cordova-android
>> > > > https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fi
>> > > > ssue
>> > > > s.apache.org%2fjira%2fbrowse%2fCB-10656&data=01%7c01%7criknoll%40m
>> > > > icro
>> > > > soft.com%7c6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab
>> > > > 2d7c
>> > > > d011db47%7c1&sdata=Y6ygyF0AqvvK2VqTcTRSNflpowAn89Xaa%2fTaMFC%2fqlI
>> > > > %3d
>> > > >
>> > > >
>> > > >
>> > > > 2016-04-03 18:43 GMT+02:00 Carlos Santana <cs...@gmail.com>:
>> > > >
>> > > > > Simon I like approach
>> > > > > Can we move to this approach now? Yes Then once the downstream
>> > > > > distro's support API 23 and the new API methods in
>> > > > > CordovaInterface we can move this into Cordova Android proper?
>> > > > > Yes
>> > > > >
>> > > > > +1
>> > > > >
>> > > > > On Thu, Mar 31, 2016 at 6:38 PM Joe Bowser <bo...@gmail.com>
>> > wrote:
>> > > > >
>> > > > > > LGTM!
>> > > > > >
>> > > > > > On Thu, Mar 31, 2016 at 3:02 PM, Simon MacDonald <
>> > > > > > simon.macdonald@gmail.com>
>> > > > > > wrote:
>> > > > > >
>> > > > > > > I really hate the fact we need to add that
>> > > > > > > https://na01.safelinks.protection.outlook.com/?url=Permissio
>> > > > > > > nHel
>> > > > > > > per.java&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f
>> > > > > > > 454d
>> > > > > > > a19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sd
>> > > > > > > ata= KXea2ILjY6Ja2Qr4XF%2b8FoLrOpCRvinHQIaqi%2faMSXw%3d file
>> > > > > to
>> > > > > > > each and every plugin that requires API 23 permission support.
>> > > > > Especially
>> > > > > > > since the package the class is in is different for each
>> > > > > > > plugin so we
>> > > > > can
>> > > > > > > two, three or more copies of the same code in an app. That's
>> > > > > > > just
>> > > > > > wasteful.
>> > > > > > >
>> > > > > > > Joe responded to my bitching by saying "Maybe we should
>> > > > > > > create a permissions plugin for this and make everything go
>> through that"
>> > > > which
>> > > > > > set
>> > > > > > > my mind a racing (perhaps I was just over caffeinated) and I
>> > > > > > > decided
>> > > > to
>> > > > > > > prototype it this afternoon.
>> > > > > > >
>> > > > > > > I've created a new plugin called cordova-plugin-compat over
>> > > > > > > at https://github.com/macdonst/cordova-plugin-compat  and
>> > > > > > > all it does
>> > > > is
>> > > > > > > deliver the org.apache.cordova.PermissionHelper class. I
>> > > > > > > then turned
>> > > > > > around
>> > > > > > > and removed the class from the camera plugin and make
>> > > > > > cordova-plugin-camera
>> > > > > > > depend on cordova-plugin-compat.
>> > > > > > >
>> > > > > > > You can see that change over on my camera fork:
>> > > > > > >
>> > > > > > > https://github.com/macdonst
>> > > > > > >
>> > > > /cordova-plugin-camera/commit/58b72cb5c3109481df9f337ad97607858681
>> > > > b37e
>> > > > > > >
>> > > > > > > Can we move to this approach now? Then once the downstream
>> > > > > > > distro's
>> > > > > > support
>> > > > > > > API 23 and the new API methods in CordovaInterface we can
>> > > > > > > move this
>> > > > > into
>> > > > > > > Cordova Android proper?
>> > > > > > >
>> > > > > > > Thoughts? Are there use cases this approach doesn't work for?
>> > > > > > >
>> > > > > > >
>> > > > > > > Simon Mac Donald
>> > > > > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2
>> > > > > > > f%2f
>> > > > > > > hi.im%2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.co
>> > > > > > > m%7c
>> > > > > > > 6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd
>> > > > > > > 011d
>> > > > > > > b47%7c1&sdata=yGziFs1bd1KAZjUEloAiJ07c9EipxtrtSYxU8e5oO7M%3d
>> > > > > > >
>> > > > > > > On Fri, Feb 5, 2016 at 2:32 PM, Richard Knoll
>> > > > > > > <riknoll@microsoft.com
>> > > > >
>> > > > > > > wrote:
>> > > > > > >
>> > > > > > > > Yep, I left it out of the first round by mistake; I was
>> > > > > > > > looking at
>> > > > an
>> > > > > > out
>> > > > > > > > of date version of cordova-plugin-media at the time. I've
>> > > > > > > > got a PR
>> > > > > open
>> > > > > > > > that adds the helper here:
>> > > > > > > >
>> > > > > > > > https://github.com/apache/cordova-plugin-media/pull/79
>> > > > > > > >
>> > > > > > > > Thanks,
>> > > > > > > > Richard
>> > > > > > > >
>> > > > > > > > -----Original Message-----
>> > > > > > > > From: julio cesar sanchez [mailto:jcesarmobile@gmail.com]
>> > > > > > > > Sent: Friday, February 5, 2016 7:20 AM
>> > > > > > > > To: dev@cordova.apache.org
>> > > > > > > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
>> > > > > > > >
>> > > > > > > > Yeah, that one.
>> > > > > > > >
>> > > > > > > >
>> > > > > > > > El viernes, 5 de febrero de 2016, Homer, Tony <
>> > > > tony.homer@intel.com>
>> > > > > > > > escribió:
>> > > > > > > >
>> > > > > > > > > It took me a while to find it, but I guess you mean
>> CB-10455?
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > On 2/5/16, 7:56 AM, "julio cesar sanchez" <
>> > > > jcesarmobile@gmail.com
>> > > > > > > > > <javascript:;>> wrote:
>> > > > > > > > >
>> > > > > > > > > >I think we just forgot, somebody mentioned this on
>> > > > > > > > > >slack and
>> > > > there
>> > > > > > is
>> > > > > > > > > >an issue open on JIRA.
>> > > > > > > > > >
>> > > > > > > > > >2016-02-05 13:52 GMT+01:00 Homer, Tony
>> > > > > > > > > ><tony.homer@intel.com
>> > > > > > > > > <javascript:;>>:
>> > > > > > > > > >
>> > > > > > > > > >> Earlier in this thread, Richard stated:
>> > > > > > > > > >> >> This change has been merged into the file, camera,
>> > > > > geolocation,
>> > > > > > > > > >> >> and
>> > > > > > > > > >> contacts plugins (media did not actually require any
>> > > change).
>> > > > > > > > > >>
>> > > > > > > > > >>
>> > > > > > > > > >> Media was updated on 1/15 but it still has a
>> > > > > > > > > >> "cordova-android
>> > > > > > > > > >=5.0.0-dev"
>> > > > > > > > > >> engine tag.
>> > > > > > > > > >> I couldn't find any other discussion about this on
>> > > > > > > > > >> the list
>> > > > and
>> > > > > > > > > >> wondered why it was retained for media.
>> > > > > > > > > >> Was this an oversight?
>> > > > > > > > > >>
>> > > > > > > > > >>
>> > > > > > > > > >> Thanks!
>> > > > > > > > > >> Tony
>> > > > > > > > > >>
>> > > > > > > > > >>
>> > > > > > > > > >>
>> > > > > > > > > >>
>> > > > > > > > > >> On 1/15/16, 4:40 PM, "Simon MacDonald" <
>> > > > > simon.macdonald@gmail.com
>> > > > > > > > > <javascript:;>> wrote:
>> > > > > > > > > >>
>> > > > > > > > > >> >LGTM
>> > > > > > > > > >> >
>> > > > > > > > > >> >+1
>> > > > > > > > > >> >
>> > > > > > > > > >> >Simon Mac Donald
>> > > > > > > > > >> >
>> > > > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%
>> > > > > > 2fhi
>> > > > > > > > > >>
>> > > > > >
>> >.im%2fsimonmacdonald&data=01%7c01%7cRIKNOLL%40exchange.microsoft.
>> > > > > > >c
>> > > > > > > > > >>
>> > > > > > >om%7cacc2d663ce574637d10908d32e3fd62d%7c72f988bf86f141af91ab2
>> > > > > > >d7cd
>> > > > > > >0
>> > > > > > > > > >>
>> > > > > >11db47%7c1&sdata=wCGbmJR3ZKj6lABfwOcjoLypjztI9HNX8%2bak6AhuBqY%
>> > > > > >3d
>> > > > > > > > > >> >
>> > > > > > > > > >> >On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <
>> > > > bowserj@gmail.com
>> > > > > > > > > <javascript:;>> wrote:
>> > > > > > > > > >> >
>> > > > > > > > > >> >> Sorry, wrong PR:
>> > > > > > > > > >> >>
>> > > > > https://github.com/apache/cordova-plugin-inappbrowser/pull/136
>> > > > > > > > > >> >>
>> > > > > > > > > >> >> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <
>> > > > > > bowserj@gmail.com
>> > > > > > > > > <javascript:;>> wrote:
>> > > > > > > > > >> >>
>> > > > > > > > > >> >> > So, what does the timeline look like for a
>> > > > > > > > > >> >> > Plugins
>> > > > release.
>> > > > > > I
>> > > > > > > > > >> >> > just
>> > > > > > > > > >> did a
>> > > > > > > > > >> >> > major change in the InAppBrowser to fix tel: and
>> sms:
>> > > > URIs
>> > > > > so
>> > > > > > > > > >> >> > they
>> > > > > > > > > do
>> > > > > > > > > >> >> > stuff, and it'd be cool if this also made if
>> > > > > > > > > >> >> > this got
>> > > > > looked
>> > > > > > > > > >> >> > over
>> > > > > > > > > and
>> > > > > > > > > >> >> > landed before the next release.
>> > > > > > > > > >> >> >
>> > > > > > > > > >> >> >
>> > > > > > https://github.com/apache/cordova-plugin-inappbrowser/pull/135
>> > > > > > > > > >> >> >
>> > > > > > > > > >> >> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana
>> > > > > > > > > >> >> > <
>> > > > > > > > > csantana23@gmail.com <javascript:;>
>> > > > > > > > > >> >
>> > > > > > > > > >> >> > wrote:
>> > > > > > > > > >> >> >
>> > > > > > > > > >> >> >> I agree with final compromise, I also had a
>> > > > > > > > > >> >> >> discussion
>> > > > > with
>> > > > > > > > > >> >> >> Nikhil
>> > > > > > > > > >> >> during
>> > > > > > > > > >> >> >> holiday break offline and understood the
>> > > > > > > > > >> >> >> situation, some
>> > > > > 3rd
>> > > > > > > > > >> >> >> party
>> > > > > > > > > >> >> plugins
>> > > > > > > > > >> >> >> are not open source and customers/devs don't
>> > > > > > > > > >> >> >> move as
>> > > > fast
>> > > > > as
>> > > > > > > > > >> >> >> we
>> > > > > > > > > wish,
>> > > > > > > > > >> >> but
>> > > > > > > > > >> >> >> having a CLI 6 with latest plugins being
>> > > > > > > > > >> >> >> backwards
>> > > > > > compatible
>> > > > > > > > > >> >> >> with
>> > > > > > > > > >> lower
>> > > > > > > > > >> >> >> Android API is good base for developers to
>> > > > > > > > > >> >> >> start
>> > > > > upgrading.
>> > > > > > > > > >> >> >>
>> > > > > > > > > >> >> >>
>> > > > > > > > > >> >> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <
>> > > > > > > > > stevengill97@gmail.com <javascript:;>>
>> > > > > > > > > >> >> >> wrote:
>> > > > > > > > > >> >> >>
>> > > > > > > > > >> >> >> > Awesome! I'll kick up a discuss thread
>> > > > > > > > > >> >> >> >
>> > > > > > > > > >> >> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard
>> > > > > > > > > >> >> >> > Knoll <
>> > > > > > > > > >> riknoll@microsoft.com <javascript:;>
>> > > > > > > > > >> >> >
>> > > > > > > > > >> >> >> > wrote:
>> > > > > > > > > >> >> >> >
>> > > > > > > > > >> >> >> > > Hey all,
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > > This change has been merged into the file,
>> > > > > > > > > >> >> >> > > camera,
>> > > > > > > > > geolocation,
>> > > > > > > > > >> and
>> > > > > > > > > >> >> >> > > contacts plugins (media did not actually
>> > > > > > > > > >> >> >> > > require any
>> > > > > > > > change).
>> > > > > > > > > I
>> > > > > > > > > >> was
>> > > > > > > > > >> >> >> able
>> > > > > > > > > >> >> >> > to
>> > > > > > > > > >> >> >> > > build and run mobilespec on cordova-android
>> > > > > > > > > >> >> >> > > 4.0.0
>> > > > and
>> > > > > > > > > >> >> >> cordova-android's
>> > > > > > > > > >> >> >> > > master. We should probably push for a
>> > > > > > > > > >> >> >> > > plugins
>> > > > release
>> > > > > > > > > >> >> >> > > soon,
>> > > > > > > > > since
>> > > > > > > > > >> >> >> there
>> > > > > > > > > >> >> >> > are
>> > > > > > > > > >> >> >> > > also some major bug fixes to the contacts
>> > > > > > > > > >> >> >> > > and camera plugins
>> > > > > > > > > that
>> > > > > > > > > >> >> were
>> > > > > > > > > >> >> >> > > recently pushed.
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > > Thanks,
>> > > > > > > > > >> >> >> > > Richard
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > > -----Original Message-----
>> > > > > > > > > >> >> >> > > From: Nikhil Khandelwal [mailto:
>> > > > > nikhilkh@microsoft.com
>> > > > > > > > > <javascript:;>]
>> > > > > > > > > >> >> >> > > Sent: Friday, January 8, 2016 12:12 PM
>> > > > > > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
>> > > > > > > > > >> >> >> > > Subject: RE: [DISCUSS] Core Plugins and
>> > > > > > > > > >> >> >> > > Android API
>> > > > 23
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > > We had a good discussion about this offline
>> > > > > > > > > >> >> >> > > with
>> > > > Joe,
>> > > > > > > > > >> >> >> > > Simon,
>> > > > > > > > > >> Steve,
>> > > > > > > > > >> >> >> > Jesse,
>> > > > > > > > > >> >> >> > > Parashu and Jason. We came to the following
>> > > > agreement:
>> > > > > > > > > >> >> >> > > This is a temporary fix to the plugins
>> > > > > > > > > >> >> >> > > which we need
>> > > > > to
>> > > > > > > > > >> >> >> > > take
>> > > > > > > > > to
>> > > > > > > > > >> >> ensure
>> > > > > > > > > >> >> >> > > Cordova 5.x tools behavior of using the
>> > > > > > > > > >> >> >> > > edge plugins
>> > > > > > does
>> > > > > > > > > >> >> >> > > not
>> > > > > > > > > >> break
>> > > > > > > > > >> >> >> for
>> > > > > > > > > >> >> >> > our
>> > > > > > > > > >> >> >> > > users. We will pursue the change for all
>> > > > > > > > > >> >> >> > > the
>> > > > affected
>> > > > > > > > plugins.
>> > > > > > > > > >> This
>> > > > > > > > > >> >> >> will
>> > > > > > > > > >> >> >> > go
>> > > > > > > > > >> >> >> > > out in the next PLUGINS release which will
>> > > > > > > > > >> >> >> > > happen
>> > > > > before
>> > > > > > > > > >> >> >> > > the
>> > > > > > > > > >> Cordova
>> > > > > > > > > >> >> >> 6.0
>> > > > > > > > > >> >> >> > > release. Since this a temporary fix, we aim
>> > > > > > > > > >> >> >> > > to
>> > > > remove
>> > > > > it
>> > > > > > > > > >> >> >> > > in 6
>> > > > > > > > > >> months
>> > > > > > > > > >> >> >> > > (giving reasonable time for our user base
>> > > > > > > > > >> >> >> > > to move to Cordova
>> > > > > > > > > 6.x+
>> > > > > > > > > >> >> >> which
>> > > > > > > > > >> >> >> > > will have a better plugin version pinning
>> > > > mechanism).
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > > Thanks,
>> > > > > > > > > >> >> >> > > Nikhil
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > > -----Original Message-----
>> > > > > > > > > >> >> >> > > From: Simon MacDonald [mailto:
>> > > > > simon.macdonald@gmail.com
>> > > > > > > > > <javascript:;>]
>> > > > > > > > > >> >> >> > > Sent: Thursday, January 7, 2016 4:00 PM
>> > > > > > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
>> > > > > > > > > >> >> >> > > Subject: Re: [DISCUSS] Core Plugins and
>> > > > > > > > > >> >> >> > > Android API
>> > > > 23
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > > I'm going to play devils advocate a bit here:
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > > > There are valid reasons why many app
>> > > > > > > > > >> >> >> > > > developers
>> > > > > might
>> > > > > > > > > >> >> >> > > > not be
>> > > > > > > > > >> ready
>> > > > > > > > > >> >> >> to
>> > > > > > > > > >> >> >> > > > move to API level 23:
>> > > > > > > > > >> >> >> > > >   1) They have an app which is
>> > > > > > > > > >> >> >> > > > stabilizing or in maintenance
>> > > > > > > > > >> mode
>> > > > > > > > > >> >> >> and
>> > > > > > > > > >> >> >> > > > they don't want to risk destabilization
>> > > > > > > > > >> >> >> > > > by moving
>> > > > > to a
>> > > > > > > > > >> >> >> > > > new
>> > > > > > > > > >> major
>> > > > > > > > > >> >> >> > > > Cordova version, Cordova Android
>> > > > > > > > > >> >> >> > > > platform, and
>> > > > > Android
>> > > > > > > > > >> >> >> > > > API
>> > > > > > > > > >> level.
>> > > > > > > > > >> >> >> > > >
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > > If the developer is not ready to move to a
>> > > > > > > > > >> >> >> > > new
>> > > > version
>> > > > > > of
>> > > > > > > > > Cordova
>> > > > > > > > > >> >> >> Android
>> > > > > > > > > >> >> >> > > or the Android API would it not also follow
>> > > > > > > > > >> >> >> > > that
>> > > > they
>> > > > > > > > > shouldn't
>> > > > > > > > > >> be
>> > > > > > > > > >> >> >> > changing
>> > > > > > > > > >> >> >> > > their plugin versions?
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > > >   2) They are using a 3rd-party plugin
>> > > > > > > > > >> >> >> > > > which has
>> > > > not
>> > > > > > > > > >> >> >> > > > yet
>> > > > > > > > > been
>> > > > > > > > > >> >> >> updated
>> > > > > > > > > >> >> >> > > > to request Android permissions as
>> > > > > > > > > >> >> >> > > > required by API
>> > > > > > level
>> > > > > > > > 23.
>> > > > > > > > > >> There
>> > > > > > > > > >> >> >> are
>> > > > > > > > > >> >> >> > > > probably a lot of plugins affected, since
>> > > > > > > > > >> >> >> > > > access
>> > > > to
>> > > > > > any
>> > > > > > > > > >> >> >> > > > of
>> > > > > > > > > the
>> > > > > > > > > >> >> >> > > > following things on Android M requires
>> > > > > > > > > >> >> >> > > > runtime permission
>> > > > > > > > > >> >> requests:
>> > > > > > > > > >> >> >> > > > calendar, contacts, phone, camera,
>> > > > > > > > > >> >> >> > > > microphone, location,
>> > > > > > > > > >> beacons,
>> > > > > > > > > >> >> >> > > sensors, SMS, storage.
>> > > > > > > > > >> >> >> > > >
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > > Right, so if the 3rd party plugin they are
>> > > > > > > > > >> >> >> > > using
>> > > > > doesn't
>> > > > > > > > > support
>> > > > > > > > > >> >> >> Android
>> > > > > > > > > >> >> >> > M
>> > > > > > > > > >> >> >> > > they should either a) not upgrade or b)
>> > > > > > > > > >> >> >> > > send a PR to
>> > > > > the
>> > > > > > > > > plugin
>> > > > > > > > > >> >> >> > maintainer
>> > > > > > > > > >> >> >> > > so everyone can benefit.
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > > >   3) They might not have the capacity or
>> > > > > > > > > >> >> >> > > > ability
>> > > > to
>> > > > > > > > > >> >> >> > > > test
>> > > > > > > > > their
>> > > > > > > > > >> app
>> > > > > > > > > >> >> >> on
>> > > > > > > > > >> >> >> > > > devices running Android M. Because API 23
>> > > > > > > > > >> >> >> > > > enables
>> > > > > the
>> > > > > > > > > >> >> >> > > > new
>> > > > > > > > > >> >> >> permissions
>> > > > > > > > > >> >> >> > > > model only on Android M, it requires
>> > > > > > > > > >> >> >> > > > testing on
>> > > > that
>> > > > > > > > > platform.
>> > > > > > > > > >> >> >> > > >
>> > > > > > > > > >> >> >> > > >
>> > > > > > > > > >> >> >> > > Everyone has access to the Android emulator.
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > > > In any of the above cases, developers
>> > > > > > > > > >> >> >> > > > might still
>> > > > > like
>> > > > > > > > > >> >> >> > > > to
>> > > > > > > > > >> benefit
>> > > > > > > > > >> >> >> from
>> > > > > > > > > >> >> >> > > > some of the major bug fixes in those 5
>> > > > > > > > > >> >> >> > > > popular
>> > > > core
>> > > > > > > > > >> >> >> > > > plugins
>> > > > > > > > > >> >> >> mentioned
>> > > > > > > > > >> >> >> > > > below. Or even if they weren't
>> > > > > > > > > >> >> >> > > > specifically
>> > > > looking
>> > > > > > for
>> > > > > > > > > >> >> >> > > > bug
>> > > > > > > > > >> fixes,
>> > > > > > > > > >> >> >> it
>> > > > > > > > > >> >> >> > > > would be a much better experience if
>> > > > > > > > > >> >> >> > > > adding or
>> > > > > > updating
>> > > > > > > > > >> >> >> > > > one
>> > > > > > > > > of
>> > > > > > > > > >> >> those
>> > > > > > > > > >> >> >> > > > plugins would just work, rather than
>> > > > > > > > > >> >> >> > > > failing on Android. The explanation for
>> > > > > > > > > >> >> >> > > > the failure will not
>> > > > be
>> > > > > > > > > >> >> >> > > > obvious to many
>> > > > > > > > > users,
>> > > > > > > > > >> if
>> > > > > > > > > >> >> >> they
>> > > > > > > > > >> >> >> > > > overlooked the warning when installing
>> > > > > > > > > >> >> >> > > > the plugin
>> > > > or
>> > > > > > if
>> > > > > > > > > >> >> >> > > > they
>> > > > > > > > > >> were
>> > > > > > > > > >> >> >> > > > using another tool to add the plugin
>> > > > > > > > > >> >> >> > > > where the
>> > > > > warning
>> > > > > > > > > wasn't
>> > > > > > > > > >> >> >> surfaced.
>> > > > > > > > > >> >> >> > > >
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > >  Seems like you are describing a tooling
>> > > > > > > > > >> >> >> > > problem
>> > > > here.
>> > > > > > If
>> > > > > > > > > >> >> >> > > the
>> > > > > > > > > >> tool
>> > > > > > > > > >> >> >> > doesn't
>> > > > > > > > > >> >> >> > > surface the warning or allows the user to
>> > > > > > > > > >> >> >> > > add a
>> > > > plugin
>> > > > > > > > > >> >> >> > > that is
>> > > > > > > > > >> >> >> > incompatible
>> > > > > > > > > >> >> >> > > with the version of Cordova Android that is
>> > > > > > > > > >> >> >> > > being
>> > > > used
>> > > > > > > > > >> >> >> > > really
>> > > > > > > > > >> sounds
>> > > > > > > > > >> >> >> > like a
>> > > > > > > > > >> >> >> > > bug in the tooling to me.
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > > > Of course developers should be encouraged
>> > > > > > > > > >> >> >> > > > to
>> > > > upgrade
>> > > > > > to
>> > > > > > > > > >> >> >> > > > the
>> > > > > > > > > >> latest
>> > > > > > > > > >> >> >> > > > most secure highest-quality version of
>> > Cordova.
>> > > > But
>> > > > > > the
>> > > > > > > > > >> >> >> encouragement
>> > > > > > > > > >> >> >> > > > does not need to be so forceful. This
>> > > > > > > > > >> >> >> > > > proposed
>> > > > > change
>> > > > > > > > > >> >> >> > > > gives
>> > > > > > > > > >> >> >> developers
>> > > > > > > > > >> >> >> > > > more time to upgrade, and allows for more
>> > > > > > > > > >> >> >> > > > choice
>> > > > > about
>> > > > > > > > > >> >> >> > > > when
>> > > > > > > > > to
>> > > > > > > > > >> >> >> upgrade
>> > > > > > > > > >> >> >> > > > individual parts
>> > > > > > > > > >> >> >> > > > (plugins) rather than limiting them to
>> > > > > all-or-nothing.
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > >  I would argue that the developer has an
>> > > > > > > > > >> >> >> > > infinite
>> > > > > amount
>> > > > > > > > > >> >> >> > > of
>> > > > > > > > > time
>> > > > > > > > > >> to
>> > > > > > > > > >> >> >> > > upgrade. Nothing is forcing you to upgrade
>> > > > > > > > > >> >> >> > > to the
>> > > > > latest
>> > > > > > > > > Cordova
>> > > > > > > > > >> >> >> Android
>> > > > > > > > > >> >> >> > or
>> > > > > > > > > >> >> >> > > Android API. They can continue to use the
>> > > > > > > > > >> >> >> > > same
>> > > > version
>> > > > > > of
>> > > > > > > > > Cordova
>> > > > > > > > > >> >> >> Android
>> > > > > > > > > >> >> >> > > and plugins that are currently working in
>> > > > > > > > > >> >> >> > > their
>> > > app.
>> > > > > If
>> > > > > > > > > >> >> >> > > the
>> > > > > > > > > >> >> developer
>> > > > > > > > > >> >> >> is
>> > > > > > > > > >> >> >> > > using semver properly and we do our job
>> > > > > > > > > >> >> >> > > right they shouldn't
>> > > > > > > > > >> pick up
>> > > > > > > > > >> >> >> > > breaking changes. For instance, if the API
>> > > > > > > > > >> >> >> > > of a
>> > > > plugin
>> > > > > > > > > changes we
>> > > > > > > > > >> >> bump
>> > > > > > > > > >> >> >> > the
>> > > > > > > > > >> >> >> > > major version of the plugin so users who
>> > > > > > > > > >> >> >> > > setup their
>> > > > > > > > > config.xml
>> > > > > > > > > >> to
>> > > > > > > > > >> >> >> use:
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > > <plugin name="cordova-plugin-camera"
>> > spec="^1.1.0"
>> > > > />
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > > will effectively prevent the user from
>> > > > > > > > > >> >> >> > > picking up
>> > > > the
>> > > > > > > > > >> >> >> > > breaking
>> > > > > > > > > >> >> change
>> > > > > > > > > >> >> >> in
>> > > > > > > > > >> >> >> > > camera version 2.0.0.
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > > Simon Mac Donald
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> >
>> > > > > > > > > >> >> >>
>> > > > > > > > > >> >>
>> > > > > > > > > >>
>> > > > > > > > >
>> > > > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%
>> > > > > > 2fhi
>> > > > > > .im%
>> > > > > > > > > 2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com
>> > > > > > %7c84fb6405edf
>> > > > > > > > >
>> > > > > > 74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&s
>> > > > > > data
>> > > > > > =B8D
>> > > > > > > > > uMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
>> > > > > > > > > >> >> >> > >  B
>> > > > > > > > > >> >> >>
>> > > > > > > > > >>
>> > > > > > KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
>> > > > > > KKKK
>> > > > > > K
>> > > > > > > > > >> KCB
>> > > > > > > > > >> >> >> > >   [  X  ܚX K  K[XZ[
>> > > > > > > > > >> >> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ]
>> > > > > > > > > >> >> >> > > [ۘ[
>> > > [X[
>> > > > > > > >  K[XZ[
>> > > > > > > > > >> >> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
>> > > > > > > > > >> >> >> > >
>> > > > > > > > > >> >> >> >
>> > > > > > > > > >> >> >>
>> > > > > > > > > >> >> >
>> > > > > > > > > >> >> >
>> > > > > > > > > >> >>
>> > > > > > > > > >>
>> > > > > > > > > >>
>> > > > > > --------------------------------------------------------------
>> > > > > > ----
>> > > > > > -
>> > > > > > > > > >> -- To unsubscribe, e-mail:
>> > > > > > > > > >> dev-unsubscribe@cordova.apache.org
>> > > > > > > > > <javascript:;>
>> > > > > > > > > >> For additional commands, e-mail:
>> > > > > > > > > >> dev-help@cordova.apache.org
>> > > > > > > > > <javascript:;>
>> > > > > > > > > >>
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>
>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by Simon MacDonald <si...@gmail.com>.
I'm moving forward with 1 as I've requested a new git repo and github
mirror from infra:

https://issues.apache.org/jira/servicedesk/customer/portal/1/INFRA-11592
https://issues.apache.org/jira/servicedesk/customer/portal/1/INFRA-11593

once that is done I'll get on to migrating the core plugins to use this as
a dependency once published to NPM.


Simon Mac Donald
http://hi.im/simonmacdonald

On Mon, Apr 4, 2016 at 1:38 PM, Richard Knoll <ri...@microsoft.com> wrote:

> That sounds right to me. No major version bumps needed.
>
> Richard
>
> -----Original Message-----
> From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
> Sent: Monday, April 4, 2016 10:35 AM
> To: dev@cordova.apache.org
> Subject: Re: [DISCUSS] Core Plugins and Android API 23
>
> In cordova-android? No, I don't think so. For the plugins I'd bump their
> minor version. Make sense?
>
>
> Simon Mac Donald
>
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.com%7c8bdd5fa551a84275174b08d35caf7ef9%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=Tx2MCYz9NAhmUMBCaa6fPoOLPb8R%2be5%2f6hCvsHapVaI%3d
>
> On Mon, Apr 4, 2016 at 1:32 PM, Joe Bowser <bo...@gmail.com> wrote:
>
> > Does this require a major version change?
> >
> > On Mon, Apr 4, 2016, 10:30 AM Richard Knoll <ri...@microsoft.com>
> wrote:
> >
> > > Sorry for being late to comment on this. If we were the only ones
> > > using the class, I would say we should just keep copying around.
> > > However, since other plugins are using it I think it's a good idea
> > > to put it in a common place and a plugin is the best way to do it.
> > > LGTM! Should someone write
> > up
> > > a blog post about this so that third-party plugins know to update?
> > >
> > > Thanks,
> > > Richard
> > >
> > > -----Original Message-----
> > > From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
> > > Sent: Sunday, April 3, 2016 12:26 PM
> > > To: dev@cordova.apache.org
> > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > >
> > > Seems like we have momentum on this. So barring any negative
> > > comments
> > from
> > > Microsoft about this approach whom do I contact to setup a new repo
> > > on Apache GIT?
> > >
> > >
> > > Simon Mac Donald
> > >
> > >
> > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%
> > 2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f45
> > 4da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=yGzi
> > Fs1bd1KAZjUEloAiJ07c9EipxtrtSYxU8e5oO7M%3d
> > >
> > > On Sun, Apr 3, 2016 at 2:26 PM, julio cesar sanchez <
> > > jcesarmobile@gmail.com>
> > > wrote:
> > >
> > > > I like it too
> > > > A lot of 3rd party plugins are adding that classes too
> > > >
> > > > BTW, there is a JIRA issue to add
> > > > https://na01.safelinks.protection.outlook.com/?url=PermissionHelpe
> > > > r.ja
> > > > va&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f454da19d7f08
> > > > d35b
> > > > f5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=KXea2ILjY6Ja2Q
> > > > r4XF %2b8FoLrOpCRvinHQIaqi%2faMSXw%3d to cordova-android
> > > > https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fi
> > > > ssue
> > > > s.apache.org%2fjira%2fbrowse%2fCB-10656&data=01%7c01%7criknoll%40m
> > > > icro
> > > > soft.com%7c6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab
> > > > 2d7c
> > > > d011db47%7c1&sdata=Y6ygyF0AqvvK2VqTcTRSNflpowAn89Xaa%2fTaMFC%2fqlI
> > > > %3d
> > > >
> > > >
> > > >
> > > > 2016-04-03 18:43 GMT+02:00 Carlos Santana <cs...@gmail.com>:
> > > >
> > > > > Simon I like approach
> > > > > Can we move to this approach now? Yes Then once the downstream
> > > > > distro's support API 23 and the new API methods in
> > > > > CordovaInterface we can move this into Cordova Android proper?
> > > > > Yes
> > > > >
> > > > > +1
> > > > >
> > > > > On Thu, Mar 31, 2016 at 6:38 PM Joe Bowser <bo...@gmail.com>
> > wrote:
> > > > >
> > > > > > LGTM!
> > > > > >
> > > > > > On Thu, Mar 31, 2016 at 3:02 PM, Simon MacDonald <
> > > > > > simon.macdonald@gmail.com>
> > > > > > wrote:
> > > > > >
> > > > > > > I really hate the fact we need to add that
> > > > > > > https://na01.safelinks.protection.outlook.com/?url=Permissio
> > > > > > > nHel
> > > > > > > per.java&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f
> > > > > > > 454d
> > > > > > > a19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sd
> > > > > > > ata= KXea2ILjY6Ja2Qr4XF%2b8FoLrOpCRvinHQIaqi%2faMSXw%3d file
> > > > > to
> > > > > > > each and every plugin that requires API 23 permission support.
> > > > > Especially
> > > > > > > since the package the class is in is different for each
> > > > > > > plugin so we
> > > > > can
> > > > > > > two, three or more copies of the same code in an app. That's
> > > > > > > just
> > > > > > wasteful.
> > > > > > >
> > > > > > > Joe responded to my bitching by saying "Maybe we should
> > > > > > > create a permissions plugin for this and make everything go
> through that"
> > > > which
> > > > > > set
> > > > > > > my mind a racing (perhaps I was just over caffeinated) and I
> > > > > > > decided
> > > > to
> > > > > > > prototype it this afternoon.
> > > > > > >
> > > > > > > I've created a new plugin called cordova-plugin-compat over
> > > > > > > at https://github.com/macdonst/cordova-plugin-compat  and
> > > > > > > all it does
> > > > is
> > > > > > > deliver the org.apache.cordova.PermissionHelper class. I
> > > > > > > then turned
> > > > > > around
> > > > > > > and removed the class from the camera plugin and make
> > > > > > cordova-plugin-camera
> > > > > > > depend on cordova-plugin-compat.
> > > > > > >
> > > > > > > You can see that change over on my camera fork:
> > > > > > >
> > > > > > > https://github.com/macdonst
> > > > > > >
> > > > /cordova-plugin-camera/commit/58b72cb5c3109481df9f337ad97607858681
> > > > b37e
> > > > > > >
> > > > > > > Can we move to this approach now? Then once the downstream
> > > > > > > distro's
> > > > > > support
> > > > > > > API 23 and the new API methods in CordovaInterface we can
> > > > > > > move this
> > > > > into
> > > > > > > Cordova Android proper?
> > > > > > >
> > > > > > > Thoughts? Are there use cases this approach doesn't work for?
> > > > > > >
> > > > > > >
> > > > > > > Simon Mac Donald
> > > > > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2
> > > > > > > f%2f
> > > > > > > hi.im%2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.co
> > > > > > > m%7c
> > > > > > > 6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd
> > > > > > > 011d
> > > > > > > b47%7c1&sdata=yGziFs1bd1KAZjUEloAiJ07c9EipxtrtSYxU8e5oO7M%3d
> > > > > > >
> > > > > > > On Fri, Feb 5, 2016 at 2:32 PM, Richard Knoll
> > > > > > > <riknoll@microsoft.com
> > > > >
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Yep, I left it out of the first round by mistake; I was
> > > > > > > > looking at
> > > > an
> > > > > > out
> > > > > > > > of date version of cordova-plugin-media at the time. I've
> > > > > > > > got a PR
> > > > > open
> > > > > > > > that adds the helper here:
> > > > > > > >
> > > > > > > > https://github.com/apache/cordova-plugin-media/pull/79
> > > > > > > >
> > > > > > > > Thanks,
> > > > > > > > Richard
> > > > > > > >
> > > > > > > > -----Original Message-----
> > > > > > > > From: julio cesar sanchez [mailto:jcesarmobile@gmail.com]
> > > > > > > > Sent: Friday, February 5, 2016 7:20 AM
> > > > > > > > To: dev@cordova.apache.org
> > > > > > > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > > > > > > >
> > > > > > > > Yeah, that one.
> > > > > > > >
> > > > > > > >
> > > > > > > > El viernes, 5 de febrero de 2016, Homer, Tony <
> > > > tony.homer@intel.com>
> > > > > > > > escribió:
> > > > > > > >
> > > > > > > > > It took me a while to find it, but I guess you mean
> CB-10455?
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > On 2/5/16, 7:56 AM, "julio cesar sanchez" <
> > > > jcesarmobile@gmail.com
> > > > > > > > > <javascript:;>> wrote:
> > > > > > > > >
> > > > > > > > > >I think we just forgot, somebody mentioned this on
> > > > > > > > > >slack and
> > > > there
> > > > > > is
> > > > > > > > > >an issue open on JIRA.
> > > > > > > > > >
> > > > > > > > > >2016-02-05 13:52 GMT+01:00 Homer, Tony
> > > > > > > > > ><tony.homer@intel.com
> > > > > > > > > <javascript:;>>:
> > > > > > > > > >
> > > > > > > > > >> Earlier in this thread, Richard stated:
> > > > > > > > > >> >> This change has been merged into the file, camera,
> > > > > geolocation,
> > > > > > > > > >> >> and
> > > > > > > > > >> contacts plugins (media did not actually require any
> > > change).
> > > > > > > > > >>
> > > > > > > > > >>
> > > > > > > > > >> Media was updated on 1/15 but it still has a
> > > > > > > > > >> "cordova-android
> > > > > > > > > >=5.0.0-dev"
> > > > > > > > > >> engine tag.
> > > > > > > > > >> I couldn't find any other discussion about this on
> > > > > > > > > >> the list
> > > > and
> > > > > > > > > >> wondered why it was retained for media.
> > > > > > > > > >> Was this an oversight?
> > > > > > > > > >>
> > > > > > > > > >>
> > > > > > > > > >> Thanks!
> > > > > > > > > >> Tony
> > > > > > > > > >>
> > > > > > > > > >>
> > > > > > > > > >>
> > > > > > > > > >>
> > > > > > > > > >> On 1/15/16, 4:40 PM, "Simon MacDonald" <
> > > > > simon.macdonald@gmail.com
> > > > > > > > > <javascript:;>> wrote:
> > > > > > > > > >>
> > > > > > > > > >> >LGTM
> > > > > > > > > >> >
> > > > > > > > > >> >+1
> > > > > > > > > >> >
> > > > > > > > > >> >Simon Mac Donald
> > > > > > > > > >> >
> > > > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%
> > > > > > 2fhi
> > > > > > > > > >>
> > > > > >
> >.im%2fsimonmacdonald&data=01%7c01%7cRIKNOLL%40exchange.microsoft.
> > > > > > >c
> > > > > > > > > >>
> > > > > > >om%7cacc2d663ce574637d10908d32e3fd62d%7c72f988bf86f141af91ab2
> > > > > > >d7cd
> > > > > > >0
> > > > > > > > > >>
> > > > > >11db47%7c1&sdata=wCGbmJR3ZKj6lABfwOcjoLypjztI9HNX8%2bak6AhuBqY%
> > > > > >3d
> > > > > > > > > >> >
> > > > > > > > > >> >On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <
> > > > bowserj@gmail.com
> > > > > > > > > <javascript:;>> wrote:
> > > > > > > > > >> >
> > > > > > > > > >> >> Sorry, wrong PR:
> > > > > > > > > >> >>
> > > > > https://github.com/apache/cordova-plugin-inappbrowser/pull/136
> > > > > > > > > >> >>
> > > > > > > > > >> >> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <
> > > > > > bowserj@gmail.com
> > > > > > > > > <javascript:;>> wrote:
> > > > > > > > > >> >>
> > > > > > > > > >> >> > So, what does the timeline look like for a
> > > > > > > > > >> >> > Plugins
> > > > release.
> > > > > > I
> > > > > > > > > >> >> > just
> > > > > > > > > >> did a
> > > > > > > > > >> >> > major change in the InAppBrowser to fix tel: and
> sms:
> > > > URIs
> > > > > so
> > > > > > > > > >> >> > they
> > > > > > > > > do
> > > > > > > > > >> >> > stuff, and it'd be cool if this also made if
> > > > > > > > > >> >> > this got
> > > > > looked
> > > > > > > > > >> >> > over
> > > > > > > > > and
> > > > > > > > > >> >> > landed before the next release.
> > > > > > > > > >> >> >
> > > > > > > > > >> >> >
> > > > > > https://github.com/apache/cordova-plugin-inappbrowser/pull/135
> > > > > > > > > >> >> >
> > > > > > > > > >> >> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana
> > > > > > > > > >> >> > <
> > > > > > > > > csantana23@gmail.com <javascript:;>
> > > > > > > > > >> >
> > > > > > > > > >> >> > wrote:
> > > > > > > > > >> >> >
> > > > > > > > > >> >> >> I agree with final compromise, I also had a
> > > > > > > > > >> >> >> discussion
> > > > > with
> > > > > > > > > >> >> >> Nikhil
> > > > > > > > > >> >> during
> > > > > > > > > >> >> >> holiday break offline and understood the
> > > > > > > > > >> >> >> situation, some
> > > > > 3rd
> > > > > > > > > >> >> >> party
> > > > > > > > > >> >> plugins
> > > > > > > > > >> >> >> are not open source and customers/devs don't
> > > > > > > > > >> >> >> move as
> > > > fast
> > > > > as
> > > > > > > > > >> >> >> we
> > > > > > > > > wish,
> > > > > > > > > >> >> but
> > > > > > > > > >> >> >> having a CLI 6 with latest plugins being
> > > > > > > > > >> >> >> backwards
> > > > > > compatible
> > > > > > > > > >> >> >> with
> > > > > > > > > >> lower
> > > > > > > > > >> >> >> Android API is good base for developers to
> > > > > > > > > >> >> >> start
> > > > > upgrading.
> > > > > > > > > >> >> >>
> > > > > > > > > >> >> >>
> > > > > > > > > >> >> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <
> > > > > > > > > stevengill97@gmail.com <javascript:;>>
> > > > > > > > > >> >> >> wrote:
> > > > > > > > > >> >> >>
> > > > > > > > > >> >> >> > Awesome! I'll kick up a discuss thread
> > > > > > > > > >> >> >> >
> > > > > > > > > >> >> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard
> > > > > > > > > >> >> >> > Knoll <
> > > > > > > > > >> riknoll@microsoft.com <javascript:;>
> > > > > > > > > >> >> >
> > > > > > > > > >> >> >> > wrote:
> > > > > > > > > >> >> >> >
> > > > > > > > > >> >> >> > > Hey all,
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > > This change has been merged into the file,
> > > > > > > > > >> >> >> > > camera,
> > > > > > > > > geolocation,
> > > > > > > > > >> and
> > > > > > > > > >> >> >> > > contacts plugins (media did not actually
> > > > > > > > > >> >> >> > > require any
> > > > > > > > change).
> > > > > > > > > I
> > > > > > > > > >> was
> > > > > > > > > >> >> >> able
> > > > > > > > > >> >> >> > to
> > > > > > > > > >> >> >> > > build and run mobilespec on cordova-android
> > > > > > > > > >> >> >> > > 4.0.0
> > > > and
> > > > > > > > > >> >> >> cordova-android's
> > > > > > > > > >> >> >> > > master. We should probably push for a
> > > > > > > > > >> >> >> > > plugins
> > > > release
> > > > > > > > > >> >> >> > > soon,
> > > > > > > > > since
> > > > > > > > > >> >> >> there
> > > > > > > > > >> >> >> > are
> > > > > > > > > >> >> >> > > also some major bug fixes to the contacts
> > > > > > > > > >> >> >> > > and camera plugins
> > > > > > > > > that
> > > > > > > > > >> >> were
> > > > > > > > > >> >> >> > > recently pushed.
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > > Thanks,
> > > > > > > > > >> >> >> > > Richard
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > > -----Original Message-----
> > > > > > > > > >> >> >> > > From: Nikhil Khandelwal [mailto:
> > > > > nikhilkh@microsoft.com
> > > > > > > > > <javascript:;>]
> > > > > > > > > >> >> >> > > Sent: Friday, January 8, 2016 12:12 PM
> > > > > > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > > > > > > > > >> >> >> > > Subject: RE: [DISCUSS] Core Plugins and
> > > > > > > > > >> >> >> > > Android API
> > > > 23
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > > We had a good discussion about this offline
> > > > > > > > > >> >> >> > > with
> > > > Joe,
> > > > > > > > > >> >> >> > > Simon,
> > > > > > > > > >> Steve,
> > > > > > > > > >> >> >> > Jesse,
> > > > > > > > > >> >> >> > > Parashu and Jason. We came to the following
> > > > agreement:
> > > > > > > > > >> >> >> > > This is a temporary fix to the plugins
> > > > > > > > > >> >> >> > > which we need
> > > > > to
> > > > > > > > > >> >> >> > > take
> > > > > > > > > to
> > > > > > > > > >> >> ensure
> > > > > > > > > >> >> >> > > Cordova 5.x tools behavior of using the
> > > > > > > > > >> >> >> > > edge plugins
> > > > > > does
> > > > > > > > > >> >> >> > > not
> > > > > > > > > >> break
> > > > > > > > > >> >> >> for
> > > > > > > > > >> >> >> > our
> > > > > > > > > >> >> >> > > users. We will pursue the change for all
> > > > > > > > > >> >> >> > > the
> > > > affected
> > > > > > > > plugins.
> > > > > > > > > >> This
> > > > > > > > > >> >> >> will
> > > > > > > > > >> >> >> > go
> > > > > > > > > >> >> >> > > out in the next PLUGINS release which will
> > > > > > > > > >> >> >> > > happen
> > > > > before
> > > > > > > > > >> >> >> > > the
> > > > > > > > > >> Cordova
> > > > > > > > > >> >> >> 6.0
> > > > > > > > > >> >> >> > > release. Since this a temporary fix, we aim
> > > > > > > > > >> >> >> > > to
> > > > remove
> > > > > it
> > > > > > > > > >> >> >> > > in 6
> > > > > > > > > >> months
> > > > > > > > > >> >> >> > > (giving reasonable time for our user base
> > > > > > > > > >> >> >> > > to move to Cordova
> > > > > > > > > 6.x+
> > > > > > > > > >> >> >> which
> > > > > > > > > >> >> >> > > will have a better plugin version pinning
> > > > mechanism).
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > > Thanks,
> > > > > > > > > >> >> >> > > Nikhil
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > > -----Original Message-----
> > > > > > > > > >> >> >> > > From: Simon MacDonald [mailto:
> > > > > simon.macdonald@gmail.com
> > > > > > > > > <javascript:;>]
> > > > > > > > > >> >> >> > > Sent: Thursday, January 7, 2016 4:00 PM
> > > > > > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > > > > > > > > >> >> >> > > Subject: Re: [DISCUSS] Core Plugins and
> > > > > > > > > >> >> >> > > Android API
> > > > 23
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > > I'm going to play devils advocate a bit here:
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > > > There are valid reasons why many app
> > > > > > > > > >> >> >> > > > developers
> > > > > might
> > > > > > > > > >> >> >> > > > not be
> > > > > > > > > >> ready
> > > > > > > > > >> >> >> to
> > > > > > > > > >> >> >> > > > move to API level 23:
> > > > > > > > > >> >> >> > > >   1) They have an app which is
> > > > > > > > > >> >> >> > > > stabilizing or in maintenance
> > > > > > > > > >> mode
> > > > > > > > > >> >> >> and
> > > > > > > > > >> >> >> > > > they don't want to risk destabilization
> > > > > > > > > >> >> >> > > > by moving
> > > > > to a
> > > > > > > > > >> >> >> > > > new
> > > > > > > > > >> major
> > > > > > > > > >> >> >> > > > Cordova version, Cordova Android
> > > > > > > > > >> >> >> > > > platform, and
> > > > > Android
> > > > > > > > > >> >> >> > > > API
> > > > > > > > > >> level.
> > > > > > > > > >> >> >> > > >
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > > If the developer is not ready to move to a
> > > > > > > > > >> >> >> > > new
> > > > version
> > > > > > of
> > > > > > > > > Cordova
> > > > > > > > > >> >> >> Android
> > > > > > > > > >> >> >> > > or the Android API would it not also follow
> > > > > > > > > >> >> >> > > that
> > > > they
> > > > > > > > > shouldn't
> > > > > > > > > >> be
> > > > > > > > > >> >> >> > changing
> > > > > > > > > >> >> >> > > their plugin versions?
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > > >   2) They are using a 3rd-party plugin
> > > > > > > > > >> >> >> > > > which has
> > > > not
> > > > > > > > > >> >> >> > > > yet
> > > > > > > > > been
> > > > > > > > > >> >> >> updated
> > > > > > > > > >> >> >> > > > to request Android permissions as
> > > > > > > > > >> >> >> > > > required by API
> > > > > > level
> > > > > > > > 23.
> > > > > > > > > >> There
> > > > > > > > > >> >> >> are
> > > > > > > > > >> >> >> > > > probably a lot of plugins affected, since
> > > > > > > > > >> >> >> > > > access
> > > > to
> > > > > > any
> > > > > > > > > >> >> >> > > > of
> > > > > > > > > the
> > > > > > > > > >> >> >> > > > following things on Android M requires
> > > > > > > > > >> >> >> > > > runtime permission
> > > > > > > > > >> >> requests:
> > > > > > > > > >> >> >> > > > calendar, contacts, phone, camera,
> > > > > > > > > >> >> >> > > > microphone, location,
> > > > > > > > > >> beacons,
> > > > > > > > > >> >> >> > > sensors, SMS, storage.
> > > > > > > > > >> >> >> > > >
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > > Right, so if the 3rd party plugin they are
> > > > > > > > > >> >> >> > > using
> > > > > doesn't
> > > > > > > > > support
> > > > > > > > > >> >> >> Android
> > > > > > > > > >> >> >> > M
> > > > > > > > > >> >> >> > > they should either a) not upgrade or b)
> > > > > > > > > >> >> >> > > send a PR to
> > > > > the
> > > > > > > > > plugin
> > > > > > > > > >> >> >> > maintainer
> > > > > > > > > >> >> >> > > so everyone can benefit.
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > > >   3) They might not have the capacity or
> > > > > > > > > >> >> >> > > > ability
> > > > to
> > > > > > > > > >> >> >> > > > test
> > > > > > > > > their
> > > > > > > > > >> app
> > > > > > > > > >> >> >> on
> > > > > > > > > >> >> >> > > > devices running Android M. Because API 23
> > > > > > > > > >> >> >> > > > enables
> > > > > the
> > > > > > > > > >> >> >> > > > new
> > > > > > > > > >> >> >> permissions
> > > > > > > > > >> >> >> > > > model only on Android M, it requires
> > > > > > > > > >> >> >> > > > testing on
> > > > that
> > > > > > > > > platform.
> > > > > > > > > >> >> >> > > >
> > > > > > > > > >> >> >> > > >
> > > > > > > > > >> >> >> > > Everyone has access to the Android emulator.
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > > > In any of the above cases, developers
> > > > > > > > > >> >> >> > > > might still
> > > > > like
> > > > > > > > > >> >> >> > > > to
> > > > > > > > > >> benefit
> > > > > > > > > >> >> >> from
> > > > > > > > > >> >> >> > > > some of the major bug fixes in those 5
> > > > > > > > > >> >> >> > > > popular
> > > > core
> > > > > > > > > >> >> >> > > > plugins
> > > > > > > > > >> >> >> mentioned
> > > > > > > > > >> >> >> > > > below. Or even if they weren't
> > > > > > > > > >> >> >> > > > specifically
> > > > looking
> > > > > > for
> > > > > > > > > >> >> >> > > > bug
> > > > > > > > > >> fixes,
> > > > > > > > > >> >> >> it
> > > > > > > > > >> >> >> > > > would be a much better experience if
> > > > > > > > > >> >> >> > > > adding or
> > > > > > updating
> > > > > > > > > >> >> >> > > > one
> > > > > > > > > of
> > > > > > > > > >> >> those
> > > > > > > > > >> >> >> > > > plugins would just work, rather than
> > > > > > > > > >> >> >> > > > failing on Android. The explanation for
> > > > > > > > > >> >> >> > > > the failure will not
> > > > be
> > > > > > > > > >> >> >> > > > obvious to many
> > > > > > > > > users,
> > > > > > > > > >> if
> > > > > > > > > >> >> >> they
> > > > > > > > > >> >> >> > > > overlooked the warning when installing
> > > > > > > > > >> >> >> > > > the plugin
> > > > or
> > > > > > if
> > > > > > > > > >> >> >> > > > they
> > > > > > > > > >> were
> > > > > > > > > >> >> >> > > > using another tool to add the plugin
> > > > > > > > > >> >> >> > > > where the
> > > > > warning
> > > > > > > > > wasn't
> > > > > > > > > >> >> >> surfaced.
> > > > > > > > > >> >> >> > > >
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > >  Seems like you are describing a tooling
> > > > > > > > > >> >> >> > > problem
> > > > here.
> > > > > > If
> > > > > > > > > >> >> >> > > the
> > > > > > > > > >> tool
> > > > > > > > > >> >> >> > doesn't
> > > > > > > > > >> >> >> > > surface the warning or allows the user to
> > > > > > > > > >> >> >> > > add a
> > > > plugin
> > > > > > > > > >> >> >> > > that is
> > > > > > > > > >> >> >> > incompatible
> > > > > > > > > >> >> >> > > with the version of Cordova Android that is
> > > > > > > > > >> >> >> > > being
> > > > used
> > > > > > > > > >> >> >> > > really
> > > > > > > > > >> sounds
> > > > > > > > > >> >> >> > like a
> > > > > > > > > >> >> >> > > bug in the tooling to me.
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > > > Of course developers should be encouraged
> > > > > > > > > >> >> >> > > > to
> > > > upgrade
> > > > > > to
> > > > > > > > > >> >> >> > > > the
> > > > > > > > > >> latest
> > > > > > > > > >> >> >> > > > most secure highest-quality version of
> > Cordova.
> > > > But
> > > > > > the
> > > > > > > > > >> >> >> encouragement
> > > > > > > > > >> >> >> > > > does not need to be so forceful. This
> > > > > > > > > >> >> >> > > > proposed
> > > > > change
> > > > > > > > > >> >> >> > > > gives
> > > > > > > > > >> >> >> developers
> > > > > > > > > >> >> >> > > > more time to upgrade, and allows for more
> > > > > > > > > >> >> >> > > > choice
> > > > > about
> > > > > > > > > >> >> >> > > > when
> > > > > > > > > to
> > > > > > > > > >> >> >> upgrade
> > > > > > > > > >> >> >> > > > individual parts
> > > > > > > > > >> >> >> > > > (plugins) rather than limiting them to
> > > > > all-or-nothing.
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > >  I would argue that the developer has an
> > > > > > > > > >> >> >> > > infinite
> > > > > amount
> > > > > > > > > >> >> >> > > of
> > > > > > > > > time
> > > > > > > > > >> to
> > > > > > > > > >> >> >> > > upgrade. Nothing is forcing you to upgrade
> > > > > > > > > >> >> >> > > to the
> > > > > latest
> > > > > > > > > Cordova
> > > > > > > > > >> >> >> Android
> > > > > > > > > >> >> >> > or
> > > > > > > > > >> >> >> > > Android API. They can continue to use the
> > > > > > > > > >> >> >> > > same
> > > > version
> > > > > > of
> > > > > > > > > Cordova
> > > > > > > > > >> >> >> Android
> > > > > > > > > >> >> >> > > and plugins that are currently working in
> > > > > > > > > >> >> >> > > their
> > > app.
> > > > > If
> > > > > > > > > >> >> >> > > the
> > > > > > > > > >> >> developer
> > > > > > > > > >> >> >> is
> > > > > > > > > >> >> >> > > using semver properly and we do our job
> > > > > > > > > >> >> >> > > right they shouldn't
> > > > > > > > > >> pick up
> > > > > > > > > >> >> >> > > breaking changes. For instance, if the API
> > > > > > > > > >> >> >> > > of a
> > > > plugin
> > > > > > > > > changes we
> > > > > > > > > >> >> bump
> > > > > > > > > >> >> >> > the
> > > > > > > > > >> >> >> > > major version of the plugin so users who
> > > > > > > > > >> >> >> > > setup their
> > > > > > > > > config.xml
> > > > > > > > > >> to
> > > > > > > > > >> >> >> use:
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > > <plugin name="cordova-plugin-camera"
> > spec="^1.1.0"
> > > > />
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > > will effectively prevent the user from
> > > > > > > > > >> >> >> > > picking up
> > > > the
> > > > > > > > > >> >> >> > > breaking
> > > > > > > > > >> >> change
> > > > > > > > > >> >> >> in
> > > > > > > > > >> >> >> > > camera version 2.0.0.
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > > Simon Mac Donald
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> >
> > > > > > > > > >> >> >>
> > > > > > > > > >> >>
> > > > > > > > > >>
> > > > > > > > >
> > > > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%
> > > > > > 2fhi
> > > > > > .im%
> > > > > > > > > 2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com
> > > > > > %7c84fb6405edf
> > > > > > > > >
> > > > > > 74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&s
> > > > > > data
> > > > > > =B8D
> > > > > > > > > uMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
> > > > > > > > > >> >> >> > >  B
> > > > > > > > > >> >> >>
> > > > > > > > > >>
> > > > > > KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
> > > > > > KKKK
> > > > > > K
> > > > > > > > > >> KCB
> > > > > > > > > >> >> >> > >   [  X  ܚX K  K[XZ[
> > > > > > > > > >> >> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ]
> > > > > > > > > >> >> >> > > [ۘ[
> > > [X[
> > > > > > > >  K[XZ[
> > > > > > > > > >> >> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
> > > > > > > > > >> >> >> > >
> > > > > > > > > >> >> >> >
> > > > > > > > > >> >> >>
> > > > > > > > > >> >> >
> > > > > > > > > >> >> >
> > > > > > > > > >> >>
> > > > > > > > > >>
> > > > > > > > > >>
> > > > > > --------------------------------------------------------------
> > > > > > ----
> > > > > > -
> > > > > > > > > >> -- To unsubscribe, e-mail:
> > > > > > > > > >> dev-unsubscribe@cordova.apache.org
> > > > > > > > > <javascript:;>
> > > > > > > > > >> For additional commands, e-mail:
> > > > > > > > > >> dev-help@cordova.apache.org
> > > > > > > > > <javascript:;>
> > > > > > > > > >>
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

RE: [DISCUSS] Core Plugins and Android API 23

Posted by Richard Knoll <ri...@microsoft.com>.
That sounds right to me. No major version bumps needed.

Richard

-----Original Message-----
From: Simon MacDonald [mailto:simon.macdonald@gmail.com] 
Sent: Monday, April 4, 2016 10:35 AM
To: dev@cordova.apache.org
Subject: Re: [DISCUSS] Core Plugins and Android API 23

In cordova-android? No, I don't think so. For the plugins I'd bump their minor version. Make sense?


Simon Mac Donald
https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.com%7c8bdd5fa551a84275174b08d35caf7ef9%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=Tx2MCYz9NAhmUMBCaa6fPoOLPb8R%2be5%2f6hCvsHapVaI%3d

On Mon, Apr 4, 2016 at 1:32 PM, Joe Bowser <bo...@gmail.com> wrote:

> Does this require a major version change?
>
> On Mon, Apr 4, 2016, 10:30 AM Richard Knoll <ri...@microsoft.com> wrote:
>
> > Sorry for being late to comment on this. If we were the only ones 
> > using the class, I would say we should just keep copying around. 
> > However, since other plugins are using it I think it's a good idea 
> > to put it in a common place and a plugin is the best way to do it. 
> > LGTM! Should someone write
> up
> > a blog post about this so that third-party plugins know to update?
> >
> > Thanks,
> > Richard
> >
> > -----Original Message-----
> > From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
> > Sent: Sunday, April 3, 2016 12:26 PM
> > To: dev@cordova.apache.org
> > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> >
> > Seems like we have momentum on this. So barring any negative 
> > comments
> from
> > Microsoft about this approach whom do I contact to setup a new repo 
> > on Apache GIT?
> >
> >
> > Simon Mac Donald
> >
> >
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%
> 2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f45
> 4da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=yGzi
> Fs1bd1KAZjUEloAiJ07c9EipxtrtSYxU8e5oO7M%3d
> >
> > On Sun, Apr 3, 2016 at 2:26 PM, julio cesar sanchez < 
> > jcesarmobile@gmail.com>
> > wrote:
> >
> > > I like it too
> > > A lot of 3rd party plugins are adding that classes too
> > >
> > > BTW, there is a JIRA issue to add
> > > https://na01.safelinks.protection.outlook.com/?url=PermissionHelpe
> > > r.ja 
> > > va&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f454da19d7f08
> > > d35b 
> > > f5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=KXea2ILjY6Ja2Q
> > > r4XF %2b8FoLrOpCRvinHQIaqi%2faMSXw%3d to cordova-android 
> > > https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fi
> > > ssue 
> > > s.apache.org%2fjira%2fbrowse%2fCB-10656&data=01%7c01%7criknoll%40m
> > > icro 
> > > soft.com%7c6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab
> > > 2d7c 
> > > d011db47%7c1&sdata=Y6ygyF0AqvvK2VqTcTRSNflpowAn89Xaa%2fTaMFC%2fqlI
> > > %3d
> > >
> > >
> > >
> > > 2016-04-03 18:43 GMT+02:00 Carlos Santana <cs...@gmail.com>:
> > >
> > > > Simon I like approach
> > > > Can we move to this approach now? Yes Then once the downstream 
> > > > distro's support API 23 and the new API methods in 
> > > > CordovaInterface we can move this into Cordova Android proper? 
> > > > Yes
> > > >
> > > > +1
> > > >
> > > > On Thu, Mar 31, 2016 at 6:38 PM Joe Bowser <bo...@gmail.com>
> wrote:
> > > >
> > > > > LGTM!
> > > > >
> > > > > On Thu, Mar 31, 2016 at 3:02 PM, Simon MacDonald < 
> > > > > simon.macdonald@gmail.com>
> > > > > wrote:
> > > > >
> > > > > > I really hate the fact we need to add that 
> > > > > > https://na01.safelinks.protection.outlook.com/?url=Permissio
> > > > > > nHel 
> > > > > > per.java&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f
> > > > > > 454d 
> > > > > > a19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sd
> > > > > > ata= KXea2ILjY6Ja2Qr4XF%2b8FoLrOpCRvinHQIaqi%2faMSXw%3d file
> > > > to
> > > > > > each and every plugin that requires API 23 permission support.
> > > > Especially
> > > > > > since the package the class is in is different for each 
> > > > > > plugin so we
> > > > can
> > > > > > two, three or more copies of the same code in an app. That's 
> > > > > > just
> > > > > wasteful.
> > > > > >
> > > > > > Joe responded to my bitching by saying "Maybe we should 
> > > > > > create a permissions plugin for this and make everything go through that"
> > > which
> > > > > set
> > > > > > my mind a racing (perhaps I was just over caffeinated) and I 
> > > > > > decided
> > > to
> > > > > > prototype it this afternoon.
> > > > > >
> > > > > > I've created a new plugin called cordova-plugin-compat over 
> > > > > > at https://github.com/macdonst/cordova-plugin-compat  and 
> > > > > > all it does
> > > is
> > > > > > deliver the org.apache.cordova.PermissionHelper class. I 
> > > > > > then turned
> > > > > around
> > > > > > and removed the class from the camera plugin and make
> > > > > cordova-plugin-camera
> > > > > > depend on cordova-plugin-compat.
> > > > > >
> > > > > > You can see that change over on my camera fork:
> > > > > >
> > > > > > https://github.com/macdonst
> > > > > >
> > > /cordova-plugin-camera/commit/58b72cb5c3109481df9f337ad97607858681
> > > b37e
> > > > > >
> > > > > > Can we move to this approach now? Then once the downstream 
> > > > > > distro's
> > > > > support
> > > > > > API 23 and the new API methods in CordovaInterface we can 
> > > > > > move this
> > > > into
> > > > > > Cordova Android proper?
> > > > > >
> > > > > > Thoughts? Are there use cases this approach doesn't work for?
> > > > > >
> > > > > >
> > > > > > Simon Mac Donald
> > > > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2
> > > > > > f%2f 
> > > > > > hi.im%2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.co
> > > > > > m%7c 
> > > > > > 6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd
> > > > > > 011d 
> > > > > > b47%7c1&sdata=yGziFs1bd1KAZjUEloAiJ07c9EipxtrtSYxU8e5oO7M%3d
> > > > > >
> > > > > > On Fri, Feb 5, 2016 at 2:32 PM, Richard Knoll 
> > > > > > <riknoll@microsoft.com
> > > >
> > > > > > wrote:
> > > > > >
> > > > > > > Yep, I left it out of the first round by mistake; I was 
> > > > > > > looking at
> > > an
> > > > > out
> > > > > > > of date version of cordova-plugin-media at the time. I've 
> > > > > > > got a PR
> > > > open
> > > > > > > that adds the helper here:
> > > > > > >
> > > > > > > https://github.com/apache/cordova-plugin-media/pull/79
> > > > > > >
> > > > > > > Thanks,
> > > > > > > Richard
> > > > > > >
> > > > > > > -----Original Message-----
> > > > > > > From: julio cesar sanchez [mailto:jcesarmobile@gmail.com]
> > > > > > > Sent: Friday, February 5, 2016 7:20 AM
> > > > > > > To: dev@cordova.apache.org
> > > > > > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > > > > > >
> > > > > > > Yeah, that one.
> > > > > > >
> > > > > > >
> > > > > > > El viernes, 5 de febrero de 2016, Homer, Tony <
> > > tony.homer@intel.com>
> > > > > > > escribió:
> > > > > > >
> > > > > > > > It took me a while to find it, but I guess you mean CB-10455?
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > On 2/5/16, 7:56 AM, "julio cesar sanchez" <
> > > jcesarmobile@gmail.com
> > > > > > > > <javascript:;>> wrote:
> > > > > > > >
> > > > > > > > >I think we just forgot, somebody mentioned this on 
> > > > > > > > >slack and
> > > there
> > > > > is
> > > > > > > > >an issue open on JIRA.
> > > > > > > > >
> > > > > > > > >2016-02-05 13:52 GMT+01:00 Homer, Tony 
> > > > > > > > ><tony.homer@intel.com
> > > > > > > > <javascript:;>>:
> > > > > > > > >
> > > > > > > > >> Earlier in this thread, Richard stated:
> > > > > > > > >> >> This change has been merged into the file, camera,
> > > > geolocation,
> > > > > > > > >> >> and
> > > > > > > > >> contacts plugins (media did not actually require any
> > change).
> > > > > > > > >>
> > > > > > > > >>
> > > > > > > > >> Media was updated on 1/15 but it still has a 
> > > > > > > > >> "cordova-android
> > > > > > > > >=5.0.0-dev"
> > > > > > > > >> engine tag.
> > > > > > > > >> I couldn't find any other discussion about this on 
> > > > > > > > >> the list
> > > and
> > > > > > > > >> wondered why it was retained for media.
> > > > > > > > >> Was this an oversight?
> > > > > > > > >>
> > > > > > > > >>
> > > > > > > > >> Thanks!
> > > > > > > > >> Tony
> > > > > > > > >>
> > > > > > > > >>
> > > > > > > > >>
> > > > > > > > >>
> > > > > > > > >> On 1/15/16, 4:40 PM, "Simon MacDonald" <
> > > > simon.macdonald@gmail.com
> > > > > > > > <javascript:;>> wrote:
> > > > > > > > >>
> > > > > > > > >> >LGTM
> > > > > > > > >> >
> > > > > > > > >> >+1
> > > > > > > > >> >
> > > > > > > > >> >Simon Mac Donald
> > > > > > > > >> >
> > > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%
> > > > > 2fhi
> > > > > > > > >>
> > > > > >.im%2fsimonmacdonald&data=01%7c01%7cRIKNOLL%40exchange.microsoft.
> > > > > >c
> > > > > > > > >>
> > > > > >om%7cacc2d663ce574637d10908d32e3fd62d%7c72f988bf86f141af91ab2
> > > > > >d7cd
> > > > > >0
> > > > > > > > >>
> > > > >11db47%7c1&sdata=wCGbmJR3ZKj6lABfwOcjoLypjztI9HNX8%2bak6AhuBqY%
> > > > >3d
> > > > > > > > >> >
> > > > > > > > >> >On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <
> > > bowserj@gmail.com
> > > > > > > > <javascript:;>> wrote:
> > > > > > > > >> >
> > > > > > > > >> >> Sorry, wrong PR:
> > > > > > > > >> >>
> > > > https://github.com/apache/cordova-plugin-inappbrowser/pull/136
> > > > > > > > >> >>
> > > > > > > > >> >> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <
> > > > > bowserj@gmail.com
> > > > > > > > <javascript:;>> wrote:
> > > > > > > > >> >>
> > > > > > > > >> >> > So, what does the timeline look like for a 
> > > > > > > > >> >> > Plugins
> > > release.
> > > > > I
> > > > > > > > >> >> > just
> > > > > > > > >> did a
> > > > > > > > >> >> > major change in the InAppBrowser to fix tel: and sms:
> > > URIs
> > > > so
> > > > > > > > >> >> > they
> > > > > > > > do
> > > > > > > > >> >> > stuff, and it'd be cool if this also made if 
> > > > > > > > >> >> > this got
> > > > looked
> > > > > > > > >> >> > over
> > > > > > > > and
> > > > > > > > >> >> > landed before the next release.
> > > > > > > > >> >> >
> > > > > > > > >> >> >
> > > > > https://github.com/apache/cordova-plugin-inappbrowser/pull/135
> > > > > > > > >> >> >
> > > > > > > > >> >> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana 
> > > > > > > > >> >> > <
> > > > > > > > csantana23@gmail.com <javascript:;>
> > > > > > > > >> >
> > > > > > > > >> >> > wrote:
> > > > > > > > >> >> >
> > > > > > > > >> >> >> I agree with final compromise, I also had a 
> > > > > > > > >> >> >> discussion
> > > > with
> > > > > > > > >> >> >> Nikhil
> > > > > > > > >> >> during
> > > > > > > > >> >> >> holiday break offline and understood the 
> > > > > > > > >> >> >> situation, some
> > > > 3rd
> > > > > > > > >> >> >> party
> > > > > > > > >> >> plugins
> > > > > > > > >> >> >> are not open source and customers/devs don't 
> > > > > > > > >> >> >> move as
> > > fast
> > > > as
> > > > > > > > >> >> >> we
> > > > > > > > wish,
> > > > > > > > >> >> but
> > > > > > > > >> >> >> having a CLI 6 with latest plugins being 
> > > > > > > > >> >> >> backwards
> > > > > compatible
> > > > > > > > >> >> >> with
> > > > > > > > >> lower
> > > > > > > > >> >> >> Android API is good base for developers to 
> > > > > > > > >> >> >> start
> > > > upgrading.
> > > > > > > > >> >> >>
> > > > > > > > >> >> >>
> > > > > > > > >> >> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <
> > > > > > > > stevengill97@gmail.com <javascript:;>>
> > > > > > > > >> >> >> wrote:
> > > > > > > > >> >> >>
> > > > > > > > >> >> >> > Awesome! I'll kick up a discuss thread
> > > > > > > > >> >> >> >
> > > > > > > > >> >> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard 
> > > > > > > > >> >> >> > Knoll <
> > > > > > > > >> riknoll@microsoft.com <javascript:;>
> > > > > > > > >> >> >
> > > > > > > > >> >> >> > wrote:
> > > > > > > > >> >> >> >
> > > > > > > > >> >> >> > > Hey all,
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > This change has been merged into the file, 
> > > > > > > > >> >> >> > > camera,
> > > > > > > > geolocation,
> > > > > > > > >> and
> > > > > > > > >> >> >> > > contacts plugins (media did not actually 
> > > > > > > > >> >> >> > > require any
> > > > > > > change).
> > > > > > > > I
> > > > > > > > >> was
> > > > > > > > >> >> >> able
> > > > > > > > >> >> >> > to
> > > > > > > > >> >> >> > > build and run mobilespec on cordova-android
> > > > > > > > >> >> >> > > 4.0.0
> > > and
> > > > > > > > >> >> >> cordova-android's
> > > > > > > > >> >> >> > > master. We should probably push for a 
> > > > > > > > >> >> >> > > plugins
> > > release
> > > > > > > > >> >> >> > > soon,
> > > > > > > > since
> > > > > > > > >> >> >> there
> > > > > > > > >> >> >> > are
> > > > > > > > >> >> >> > > also some major bug fixes to the contacts 
> > > > > > > > >> >> >> > > and camera plugins
> > > > > > > > that
> > > > > > > > >> >> were
> > > > > > > > >> >> >> > > recently pushed.
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > Thanks,
> > > > > > > > >> >> >> > > Richard
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > -----Original Message-----
> > > > > > > > >> >> >> > > From: Nikhil Khandelwal [mailto:
> > > > nikhilkh@microsoft.com
> > > > > > > > <javascript:;>]
> > > > > > > > >> >> >> > > Sent: Friday, January 8, 2016 12:12 PM
> > > > > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > > > > > > > >> >> >> > > Subject: RE: [DISCUSS] Core Plugins and 
> > > > > > > > >> >> >> > > Android API
> > > 23
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > We had a good discussion about this offline 
> > > > > > > > >> >> >> > > with
> > > Joe,
> > > > > > > > >> >> >> > > Simon,
> > > > > > > > >> Steve,
> > > > > > > > >> >> >> > Jesse,
> > > > > > > > >> >> >> > > Parashu and Jason. We came to the following
> > > agreement:
> > > > > > > > >> >> >> > > This is a temporary fix to the plugins 
> > > > > > > > >> >> >> > > which we need
> > > > to
> > > > > > > > >> >> >> > > take
> > > > > > > > to
> > > > > > > > >> >> ensure
> > > > > > > > >> >> >> > > Cordova 5.x tools behavior of using the 
> > > > > > > > >> >> >> > > edge plugins
> > > > > does
> > > > > > > > >> >> >> > > not
> > > > > > > > >> break
> > > > > > > > >> >> >> for
> > > > > > > > >> >> >> > our
> > > > > > > > >> >> >> > > users. We will pursue the change for all 
> > > > > > > > >> >> >> > > the
> > > affected
> > > > > > > plugins.
> > > > > > > > >> This
> > > > > > > > >> >> >> will
> > > > > > > > >> >> >> > go
> > > > > > > > >> >> >> > > out in the next PLUGINS release which will 
> > > > > > > > >> >> >> > > happen
> > > > before
> > > > > > > > >> >> >> > > the
> > > > > > > > >> Cordova
> > > > > > > > >> >> >> 6.0
> > > > > > > > >> >> >> > > release. Since this a temporary fix, we aim 
> > > > > > > > >> >> >> > > to
> > > remove
> > > > it
> > > > > > > > >> >> >> > > in 6
> > > > > > > > >> months
> > > > > > > > >> >> >> > > (giving reasonable time for our user base 
> > > > > > > > >> >> >> > > to move to Cordova
> > > > > > > > 6.x+
> > > > > > > > >> >> >> which
> > > > > > > > >> >> >> > > will have a better plugin version pinning
> > > mechanism).
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > Thanks,
> > > > > > > > >> >> >> > > Nikhil
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > -----Original Message-----
> > > > > > > > >> >> >> > > From: Simon MacDonald [mailto:
> > > > simon.macdonald@gmail.com
> > > > > > > > <javascript:;>]
> > > > > > > > >> >> >> > > Sent: Thursday, January 7, 2016 4:00 PM
> > > > > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > > > > > > > >> >> >> > > Subject: Re: [DISCUSS] Core Plugins and 
> > > > > > > > >> >> >> > > Android API
> > > 23
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > I'm going to play devils advocate a bit here:
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > > There are valid reasons why many app 
> > > > > > > > >> >> >> > > > developers
> > > > might
> > > > > > > > >> >> >> > > > not be
> > > > > > > > >> ready
> > > > > > > > >> >> >> to
> > > > > > > > >> >> >> > > > move to API level 23:
> > > > > > > > >> >> >> > > >   1) They have an app which is 
> > > > > > > > >> >> >> > > > stabilizing or in maintenance
> > > > > > > > >> mode
> > > > > > > > >> >> >> and
> > > > > > > > >> >> >> > > > they don't want to risk destabilization 
> > > > > > > > >> >> >> > > > by moving
> > > > to a
> > > > > > > > >> >> >> > > > new
> > > > > > > > >> major
> > > > > > > > >> >> >> > > > Cordova version, Cordova Android 
> > > > > > > > >> >> >> > > > platform, and
> > > > Android
> > > > > > > > >> >> >> > > > API
> > > > > > > > >> level.
> > > > > > > > >> >> >> > > >
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > If the developer is not ready to move to a 
> > > > > > > > >> >> >> > > new
> > > version
> > > > > of
> > > > > > > > Cordova
> > > > > > > > >> >> >> Android
> > > > > > > > >> >> >> > > or the Android API would it not also follow 
> > > > > > > > >> >> >> > > that
> > > they
> > > > > > > > shouldn't
> > > > > > > > >> be
> > > > > > > > >> >> >> > changing
> > > > > > > > >> >> >> > > their plugin versions?
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > >   2) They are using a 3rd-party plugin 
> > > > > > > > >> >> >> > > > which has
> > > not
> > > > > > > > >> >> >> > > > yet
> > > > > > > > been
> > > > > > > > >> >> >> updated
> > > > > > > > >> >> >> > > > to request Android permissions as 
> > > > > > > > >> >> >> > > > required by API
> > > > > level
> > > > > > > 23.
> > > > > > > > >> There
> > > > > > > > >> >> >> are
> > > > > > > > >> >> >> > > > probably a lot of plugins affected, since 
> > > > > > > > >> >> >> > > > access
> > > to
> > > > > any
> > > > > > > > >> >> >> > > > of
> > > > > > > > the
> > > > > > > > >> >> >> > > > following things on Android M requires 
> > > > > > > > >> >> >> > > > runtime permission
> > > > > > > > >> >> requests:
> > > > > > > > >> >> >> > > > calendar, contacts, phone, camera, 
> > > > > > > > >> >> >> > > > microphone, location,
> > > > > > > > >> beacons,
> > > > > > > > >> >> >> > > sensors, SMS, storage.
> > > > > > > > >> >> >> > > >
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > Right, so if the 3rd party plugin they are 
> > > > > > > > >> >> >> > > using
> > > > doesn't
> > > > > > > > support
> > > > > > > > >> >> >> Android
> > > > > > > > >> >> >> > M
> > > > > > > > >> >> >> > > they should either a) not upgrade or b) 
> > > > > > > > >> >> >> > > send a PR to
> > > > the
> > > > > > > > plugin
> > > > > > > > >> >> >> > maintainer
> > > > > > > > >> >> >> > > so everyone can benefit.
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > >   3) They might not have the capacity or 
> > > > > > > > >> >> >> > > > ability
> > > to
> > > > > > > > >> >> >> > > > test
> > > > > > > > their
> > > > > > > > >> app
> > > > > > > > >> >> >> on
> > > > > > > > >> >> >> > > > devices running Android M. Because API 23 
> > > > > > > > >> >> >> > > > enables
> > > > the
> > > > > > > > >> >> >> > > > new
> > > > > > > > >> >> >> permissions
> > > > > > > > >> >> >> > > > model only on Android M, it requires 
> > > > > > > > >> >> >> > > > testing on
> > > that
> > > > > > > > platform.
> > > > > > > > >> >> >> > > >
> > > > > > > > >> >> >> > > >
> > > > > > > > >> >> >> > > Everyone has access to the Android emulator.
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > > In any of the above cases, developers 
> > > > > > > > >> >> >> > > > might still
> > > > like
> > > > > > > > >> >> >> > > > to
> > > > > > > > >> benefit
> > > > > > > > >> >> >> from
> > > > > > > > >> >> >> > > > some of the major bug fixes in those 5 
> > > > > > > > >> >> >> > > > popular
> > > core
> > > > > > > > >> >> >> > > > plugins
> > > > > > > > >> >> >> mentioned
> > > > > > > > >> >> >> > > > below. Or even if they weren't 
> > > > > > > > >> >> >> > > > specifically
> > > looking
> > > > > for
> > > > > > > > >> >> >> > > > bug
> > > > > > > > >> fixes,
> > > > > > > > >> >> >> it
> > > > > > > > >> >> >> > > > would be a much better experience if 
> > > > > > > > >> >> >> > > > adding or
> > > > > updating
> > > > > > > > >> >> >> > > > one
> > > > > > > > of
> > > > > > > > >> >> those
> > > > > > > > >> >> >> > > > plugins would just work, rather than 
> > > > > > > > >> >> >> > > > failing on Android. The explanation for 
> > > > > > > > >> >> >> > > > the failure will not
> > > be
> > > > > > > > >> >> >> > > > obvious to many
> > > > > > > > users,
> > > > > > > > >> if
> > > > > > > > >> >> >> they
> > > > > > > > >> >> >> > > > overlooked the warning when installing 
> > > > > > > > >> >> >> > > > the plugin
> > > or
> > > > > if
> > > > > > > > >> >> >> > > > they
> > > > > > > > >> were
> > > > > > > > >> >> >> > > > using another tool to add the plugin 
> > > > > > > > >> >> >> > > > where the
> > > > warning
> > > > > > > > wasn't
> > > > > > > > >> >> >> surfaced.
> > > > > > > > >> >> >> > > >
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > >  Seems like you are describing a tooling 
> > > > > > > > >> >> >> > > problem
> > > here.
> > > > > If
> > > > > > > > >> >> >> > > the
> > > > > > > > >> tool
> > > > > > > > >> >> >> > doesn't
> > > > > > > > >> >> >> > > surface the warning or allows the user to 
> > > > > > > > >> >> >> > > add a
> > > plugin
> > > > > > > > >> >> >> > > that is
> > > > > > > > >> >> >> > incompatible
> > > > > > > > >> >> >> > > with the version of Cordova Android that is 
> > > > > > > > >> >> >> > > being
> > > used
> > > > > > > > >> >> >> > > really
> > > > > > > > >> sounds
> > > > > > > > >> >> >> > like a
> > > > > > > > >> >> >> > > bug in the tooling to me.
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > > Of course developers should be encouraged 
> > > > > > > > >> >> >> > > > to
> > > upgrade
> > > > > to
> > > > > > > > >> >> >> > > > the
> > > > > > > > >> latest
> > > > > > > > >> >> >> > > > most secure highest-quality version of
> Cordova.
> > > But
> > > > > the
> > > > > > > > >> >> >> encouragement
> > > > > > > > >> >> >> > > > does not need to be so forceful. This 
> > > > > > > > >> >> >> > > > proposed
> > > > change
> > > > > > > > >> >> >> > > > gives
> > > > > > > > >> >> >> developers
> > > > > > > > >> >> >> > > > more time to upgrade, and allows for more 
> > > > > > > > >> >> >> > > > choice
> > > > about
> > > > > > > > >> >> >> > > > when
> > > > > > > > to
> > > > > > > > >> >> >> upgrade
> > > > > > > > >> >> >> > > > individual parts
> > > > > > > > >> >> >> > > > (plugins) rather than limiting them to
> > > > all-or-nothing.
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > >  I would argue that the developer has an 
> > > > > > > > >> >> >> > > infinite
> > > > amount
> > > > > > > > >> >> >> > > of
> > > > > > > > time
> > > > > > > > >> to
> > > > > > > > >> >> >> > > upgrade. Nothing is forcing you to upgrade 
> > > > > > > > >> >> >> > > to the
> > > > latest
> > > > > > > > Cordova
> > > > > > > > >> >> >> Android
> > > > > > > > >> >> >> > or
> > > > > > > > >> >> >> > > Android API. They can continue to use the 
> > > > > > > > >> >> >> > > same
> > > version
> > > > > of
> > > > > > > > Cordova
> > > > > > > > >> >> >> Android
> > > > > > > > >> >> >> > > and plugins that are currently working in 
> > > > > > > > >> >> >> > > their
> > app.
> > > > If
> > > > > > > > >> >> >> > > the
> > > > > > > > >> >> developer
> > > > > > > > >> >> >> is
> > > > > > > > >> >> >> > > using semver properly and we do our job 
> > > > > > > > >> >> >> > > right they shouldn't
> > > > > > > > >> pick up
> > > > > > > > >> >> >> > > breaking changes. For instance, if the API 
> > > > > > > > >> >> >> > > of a
> > > plugin
> > > > > > > > changes we
> > > > > > > > >> >> bump
> > > > > > > > >> >> >> > the
> > > > > > > > >> >> >> > > major version of the plugin so users who 
> > > > > > > > >> >> >> > > setup their
> > > > > > > > config.xml
> > > > > > > > >> to
> > > > > > > > >> >> >> use:
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > <plugin name="cordova-plugin-camera"
> spec="^1.1.0"
> > > />
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > will effectively prevent the user from 
> > > > > > > > >> >> >> > > picking up
> > > the
> > > > > > > > >> >> >> > > breaking
> > > > > > > > >> >> change
> > > > > > > > >> >> >> in
> > > > > > > > >> >> >> > > camera version 2.0.0.
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > Simon Mac Donald
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> >
> > > > > > > > >> >> >>
> > > > > > > > >> >>
> > > > > > > > >>
> > > > > > > >
> > > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%
> > > > > 2fhi
> > > > > .im%
> > > > > > > > 2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com
> > > > > %7c84fb6405edf
> > > > > > > >
> > > > > 74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&s
> > > > > data
> > > > > =B8D
> > > > > > > > uMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
> > > > > > > > >> >> >> > >  B
> > > > > > > > >> >> >>
> > > > > > > > >>
> > > > > KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
> > > > > KKKK
> > > > > K
> > > > > > > > >> KCB
> > > > > > > > >> >> >> > >   [  X  ܚX K  K[XZ[
> > > > > > > > >> >> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] 
> > > > > > > > >> >> >> > > [ۘ[
> > [X[
> > > > > > >  K[XZ[
> > > > > > > > >> >> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> >
> > > > > > > > >> >> >>
> > > > > > > > >> >> >
> > > > > > > > >> >> >
> > > > > > > > >> >>
> > > > > > > > >>
> > > > > > > > >>
> > > > > --------------------------------------------------------------
> > > > > ----
> > > > > -
> > > > > > > > >> -- To unsubscribe, e-mail:
> > > > > > > > >> dev-unsubscribe@cordova.apache.org
> > > > > > > > <javascript:;>
> > > > > > > > >> For additional commands, e-mail:
> > > > > > > > >> dev-help@cordova.apache.org
> > > > > > > > <javascript:;>
> > > > > > > > >>
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by Simon MacDonald <si...@gmail.com>.
In cordova-android? No, I don't think so. For the plugins I'd bump their
minor version. Make sense?


Simon Mac Donald
http://hi.im/simonmacdonald

On Mon, Apr 4, 2016 at 1:32 PM, Joe Bowser <bo...@gmail.com> wrote:

> Does this require a major version change?
>
> On Mon, Apr 4, 2016, 10:30 AM Richard Knoll <ri...@microsoft.com> wrote:
>
> > Sorry for being late to comment on this. If we were the only ones using
> > the class, I would say we should just keep copying around. However, since
> > other plugins are using it I think it's a good idea to put it in a common
> > place and a plugin is the best way to do it. LGTM! Should someone write
> up
> > a blog post about this so that third-party plugins know to update?
> >
> > Thanks,
> > Richard
> >
> > -----Original Message-----
> > From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
> > Sent: Sunday, April 3, 2016 12:26 PM
> > To: dev@cordova.apache.org
> > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> >
> > Seems like we have momentum on this. So barring any negative comments
> from
> > Microsoft about this approach whom do I contact to setup a new repo on
> > Apache GIT?
> >
> >
> > Simon Mac Donald
> >
> >
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=yGziFs1bd1KAZjUEloAiJ07c9EipxtrtSYxU8e5oO7M%3d
> >
> > On Sun, Apr 3, 2016 at 2:26 PM, julio cesar sanchez <
> > jcesarmobile@gmail.com>
> > wrote:
> >
> > > I like it too
> > > A lot of 3rd party plugins are adding that classes too
> > >
> > > BTW, there is a JIRA issue to add
> > > https://na01.safelinks.protection.outlook.com/?url=PermissionHelper.ja
> > > va&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f454da19d7f08d35b
> > > f5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=KXea2ILjY6Ja2Qr4XF
> > > %2b8FoLrOpCRvinHQIaqi%2faMSXw%3d to cordova-android
> > > https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fissue
> > > s.apache.org%2fjira%2fbrowse%2fCB-10656&data=01%7c01%7criknoll%40micro
> > > soft.com%7c6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7c
> > > d011db47%7c1&sdata=Y6ygyF0AqvvK2VqTcTRSNflpowAn89Xaa%2fTaMFC%2fqlI%3d
> > >
> > >
> > >
> > > 2016-04-03 18:43 GMT+02:00 Carlos Santana <cs...@gmail.com>:
> > >
> > > > Simon I like approach
> > > > Can we move to this approach now? Yes Then once the downstream
> > > > distro's support API 23 and the new API methods in CordovaInterface
> > > > we can move this into Cordova Android proper? Yes
> > > >
> > > > +1
> > > >
> > > > On Thu, Mar 31, 2016 at 6:38 PM Joe Bowser <bo...@gmail.com>
> wrote:
> > > >
> > > > > LGTM!
> > > > >
> > > > > On Thu, Mar 31, 2016 at 3:02 PM, Simon MacDonald <
> > > > > simon.macdonald@gmail.com>
> > > > > wrote:
> > > > >
> > > > > > I really hate the fact we need to add that
> > > > > > https://na01.safelinks.protection.outlook.com/?url=PermissionHel
> > > > > > per.java&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f454d
> > > > > > a19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=
> > > > > > KXea2ILjY6Ja2Qr4XF%2b8FoLrOpCRvinHQIaqi%2faMSXw%3d file
> > > > to
> > > > > > each and every plugin that requires API 23 permission support.
> > > > Especially
> > > > > > since the package the class is in is different for each plugin
> > > > > > so we
> > > > can
> > > > > > two, three or more copies of the same code in an app. That's
> > > > > > just
> > > > > wasteful.
> > > > > >
> > > > > > Joe responded to my bitching by saying "Maybe we should create a
> > > > > > permissions plugin for this and make everything go through that"
> > > which
> > > > > set
> > > > > > my mind a racing (perhaps I was just over caffeinated) and I
> > > > > > decided
> > > to
> > > > > > prototype it this afternoon.
> > > > > >
> > > > > > I've created a new plugin called cordova-plugin-compat over at
> > > > > > https://github.com/macdonst/cordova-plugin-compat  and all it
> > > > > > does
> > > is
> > > > > > deliver the org.apache.cordova.PermissionHelper class. I then
> > > > > > turned
> > > > > around
> > > > > > and removed the class from the camera plugin and make
> > > > > cordova-plugin-camera
> > > > > > depend on cordova-plugin-compat.
> > > > > >
> > > > > > You can see that change over on my camera fork:
> > > > > >
> > > > > > https://github.com/macdonst
> > > > > >
> > > /cordova-plugin-camera/commit/58b72cb5c3109481df9f337ad97607858681b37e
> > > > > >
> > > > > > Can we move to this approach now? Then once the downstream
> > > > > > distro's
> > > > > support
> > > > > > API 23 and the new API methods in CordovaInterface we can move
> > > > > > this
> > > > into
> > > > > > Cordova Android proper?
> > > > > >
> > > > > > Thoughts? Are there use cases this approach doesn't work for?
> > > > > >
> > > > > >
> > > > > > Simon Mac Donald
> > > > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2f
> > > > > > hi.im%2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.com%7c
> > > > > > 6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011d
> > > > > > b47%7c1&sdata=yGziFs1bd1KAZjUEloAiJ07c9EipxtrtSYxU8e5oO7M%3d
> > > > > >
> > > > > > On Fri, Feb 5, 2016 at 2:32 PM, Richard Knoll
> > > > > > <riknoll@microsoft.com
> > > >
> > > > > > wrote:
> > > > > >
> > > > > > > Yep, I left it out of the first round by mistake; I was
> > > > > > > looking at
> > > an
> > > > > out
> > > > > > > of date version of cordova-plugin-media at the time. I've got
> > > > > > > a PR
> > > > open
> > > > > > > that adds the helper here:
> > > > > > >
> > > > > > > https://github.com/apache/cordova-plugin-media/pull/79
> > > > > > >
> > > > > > > Thanks,
> > > > > > > Richard
> > > > > > >
> > > > > > > -----Original Message-----
> > > > > > > From: julio cesar sanchez [mailto:jcesarmobile@gmail.com]
> > > > > > > Sent: Friday, February 5, 2016 7:20 AM
> > > > > > > To: dev@cordova.apache.org
> > > > > > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > > > > > >
> > > > > > > Yeah, that one.
> > > > > > >
> > > > > > >
> > > > > > > El viernes, 5 de febrero de 2016, Homer, Tony <
> > > tony.homer@intel.com>
> > > > > > > escribió:
> > > > > > >
> > > > > > > > It took me a while to find it, but I guess you mean CB-10455?
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > On 2/5/16, 7:56 AM, "julio cesar sanchez" <
> > > jcesarmobile@gmail.com
> > > > > > > > <javascript:;>> wrote:
> > > > > > > >
> > > > > > > > >I think we just forgot, somebody mentioned this on slack
> > > > > > > > >and
> > > there
> > > > > is
> > > > > > > > >an issue open on JIRA.
> > > > > > > > >
> > > > > > > > >2016-02-05 13:52 GMT+01:00 Homer, Tony
> > > > > > > > ><tony.homer@intel.com
> > > > > > > > <javascript:;>>:
> > > > > > > > >
> > > > > > > > >> Earlier in this thread, Richard stated:
> > > > > > > > >> >> This change has been merged into the file, camera,
> > > > geolocation,
> > > > > > > > >> >> and
> > > > > > > > >> contacts plugins (media did not actually require any
> > change).
> > > > > > > > >>
> > > > > > > > >>
> > > > > > > > >> Media was updated on 1/15 but it still has a
> > > > > > > > >> "cordova-android
> > > > > > > > >=5.0.0-dev"
> > > > > > > > >> engine tag.
> > > > > > > > >> I couldn't find any other discussion about this on the
> > > > > > > > >> list
> > > and
> > > > > > > > >> wondered why it was retained for media.
> > > > > > > > >> Was this an oversight?
> > > > > > > > >>
> > > > > > > > >>
> > > > > > > > >> Thanks!
> > > > > > > > >> Tony
> > > > > > > > >>
> > > > > > > > >>
> > > > > > > > >>
> > > > > > > > >>
> > > > > > > > >> On 1/15/16, 4:40 PM, "Simon MacDonald" <
> > > > simon.macdonald@gmail.com
> > > > > > > > <javascript:;>> wrote:
> > > > > > > > >>
> > > > > > > > >> >LGTM
> > > > > > > > >> >
> > > > > > > > >> >+1
> > > > > > > > >> >
> > > > > > > > >> >Simon Mac Donald
> > > > > > > > >> >
> > > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi
> > > > > > > > >>
> > > > > >.im%2fsimonmacdonald&data=01%7c01%7cRIKNOLL%40exchange.microsoft.
> > > > > >c
> > > > > > > > >>
> > > > > >om%7cacc2d663ce574637d10908d32e3fd62d%7c72f988bf86f141af91ab2d7cd
> > > > > >0
> > > > > > > > >>
> > > > >11db47%7c1&sdata=wCGbmJR3ZKj6lABfwOcjoLypjztI9HNX8%2bak6AhuBqY%3d
> > > > > > > > >> >
> > > > > > > > >> >On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <
> > > bowserj@gmail.com
> > > > > > > > <javascript:;>> wrote:
> > > > > > > > >> >
> > > > > > > > >> >> Sorry, wrong PR:
> > > > > > > > >> >>
> > > > https://github.com/apache/cordova-plugin-inappbrowser/pull/136
> > > > > > > > >> >>
> > > > > > > > >> >> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <
> > > > > bowserj@gmail.com
> > > > > > > > <javascript:;>> wrote:
> > > > > > > > >> >>
> > > > > > > > >> >> > So, what does the timeline look like for a Plugins
> > > release.
> > > > > I
> > > > > > > > >> >> > just
> > > > > > > > >> did a
> > > > > > > > >> >> > major change in the InAppBrowser to fix tel: and sms:
> > > URIs
> > > > so
> > > > > > > > >> >> > they
> > > > > > > > do
> > > > > > > > >> >> > stuff, and it'd be cool if this also made if this
> > > > > > > > >> >> > got
> > > > looked
> > > > > > > > >> >> > over
> > > > > > > > and
> > > > > > > > >> >> > landed before the next release.
> > > > > > > > >> >> >
> > > > > > > > >> >> >
> > > > > https://github.com/apache/cordova-plugin-inappbrowser/pull/135
> > > > > > > > >> >> >
> > > > > > > > >> >> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana <
> > > > > > > > csantana23@gmail.com <javascript:;>
> > > > > > > > >> >
> > > > > > > > >> >> > wrote:
> > > > > > > > >> >> >
> > > > > > > > >> >> >> I agree with final compromise, I also had a
> > > > > > > > >> >> >> discussion
> > > > with
> > > > > > > > >> >> >> Nikhil
> > > > > > > > >> >> during
> > > > > > > > >> >> >> holiday break offline and understood the situation,
> > > > > > > > >> >> >> some
> > > > 3rd
> > > > > > > > >> >> >> party
> > > > > > > > >> >> plugins
> > > > > > > > >> >> >> are not open source and customers/devs don't move
> > > > > > > > >> >> >> as
> > > fast
> > > > as
> > > > > > > > >> >> >> we
> > > > > > > > wish,
> > > > > > > > >> >> but
> > > > > > > > >> >> >> having a CLI 6 with latest plugins being backwards
> > > > > compatible
> > > > > > > > >> >> >> with
> > > > > > > > >> lower
> > > > > > > > >> >> >> Android API is good base for developers to start
> > > > upgrading.
> > > > > > > > >> >> >>
> > > > > > > > >> >> >>
> > > > > > > > >> >> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <
> > > > > > > > stevengill97@gmail.com <javascript:;>>
> > > > > > > > >> >> >> wrote:
> > > > > > > > >> >> >>
> > > > > > > > >> >> >> > Awesome! I'll kick up a discuss thread
> > > > > > > > >> >> >> >
> > > > > > > > >> >> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard Knoll <
> > > > > > > > >> riknoll@microsoft.com <javascript:;>
> > > > > > > > >> >> >
> > > > > > > > >> >> >> > wrote:
> > > > > > > > >> >> >> >
> > > > > > > > >> >> >> > > Hey all,
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > This change has been merged into the file,
> > > > > > > > >> >> >> > > camera,
> > > > > > > > geolocation,
> > > > > > > > >> and
> > > > > > > > >> >> >> > > contacts plugins (media did not actually
> > > > > > > > >> >> >> > > require any
> > > > > > > change).
> > > > > > > > I
> > > > > > > > >> was
> > > > > > > > >> >> >> able
> > > > > > > > >> >> >> > to
> > > > > > > > >> >> >> > > build and run mobilespec on cordova-android
> > > > > > > > >> >> >> > > 4.0.0
> > > and
> > > > > > > > >> >> >> cordova-android's
> > > > > > > > >> >> >> > > master. We should probably push for a plugins
> > > release
> > > > > > > > >> >> >> > > soon,
> > > > > > > > since
> > > > > > > > >> >> >> there
> > > > > > > > >> >> >> > are
> > > > > > > > >> >> >> > > also some major bug fixes to the contacts and
> > > > > > > > >> >> >> > > camera plugins
> > > > > > > > that
> > > > > > > > >> >> were
> > > > > > > > >> >> >> > > recently pushed.
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > Thanks,
> > > > > > > > >> >> >> > > Richard
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > -----Original Message-----
> > > > > > > > >> >> >> > > From: Nikhil Khandelwal [mailto:
> > > > nikhilkh@microsoft.com
> > > > > > > > <javascript:;>]
> > > > > > > > >> >> >> > > Sent: Friday, January 8, 2016 12:12 PM
> > > > > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > > > > > > > >> >> >> > > Subject: RE: [DISCUSS] Core Plugins and Android
> > > > > > > > >> >> >> > > API
> > > 23
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > We had a good discussion about this offline
> > > > > > > > >> >> >> > > with
> > > Joe,
> > > > > > > > >> >> >> > > Simon,
> > > > > > > > >> Steve,
> > > > > > > > >> >> >> > Jesse,
> > > > > > > > >> >> >> > > Parashu and Jason. We came to the following
> > > agreement:
> > > > > > > > >> >> >> > > This is a temporary fix to the plugins which we
> > > > > > > > >> >> >> > > need
> > > > to
> > > > > > > > >> >> >> > > take
> > > > > > > > to
> > > > > > > > >> >> ensure
> > > > > > > > >> >> >> > > Cordova 5.x tools behavior of using the edge
> > > > > > > > >> >> >> > > plugins
> > > > > does
> > > > > > > > >> >> >> > > not
> > > > > > > > >> break
> > > > > > > > >> >> >> for
> > > > > > > > >> >> >> > our
> > > > > > > > >> >> >> > > users. We will pursue the change for all the
> > > affected
> > > > > > > plugins.
> > > > > > > > >> This
> > > > > > > > >> >> >> will
> > > > > > > > >> >> >> > go
> > > > > > > > >> >> >> > > out in the next PLUGINS release which will
> > > > > > > > >> >> >> > > happen
> > > > before
> > > > > > > > >> >> >> > > the
> > > > > > > > >> Cordova
> > > > > > > > >> >> >> 6.0
> > > > > > > > >> >> >> > > release. Since this a temporary fix, we aim to
> > > remove
> > > > it
> > > > > > > > >> >> >> > > in 6
> > > > > > > > >> months
> > > > > > > > >> >> >> > > (giving reasonable time for our user base to
> > > > > > > > >> >> >> > > move to Cordova
> > > > > > > > 6.x+
> > > > > > > > >> >> >> which
> > > > > > > > >> >> >> > > will have a better plugin version pinning
> > > mechanism).
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > Thanks,
> > > > > > > > >> >> >> > > Nikhil
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > -----Original Message-----
> > > > > > > > >> >> >> > > From: Simon MacDonald [mailto:
> > > > simon.macdonald@gmail.com
> > > > > > > > <javascript:;>]
> > > > > > > > >> >> >> > > Sent: Thursday, January 7, 2016 4:00 PM
> > > > > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > > > > > > > >> >> >> > > Subject: Re: [DISCUSS] Core Plugins and Android
> > > > > > > > >> >> >> > > API
> > > 23
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > I'm going to play devils advocate a bit here:
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > > There are valid reasons why many app
> > > > > > > > >> >> >> > > > developers
> > > > might
> > > > > > > > >> >> >> > > > not be
> > > > > > > > >> ready
> > > > > > > > >> >> >> to
> > > > > > > > >> >> >> > > > move to API level 23:
> > > > > > > > >> >> >> > > >   1) They have an app which is stabilizing or
> > > > > > > > >> >> >> > > > in maintenance
> > > > > > > > >> mode
> > > > > > > > >> >> >> and
> > > > > > > > >> >> >> > > > they don't want to risk destabilization by
> > > > > > > > >> >> >> > > > moving
> > > > to a
> > > > > > > > >> >> >> > > > new
> > > > > > > > >> major
> > > > > > > > >> >> >> > > > Cordova version, Cordova Android platform,
> > > > > > > > >> >> >> > > > and
> > > > Android
> > > > > > > > >> >> >> > > > API
> > > > > > > > >> level.
> > > > > > > > >> >> >> > > >
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > If the developer is not ready to move to a new
> > > version
> > > > > of
> > > > > > > > Cordova
> > > > > > > > >> >> >> Android
> > > > > > > > >> >> >> > > or the Android API would it not also follow
> > > > > > > > >> >> >> > > that
> > > they
> > > > > > > > shouldn't
> > > > > > > > >> be
> > > > > > > > >> >> >> > changing
> > > > > > > > >> >> >> > > their plugin versions?
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > >   2) They are using a 3rd-party plugin which
> > > > > > > > >> >> >> > > > has
> > > not
> > > > > > > > >> >> >> > > > yet
> > > > > > > > been
> > > > > > > > >> >> >> updated
> > > > > > > > >> >> >> > > > to request Android permissions as required by
> > > > > > > > >> >> >> > > > API
> > > > > level
> > > > > > > 23.
> > > > > > > > >> There
> > > > > > > > >> >> >> are
> > > > > > > > >> >> >> > > > probably a lot of plugins affected, since
> > > > > > > > >> >> >> > > > access
> > > to
> > > > > any
> > > > > > > > >> >> >> > > > of
> > > > > > > > the
> > > > > > > > >> >> >> > > > following things on Android M requires
> > > > > > > > >> >> >> > > > runtime permission
> > > > > > > > >> >> requests:
> > > > > > > > >> >> >> > > > calendar, contacts, phone, camera,
> > > > > > > > >> >> >> > > > microphone, location,
> > > > > > > > >> beacons,
> > > > > > > > >> >> >> > > sensors, SMS, storage.
> > > > > > > > >> >> >> > > >
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > Right, so if the 3rd party plugin they are
> > > > > > > > >> >> >> > > using
> > > > doesn't
> > > > > > > > support
> > > > > > > > >> >> >> Android
> > > > > > > > >> >> >> > M
> > > > > > > > >> >> >> > > they should either a) not upgrade or b) send a
> > > > > > > > >> >> >> > > PR to
> > > > the
> > > > > > > > plugin
> > > > > > > > >> >> >> > maintainer
> > > > > > > > >> >> >> > > so everyone can benefit.
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > >   3) They might not have the capacity or
> > > > > > > > >> >> >> > > > ability
> > > to
> > > > > > > > >> >> >> > > > test
> > > > > > > > their
> > > > > > > > >> app
> > > > > > > > >> >> >> on
> > > > > > > > >> >> >> > > > devices running Android M. Because API 23
> > > > > > > > >> >> >> > > > enables
> > > > the
> > > > > > > > >> >> >> > > > new
> > > > > > > > >> >> >> permissions
> > > > > > > > >> >> >> > > > model only on Android M, it requires testing
> > > > > > > > >> >> >> > > > on
> > > that
> > > > > > > > platform.
> > > > > > > > >> >> >> > > >
> > > > > > > > >> >> >> > > >
> > > > > > > > >> >> >> > > Everyone has access to the Android emulator.
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > > In any of the above cases, developers might
> > > > > > > > >> >> >> > > > still
> > > > like
> > > > > > > > >> >> >> > > > to
> > > > > > > > >> benefit
> > > > > > > > >> >> >> from
> > > > > > > > >> >> >> > > > some of the major bug fixes in those 5
> > > > > > > > >> >> >> > > > popular
> > > core
> > > > > > > > >> >> >> > > > plugins
> > > > > > > > >> >> >> mentioned
> > > > > > > > >> >> >> > > > below. Or even if they weren't specifically
> > > looking
> > > > > for
> > > > > > > > >> >> >> > > > bug
> > > > > > > > >> fixes,
> > > > > > > > >> >> >> it
> > > > > > > > >> >> >> > > > would be a much better experience if adding
> > > > > > > > >> >> >> > > > or
> > > > > updating
> > > > > > > > >> >> >> > > > one
> > > > > > > > of
> > > > > > > > >> >> those
> > > > > > > > >> >> >> > > > plugins would just work, rather than failing
> > > > > > > > >> >> >> > > > on Android. The explanation for the failure
> > > > > > > > >> >> >> > > > will not
> > > be
> > > > > > > > >> >> >> > > > obvious to many
> > > > > > > > users,
> > > > > > > > >> if
> > > > > > > > >> >> >> they
> > > > > > > > >> >> >> > > > overlooked the warning when installing the
> > > > > > > > >> >> >> > > > plugin
> > > or
> > > > > if
> > > > > > > > >> >> >> > > > they
> > > > > > > > >> were
> > > > > > > > >> >> >> > > > using another tool to add the plugin where
> > > > > > > > >> >> >> > > > the
> > > > warning
> > > > > > > > wasn't
> > > > > > > > >> >> >> surfaced.
> > > > > > > > >> >> >> > > >
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > >  Seems like you are describing a tooling
> > > > > > > > >> >> >> > > problem
> > > here.
> > > > > If
> > > > > > > > >> >> >> > > the
> > > > > > > > >> tool
> > > > > > > > >> >> >> > doesn't
> > > > > > > > >> >> >> > > surface the warning or allows the user to add a
> > > plugin
> > > > > > > > >> >> >> > > that is
> > > > > > > > >> >> >> > incompatible
> > > > > > > > >> >> >> > > with the version of Cordova Android that is
> > > > > > > > >> >> >> > > being
> > > used
> > > > > > > > >> >> >> > > really
> > > > > > > > >> sounds
> > > > > > > > >> >> >> > like a
> > > > > > > > >> >> >> > > bug in the tooling to me.
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > > Of course developers should be encouraged to
> > > upgrade
> > > > > to
> > > > > > > > >> >> >> > > > the
> > > > > > > > >> latest
> > > > > > > > >> >> >> > > > most secure highest-quality version of
> Cordova.
> > > But
> > > > > the
> > > > > > > > >> >> >> encouragement
> > > > > > > > >> >> >> > > > does not need to be so forceful. This
> > > > > > > > >> >> >> > > > proposed
> > > > change
> > > > > > > > >> >> >> > > > gives
> > > > > > > > >> >> >> developers
> > > > > > > > >> >> >> > > > more time to upgrade, and allows for more
> > > > > > > > >> >> >> > > > choice
> > > > about
> > > > > > > > >> >> >> > > > when
> > > > > > > > to
> > > > > > > > >> >> >> upgrade
> > > > > > > > >> >> >> > > > individual parts
> > > > > > > > >> >> >> > > > (plugins) rather than limiting them to
> > > > all-or-nothing.
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > >  I would argue that the developer has an
> > > > > > > > >> >> >> > > infinite
> > > > amount
> > > > > > > > >> >> >> > > of
> > > > > > > > time
> > > > > > > > >> to
> > > > > > > > >> >> >> > > upgrade. Nothing is forcing you to upgrade to
> > > > > > > > >> >> >> > > the
> > > > latest
> > > > > > > > Cordova
> > > > > > > > >> >> >> Android
> > > > > > > > >> >> >> > or
> > > > > > > > >> >> >> > > Android API. They can continue to use the same
> > > version
> > > > > of
> > > > > > > > Cordova
> > > > > > > > >> >> >> Android
> > > > > > > > >> >> >> > > and plugins that are currently working in their
> > app.
> > > > If
> > > > > > > > >> >> >> > > the
> > > > > > > > >> >> developer
> > > > > > > > >> >> >> is
> > > > > > > > >> >> >> > > using semver properly and we do our job right
> > > > > > > > >> >> >> > > they shouldn't
> > > > > > > > >> pick up
> > > > > > > > >> >> >> > > breaking changes. For instance, if the API of a
> > > plugin
> > > > > > > > changes we
> > > > > > > > >> >> bump
> > > > > > > > >> >> >> > the
> > > > > > > > >> >> >> > > major version of the plugin so users who setup
> > > > > > > > >> >> >> > > their
> > > > > > > > config.xml
> > > > > > > > >> to
> > > > > > > > >> >> >> use:
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > <plugin name="cordova-plugin-camera"
> spec="^1.1.0"
> > > />
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > will effectively prevent the user from picking
> > > > > > > > >> >> >> > > up
> > > the
> > > > > > > > >> >> >> > > breaking
> > > > > > > > >> >> change
> > > > > > > > >> >> >> in
> > > > > > > > >> >> >> > > camera version 2.0.0.
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > > Simon Mac Donald
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> >
> > > > > > > > >> >> >>
> > > > > > > > >> >>
> > > > > > > > >>
> > > > > > > >
> > > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi
> > > > > .im%
> > > > > > > > 2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com
> > > > > %7c84fb6405edf
> > > > > > > >
> > > > > 74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata
> > > > > =B8D
> > > > > > > > uMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
> > > > > > > > >> >> >> > >  B
> > > > > > > > >> >> >>
> > > > > > > > >>
> > > > > KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
> > > > > K
> > > > > > > > >> KCB
> > > > > > > > >> >> >> > >   [  X  ܚX K  K[XZ[
> > > > > > > > >> >> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[
> > [X[
> > > > > > >  K[XZ[
> > > > > > > > >> >> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
> > > > > > > > >> >> >> > >
> > > > > > > > >> >> >> >
> > > > > > > > >> >> >>
> > > > > > > > >> >> >
> > > > > > > > >> >> >
> > > > > > > > >> >>
> > > > > > > > >>
> > > > > > > > >>
> > > > > ------------------------------------------------------------------
> > > > > -
> > > > > > > > >> -- To unsubscribe, e-mail:
> > > > > > > > >> dev-unsubscribe@cordova.apache.org
> > > > > > > > <javascript:;>
> > > > > > > > >> For additional commands, e-mail:
> > > > > > > > >> dev-help@cordova.apache.org
> > > > > > > > <javascript:;>
> > > > > > > > >>
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by Joe Bowser <bo...@gmail.com>.
Does this require a major version change?

On Mon, Apr 4, 2016, 10:30 AM Richard Knoll <ri...@microsoft.com> wrote:

> Sorry for being late to comment on this. If we were the only ones using
> the class, I would say we should just keep copying around. However, since
> other plugins are using it I think it's a good idea to put it in a common
> place and a plugin is the best way to do it. LGTM! Should someone write up
> a blog post about this so that third-party plugins know to update?
>
> Thanks,
> Richard
>
> -----Original Message-----
> From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
> Sent: Sunday, April 3, 2016 12:26 PM
> To: dev@cordova.apache.org
> Subject: Re: [DISCUSS] Core Plugins and Android API 23
>
> Seems like we have momentum on this. So barring any negative comments from
> Microsoft about this approach whom do I contact to setup a new repo on
> Apache GIT?
>
>
> Simon Mac Donald
>
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=yGziFs1bd1KAZjUEloAiJ07c9EipxtrtSYxU8e5oO7M%3d
>
> On Sun, Apr 3, 2016 at 2:26 PM, julio cesar sanchez <
> jcesarmobile@gmail.com>
> wrote:
>
> > I like it too
> > A lot of 3rd party plugins are adding that classes too
> >
> > BTW, there is a JIRA issue to add
> > https://na01.safelinks.protection.outlook.com/?url=PermissionHelper.ja
> > va&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f454da19d7f08d35b
> > f5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=KXea2ILjY6Ja2Qr4XF
> > %2b8FoLrOpCRvinHQIaqi%2faMSXw%3d to cordova-android
> > https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fissue
> > s.apache.org%2fjira%2fbrowse%2fCB-10656&data=01%7c01%7criknoll%40micro
> > soft.com%7c6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7c
> > d011db47%7c1&sdata=Y6ygyF0AqvvK2VqTcTRSNflpowAn89Xaa%2fTaMFC%2fqlI%3d
> >
> >
> >
> > 2016-04-03 18:43 GMT+02:00 Carlos Santana <cs...@gmail.com>:
> >
> > > Simon I like approach
> > > Can we move to this approach now? Yes Then once the downstream
> > > distro's support API 23 and the new API methods in CordovaInterface
> > > we can move this into Cordova Android proper? Yes
> > >
> > > +1
> > >
> > > On Thu, Mar 31, 2016 at 6:38 PM Joe Bowser <bo...@gmail.com> wrote:
> > >
> > > > LGTM!
> > > >
> > > > On Thu, Mar 31, 2016 at 3:02 PM, Simon MacDonald <
> > > > simon.macdonald@gmail.com>
> > > > wrote:
> > > >
> > > > > I really hate the fact we need to add that
> > > > > https://na01.safelinks.protection.outlook.com/?url=PermissionHel
> > > > > per.java&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f454d
> > > > > a19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=
> > > > > KXea2ILjY6Ja2Qr4XF%2b8FoLrOpCRvinHQIaqi%2faMSXw%3d file
> > > to
> > > > > each and every plugin that requires API 23 permission support.
> > > Especially
> > > > > since the package the class is in is different for each plugin
> > > > > so we
> > > can
> > > > > two, three or more copies of the same code in an app. That's
> > > > > just
> > > > wasteful.
> > > > >
> > > > > Joe responded to my bitching by saying "Maybe we should create a
> > > > > permissions plugin for this and make everything go through that"
> > which
> > > > set
> > > > > my mind a racing (perhaps I was just over caffeinated) and I
> > > > > decided
> > to
> > > > > prototype it this afternoon.
> > > > >
> > > > > I've created a new plugin called cordova-plugin-compat over at
> > > > > https://github.com/macdonst/cordova-plugin-compat  and all it
> > > > > does
> > is
> > > > > deliver the org.apache.cordova.PermissionHelper class. I then
> > > > > turned
> > > > around
> > > > > and removed the class from the camera plugin and make
> > > > cordova-plugin-camera
> > > > > depend on cordova-plugin-compat.
> > > > >
> > > > > You can see that change over on my camera fork:
> > > > >
> > > > > https://github.com/macdonst
> > > > >
> > /cordova-plugin-camera/commit/58b72cb5c3109481df9f337ad97607858681b37e
> > > > >
> > > > > Can we move to this approach now? Then once the downstream
> > > > > distro's
> > > > support
> > > > > API 23 and the new API methods in CordovaInterface we can move
> > > > > this
> > > into
> > > > > Cordova Android proper?
> > > > >
> > > > > Thoughts? Are there use cases this approach doesn't work for?
> > > > >
> > > > >
> > > > > Simon Mac Donald
> > > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2f
> > > > > hi.im%2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.com%7c
> > > > > 6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011d
> > > > > b47%7c1&sdata=yGziFs1bd1KAZjUEloAiJ07c9EipxtrtSYxU8e5oO7M%3d
> > > > >
> > > > > On Fri, Feb 5, 2016 at 2:32 PM, Richard Knoll
> > > > > <riknoll@microsoft.com
> > >
> > > > > wrote:
> > > > >
> > > > > > Yep, I left it out of the first round by mistake; I was
> > > > > > looking at
> > an
> > > > out
> > > > > > of date version of cordova-plugin-media at the time. I've got
> > > > > > a PR
> > > open
> > > > > > that adds the helper here:
> > > > > >
> > > > > > https://github.com/apache/cordova-plugin-media/pull/79
> > > > > >
> > > > > > Thanks,
> > > > > > Richard
> > > > > >
> > > > > > -----Original Message-----
> > > > > > From: julio cesar sanchez [mailto:jcesarmobile@gmail.com]
> > > > > > Sent: Friday, February 5, 2016 7:20 AM
> > > > > > To: dev@cordova.apache.org
> > > > > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > > > > >
> > > > > > Yeah, that one.
> > > > > >
> > > > > >
> > > > > > El viernes, 5 de febrero de 2016, Homer, Tony <
> > tony.homer@intel.com>
> > > > > > escribió:
> > > > > >
> > > > > > > It took me a while to find it, but I guess you mean CB-10455?
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > On 2/5/16, 7:56 AM, "julio cesar sanchez" <
> > jcesarmobile@gmail.com
> > > > > > > <javascript:;>> wrote:
> > > > > > >
> > > > > > > >I think we just forgot, somebody mentioned this on slack
> > > > > > > >and
> > there
> > > > is
> > > > > > > >an issue open on JIRA.
> > > > > > > >
> > > > > > > >2016-02-05 13:52 GMT+01:00 Homer, Tony
> > > > > > > ><tony.homer@intel.com
> > > > > > > <javascript:;>>:
> > > > > > > >
> > > > > > > >> Earlier in this thread, Richard stated:
> > > > > > > >> >> This change has been merged into the file, camera,
> > > geolocation,
> > > > > > > >> >> and
> > > > > > > >> contacts plugins (media did not actually require any
> change).
> > > > > > > >>
> > > > > > > >>
> > > > > > > >> Media was updated on 1/15 but it still has a
> > > > > > > >> "cordova-android
> > > > > > > >=5.0.0-dev"
> > > > > > > >> engine tag.
> > > > > > > >> I couldn't find any other discussion about this on the
> > > > > > > >> list
> > and
> > > > > > > >> wondered why it was retained for media.
> > > > > > > >> Was this an oversight?
> > > > > > > >>
> > > > > > > >>
> > > > > > > >> Thanks!
> > > > > > > >> Tony
> > > > > > > >>
> > > > > > > >>
> > > > > > > >>
> > > > > > > >>
> > > > > > > >> On 1/15/16, 4:40 PM, "Simon MacDonald" <
> > > simon.macdonald@gmail.com
> > > > > > > <javascript:;>> wrote:
> > > > > > > >>
> > > > > > > >> >LGTM
> > > > > > > >> >
> > > > > > > >> >+1
> > > > > > > >> >
> > > > > > > >> >Simon Mac Donald
> > > > > > > >> >
> > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi
> > > > > > > >>
> > > > >.im%2fsimonmacdonald&data=01%7c01%7cRIKNOLL%40exchange.microsoft.
> > > > >c
> > > > > > > >>
> > > > >om%7cacc2d663ce574637d10908d32e3fd62d%7c72f988bf86f141af91ab2d7cd
> > > > >0
> > > > > > > >>
> > > >11db47%7c1&sdata=wCGbmJR3ZKj6lABfwOcjoLypjztI9HNX8%2bak6AhuBqY%3d
> > > > > > > >> >
> > > > > > > >> >On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <
> > bowserj@gmail.com
> > > > > > > <javascript:;>> wrote:
> > > > > > > >> >
> > > > > > > >> >> Sorry, wrong PR:
> > > > > > > >> >>
> > > https://github.com/apache/cordova-plugin-inappbrowser/pull/136
> > > > > > > >> >>
> > > > > > > >> >> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <
> > > > bowserj@gmail.com
> > > > > > > <javascript:;>> wrote:
> > > > > > > >> >>
> > > > > > > >> >> > So, what does the timeline look like for a Plugins
> > release.
> > > > I
> > > > > > > >> >> > just
> > > > > > > >> did a
> > > > > > > >> >> > major change in the InAppBrowser to fix tel: and sms:
> > URIs
> > > so
> > > > > > > >> >> > they
> > > > > > > do
> > > > > > > >> >> > stuff, and it'd be cool if this also made if this
> > > > > > > >> >> > got
> > > looked
> > > > > > > >> >> > over
> > > > > > > and
> > > > > > > >> >> > landed before the next release.
> > > > > > > >> >> >
> > > > > > > >> >> >
> > > > https://github.com/apache/cordova-plugin-inappbrowser/pull/135
> > > > > > > >> >> >
> > > > > > > >> >> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana <
> > > > > > > csantana23@gmail.com <javascript:;>
> > > > > > > >> >
> > > > > > > >> >> > wrote:
> > > > > > > >> >> >
> > > > > > > >> >> >> I agree with final compromise, I also had a
> > > > > > > >> >> >> discussion
> > > with
> > > > > > > >> >> >> Nikhil
> > > > > > > >> >> during
> > > > > > > >> >> >> holiday break offline and understood the situation,
> > > > > > > >> >> >> some
> > > 3rd
> > > > > > > >> >> >> party
> > > > > > > >> >> plugins
> > > > > > > >> >> >> are not open source and customers/devs don't move
> > > > > > > >> >> >> as
> > fast
> > > as
> > > > > > > >> >> >> we
> > > > > > > wish,
> > > > > > > >> >> but
> > > > > > > >> >> >> having a CLI 6 with latest plugins being backwards
> > > > compatible
> > > > > > > >> >> >> with
> > > > > > > >> lower
> > > > > > > >> >> >> Android API is good base for developers to start
> > > upgrading.
> > > > > > > >> >> >>
> > > > > > > >> >> >>
> > > > > > > >> >> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <
> > > > > > > stevengill97@gmail.com <javascript:;>>
> > > > > > > >> >> >> wrote:
> > > > > > > >> >> >>
> > > > > > > >> >> >> > Awesome! I'll kick up a discuss thread
> > > > > > > >> >> >> >
> > > > > > > >> >> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard Knoll <
> > > > > > > >> riknoll@microsoft.com <javascript:;>
> > > > > > > >> >> >
> > > > > > > >> >> >> > wrote:
> > > > > > > >> >> >> >
> > > > > > > >> >> >> > > Hey all,
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > This change has been merged into the file,
> > > > > > > >> >> >> > > camera,
> > > > > > > geolocation,
> > > > > > > >> and
> > > > > > > >> >> >> > > contacts plugins (media did not actually
> > > > > > > >> >> >> > > require any
> > > > > > change).
> > > > > > > I
> > > > > > > >> was
> > > > > > > >> >> >> able
> > > > > > > >> >> >> > to
> > > > > > > >> >> >> > > build and run mobilespec on cordova-android
> > > > > > > >> >> >> > > 4.0.0
> > and
> > > > > > > >> >> >> cordova-android's
> > > > > > > >> >> >> > > master. We should probably push for a plugins
> > release
> > > > > > > >> >> >> > > soon,
> > > > > > > since
> > > > > > > >> >> >> there
> > > > > > > >> >> >> > are
> > > > > > > >> >> >> > > also some major bug fixes to the contacts and
> > > > > > > >> >> >> > > camera plugins
> > > > > > > that
> > > > > > > >> >> were
> > > > > > > >> >> >> > > recently pushed.
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > Thanks,
> > > > > > > >> >> >> > > Richard
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > -----Original Message-----
> > > > > > > >> >> >> > > From: Nikhil Khandelwal [mailto:
> > > nikhilkh@microsoft.com
> > > > > > > <javascript:;>]
> > > > > > > >> >> >> > > Sent: Friday, January 8, 2016 12:12 PM
> > > > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > > > > > > >> >> >> > > Subject: RE: [DISCUSS] Core Plugins and Android
> > > > > > > >> >> >> > > API
> > 23
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > We had a good discussion about this offline
> > > > > > > >> >> >> > > with
> > Joe,
> > > > > > > >> >> >> > > Simon,
> > > > > > > >> Steve,
> > > > > > > >> >> >> > Jesse,
> > > > > > > >> >> >> > > Parashu and Jason. We came to the following
> > agreement:
> > > > > > > >> >> >> > > This is a temporary fix to the plugins which we
> > > > > > > >> >> >> > > need
> > > to
> > > > > > > >> >> >> > > take
> > > > > > > to
> > > > > > > >> >> ensure
> > > > > > > >> >> >> > > Cordova 5.x tools behavior of using the edge
> > > > > > > >> >> >> > > plugins
> > > > does
> > > > > > > >> >> >> > > not
> > > > > > > >> break
> > > > > > > >> >> >> for
> > > > > > > >> >> >> > our
> > > > > > > >> >> >> > > users. We will pursue the change for all the
> > affected
> > > > > > plugins.
> > > > > > > >> This
> > > > > > > >> >> >> will
> > > > > > > >> >> >> > go
> > > > > > > >> >> >> > > out in the next PLUGINS release which will
> > > > > > > >> >> >> > > happen
> > > before
> > > > > > > >> >> >> > > the
> > > > > > > >> Cordova
> > > > > > > >> >> >> 6.0
> > > > > > > >> >> >> > > release. Since this a temporary fix, we aim to
> > remove
> > > it
> > > > > > > >> >> >> > > in 6
> > > > > > > >> months
> > > > > > > >> >> >> > > (giving reasonable time for our user base to
> > > > > > > >> >> >> > > move to Cordova
> > > > > > > 6.x+
> > > > > > > >> >> >> which
> > > > > > > >> >> >> > > will have a better plugin version pinning
> > mechanism).
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > Thanks,
> > > > > > > >> >> >> > > Nikhil
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > -----Original Message-----
> > > > > > > >> >> >> > > From: Simon MacDonald [mailto:
> > > simon.macdonald@gmail.com
> > > > > > > <javascript:;>]
> > > > > > > >> >> >> > > Sent: Thursday, January 7, 2016 4:00 PM
> > > > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > > > > > > >> >> >> > > Subject: Re: [DISCUSS] Core Plugins and Android
> > > > > > > >> >> >> > > API
> > 23
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > I'm going to play devils advocate a bit here:
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > > There are valid reasons why many app
> > > > > > > >> >> >> > > > developers
> > > might
> > > > > > > >> >> >> > > > not be
> > > > > > > >> ready
> > > > > > > >> >> >> to
> > > > > > > >> >> >> > > > move to API level 23:
> > > > > > > >> >> >> > > >   1) They have an app which is stabilizing or
> > > > > > > >> >> >> > > > in maintenance
> > > > > > > >> mode
> > > > > > > >> >> >> and
> > > > > > > >> >> >> > > > they don't want to risk destabilization by
> > > > > > > >> >> >> > > > moving
> > > to a
> > > > > > > >> >> >> > > > new
> > > > > > > >> major
> > > > > > > >> >> >> > > > Cordova version, Cordova Android platform,
> > > > > > > >> >> >> > > > and
> > > Android
> > > > > > > >> >> >> > > > API
> > > > > > > >> level.
> > > > > > > >> >> >> > > >
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > If the developer is not ready to move to a new
> > version
> > > > of
> > > > > > > Cordova
> > > > > > > >> >> >> Android
> > > > > > > >> >> >> > > or the Android API would it not also follow
> > > > > > > >> >> >> > > that
> > they
> > > > > > > shouldn't
> > > > > > > >> be
> > > > > > > >> >> >> > changing
> > > > > > > >> >> >> > > their plugin versions?
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > >   2) They are using a 3rd-party plugin which
> > > > > > > >> >> >> > > > has
> > not
> > > > > > > >> >> >> > > > yet
> > > > > > > been
> > > > > > > >> >> >> updated
> > > > > > > >> >> >> > > > to request Android permissions as required by
> > > > > > > >> >> >> > > > API
> > > > level
> > > > > > 23.
> > > > > > > >> There
> > > > > > > >> >> >> are
> > > > > > > >> >> >> > > > probably a lot of plugins affected, since
> > > > > > > >> >> >> > > > access
> > to
> > > > any
> > > > > > > >> >> >> > > > of
> > > > > > > the
> > > > > > > >> >> >> > > > following things on Android M requires
> > > > > > > >> >> >> > > > runtime permission
> > > > > > > >> >> requests:
> > > > > > > >> >> >> > > > calendar, contacts, phone, camera,
> > > > > > > >> >> >> > > > microphone, location,
> > > > > > > >> beacons,
> > > > > > > >> >> >> > > sensors, SMS, storage.
> > > > > > > >> >> >> > > >
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > Right, so if the 3rd party plugin they are
> > > > > > > >> >> >> > > using
> > > doesn't
> > > > > > > support
> > > > > > > >> >> >> Android
> > > > > > > >> >> >> > M
> > > > > > > >> >> >> > > they should either a) not upgrade or b) send a
> > > > > > > >> >> >> > > PR to
> > > the
> > > > > > > plugin
> > > > > > > >> >> >> > maintainer
> > > > > > > >> >> >> > > so everyone can benefit.
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > >   3) They might not have the capacity or
> > > > > > > >> >> >> > > > ability
> > to
> > > > > > > >> >> >> > > > test
> > > > > > > their
> > > > > > > >> app
> > > > > > > >> >> >> on
> > > > > > > >> >> >> > > > devices running Android M. Because API 23
> > > > > > > >> >> >> > > > enables
> > > the
> > > > > > > >> >> >> > > > new
> > > > > > > >> >> >> permissions
> > > > > > > >> >> >> > > > model only on Android M, it requires testing
> > > > > > > >> >> >> > > > on
> > that
> > > > > > > platform.
> > > > > > > >> >> >> > > >
> > > > > > > >> >> >> > > >
> > > > > > > >> >> >> > > Everyone has access to the Android emulator.
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > > In any of the above cases, developers might
> > > > > > > >> >> >> > > > still
> > > like
> > > > > > > >> >> >> > > > to
> > > > > > > >> benefit
> > > > > > > >> >> >> from
> > > > > > > >> >> >> > > > some of the major bug fixes in those 5
> > > > > > > >> >> >> > > > popular
> > core
> > > > > > > >> >> >> > > > plugins
> > > > > > > >> >> >> mentioned
> > > > > > > >> >> >> > > > below. Or even if they weren't specifically
> > looking
> > > > for
> > > > > > > >> >> >> > > > bug
> > > > > > > >> fixes,
> > > > > > > >> >> >> it
> > > > > > > >> >> >> > > > would be a much better experience if adding
> > > > > > > >> >> >> > > > or
> > > > updating
> > > > > > > >> >> >> > > > one
> > > > > > > of
> > > > > > > >> >> those
> > > > > > > >> >> >> > > > plugins would just work, rather than failing
> > > > > > > >> >> >> > > > on Android. The explanation for the failure
> > > > > > > >> >> >> > > > will not
> > be
> > > > > > > >> >> >> > > > obvious to many
> > > > > > > users,
> > > > > > > >> if
> > > > > > > >> >> >> they
> > > > > > > >> >> >> > > > overlooked the warning when installing the
> > > > > > > >> >> >> > > > plugin
> > or
> > > > if
> > > > > > > >> >> >> > > > they
> > > > > > > >> were
> > > > > > > >> >> >> > > > using another tool to add the plugin where
> > > > > > > >> >> >> > > > the
> > > warning
> > > > > > > wasn't
> > > > > > > >> >> >> surfaced.
> > > > > > > >> >> >> > > >
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > >  Seems like you are describing a tooling
> > > > > > > >> >> >> > > problem
> > here.
> > > > If
> > > > > > > >> >> >> > > the
> > > > > > > >> tool
> > > > > > > >> >> >> > doesn't
> > > > > > > >> >> >> > > surface the warning or allows the user to add a
> > plugin
> > > > > > > >> >> >> > > that is
> > > > > > > >> >> >> > incompatible
> > > > > > > >> >> >> > > with the version of Cordova Android that is
> > > > > > > >> >> >> > > being
> > used
> > > > > > > >> >> >> > > really
> > > > > > > >> sounds
> > > > > > > >> >> >> > like a
> > > > > > > >> >> >> > > bug in the tooling to me.
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > > Of course developers should be encouraged to
> > upgrade
> > > > to
> > > > > > > >> >> >> > > > the
> > > > > > > >> latest
> > > > > > > >> >> >> > > > most secure highest-quality version of Cordova.
> > But
> > > > the
> > > > > > > >> >> >> encouragement
> > > > > > > >> >> >> > > > does not need to be so forceful. This
> > > > > > > >> >> >> > > > proposed
> > > change
> > > > > > > >> >> >> > > > gives
> > > > > > > >> >> >> developers
> > > > > > > >> >> >> > > > more time to upgrade, and allows for more
> > > > > > > >> >> >> > > > choice
> > > about
> > > > > > > >> >> >> > > > when
> > > > > > > to
> > > > > > > >> >> >> upgrade
> > > > > > > >> >> >> > > > individual parts
> > > > > > > >> >> >> > > > (plugins) rather than limiting them to
> > > all-or-nothing.
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > >  I would argue that the developer has an
> > > > > > > >> >> >> > > infinite
> > > amount
> > > > > > > >> >> >> > > of
> > > > > > > time
> > > > > > > >> to
> > > > > > > >> >> >> > > upgrade. Nothing is forcing you to upgrade to
> > > > > > > >> >> >> > > the
> > > latest
> > > > > > > Cordova
> > > > > > > >> >> >> Android
> > > > > > > >> >> >> > or
> > > > > > > >> >> >> > > Android API. They can continue to use the same
> > version
> > > > of
> > > > > > > Cordova
> > > > > > > >> >> >> Android
> > > > > > > >> >> >> > > and plugins that are currently working in their
> app.
> > > If
> > > > > > > >> >> >> > > the
> > > > > > > >> >> developer
> > > > > > > >> >> >> is
> > > > > > > >> >> >> > > using semver properly and we do our job right
> > > > > > > >> >> >> > > they shouldn't
> > > > > > > >> pick up
> > > > > > > >> >> >> > > breaking changes. For instance, if the API of a
> > plugin
> > > > > > > changes we
> > > > > > > >> >> bump
> > > > > > > >> >> >> > the
> > > > > > > >> >> >> > > major version of the plugin so users who setup
> > > > > > > >> >> >> > > their
> > > > > > > config.xml
> > > > > > > >> to
> > > > > > > >> >> >> use:
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > <plugin name="cordova-plugin-camera" spec="^1.1.0"
> > />
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > will effectively prevent the user from picking
> > > > > > > >> >> >> > > up
> > the
> > > > > > > >> >> >> > > breaking
> > > > > > > >> >> change
> > > > > > > >> >> >> in
> > > > > > > >> >> >> > > camera version 2.0.0.
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > > Simon Mac Donald
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> >
> > > > > > > >> >> >>
> > > > > > > >> >>
> > > > > > > >>
> > > > > > >
> > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi
> > > > .im%
> > > > > > > 2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com
> > > > %7c84fb6405edf
> > > > > > >
> > > > 74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata
> > > > =B8D
> > > > > > > uMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
> > > > > > > >> >> >> > >  B
> > > > > > > >> >> >>
> > > > > > > >>
> > > > KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
> > > > K
> > > > > > > >> KCB
> > > > > > > >> >> >> > >   [  X  ܚX K  K[XZ[
> > > > > > > >> >> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[
> [X[
> > > > > >  K[XZ[
> > > > > > > >> >> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
> > > > > > > >> >> >> > >
> > > > > > > >> >> >> >
> > > > > > > >> >> >>
> > > > > > > >> >> >
> > > > > > > >> >> >
> > > > > > > >> >>
> > > > > > > >>
> > > > > > > >>
> > > > ------------------------------------------------------------------
> > > > -
> > > > > > > >> -- To unsubscribe, e-mail:
> > > > > > > >> dev-unsubscribe@cordova.apache.org
> > > > > > > <javascript:;>
> > > > > > > >> For additional commands, e-mail:
> > > > > > > >> dev-help@cordova.apache.org
> > > > > > > <javascript:;>
> > > > > > > >>
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

RE: [DISCUSS] Core Plugins and Android API 23

Posted by Richard Knoll <ri...@microsoft.com>.
Sorry for being late to comment on this. If we were the only ones using the class, I would say we should just keep copying around. However, since other plugins are using it I think it's a good idea to put it in a common place and a plugin is the best way to do it. LGTM! Should someone write up a blog post about this so that third-party plugins know to update?

Thanks,
Richard

-----Original Message-----
From: Simon MacDonald [mailto:simon.macdonald@gmail.com] 
Sent: Sunday, April 3, 2016 12:26 PM
To: dev@cordova.apache.org
Subject: Re: [DISCUSS] Core Plugins and Android API 23

Seems like we have momentum on this. So barring any negative comments from Microsoft about this approach whom do I contact to setup a new repo on Apache GIT?


Simon Mac Donald
https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=yGziFs1bd1KAZjUEloAiJ07c9EipxtrtSYxU8e5oO7M%3d

On Sun, Apr 3, 2016 at 2:26 PM, julio cesar sanchez <jc...@gmail.com>
wrote:

> I like it too
> A lot of 3rd party plugins are adding that classes too
>
> BTW, there is a JIRA issue to add 
> https://na01.safelinks.protection.outlook.com/?url=PermissionHelper.ja
> va&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f454da19d7f08d35b
> f5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=KXea2ILjY6Ja2Qr4XF
> %2b8FoLrOpCRvinHQIaqi%2faMSXw%3d to cordova-android 
> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fissue
> s.apache.org%2fjira%2fbrowse%2fCB-10656&data=01%7c01%7criknoll%40micro
> soft.com%7c6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7c
> d011db47%7c1&sdata=Y6ygyF0AqvvK2VqTcTRSNflpowAn89Xaa%2fTaMFC%2fqlI%3d
>
>
>
> 2016-04-03 18:43 GMT+02:00 Carlos Santana <cs...@gmail.com>:
>
> > Simon I like approach
> > Can we move to this approach now? Yes Then once the downstream 
> > distro's support API 23 and the new API methods in CordovaInterface 
> > we can move this into Cordova Android proper? Yes
> >
> > +1
> >
> > On Thu, Mar 31, 2016 at 6:38 PM Joe Bowser <bo...@gmail.com> wrote:
> >
> > > LGTM!
> > >
> > > On Thu, Mar 31, 2016 at 3:02 PM, Simon MacDonald < 
> > > simon.macdonald@gmail.com>
> > > wrote:
> > >
> > > > I really hate the fact we need to add that 
> > > > https://na01.safelinks.protection.outlook.com/?url=PermissionHel
> > > > per.java&data=01%7c01%7criknoll%40microsoft.com%7c6d4d4a706f454d
> > > > a19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=
> > > > KXea2ILjY6Ja2Qr4XF%2b8FoLrOpCRvinHQIaqi%2faMSXw%3d file
> > to
> > > > each and every plugin that requires API 23 permission support.
> > Especially
> > > > since the package the class is in is different for each plugin 
> > > > so we
> > can
> > > > two, three or more copies of the same code in an app. That's 
> > > > just
> > > wasteful.
> > > >
> > > > Joe responded to my bitching by saying "Maybe we should create a 
> > > > permissions plugin for this and make everything go through that"
> which
> > > set
> > > > my mind a racing (perhaps I was just over caffeinated) and I 
> > > > decided
> to
> > > > prototype it this afternoon.
> > > >
> > > > I've created a new plugin called cordova-plugin-compat over at 
> > > > https://github.com/macdonst/cordova-plugin-compat  and all it 
> > > > does
> is
> > > > deliver the org.apache.cordova.PermissionHelper class. I then 
> > > > turned
> > > around
> > > > and removed the class from the camera plugin and make
> > > cordova-plugin-camera
> > > > depend on cordova-plugin-compat.
> > > >
> > > > You can see that change over on my camera fork:
> > > >
> > > > https://github.com/macdonst
> > > >
> /cordova-plugin-camera/commit/58b72cb5c3109481df9f337ad97607858681b37e
> > > >
> > > > Can we move to this approach now? Then once the downstream 
> > > > distro's
> > > support
> > > > API 23 and the new API methods in CordovaInterface we can move 
> > > > this
> > into
> > > > Cordova Android proper?
> > > >
> > > > Thoughts? Are there use cases this approach doesn't work for?
> > > >
> > > >
> > > > Simon Mac Donald
> > > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2f
> > > > hi.im%2fsimonmacdonald&data=01%7c01%7criknoll%40microsoft.com%7c
> > > > 6d4d4a706f454da19d7f08d35bf5d1e8%7c72f988bf86f141af91ab2d7cd011d
> > > > b47%7c1&sdata=yGziFs1bd1KAZjUEloAiJ07c9EipxtrtSYxU8e5oO7M%3d
> > > >
> > > > On Fri, Feb 5, 2016 at 2:32 PM, Richard Knoll 
> > > > <riknoll@microsoft.com
> >
> > > > wrote:
> > > >
> > > > > Yep, I left it out of the first round by mistake; I was 
> > > > > looking at
> an
> > > out
> > > > > of date version of cordova-plugin-media at the time. I've got 
> > > > > a PR
> > open
> > > > > that adds the helper here:
> > > > >
> > > > > https://github.com/apache/cordova-plugin-media/pull/79
> > > > >
> > > > > Thanks,
> > > > > Richard
> > > > >
> > > > > -----Original Message-----
> > > > > From: julio cesar sanchez [mailto:jcesarmobile@gmail.com]
> > > > > Sent: Friday, February 5, 2016 7:20 AM
> > > > > To: dev@cordova.apache.org
> > > > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > > > >
> > > > > Yeah, that one.
> > > > >
> > > > >
> > > > > El viernes, 5 de febrero de 2016, Homer, Tony <
> tony.homer@intel.com>
> > > > > escribió:
> > > > >
> > > > > > It took me a while to find it, but I guess you mean CB-10455?
> > > > > >
> > > > > >
> > > > > >
> > > > > > On 2/5/16, 7:56 AM, "julio cesar sanchez" <
> jcesarmobile@gmail.com
> > > > > > <javascript:;>> wrote:
> > > > > >
> > > > > > >I think we just forgot, somebody mentioned this on slack 
> > > > > > >and
> there
> > > is
> > > > > > >an issue open on JIRA.
> > > > > > >
> > > > > > >2016-02-05 13:52 GMT+01:00 Homer, Tony 
> > > > > > ><tony.homer@intel.com
> > > > > > <javascript:;>>:
> > > > > > >
> > > > > > >> Earlier in this thread, Richard stated:
> > > > > > >> >> This change has been merged into the file, camera,
> > geolocation,
> > > > > > >> >> and
> > > > > > >> contacts plugins (media did not actually require any change).
> > > > > > >>
> > > > > > >>
> > > > > > >> Media was updated on 1/15 but it still has a 
> > > > > > >> "cordova-android
> > > > > > >=5.0.0-dev"
> > > > > > >> engine tag.
> > > > > > >> I couldn't find any other discussion about this on the 
> > > > > > >> list
> and
> > > > > > >> wondered why it was retained for media.
> > > > > > >> Was this an oversight?
> > > > > > >>
> > > > > > >>
> > > > > > >> Thanks!
> > > > > > >> Tony
> > > > > > >>
> > > > > > >>
> > > > > > >>
> > > > > > >>
> > > > > > >> On 1/15/16, 4:40 PM, "Simon MacDonald" <
> > simon.macdonald@gmail.com
> > > > > > <javascript:;>> wrote:
> > > > > > >>
> > > > > > >> >LGTM
> > > > > > >> >
> > > > > > >> >+1
> > > > > > >> >
> > > > > > >> >Simon Mac Donald
> > > > > > >> >
> > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi
> > > > > > >>
> > > >.im%2fsimonmacdonald&data=01%7c01%7cRIKNOLL%40exchange.microsoft.
> > > >c
> > > > > > >>
> > > >om%7cacc2d663ce574637d10908d32e3fd62d%7c72f988bf86f141af91ab2d7cd
> > > >0
> > > > > > >>
> > >11db47%7c1&sdata=wCGbmJR3ZKj6lABfwOcjoLypjztI9HNX8%2bak6AhuBqY%3d
> > > > > > >> >
> > > > > > >> >On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <
> bowserj@gmail.com
> > > > > > <javascript:;>> wrote:
> > > > > > >> >
> > > > > > >> >> Sorry, wrong PR:
> > > > > > >> >>
> > https://github.com/apache/cordova-plugin-inappbrowser/pull/136
> > > > > > >> >>
> > > > > > >> >> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <
> > > bowserj@gmail.com
> > > > > > <javascript:;>> wrote:
> > > > > > >> >>
> > > > > > >> >> > So, what does the timeline look like for a Plugins
> release.
> > > I
> > > > > > >> >> > just
> > > > > > >> did a
> > > > > > >> >> > major change in the InAppBrowser to fix tel: and sms:
> URIs
> > so
> > > > > > >> >> > they
> > > > > > do
> > > > > > >> >> > stuff, and it'd be cool if this also made if this 
> > > > > > >> >> > got
> > looked
> > > > > > >> >> > over
> > > > > > and
> > > > > > >> >> > landed before the next release.
> > > > > > >> >> >
> > > > > > >> >> >
> > > https://github.com/apache/cordova-plugin-inappbrowser/pull/135
> > > > > > >> >> >
> > > > > > >> >> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana <
> > > > > > csantana23@gmail.com <javascript:;>
> > > > > > >> >
> > > > > > >> >> > wrote:
> > > > > > >> >> >
> > > > > > >> >> >> I agree with final compromise, I also had a 
> > > > > > >> >> >> discussion
> > with
> > > > > > >> >> >> Nikhil
> > > > > > >> >> during
> > > > > > >> >> >> holiday break offline and understood the situation, 
> > > > > > >> >> >> some
> > 3rd
> > > > > > >> >> >> party
> > > > > > >> >> plugins
> > > > > > >> >> >> are not open source and customers/devs don't move 
> > > > > > >> >> >> as
> fast
> > as
> > > > > > >> >> >> we
> > > > > > wish,
> > > > > > >> >> but
> > > > > > >> >> >> having a CLI 6 with latest plugins being backwards
> > > compatible
> > > > > > >> >> >> with
> > > > > > >> lower
> > > > > > >> >> >> Android API is good base for developers to start
> > upgrading.
> > > > > > >> >> >>
> > > > > > >> >> >>
> > > > > > >> >> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <
> > > > > > stevengill97@gmail.com <javascript:;>>
> > > > > > >> >> >> wrote:
> > > > > > >> >> >>
> > > > > > >> >> >> > Awesome! I'll kick up a discuss thread
> > > > > > >> >> >> >
> > > > > > >> >> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard Knoll <
> > > > > > >> riknoll@microsoft.com <javascript:;>
> > > > > > >> >> >
> > > > > > >> >> >> > wrote:
> > > > > > >> >> >> >
> > > > > > >> >> >> > > Hey all,
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > This change has been merged into the file, 
> > > > > > >> >> >> > > camera,
> > > > > > geolocation,
> > > > > > >> and
> > > > > > >> >> >> > > contacts plugins (media did not actually 
> > > > > > >> >> >> > > require any
> > > > > change).
> > > > > > I
> > > > > > >> was
> > > > > > >> >> >> able
> > > > > > >> >> >> > to
> > > > > > >> >> >> > > build and run mobilespec on cordova-android 
> > > > > > >> >> >> > > 4.0.0
> and
> > > > > > >> >> >> cordova-android's
> > > > > > >> >> >> > > master. We should probably push for a plugins
> release
> > > > > > >> >> >> > > soon,
> > > > > > since
> > > > > > >> >> >> there
> > > > > > >> >> >> > are
> > > > > > >> >> >> > > also some major bug fixes to the contacts and 
> > > > > > >> >> >> > > camera plugins
> > > > > > that
> > > > > > >> >> were
> > > > > > >> >> >> > > recently pushed.
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > Thanks,
> > > > > > >> >> >> > > Richard
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > -----Original Message-----
> > > > > > >> >> >> > > From: Nikhil Khandelwal [mailto:
> > nikhilkh@microsoft.com
> > > > > > <javascript:;>]
> > > > > > >> >> >> > > Sent: Friday, January 8, 2016 12:12 PM
> > > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > > > > > >> >> >> > > Subject: RE: [DISCUSS] Core Plugins and Android 
> > > > > > >> >> >> > > API
> 23
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > We had a good discussion about this offline 
> > > > > > >> >> >> > > with
> Joe,
> > > > > > >> >> >> > > Simon,
> > > > > > >> Steve,
> > > > > > >> >> >> > Jesse,
> > > > > > >> >> >> > > Parashu and Jason. We came to the following
> agreement:
> > > > > > >> >> >> > > This is a temporary fix to the plugins which we 
> > > > > > >> >> >> > > need
> > to
> > > > > > >> >> >> > > take
> > > > > > to
> > > > > > >> >> ensure
> > > > > > >> >> >> > > Cordova 5.x tools behavior of using the edge 
> > > > > > >> >> >> > > plugins
> > > does
> > > > > > >> >> >> > > not
> > > > > > >> break
> > > > > > >> >> >> for
> > > > > > >> >> >> > our
> > > > > > >> >> >> > > users. We will pursue the change for all the
> affected
> > > > > plugins.
> > > > > > >> This
> > > > > > >> >> >> will
> > > > > > >> >> >> > go
> > > > > > >> >> >> > > out in the next PLUGINS release which will 
> > > > > > >> >> >> > > happen
> > before
> > > > > > >> >> >> > > the
> > > > > > >> Cordova
> > > > > > >> >> >> 6.0
> > > > > > >> >> >> > > release. Since this a temporary fix, we aim to
> remove
> > it
> > > > > > >> >> >> > > in 6
> > > > > > >> months
> > > > > > >> >> >> > > (giving reasonable time for our user base to 
> > > > > > >> >> >> > > move to Cordova
> > > > > > 6.x+
> > > > > > >> >> >> which
> > > > > > >> >> >> > > will have a better plugin version pinning
> mechanism).
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > Thanks,
> > > > > > >> >> >> > > Nikhil
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > -----Original Message-----
> > > > > > >> >> >> > > From: Simon MacDonald [mailto:
> > simon.macdonald@gmail.com
> > > > > > <javascript:;>]
> > > > > > >> >> >> > > Sent: Thursday, January 7, 2016 4:00 PM
> > > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > > > > > >> >> >> > > Subject: Re: [DISCUSS] Core Plugins and Android 
> > > > > > >> >> >> > > API
> 23
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > I'm going to play devils advocate a bit here:
> > > > > > >> >> >> > >
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > > There are valid reasons why many app 
> > > > > > >> >> >> > > > developers
> > might
> > > > > > >> >> >> > > > not be
> > > > > > >> ready
> > > > > > >> >> >> to
> > > > > > >> >> >> > > > move to API level 23:
> > > > > > >> >> >> > > >   1) They have an app which is stabilizing or 
> > > > > > >> >> >> > > > in maintenance
> > > > > > >> mode
> > > > > > >> >> >> and
> > > > > > >> >> >> > > > they don't want to risk destabilization by 
> > > > > > >> >> >> > > > moving
> > to a
> > > > > > >> >> >> > > > new
> > > > > > >> major
> > > > > > >> >> >> > > > Cordova version, Cordova Android platform, 
> > > > > > >> >> >> > > > and
> > Android
> > > > > > >> >> >> > > > API
> > > > > > >> level.
> > > > > > >> >> >> > > >
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > If the developer is not ready to move to a new
> version
> > > of
> > > > > > Cordova
> > > > > > >> >> >> Android
> > > > > > >> >> >> > > or the Android API would it not also follow 
> > > > > > >> >> >> > > that
> they
> > > > > > shouldn't
> > > > > > >> be
> > > > > > >> >> >> > changing
> > > > > > >> >> >> > > their plugin versions?
> > > > > > >> >> >> > >
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > >   2) They are using a 3rd-party plugin which 
> > > > > > >> >> >> > > > has
> not
> > > > > > >> >> >> > > > yet
> > > > > > been
> > > > > > >> >> >> updated
> > > > > > >> >> >> > > > to request Android permissions as required by 
> > > > > > >> >> >> > > > API
> > > level
> > > > > 23.
> > > > > > >> There
> > > > > > >> >> >> are
> > > > > > >> >> >> > > > probably a lot of plugins affected, since 
> > > > > > >> >> >> > > > access
> to
> > > any
> > > > > > >> >> >> > > > of
> > > > > > the
> > > > > > >> >> >> > > > following things on Android M requires 
> > > > > > >> >> >> > > > runtime permission
> > > > > > >> >> requests:
> > > > > > >> >> >> > > > calendar, contacts, phone, camera, 
> > > > > > >> >> >> > > > microphone, location,
> > > > > > >> beacons,
> > > > > > >> >> >> > > sensors, SMS, storage.
> > > > > > >> >> >> > > >
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > Right, so if the 3rd party plugin they are 
> > > > > > >> >> >> > > using
> > doesn't
> > > > > > support
> > > > > > >> >> >> Android
> > > > > > >> >> >> > M
> > > > > > >> >> >> > > they should either a) not upgrade or b) send a 
> > > > > > >> >> >> > > PR to
> > the
> > > > > > plugin
> > > > > > >> >> >> > maintainer
> > > > > > >> >> >> > > so everyone can benefit.
> > > > > > >> >> >> > >
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > >   3) They might not have the capacity or 
> > > > > > >> >> >> > > > ability
> to
> > > > > > >> >> >> > > > test
> > > > > > their
> > > > > > >> app
> > > > > > >> >> >> on
> > > > > > >> >> >> > > > devices running Android M. Because API 23 
> > > > > > >> >> >> > > > enables
> > the
> > > > > > >> >> >> > > > new
> > > > > > >> >> >> permissions
> > > > > > >> >> >> > > > model only on Android M, it requires testing 
> > > > > > >> >> >> > > > on
> that
> > > > > > platform.
> > > > > > >> >> >> > > >
> > > > > > >> >> >> > > >
> > > > > > >> >> >> > > Everyone has access to the Android emulator.
> > > > > > >> >> >> > >
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > > In any of the above cases, developers might 
> > > > > > >> >> >> > > > still
> > like
> > > > > > >> >> >> > > > to
> > > > > > >> benefit
> > > > > > >> >> >> from
> > > > > > >> >> >> > > > some of the major bug fixes in those 5 
> > > > > > >> >> >> > > > popular
> core
> > > > > > >> >> >> > > > plugins
> > > > > > >> >> >> mentioned
> > > > > > >> >> >> > > > below. Or even if they weren't specifically
> looking
> > > for
> > > > > > >> >> >> > > > bug
> > > > > > >> fixes,
> > > > > > >> >> >> it
> > > > > > >> >> >> > > > would be a much better experience if adding 
> > > > > > >> >> >> > > > or
> > > updating
> > > > > > >> >> >> > > > one
> > > > > > of
> > > > > > >> >> those
> > > > > > >> >> >> > > > plugins would just work, rather than failing 
> > > > > > >> >> >> > > > on Android. The explanation for the failure 
> > > > > > >> >> >> > > > will not
> be
> > > > > > >> >> >> > > > obvious to many
> > > > > > users,
> > > > > > >> if
> > > > > > >> >> >> they
> > > > > > >> >> >> > > > overlooked the warning when installing the 
> > > > > > >> >> >> > > > plugin
> or
> > > if
> > > > > > >> >> >> > > > they
> > > > > > >> were
> > > > > > >> >> >> > > > using another tool to add the plugin where 
> > > > > > >> >> >> > > > the
> > warning
> > > > > > wasn't
> > > > > > >> >> >> surfaced.
> > > > > > >> >> >> > > >
> > > > > > >> >> >> > >
> > > > > > >> >> >> > >  Seems like you are describing a tooling 
> > > > > > >> >> >> > > problem
> here.
> > > If
> > > > > > >> >> >> > > the
> > > > > > >> tool
> > > > > > >> >> >> > doesn't
> > > > > > >> >> >> > > surface the warning or allows the user to add a
> plugin
> > > > > > >> >> >> > > that is
> > > > > > >> >> >> > incompatible
> > > > > > >> >> >> > > with the version of Cordova Android that is 
> > > > > > >> >> >> > > being
> used
> > > > > > >> >> >> > > really
> > > > > > >> sounds
> > > > > > >> >> >> > like a
> > > > > > >> >> >> > > bug in the tooling to me.
> > > > > > >> >> >> > >
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > > Of course developers should be encouraged to
> upgrade
> > > to
> > > > > > >> >> >> > > > the
> > > > > > >> latest
> > > > > > >> >> >> > > > most secure highest-quality version of Cordova.
> But
> > > the
> > > > > > >> >> >> encouragement
> > > > > > >> >> >> > > > does not need to be so forceful. This 
> > > > > > >> >> >> > > > proposed
> > change
> > > > > > >> >> >> > > > gives
> > > > > > >> >> >> developers
> > > > > > >> >> >> > > > more time to upgrade, and allows for more 
> > > > > > >> >> >> > > > choice
> > about
> > > > > > >> >> >> > > > when
> > > > > > to
> > > > > > >> >> >> upgrade
> > > > > > >> >> >> > > > individual parts
> > > > > > >> >> >> > > > (plugins) rather than limiting them to
> > all-or-nothing.
> > > > > > >> >> >> > >
> > > > > > >> >> >> > >
> > > > > > >> >> >> > >  I would argue that the developer has an 
> > > > > > >> >> >> > > infinite
> > amount
> > > > > > >> >> >> > > of
> > > > > > time
> > > > > > >> to
> > > > > > >> >> >> > > upgrade. Nothing is forcing you to upgrade to 
> > > > > > >> >> >> > > the
> > latest
> > > > > > Cordova
> > > > > > >> >> >> Android
> > > > > > >> >> >> > or
> > > > > > >> >> >> > > Android API. They can continue to use the same
> version
> > > of
> > > > > > Cordova
> > > > > > >> >> >> Android
> > > > > > >> >> >> > > and plugins that are currently working in their app.
> > If
> > > > > > >> >> >> > > the
> > > > > > >> >> developer
> > > > > > >> >> >> is
> > > > > > >> >> >> > > using semver properly and we do our job right 
> > > > > > >> >> >> > > they shouldn't
> > > > > > >> pick up
> > > > > > >> >> >> > > breaking changes. For instance, if the API of a
> plugin
> > > > > > changes we
> > > > > > >> >> bump
> > > > > > >> >> >> > the
> > > > > > >> >> >> > > major version of the plugin so users who setup 
> > > > > > >> >> >> > > their
> > > > > > config.xml
> > > > > > >> to
> > > > > > >> >> >> use:
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > <plugin name="cordova-plugin-camera" spec="^1.1.0"
> />
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > will effectively prevent the user from picking 
> > > > > > >> >> >> > > up
> the
> > > > > > >> >> >> > > breaking
> > > > > > >> >> change
> > > > > > >> >> >> in
> > > > > > >> >> >> > > camera version 2.0.0.
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > Simon Mac Donald
> > > > > > >> >> >> > >
> > > > > > >> >> >> > >
> > > > > > >> >> >> >
> > > > > > >> >> >>
> > > > > > >> >>
> > > > > > >>
> > > > > >
> > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi
> > > .im%
> > > > > > 2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com
> > > %7c84fb6405edf
> > > > > >
> > > 74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata
> > > =B8D
> > > > > > uMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
> > > > > > >> >> >> > >  B
> > > > > > >> >> >>
> > > > > > >>
> > > KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
> > > K
> > > > > > >> KCB
> > > > > > >> >> >> > >   [  X  ܚX K  K[XZ[
> > > > > > >> >> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[    [X[
> > > > >  K[XZ[
> > > > > > >> >> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
> > > > > > >> >> >> > >
> > > > > > >> >> >> >
> > > > > > >> >> >>
> > > > > > >> >> >
> > > > > > >> >> >
> > > > > > >> >>
> > > > > > >>
> > > > > > >>
> > > ------------------------------------------------------------------
> > > -
> > > > > > >> -- To unsubscribe, e-mail: 
> > > > > > >> dev-unsubscribe@cordova.apache.org
> > > > > > <javascript:;>
> > > > > > >> For additional commands, e-mail: 
> > > > > > >> dev-help@cordova.apache.org
> > > > > > <javascript:;>
> > > > > > >>
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by Simon MacDonald <si...@gmail.com>.
Seems like we have momentum on this. So barring any negative comments from
Microsoft about this approach whom do I contact to setup a new repo on
Apache GIT?


Simon Mac Donald
http://hi.im/simonmacdonald

On Sun, Apr 3, 2016 at 2:26 PM, julio cesar sanchez <jc...@gmail.com>
wrote:

> I like it too
> A lot of 3rd party plugins are adding that classes too
>
> BTW, there is a JIRA issue to add PermissionHelper.java to cordova-android
> https://issues.apache.org/jira/browse/CB-10656
>
>
>
> 2016-04-03 18:43 GMT+02:00 Carlos Santana <cs...@gmail.com>:
>
> > Simon I like approach
> > Can we move to this approach now? Yes
> > Then once the downstream distro's support
> > API 23 and the new API methods in CordovaInterface we can move this into
> > Cordova Android proper? Yes
> >
> > +1
> >
> > On Thu, Mar 31, 2016 at 6:38 PM Joe Bowser <bo...@gmail.com> wrote:
> >
> > > LGTM!
> > >
> > > On Thu, Mar 31, 2016 at 3:02 PM, Simon MacDonald <
> > > simon.macdonald@gmail.com>
> > > wrote:
> > >
> > > > I really hate the fact we need to add that PermissionHelper.java file
> > to
> > > > each and every plugin that requires API 23 permission support.
> > Especially
> > > > since the package the class is in is different for each plugin so we
> > can
> > > > two, three or more copies of the same code in an app. That's just
> > > wasteful.
> > > >
> > > > Joe responded to my bitching by saying "Maybe we should create a
> > > > permissions plugin for this and make everything go through that"
> which
> > > set
> > > > my mind a racing (perhaps I was just over caffeinated) and I decided
> to
> > > > prototype it this afternoon.
> > > >
> > > > I've created a new plugin called cordova-plugin-compat over at
> > > > https://github.com/macdonst/cordova-plugin-compat  and all it does
> is
> > > > deliver the org.apache.cordova.PermissionHelper class. I then turned
> > > around
> > > > and removed the class from the camera plugin and make
> > > cordova-plugin-camera
> > > > depend on cordova-plugin-compat.
> > > >
> > > > You can see that change over on my camera fork:
> > > >
> > > > https://github.com/macdonst
> > > >
> /cordova-plugin-camera/commit/58b72cb5c3109481df9f337ad97607858681b37e
> > > >
> > > > Can we move to this approach now? Then once the downstream distro's
> > > support
> > > > API 23 and the new API methods in CordovaInterface we can move this
> > into
> > > > Cordova Android proper?
> > > >
> > > > Thoughts? Are there use cases this approach doesn't work for?
> > > >
> > > >
> > > > Simon Mac Donald
> > > > http://hi.im/simonmacdonald
> > > >
> > > > On Fri, Feb 5, 2016 at 2:32 PM, Richard Knoll <riknoll@microsoft.com
> >
> > > > wrote:
> > > >
> > > > > Yep, I left it out of the first round by mistake; I was looking at
> an
> > > out
> > > > > of date version of cordova-plugin-media at the time. I've got a PR
> > open
> > > > > that adds the helper here:
> > > > >
> > > > > https://github.com/apache/cordova-plugin-media/pull/79
> > > > >
> > > > > Thanks,
> > > > > Richard
> > > > >
> > > > > -----Original Message-----
> > > > > From: julio cesar sanchez [mailto:jcesarmobile@gmail.com]
> > > > > Sent: Friday, February 5, 2016 7:20 AM
> > > > > To: dev@cordova.apache.org
> > > > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > > > >
> > > > > Yeah, that one.
> > > > >
> > > > >
> > > > > El viernes, 5 de febrero de 2016, Homer, Tony <
> tony.homer@intel.com>
> > > > > escribió:
> > > > >
> > > > > > It took me a while to find it, but I guess you mean CB-10455?
> > > > > >
> > > > > >
> > > > > >
> > > > > > On 2/5/16, 7:56 AM, "julio cesar sanchez" <
> jcesarmobile@gmail.com
> > > > > > <javascript:;>> wrote:
> > > > > >
> > > > > > >I think we just forgot, somebody mentioned this on slack and
> there
> > > is
> > > > > > >an issue open on JIRA.
> > > > > > >
> > > > > > >2016-02-05 13:52 GMT+01:00 Homer, Tony <tony.homer@intel.com
> > > > > > <javascript:;>>:
> > > > > > >
> > > > > > >> Earlier in this thread, Richard stated:
> > > > > > >> >> This change has been merged into the file, camera,
> > geolocation,
> > > > > > >> >> and
> > > > > > >> contacts plugins (media did not actually require any change).
> > > > > > >>
> > > > > > >>
> > > > > > >> Media was updated on 1/15 but it still has a "cordova-android
> > > > > > >=5.0.0-dev"
> > > > > > >> engine tag.
> > > > > > >> I couldn't find any other discussion about this on the list
> and
> > > > > > >> wondered why it was retained for media.
> > > > > > >> Was this an oversight?
> > > > > > >>
> > > > > > >>
> > > > > > >> Thanks!
> > > > > > >> Tony
> > > > > > >>
> > > > > > >>
> > > > > > >>
> > > > > > >>
> > > > > > >> On 1/15/16, 4:40 PM, "Simon MacDonald" <
> > simon.macdonald@gmail.com
> > > > > > <javascript:;>> wrote:
> > > > > > >>
> > > > > > >> >LGTM
> > > > > > >> >
> > > > > > >> >+1
> > > > > > >> >
> > > > > > >> >Simon Mac Donald
> > > > > > >> >
> > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi
> > > > > > >>
> > > >.im%2fsimonmacdonald&data=01%7c01%7cRIKNOLL%40exchange.microsoft.c
> > > > > > >>
> > > >om%7cacc2d663ce574637d10908d32e3fd62d%7c72f988bf86f141af91ab2d7cd0
> > > > > > >>
> > >11db47%7c1&sdata=wCGbmJR3ZKj6lABfwOcjoLypjztI9HNX8%2bak6AhuBqY%3d
> > > > > > >> >
> > > > > > >> >On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <
> bowserj@gmail.com
> > > > > > <javascript:;>> wrote:
> > > > > > >> >
> > > > > > >> >> Sorry, wrong PR:
> > > > > > >> >>
> > https://github.com/apache/cordova-plugin-inappbrowser/pull/136
> > > > > > >> >>
> > > > > > >> >> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <
> > > bowserj@gmail.com
> > > > > > <javascript:;>> wrote:
> > > > > > >> >>
> > > > > > >> >> > So, what does the timeline look like for a Plugins
> release.
> > > I
> > > > > > >> >> > just
> > > > > > >> did a
> > > > > > >> >> > major change in the InAppBrowser to fix tel: and sms:
> URIs
> > so
> > > > > > >> >> > they
> > > > > > do
> > > > > > >> >> > stuff, and it'd be cool if this also made if this got
> > looked
> > > > > > >> >> > over
> > > > > > and
> > > > > > >> >> > landed before the next release.
> > > > > > >> >> >
> > > > > > >> >> >
> > > https://github.com/apache/cordova-plugin-inappbrowser/pull/135
> > > > > > >> >> >
> > > > > > >> >> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana <
> > > > > > csantana23@gmail.com <javascript:;>
> > > > > > >> >
> > > > > > >> >> > wrote:
> > > > > > >> >> >
> > > > > > >> >> >> I agree with final compromise, I also had a discussion
> > with
> > > > > > >> >> >> Nikhil
> > > > > > >> >> during
> > > > > > >> >> >> holiday break offline and understood the situation, some
> > 3rd
> > > > > > >> >> >> party
> > > > > > >> >> plugins
> > > > > > >> >> >> are not open source and customers/devs don't move as
> fast
> > as
> > > > > > >> >> >> we
> > > > > > wish,
> > > > > > >> >> but
> > > > > > >> >> >> having a CLI 6 with latest plugins being backwards
> > > compatible
> > > > > > >> >> >> with
> > > > > > >> lower
> > > > > > >> >> >> Android API is good base for developers to start
> > upgrading.
> > > > > > >> >> >>
> > > > > > >> >> >>
> > > > > > >> >> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <
> > > > > > stevengill97@gmail.com <javascript:;>>
> > > > > > >> >> >> wrote:
> > > > > > >> >> >>
> > > > > > >> >> >> > Awesome! I'll kick up a discuss thread
> > > > > > >> >> >> >
> > > > > > >> >> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard Knoll <
> > > > > > >> riknoll@microsoft.com <javascript:;>
> > > > > > >> >> >
> > > > > > >> >> >> > wrote:
> > > > > > >> >> >> >
> > > > > > >> >> >> > > Hey all,
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > This change has been merged into the file, camera,
> > > > > > geolocation,
> > > > > > >> and
> > > > > > >> >> >> > > contacts plugins (media did not actually require any
> > > > > change).
> > > > > > I
> > > > > > >> was
> > > > > > >> >> >> able
> > > > > > >> >> >> > to
> > > > > > >> >> >> > > build and run mobilespec on cordova-android 4.0.0
> and
> > > > > > >> >> >> cordova-android's
> > > > > > >> >> >> > > master. We should probably push for a plugins
> release
> > > > > > >> >> >> > > soon,
> > > > > > since
> > > > > > >> >> >> there
> > > > > > >> >> >> > are
> > > > > > >> >> >> > > also some major bug fixes to the contacts and camera
> > > > > > >> >> >> > > plugins
> > > > > > that
> > > > > > >> >> were
> > > > > > >> >> >> > > recently pushed.
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > Thanks,
> > > > > > >> >> >> > > Richard
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > -----Original Message-----
> > > > > > >> >> >> > > From: Nikhil Khandelwal [mailto:
> > nikhilkh@microsoft.com
> > > > > > <javascript:;>]
> > > > > > >> >> >> > > Sent: Friday, January 8, 2016 12:12 PM
> > > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > > > > > >> >> >> > > Subject: RE: [DISCUSS] Core Plugins and Android API
> 23
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > We had a good discussion about this offline with
> Joe,
> > > > > > >> >> >> > > Simon,
> > > > > > >> Steve,
> > > > > > >> >> >> > Jesse,
> > > > > > >> >> >> > > Parashu and Jason. We came to the following
> agreement:
> > > > > > >> >> >> > > This is a temporary fix to the plugins which we need
> > to
> > > > > > >> >> >> > > take
> > > > > > to
> > > > > > >> >> ensure
> > > > > > >> >> >> > > Cordova 5.x tools behavior of using the edge plugins
> > > does
> > > > > > >> >> >> > > not
> > > > > > >> break
> > > > > > >> >> >> for
> > > > > > >> >> >> > our
> > > > > > >> >> >> > > users. We will pursue the change for all the
> affected
> > > > > plugins.
> > > > > > >> This
> > > > > > >> >> >> will
> > > > > > >> >> >> > go
> > > > > > >> >> >> > > out in the next PLUGINS release which will happen
> > before
> > > > > > >> >> >> > > the
> > > > > > >> Cordova
> > > > > > >> >> >> 6.0
> > > > > > >> >> >> > > release. Since this a temporary fix, we aim to
> remove
> > it
> > > > > > >> >> >> > > in 6
> > > > > > >> months
> > > > > > >> >> >> > > (giving reasonable time for our user base to move to
> > > > > > >> >> >> > > Cordova
> > > > > > 6.x+
> > > > > > >> >> >> which
> > > > > > >> >> >> > > will have a better plugin version pinning
> mechanism).
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > Thanks,
> > > > > > >> >> >> > > Nikhil
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > -----Original Message-----
> > > > > > >> >> >> > > From: Simon MacDonald [mailto:
> > simon.macdonald@gmail.com
> > > > > > <javascript:;>]
> > > > > > >> >> >> > > Sent: Thursday, January 7, 2016 4:00 PM
> > > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > > > > > >> >> >> > > Subject: Re: [DISCUSS] Core Plugins and Android API
> 23
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > I'm going to play devils advocate a bit here:
> > > > > > >> >> >> > >
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > > There are valid reasons why many app developers
> > might
> > > > > > >> >> >> > > > not be
> > > > > > >> ready
> > > > > > >> >> >> to
> > > > > > >> >> >> > > > move to API level 23:
> > > > > > >> >> >> > > >   1) They have an app which is stabilizing or in
> > > > > > >> >> >> > > > maintenance
> > > > > > >> mode
> > > > > > >> >> >> and
> > > > > > >> >> >> > > > they don't want to risk destabilization by moving
> > to a
> > > > > > >> >> >> > > > new
> > > > > > >> major
> > > > > > >> >> >> > > > Cordova version, Cordova Android platform, and
> > Android
> > > > > > >> >> >> > > > API
> > > > > > >> level.
> > > > > > >> >> >> > > >
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > If the developer is not ready to move to a new
> version
> > > of
> > > > > > Cordova
> > > > > > >> >> >> Android
> > > > > > >> >> >> > > or the Android API would it not also follow that
> they
> > > > > > shouldn't
> > > > > > >> be
> > > > > > >> >> >> > changing
> > > > > > >> >> >> > > their plugin versions?
> > > > > > >> >> >> > >
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > >   2) They are using a 3rd-party plugin which has
> not
> > > > > > >> >> >> > > > yet
> > > > > > been
> > > > > > >> >> >> updated
> > > > > > >> >> >> > > > to request Android permissions as required by API
> > > level
> > > > > 23.
> > > > > > >> There
> > > > > > >> >> >> are
> > > > > > >> >> >> > > > probably a lot of plugins affected, since access
> to
> > > any
> > > > > > >> >> >> > > > of
> > > > > > the
> > > > > > >> >> >> > > > following things on Android M requires runtime
> > > > > > >> >> >> > > > permission
> > > > > > >> >> requests:
> > > > > > >> >> >> > > > calendar, contacts, phone, camera, microphone,
> > > > > > >> >> >> > > > location,
> > > > > > >> beacons,
> > > > > > >> >> >> > > sensors, SMS, storage.
> > > > > > >> >> >> > > >
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > Right, so if the 3rd party plugin they are using
> > doesn't
> > > > > > support
> > > > > > >> >> >> Android
> > > > > > >> >> >> > M
> > > > > > >> >> >> > > they should either a) not upgrade or b) send a PR to
> > the
> > > > > > plugin
> > > > > > >> >> >> > maintainer
> > > > > > >> >> >> > > so everyone can benefit.
> > > > > > >> >> >> > >
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > >   3) They might not have the capacity or ability
> to
> > > > > > >> >> >> > > > test
> > > > > > their
> > > > > > >> app
> > > > > > >> >> >> on
> > > > > > >> >> >> > > > devices running Android M. Because API 23 enables
> > the
> > > > > > >> >> >> > > > new
> > > > > > >> >> >> permissions
> > > > > > >> >> >> > > > model only on Android M, it requires testing on
> that
> > > > > > platform.
> > > > > > >> >> >> > > >
> > > > > > >> >> >> > > >
> > > > > > >> >> >> > > Everyone has access to the Android emulator.
> > > > > > >> >> >> > >
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > > In any of the above cases, developers might still
> > like
> > > > > > >> >> >> > > > to
> > > > > > >> benefit
> > > > > > >> >> >> from
> > > > > > >> >> >> > > > some of the major bug fixes in those 5 popular
> core
> > > > > > >> >> >> > > > plugins
> > > > > > >> >> >> mentioned
> > > > > > >> >> >> > > > below. Or even if they weren't specifically
> looking
> > > for
> > > > > > >> >> >> > > > bug
> > > > > > >> fixes,
> > > > > > >> >> >> it
> > > > > > >> >> >> > > > would be a much better experience if adding or
> > > updating
> > > > > > >> >> >> > > > one
> > > > > > of
> > > > > > >> >> those
> > > > > > >> >> >> > > > plugins would just work, rather than failing on
> > > > > > >> >> >> > > > Android. The explanation for the failure will not
> be
> > > > > > >> >> >> > > > obvious to many
> > > > > > users,
> > > > > > >> if
> > > > > > >> >> >> they
> > > > > > >> >> >> > > > overlooked the warning when installing the plugin
> or
> > > if
> > > > > > >> >> >> > > > they
> > > > > > >> were
> > > > > > >> >> >> > > > using another tool to add the plugin where the
> > warning
> > > > > > wasn't
> > > > > > >> >> >> surfaced.
> > > > > > >> >> >> > > >
> > > > > > >> >> >> > >
> > > > > > >> >> >> > >  Seems like you are describing a tooling problem
> here.
> > > If
> > > > > > >> >> >> > > the
> > > > > > >> tool
> > > > > > >> >> >> > doesn't
> > > > > > >> >> >> > > surface the warning or allows the user to add a
> plugin
> > > > > > >> >> >> > > that is
> > > > > > >> >> >> > incompatible
> > > > > > >> >> >> > > with the version of Cordova Android that is being
> used
> > > > > > >> >> >> > > really
> > > > > > >> sounds
> > > > > > >> >> >> > like a
> > > > > > >> >> >> > > bug in the tooling to me.
> > > > > > >> >> >> > >
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > > Of course developers should be encouraged to
> upgrade
> > > to
> > > > > > >> >> >> > > > the
> > > > > > >> latest
> > > > > > >> >> >> > > > most secure highest-quality version of Cordova.
> But
> > > the
> > > > > > >> >> >> encouragement
> > > > > > >> >> >> > > > does not need to be so forceful. This proposed
> > change
> > > > > > >> >> >> > > > gives
> > > > > > >> >> >> developers
> > > > > > >> >> >> > > > more time to upgrade, and allows for more choice
> > about
> > > > > > >> >> >> > > > when
> > > > > > to
> > > > > > >> >> >> upgrade
> > > > > > >> >> >> > > > individual parts
> > > > > > >> >> >> > > > (plugins) rather than limiting them to
> > all-or-nothing.
> > > > > > >> >> >> > >
> > > > > > >> >> >> > >
> > > > > > >> >> >> > >  I would argue that the developer has an infinite
> > amount
> > > > > > >> >> >> > > of
> > > > > > time
> > > > > > >> to
> > > > > > >> >> >> > > upgrade. Nothing is forcing you to upgrade to the
> > latest
> > > > > > Cordova
> > > > > > >> >> >> Android
> > > > > > >> >> >> > or
> > > > > > >> >> >> > > Android API. They can continue to use the same
> version
> > > of
> > > > > > Cordova
> > > > > > >> >> >> Android
> > > > > > >> >> >> > > and plugins that are currently working in their app.
> > If
> > > > > > >> >> >> > > the
> > > > > > >> >> developer
> > > > > > >> >> >> is
> > > > > > >> >> >> > > using semver properly and we do our job right they
> > > > > > >> >> >> > > shouldn't
> > > > > > >> pick up
> > > > > > >> >> >> > > breaking changes. For instance, if the API of a
> plugin
> > > > > > changes we
> > > > > > >> >> bump
> > > > > > >> >> >> > the
> > > > > > >> >> >> > > major version of the plugin so users who setup their
> > > > > > config.xml
> > > > > > >> to
> > > > > > >> >> >> use:
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > <plugin name="cordova-plugin-camera" spec="^1.1.0"
> />
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > will effectively prevent the user from picking up
> the
> > > > > > >> >> >> > > breaking
> > > > > > >> >> change
> > > > > > >> >> >> in
> > > > > > >> >> >> > > camera version 2.0.0.
> > > > > > >> >> >> > >
> > > > > > >> >> >> > > Simon Mac Donald
> > > > > > >> >> >> > >
> > > > > > >> >> >> > >
> > > > > > >> >> >> >
> > > > > > >> >> >>
> > > > > > >> >>
> > > > > > >>
> > > > > >
> > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%
> > > > > > 2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com
> > > %7c84fb6405edf
> > > > > >
> > > 74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=B8D
> > > > > > uMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
> > > > > > >> >> >> > >  B
> > > > > > >> >> >>
> > > > > > >>
> > > KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
> > > > > > >> KCB
> > > > > > >> >> >> > >   [  X  ܚX K  K[XZ[
> > > > > > >> >> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[    [X[
> > > > >  K[XZ[
> > > > > > >> >> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
> > > > > > >> >> >> > >
> > > > > > >> >> >> >
> > > > > > >> >> >>
> > > > > > >> >> >
> > > > > > >> >> >
> > > > > > >> >>
> > > > > > >>
> > > > > > >>
> > > -------------------------------------------------------------------
> > > > > > >> -- To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
> > > > > > <javascript:;>
> > > > > > >> For additional commands, e-mail: dev-help@cordova.apache.org
> > > > > > <javascript:;>
> > > > > > >>
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by julio cesar sanchez <jc...@gmail.com>.
I like it too
A lot of 3rd party plugins are adding that classes too

BTW, there is a JIRA issue to add PermissionHelper.java to cordova-android
https://issues.apache.org/jira/browse/CB-10656



2016-04-03 18:43 GMT+02:00 Carlos Santana <cs...@gmail.com>:

> Simon I like approach
> Can we move to this approach now? Yes
> Then once the downstream distro's support
> API 23 and the new API methods in CordovaInterface we can move this into
> Cordova Android proper? Yes
>
> +1
>
> On Thu, Mar 31, 2016 at 6:38 PM Joe Bowser <bo...@gmail.com> wrote:
>
> > LGTM!
> >
> > On Thu, Mar 31, 2016 at 3:02 PM, Simon MacDonald <
> > simon.macdonald@gmail.com>
> > wrote:
> >
> > > I really hate the fact we need to add that PermissionHelper.java file
> to
> > > each and every plugin that requires API 23 permission support.
> Especially
> > > since the package the class is in is different for each plugin so we
> can
> > > two, three or more copies of the same code in an app. That's just
> > wasteful.
> > >
> > > Joe responded to my bitching by saying "Maybe we should create a
> > > permissions plugin for this and make everything go through that" which
> > set
> > > my mind a racing (perhaps I was just over caffeinated) and I decided to
> > > prototype it this afternoon.
> > >
> > > I've created a new plugin called cordova-plugin-compat over at
> > > https://github.com/macdonst/cordova-plugin-compat  and all it does is
> > > deliver the org.apache.cordova.PermissionHelper class. I then turned
> > around
> > > and removed the class from the camera plugin and make
> > cordova-plugin-camera
> > > depend on cordova-plugin-compat.
> > >
> > > You can see that change over on my camera fork:
> > >
> > > https://github.com/macdonst
> > > /cordova-plugin-camera/commit/58b72cb5c3109481df9f337ad97607858681b37e
> > >
> > > Can we move to this approach now? Then once the downstream distro's
> > support
> > > API 23 and the new API methods in CordovaInterface we can move this
> into
> > > Cordova Android proper?
> > >
> > > Thoughts? Are there use cases this approach doesn't work for?
> > >
> > >
> > > Simon Mac Donald
> > > http://hi.im/simonmacdonald
> > >
> > > On Fri, Feb 5, 2016 at 2:32 PM, Richard Knoll <ri...@microsoft.com>
> > > wrote:
> > >
> > > > Yep, I left it out of the first round by mistake; I was looking at an
> > out
> > > > of date version of cordova-plugin-media at the time. I've got a PR
> open
> > > > that adds the helper here:
> > > >
> > > > https://github.com/apache/cordova-plugin-media/pull/79
> > > >
> > > > Thanks,
> > > > Richard
> > > >
> > > > -----Original Message-----
> > > > From: julio cesar sanchez [mailto:jcesarmobile@gmail.com]
> > > > Sent: Friday, February 5, 2016 7:20 AM
> > > > To: dev@cordova.apache.org
> > > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > > >
> > > > Yeah, that one.
> > > >
> > > >
> > > > El viernes, 5 de febrero de 2016, Homer, Tony <to...@intel.com>
> > > > escribió:
> > > >
> > > > > It took me a while to find it, but I guess you mean CB-10455?
> > > > >
> > > > >
> > > > >
> > > > > On 2/5/16, 7:56 AM, "julio cesar sanchez" <jcesarmobile@gmail.com
> > > > > <javascript:;>> wrote:
> > > > >
> > > > > >I think we just forgot, somebody mentioned this on slack and there
> > is
> > > > > >an issue open on JIRA.
> > > > > >
> > > > > >2016-02-05 13:52 GMT+01:00 Homer, Tony <tony.homer@intel.com
> > > > > <javascript:;>>:
> > > > > >
> > > > > >> Earlier in this thread, Richard stated:
> > > > > >> >> This change has been merged into the file, camera,
> geolocation,
> > > > > >> >> and
> > > > > >> contacts plugins (media did not actually require any change).
> > > > > >>
> > > > > >>
> > > > > >> Media was updated on 1/15 but it still has a "cordova-android
> > > > > >=5.0.0-dev"
> > > > > >> engine tag.
> > > > > >> I couldn't find any other discussion about this on the list and
> > > > > >> wondered why it was retained for media.
> > > > > >> Was this an oversight?
> > > > > >>
> > > > > >>
> > > > > >> Thanks!
> > > > > >> Tony
> > > > > >>
> > > > > >>
> > > > > >>
> > > > > >>
> > > > > >> On 1/15/16, 4:40 PM, "Simon MacDonald" <
> simon.macdonald@gmail.com
> > > > > <javascript:;>> wrote:
> > > > > >>
> > > > > >> >LGTM
> > > > > >> >
> > > > > >> >+1
> > > > > >> >
> > > > > >> >Simon Mac Donald
> > > > > >> >
> > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi
> > > > > >>
> > >.im%2fsimonmacdonald&data=01%7c01%7cRIKNOLL%40exchange.microsoft.c
> > > > > >>
> > >om%7cacc2d663ce574637d10908d32e3fd62d%7c72f988bf86f141af91ab2d7cd0
> > > > > >>
> >11db47%7c1&sdata=wCGbmJR3ZKj6lABfwOcjoLypjztI9HNX8%2bak6AhuBqY%3d
> > > > > >> >
> > > > > >> >On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <bowserj@gmail.com
> > > > > <javascript:;>> wrote:
> > > > > >> >
> > > > > >> >> Sorry, wrong PR:
> > > > > >> >>
> https://github.com/apache/cordova-plugin-inappbrowser/pull/136
> > > > > >> >>
> > > > > >> >> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <
> > bowserj@gmail.com
> > > > > <javascript:;>> wrote:
> > > > > >> >>
> > > > > >> >> > So, what does the timeline look like for a Plugins release.
> > I
> > > > > >> >> > just
> > > > > >> did a
> > > > > >> >> > major change in the InAppBrowser to fix tel: and sms: URIs
> so
> > > > > >> >> > they
> > > > > do
> > > > > >> >> > stuff, and it'd be cool if this also made if this got
> looked
> > > > > >> >> > over
> > > > > and
> > > > > >> >> > landed before the next release.
> > > > > >> >> >
> > > > > >> >> >
> > https://github.com/apache/cordova-plugin-inappbrowser/pull/135
> > > > > >> >> >
> > > > > >> >> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana <
> > > > > csantana23@gmail.com <javascript:;>
> > > > > >> >
> > > > > >> >> > wrote:
> > > > > >> >> >
> > > > > >> >> >> I agree with final compromise, I also had a discussion
> with
> > > > > >> >> >> Nikhil
> > > > > >> >> during
> > > > > >> >> >> holiday break offline and understood the situation, some
> 3rd
> > > > > >> >> >> party
> > > > > >> >> plugins
> > > > > >> >> >> are not open source and customers/devs don't move as fast
> as
> > > > > >> >> >> we
> > > > > wish,
> > > > > >> >> but
> > > > > >> >> >> having a CLI 6 with latest plugins being backwards
> > compatible
> > > > > >> >> >> with
> > > > > >> lower
> > > > > >> >> >> Android API is good base for developers to start
> upgrading.
> > > > > >> >> >>
> > > > > >> >> >>
> > > > > >> >> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <
> > > > > stevengill97@gmail.com <javascript:;>>
> > > > > >> >> >> wrote:
> > > > > >> >> >>
> > > > > >> >> >> > Awesome! I'll kick up a discuss thread
> > > > > >> >> >> >
> > > > > >> >> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard Knoll <
> > > > > >> riknoll@microsoft.com <javascript:;>
> > > > > >> >> >
> > > > > >> >> >> > wrote:
> > > > > >> >> >> >
> > > > > >> >> >> > > Hey all,
> > > > > >> >> >> > >
> > > > > >> >> >> > > This change has been merged into the file, camera,
> > > > > geolocation,
> > > > > >> and
> > > > > >> >> >> > > contacts plugins (media did not actually require any
> > > > change).
> > > > > I
> > > > > >> was
> > > > > >> >> >> able
> > > > > >> >> >> > to
> > > > > >> >> >> > > build and run mobilespec on cordova-android 4.0.0 and
> > > > > >> >> >> cordova-android's
> > > > > >> >> >> > > master. We should probably push for a plugins release
> > > > > >> >> >> > > soon,
> > > > > since
> > > > > >> >> >> there
> > > > > >> >> >> > are
> > > > > >> >> >> > > also some major bug fixes to the contacts and camera
> > > > > >> >> >> > > plugins
> > > > > that
> > > > > >> >> were
> > > > > >> >> >> > > recently pushed.
> > > > > >> >> >> > >
> > > > > >> >> >> > > Thanks,
> > > > > >> >> >> > > Richard
> > > > > >> >> >> > >
> > > > > >> >> >> > > -----Original Message-----
> > > > > >> >> >> > > From: Nikhil Khandelwal [mailto:
> nikhilkh@microsoft.com
> > > > > <javascript:;>]
> > > > > >> >> >> > > Sent: Friday, January 8, 2016 12:12 PM
> > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > > > > >> >> >> > > Subject: RE: [DISCUSS] Core Plugins and Android API 23
> > > > > >> >> >> > >
> > > > > >> >> >> > > We had a good discussion about this offline with Joe,
> > > > > >> >> >> > > Simon,
> > > > > >> Steve,
> > > > > >> >> >> > Jesse,
> > > > > >> >> >> > > Parashu and Jason. We came to the following agreement:
> > > > > >> >> >> > > This is a temporary fix to the plugins which we need
> to
> > > > > >> >> >> > > take
> > > > > to
> > > > > >> >> ensure
> > > > > >> >> >> > > Cordova 5.x tools behavior of using the edge plugins
> > does
> > > > > >> >> >> > > not
> > > > > >> break
> > > > > >> >> >> for
> > > > > >> >> >> > our
> > > > > >> >> >> > > users. We will pursue the change for all the affected
> > > > plugins.
> > > > > >> This
> > > > > >> >> >> will
> > > > > >> >> >> > go
> > > > > >> >> >> > > out in the next PLUGINS release which will happen
> before
> > > > > >> >> >> > > the
> > > > > >> Cordova
> > > > > >> >> >> 6.0
> > > > > >> >> >> > > release. Since this a temporary fix, we aim to remove
> it
> > > > > >> >> >> > > in 6
> > > > > >> months
> > > > > >> >> >> > > (giving reasonable time for our user base to move to
> > > > > >> >> >> > > Cordova
> > > > > 6.x+
> > > > > >> >> >> which
> > > > > >> >> >> > > will have a better plugin version pinning mechanism).
> > > > > >> >> >> > >
> > > > > >> >> >> > > Thanks,
> > > > > >> >> >> > > Nikhil
> > > > > >> >> >> > >
> > > > > >> >> >> > > -----Original Message-----
> > > > > >> >> >> > > From: Simon MacDonald [mailto:
> simon.macdonald@gmail.com
> > > > > <javascript:;>]
> > > > > >> >> >> > > Sent: Thursday, January 7, 2016 4:00 PM
> > > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > > > > >> >> >> > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > > > > >> >> >> > >
> > > > > >> >> >> > > I'm going to play devils advocate a bit here:
> > > > > >> >> >> > >
> > > > > >> >> >> > >
> > > > > >> >> >> > > > There are valid reasons why many app developers
> might
> > > > > >> >> >> > > > not be
> > > > > >> ready
> > > > > >> >> >> to
> > > > > >> >> >> > > > move to API level 23:
> > > > > >> >> >> > > >   1) They have an app which is stabilizing or in
> > > > > >> >> >> > > > maintenance
> > > > > >> mode
> > > > > >> >> >> and
> > > > > >> >> >> > > > they don't want to risk destabilization by moving
> to a
> > > > > >> >> >> > > > new
> > > > > >> major
> > > > > >> >> >> > > > Cordova version, Cordova Android platform, and
> Android
> > > > > >> >> >> > > > API
> > > > > >> level.
> > > > > >> >> >> > > >
> > > > > >> >> >> > >
> > > > > >> >> >> > > If the developer is not ready to move to a new version
> > of
> > > > > Cordova
> > > > > >> >> >> Android
> > > > > >> >> >> > > or the Android API would it not also follow that they
> > > > > shouldn't
> > > > > >> be
> > > > > >> >> >> > changing
> > > > > >> >> >> > > their plugin versions?
> > > > > >> >> >> > >
> > > > > >> >> >> > >
> > > > > >> >> >> > > >   2) They are using a 3rd-party plugin which has not
> > > > > >> >> >> > > > yet
> > > > > been
> > > > > >> >> >> updated
> > > > > >> >> >> > > > to request Android permissions as required by API
> > level
> > > > 23.
> > > > > >> There
> > > > > >> >> >> are
> > > > > >> >> >> > > > probably a lot of plugins affected, since access to
> > any
> > > > > >> >> >> > > > of
> > > > > the
> > > > > >> >> >> > > > following things on Android M requires runtime
> > > > > >> >> >> > > > permission
> > > > > >> >> requests:
> > > > > >> >> >> > > > calendar, contacts, phone, camera, microphone,
> > > > > >> >> >> > > > location,
> > > > > >> beacons,
> > > > > >> >> >> > > sensors, SMS, storage.
> > > > > >> >> >> > > >
> > > > > >> >> >> > >
> > > > > >> >> >> > > Right, so if the 3rd party plugin they are using
> doesn't
> > > > > support
> > > > > >> >> >> Android
> > > > > >> >> >> > M
> > > > > >> >> >> > > they should either a) not upgrade or b) send a PR to
> the
> > > > > plugin
> > > > > >> >> >> > maintainer
> > > > > >> >> >> > > so everyone can benefit.
> > > > > >> >> >> > >
> > > > > >> >> >> > >
> > > > > >> >> >> > > >   3) They might not have the capacity or ability to
> > > > > >> >> >> > > > test
> > > > > their
> > > > > >> app
> > > > > >> >> >> on
> > > > > >> >> >> > > > devices running Android M. Because API 23 enables
> the
> > > > > >> >> >> > > > new
> > > > > >> >> >> permissions
> > > > > >> >> >> > > > model only on Android M, it requires testing on that
> > > > > platform.
> > > > > >> >> >> > > >
> > > > > >> >> >> > > >
> > > > > >> >> >> > > Everyone has access to the Android emulator.
> > > > > >> >> >> > >
> > > > > >> >> >> > >
> > > > > >> >> >> > > > In any of the above cases, developers might still
> like
> > > > > >> >> >> > > > to
> > > > > >> benefit
> > > > > >> >> >> from
> > > > > >> >> >> > > > some of the major bug fixes in those 5 popular core
> > > > > >> >> >> > > > plugins
> > > > > >> >> >> mentioned
> > > > > >> >> >> > > > below. Or even if they weren't specifically looking
> > for
> > > > > >> >> >> > > > bug
> > > > > >> fixes,
> > > > > >> >> >> it
> > > > > >> >> >> > > > would be a much better experience if adding or
> > updating
> > > > > >> >> >> > > > one
> > > > > of
> > > > > >> >> those
> > > > > >> >> >> > > > plugins would just work, rather than failing on
> > > > > >> >> >> > > > Android. The explanation for the failure will not be
> > > > > >> >> >> > > > obvious to many
> > > > > users,
> > > > > >> if
> > > > > >> >> >> they
> > > > > >> >> >> > > > overlooked the warning when installing the plugin or
> > if
> > > > > >> >> >> > > > they
> > > > > >> were
> > > > > >> >> >> > > > using another tool to add the plugin where the
> warning
> > > > > wasn't
> > > > > >> >> >> surfaced.
> > > > > >> >> >> > > >
> > > > > >> >> >> > >
> > > > > >> >> >> > >  Seems like you are describing a tooling problem here.
> > If
> > > > > >> >> >> > > the
> > > > > >> tool
> > > > > >> >> >> > doesn't
> > > > > >> >> >> > > surface the warning or allows the user to add a plugin
> > > > > >> >> >> > > that is
> > > > > >> >> >> > incompatible
> > > > > >> >> >> > > with the version of Cordova Android that is being used
> > > > > >> >> >> > > really
> > > > > >> sounds
> > > > > >> >> >> > like a
> > > > > >> >> >> > > bug in the tooling to me.
> > > > > >> >> >> > >
> > > > > >> >> >> > >
> > > > > >> >> >> > > > Of course developers should be encouraged to upgrade
> > to
> > > > > >> >> >> > > > the
> > > > > >> latest
> > > > > >> >> >> > > > most secure highest-quality version of Cordova. But
> > the
> > > > > >> >> >> encouragement
> > > > > >> >> >> > > > does not need to be so forceful. This proposed
> change
> > > > > >> >> >> > > > gives
> > > > > >> >> >> developers
> > > > > >> >> >> > > > more time to upgrade, and allows for more choice
> about
> > > > > >> >> >> > > > when
> > > > > to
> > > > > >> >> >> upgrade
> > > > > >> >> >> > > > individual parts
> > > > > >> >> >> > > > (plugins) rather than limiting them to
> all-or-nothing.
> > > > > >> >> >> > >
> > > > > >> >> >> > >
> > > > > >> >> >> > >  I would argue that the developer has an infinite
> amount
> > > > > >> >> >> > > of
> > > > > time
> > > > > >> to
> > > > > >> >> >> > > upgrade. Nothing is forcing you to upgrade to the
> latest
> > > > > Cordova
> > > > > >> >> >> Android
> > > > > >> >> >> > or
> > > > > >> >> >> > > Android API. They can continue to use the same version
> > of
> > > > > Cordova
> > > > > >> >> >> Android
> > > > > >> >> >> > > and plugins that are currently working in their app.
> If
> > > > > >> >> >> > > the
> > > > > >> >> developer
> > > > > >> >> >> is
> > > > > >> >> >> > > using semver properly and we do our job right they
> > > > > >> >> >> > > shouldn't
> > > > > >> pick up
> > > > > >> >> >> > > breaking changes. For instance, if the API of a plugin
> > > > > changes we
> > > > > >> >> bump
> > > > > >> >> >> > the
> > > > > >> >> >> > > major version of the plugin so users who setup their
> > > > > config.xml
> > > > > >> to
> > > > > >> >> >> use:
> > > > > >> >> >> > >
> > > > > >> >> >> > > <plugin name="cordova-plugin-camera" spec="^1.1.0" />
> > > > > >> >> >> > >
> > > > > >> >> >> > > will effectively prevent the user from picking up the
> > > > > >> >> >> > > breaking
> > > > > >> >> change
> > > > > >> >> >> in
> > > > > >> >> >> > > camera version 2.0.0.
> > > > > >> >> >> > >
> > > > > >> >> >> > > Simon Mac Donald
> > > > > >> >> >> > >
> > > > > >> >> >> > >
> > > > > >> >> >> >
> > > > > >> >> >>
> > > > > >> >>
> > > > > >>
> > > > >
> > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%
> > > > > 2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com
> > %7c84fb6405edf
> > > > >
> > 74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=B8D
> > > > > uMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
> > > > > >> >> >> > >  B
> > > > > >> >> >>
> > > > > >>
> > KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
> > > > > >> KCB
> > > > > >> >> >> > >   [  X  ܚX K  K[XZ[
> > > > > >> >> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[    [X[
> > > >  K[XZ[
> > > > > >> >> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
> > > > > >> >> >> > >
> > > > > >> >> >> >
> > > > > >> >> >>
> > > > > >> >> >
> > > > > >> >> >
> > > > > >> >>
> > > > > >>
> > > > > >>
> > -------------------------------------------------------------------
> > > > > >> -- To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
> > > > > <javascript:;>
> > > > > >> For additional commands, e-mail: dev-help@cordova.apache.org
> > > > > <javascript:;>
> > > > > >>
> > > > >
> > > >
> > >
> >
>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by Carlos Santana <cs...@gmail.com>.
Simon I like approach
Can we move to this approach now? Yes
Then once the downstream distro's support
API 23 and the new API methods in CordovaInterface we can move this into
Cordova Android proper? Yes

+1

On Thu, Mar 31, 2016 at 6:38 PM Joe Bowser <bo...@gmail.com> wrote:

> LGTM!
>
> On Thu, Mar 31, 2016 at 3:02 PM, Simon MacDonald <
> simon.macdonald@gmail.com>
> wrote:
>
> > I really hate the fact we need to add that PermissionHelper.java file to
> > each and every plugin that requires API 23 permission support. Especially
> > since the package the class is in is different for each plugin so we can
> > two, three or more copies of the same code in an app. That's just
> wasteful.
> >
> > Joe responded to my bitching by saying "Maybe we should create a
> > permissions plugin for this and make everything go through that" which
> set
> > my mind a racing (perhaps I was just over caffeinated) and I decided to
> > prototype it this afternoon.
> >
> > I've created a new plugin called cordova-plugin-compat over at
> > https://github.com/macdonst/cordova-plugin-compat  and all it does is
> > deliver the org.apache.cordova.PermissionHelper class. I then turned
> around
> > and removed the class from the camera plugin and make
> cordova-plugin-camera
> > depend on cordova-plugin-compat.
> >
> > You can see that change over on my camera fork:
> >
> > https://github.com/macdonst
> > /cordova-plugin-camera/commit/58b72cb5c3109481df9f337ad97607858681b37e
> >
> > Can we move to this approach now? Then once the downstream distro's
> support
> > API 23 and the new API methods in CordovaInterface we can move this into
> > Cordova Android proper?
> >
> > Thoughts? Are there use cases this approach doesn't work for?
> >
> >
> > Simon Mac Donald
> > http://hi.im/simonmacdonald
> >
> > On Fri, Feb 5, 2016 at 2:32 PM, Richard Knoll <ri...@microsoft.com>
> > wrote:
> >
> > > Yep, I left it out of the first round by mistake; I was looking at an
> out
> > > of date version of cordova-plugin-media at the time. I've got a PR open
> > > that adds the helper here:
> > >
> > > https://github.com/apache/cordova-plugin-media/pull/79
> > >
> > > Thanks,
> > > Richard
> > >
> > > -----Original Message-----
> > > From: julio cesar sanchez [mailto:jcesarmobile@gmail.com]
> > > Sent: Friday, February 5, 2016 7:20 AM
> > > To: dev@cordova.apache.org
> > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > >
> > > Yeah, that one.
> > >
> > >
> > > El viernes, 5 de febrero de 2016, Homer, Tony <to...@intel.com>
> > > escribió:
> > >
> > > > It took me a while to find it, but I guess you mean CB-10455?
> > > >
> > > >
> > > >
> > > > On 2/5/16, 7:56 AM, "julio cesar sanchez" <jcesarmobile@gmail.com
> > > > <javascript:;>> wrote:
> > > >
> > > > >I think we just forgot, somebody mentioned this on slack and there
> is
> > > > >an issue open on JIRA.
> > > > >
> > > > >2016-02-05 13:52 GMT+01:00 Homer, Tony <tony.homer@intel.com
> > > > <javascript:;>>:
> > > > >
> > > > >> Earlier in this thread, Richard stated:
> > > > >> >> This change has been merged into the file, camera, geolocation,
> > > > >> >> and
> > > > >> contacts plugins (media did not actually require any change).
> > > > >>
> > > > >>
> > > > >> Media was updated on 1/15 but it still has a "cordova-android
> > > > >=5.0.0-dev"
> > > > >> engine tag.
> > > > >> I couldn't find any other discussion about this on the list and
> > > > >> wondered why it was retained for media.
> > > > >> Was this an oversight?
> > > > >>
> > > > >>
> > > > >> Thanks!
> > > > >> Tony
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >> On 1/15/16, 4:40 PM, "Simon MacDonald" <simon.macdonald@gmail.com
> > > > <javascript:;>> wrote:
> > > > >>
> > > > >> >LGTM
> > > > >> >
> > > > >> >+1
> > > > >> >
> > > > >> >Simon Mac Donald
> > > > >> >
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi
> > > > >>
> >.im%2fsimonmacdonald&data=01%7c01%7cRIKNOLL%40exchange.microsoft.c
> > > > >>
> >om%7cacc2d663ce574637d10908d32e3fd62d%7c72f988bf86f141af91ab2d7cd0
> > > > >> >11db47%7c1&sdata=wCGbmJR3ZKj6lABfwOcjoLypjztI9HNX8%2bak6AhuBqY%3d
> > > > >> >
> > > > >> >On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <bowserj@gmail.com
> > > > <javascript:;>> wrote:
> > > > >> >
> > > > >> >> Sorry, wrong PR:
> > > > >> >> https://github.com/apache/cordova-plugin-inappbrowser/pull/136
> > > > >> >>
> > > > >> >> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <
> bowserj@gmail.com
> > > > <javascript:;>> wrote:
> > > > >> >>
> > > > >> >> > So, what does the timeline look like for a Plugins release.
> I
> > > > >> >> > just
> > > > >> did a
> > > > >> >> > major change in the InAppBrowser to fix tel: and sms: URIs so
> > > > >> >> > they
> > > > do
> > > > >> >> > stuff, and it'd be cool if this also made if this got looked
> > > > >> >> > over
> > > > and
> > > > >> >> > landed before the next release.
> > > > >> >> >
> > > > >> >> >
> https://github.com/apache/cordova-plugin-inappbrowser/pull/135
> > > > >> >> >
> > > > >> >> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana <
> > > > csantana23@gmail.com <javascript:;>
> > > > >> >
> > > > >> >> > wrote:
> > > > >> >> >
> > > > >> >> >> I agree with final compromise, I also had a discussion with
> > > > >> >> >> Nikhil
> > > > >> >> during
> > > > >> >> >> holiday break offline and understood the situation, some 3rd
> > > > >> >> >> party
> > > > >> >> plugins
> > > > >> >> >> are not open source and customers/devs don't move as fast as
> > > > >> >> >> we
> > > > wish,
> > > > >> >> but
> > > > >> >> >> having a CLI 6 with latest plugins being backwards
> compatible
> > > > >> >> >> with
> > > > >> lower
> > > > >> >> >> Android API is good base for developers to start upgrading.
> > > > >> >> >>
> > > > >> >> >>
> > > > >> >> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <
> > > > stevengill97@gmail.com <javascript:;>>
> > > > >> >> >> wrote:
> > > > >> >> >>
> > > > >> >> >> > Awesome! I'll kick up a discuss thread
> > > > >> >> >> >
> > > > >> >> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard Knoll <
> > > > >> riknoll@microsoft.com <javascript:;>
> > > > >> >> >
> > > > >> >> >> > wrote:
> > > > >> >> >> >
> > > > >> >> >> > > Hey all,
> > > > >> >> >> > >
> > > > >> >> >> > > This change has been merged into the file, camera,
> > > > geolocation,
> > > > >> and
> > > > >> >> >> > > contacts plugins (media did not actually require any
> > > change).
> > > > I
> > > > >> was
> > > > >> >> >> able
> > > > >> >> >> > to
> > > > >> >> >> > > build and run mobilespec on cordova-android 4.0.0 and
> > > > >> >> >> cordova-android's
> > > > >> >> >> > > master. We should probably push for a plugins release
> > > > >> >> >> > > soon,
> > > > since
> > > > >> >> >> there
> > > > >> >> >> > are
> > > > >> >> >> > > also some major bug fixes to the contacts and camera
> > > > >> >> >> > > plugins
> > > > that
> > > > >> >> were
> > > > >> >> >> > > recently pushed.
> > > > >> >> >> > >
> > > > >> >> >> > > Thanks,
> > > > >> >> >> > > Richard
> > > > >> >> >> > >
> > > > >> >> >> > > -----Original Message-----
> > > > >> >> >> > > From: Nikhil Khandelwal [mailto:nikhilkh@microsoft.com
> > > > <javascript:;>]
> > > > >> >> >> > > Sent: Friday, January 8, 2016 12:12 PM
> > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > > > >> >> >> > > Subject: RE: [DISCUSS] Core Plugins and Android API 23
> > > > >> >> >> > >
> > > > >> >> >> > > We had a good discussion about this offline with Joe,
> > > > >> >> >> > > Simon,
> > > > >> Steve,
> > > > >> >> >> > Jesse,
> > > > >> >> >> > > Parashu and Jason. We came to the following agreement:
> > > > >> >> >> > > This is a temporary fix to the plugins which we need to
> > > > >> >> >> > > take
> > > > to
> > > > >> >> ensure
> > > > >> >> >> > > Cordova 5.x tools behavior of using the edge plugins
> does
> > > > >> >> >> > > not
> > > > >> break
> > > > >> >> >> for
> > > > >> >> >> > our
> > > > >> >> >> > > users. We will pursue the change for all the affected
> > > plugins.
> > > > >> This
> > > > >> >> >> will
> > > > >> >> >> > go
> > > > >> >> >> > > out in the next PLUGINS release which will happen before
> > > > >> >> >> > > the
> > > > >> Cordova
> > > > >> >> >> 6.0
> > > > >> >> >> > > release. Since this a temporary fix, we aim to remove it
> > > > >> >> >> > > in 6
> > > > >> months
> > > > >> >> >> > > (giving reasonable time for our user base to move to
> > > > >> >> >> > > Cordova
> > > > 6.x+
> > > > >> >> >> which
> > > > >> >> >> > > will have a better plugin version pinning mechanism).
> > > > >> >> >> > >
> > > > >> >> >> > > Thanks,
> > > > >> >> >> > > Nikhil
> > > > >> >> >> > >
> > > > >> >> >> > > -----Original Message-----
> > > > >> >> >> > > From: Simon MacDonald [mailto:simon.macdonald@gmail.com
> > > > <javascript:;>]
> > > > >> >> >> > > Sent: Thursday, January 7, 2016 4:00 PM
> > > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > > > >> >> >> > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > > > >> >> >> > >
> > > > >> >> >> > > I'm going to play devils advocate a bit here:
> > > > >> >> >> > >
> > > > >> >> >> > >
> > > > >> >> >> > > > There are valid reasons why many app developers might
> > > > >> >> >> > > > not be
> > > > >> ready
> > > > >> >> >> to
> > > > >> >> >> > > > move to API level 23:
> > > > >> >> >> > > >   1) They have an app which is stabilizing or in
> > > > >> >> >> > > > maintenance
> > > > >> mode
> > > > >> >> >> and
> > > > >> >> >> > > > they don't want to risk destabilization by moving to a
> > > > >> >> >> > > > new
> > > > >> major
> > > > >> >> >> > > > Cordova version, Cordova Android platform, and Android
> > > > >> >> >> > > > API
> > > > >> level.
> > > > >> >> >> > > >
> > > > >> >> >> > >
> > > > >> >> >> > > If the developer is not ready to move to a new version
> of
> > > > Cordova
> > > > >> >> >> Android
> > > > >> >> >> > > or the Android API would it not also follow that they
> > > > shouldn't
> > > > >> be
> > > > >> >> >> > changing
> > > > >> >> >> > > their plugin versions?
> > > > >> >> >> > >
> > > > >> >> >> > >
> > > > >> >> >> > > >   2) They are using a 3rd-party plugin which has not
> > > > >> >> >> > > > yet
> > > > been
> > > > >> >> >> updated
> > > > >> >> >> > > > to request Android permissions as required by API
> level
> > > 23.
> > > > >> There
> > > > >> >> >> are
> > > > >> >> >> > > > probably a lot of plugins affected, since access to
> any
> > > > >> >> >> > > > of
> > > > the
> > > > >> >> >> > > > following things on Android M requires runtime
> > > > >> >> >> > > > permission
> > > > >> >> requests:
> > > > >> >> >> > > > calendar, contacts, phone, camera, microphone,
> > > > >> >> >> > > > location,
> > > > >> beacons,
> > > > >> >> >> > > sensors, SMS, storage.
> > > > >> >> >> > > >
> > > > >> >> >> > >
> > > > >> >> >> > > Right, so if the 3rd party plugin they are using doesn't
> > > > support
> > > > >> >> >> Android
> > > > >> >> >> > M
> > > > >> >> >> > > they should either a) not upgrade or b) send a PR to the
> > > > plugin
> > > > >> >> >> > maintainer
> > > > >> >> >> > > so everyone can benefit.
> > > > >> >> >> > >
> > > > >> >> >> > >
> > > > >> >> >> > > >   3) They might not have the capacity or ability to
> > > > >> >> >> > > > test
> > > > their
> > > > >> app
> > > > >> >> >> on
> > > > >> >> >> > > > devices running Android M. Because API 23 enables the
> > > > >> >> >> > > > new
> > > > >> >> >> permissions
> > > > >> >> >> > > > model only on Android M, it requires testing on that
> > > > platform.
> > > > >> >> >> > > >
> > > > >> >> >> > > >
> > > > >> >> >> > > Everyone has access to the Android emulator.
> > > > >> >> >> > >
> > > > >> >> >> > >
> > > > >> >> >> > > > In any of the above cases, developers might still like
> > > > >> >> >> > > > to
> > > > >> benefit
> > > > >> >> >> from
> > > > >> >> >> > > > some of the major bug fixes in those 5 popular core
> > > > >> >> >> > > > plugins
> > > > >> >> >> mentioned
> > > > >> >> >> > > > below. Or even if they weren't specifically looking
> for
> > > > >> >> >> > > > bug
> > > > >> fixes,
> > > > >> >> >> it
> > > > >> >> >> > > > would be a much better experience if adding or
> updating
> > > > >> >> >> > > > one
> > > > of
> > > > >> >> those
> > > > >> >> >> > > > plugins would just work, rather than failing on
> > > > >> >> >> > > > Android. The explanation for the failure will not be
> > > > >> >> >> > > > obvious to many
> > > > users,
> > > > >> if
> > > > >> >> >> they
> > > > >> >> >> > > > overlooked the warning when installing the plugin or
> if
> > > > >> >> >> > > > they
> > > > >> were
> > > > >> >> >> > > > using another tool to add the plugin where the warning
> > > > wasn't
> > > > >> >> >> surfaced.
> > > > >> >> >> > > >
> > > > >> >> >> > >
> > > > >> >> >> > >  Seems like you are describing a tooling problem here.
> If
> > > > >> >> >> > > the
> > > > >> tool
> > > > >> >> >> > doesn't
> > > > >> >> >> > > surface the warning or allows the user to add a plugin
> > > > >> >> >> > > that is
> > > > >> >> >> > incompatible
> > > > >> >> >> > > with the version of Cordova Android that is being used
> > > > >> >> >> > > really
> > > > >> sounds
> > > > >> >> >> > like a
> > > > >> >> >> > > bug in the tooling to me.
> > > > >> >> >> > >
> > > > >> >> >> > >
> > > > >> >> >> > > > Of course developers should be encouraged to upgrade
> to
> > > > >> >> >> > > > the
> > > > >> latest
> > > > >> >> >> > > > most secure highest-quality version of Cordova. But
> the
> > > > >> >> >> encouragement
> > > > >> >> >> > > > does not need to be so forceful. This proposed change
> > > > >> >> >> > > > gives
> > > > >> >> >> developers
> > > > >> >> >> > > > more time to upgrade, and allows for more choice about
> > > > >> >> >> > > > when
> > > > to
> > > > >> >> >> upgrade
> > > > >> >> >> > > > individual parts
> > > > >> >> >> > > > (plugins) rather than limiting them to all-or-nothing.
> > > > >> >> >> > >
> > > > >> >> >> > >
> > > > >> >> >> > >  I would argue that the developer has an infinite amount
> > > > >> >> >> > > of
> > > > time
> > > > >> to
> > > > >> >> >> > > upgrade. Nothing is forcing you to upgrade to the latest
> > > > Cordova
> > > > >> >> >> Android
> > > > >> >> >> > or
> > > > >> >> >> > > Android API. They can continue to use the same version
> of
> > > > Cordova
> > > > >> >> >> Android
> > > > >> >> >> > > and plugins that are currently working in their app. If
> > > > >> >> >> > > the
> > > > >> >> developer
> > > > >> >> >> is
> > > > >> >> >> > > using semver properly and we do our job right they
> > > > >> >> >> > > shouldn't
> > > > >> pick up
> > > > >> >> >> > > breaking changes. For instance, if the API of a plugin
> > > > changes we
> > > > >> >> bump
> > > > >> >> >> > the
> > > > >> >> >> > > major version of the plugin so users who setup their
> > > > config.xml
> > > > >> to
> > > > >> >> >> use:
> > > > >> >> >> > >
> > > > >> >> >> > > <plugin name="cordova-plugin-camera" spec="^1.1.0" />
> > > > >> >> >> > >
> > > > >> >> >> > > will effectively prevent the user from picking up the
> > > > >> >> >> > > breaking
> > > > >> >> change
> > > > >> >> >> in
> > > > >> >> >> > > camera version 2.0.0.
> > > > >> >> >> > >
> > > > >> >> >> > > Simon Mac Donald
> > > > >> >> >> > >
> > > > >> >> >> > >
> > > > >> >> >> >
> > > > >> >> >>
> > > > >> >>
> > > > >>
> > > >
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%
> > > > 2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com
> %7c84fb6405edf
> > > >
> 74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=B8D
> > > > uMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
> > > > >> >> >> > >  B
> > > > >> >> >>
> > > > >>
> KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
> > > > >> KCB
> > > > >> >> >> > >   [  X  ܚX K  K[XZ[
> > > > >> >> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[    [X[
> > >  K[XZ[
> > > > >> >> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
> > > > >> >> >> > >
> > > > >> >> >> >
> > > > >> >> >>
> > > > >> >> >
> > > > >> >> >
> > > > >> >>
> > > > >>
> > > > >>
> -------------------------------------------------------------------
> > > > >> -- To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
> > > > <javascript:;>
> > > > >> For additional commands, e-mail: dev-help@cordova.apache.org
> > > > <javascript:;>
> > > > >>
> > > >
> > >
> >
>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by Joe Bowser <bo...@gmail.com>.
LGTM!

On Thu, Mar 31, 2016 at 3:02 PM, Simon MacDonald <si...@gmail.com>
wrote:

> I really hate the fact we need to add that PermissionHelper.java file to
> each and every plugin that requires API 23 permission support. Especially
> since the package the class is in is different for each plugin so we can
> two, three or more copies of the same code in an app. That's just wasteful.
>
> Joe responded to my bitching by saying "Maybe we should create a
> permissions plugin for this and make everything go through that" which set
> my mind a racing (perhaps I was just over caffeinated) and I decided to
> prototype it this afternoon.
>
> I've created a new plugin called cordova-plugin-compat over at
> https://github.com/macdonst/cordova-plugin-compat  and all it does is
> deliver the org.apache.cordova.PermissionHelper class. I then turned around
> and removed the class from the camera plugin and make cordova-plugin-camera
> depend on cordova-plugin-compat.
>
> You can see that change over on my camera fork:
>
> https://github.com/macdonst
> /cordova-plugin-camera/commit/58b72cb5c3109481df9f337ad97607858681b37e
>
> Can we move to this approach now? Then once the downstream distro's support
> API 23 and the new API methods in CordovaInterface we can move this into
> Cordova Android proper?
>
> Thoughts? Are there use cases this approach doesn't work for?
>
>
> Simon Mac Donald
> http://hi.im/simonmacdonald
>
> On Fri, Feb 5, 2016 at 2:32 PM, Richard Knoll <ri...@microsoft.com>
> wrote:
>
> > Yep, I left it out of the first round by mistake; I was looking at an out
> > of date version of cordova-plugin-media at the time. I've got a PR open
> > that adds the helper here:
> >
> > https://github.com/apache/cordova-plugin-media/pull/79
> >
> > Thanks,
> > Richard
> >
> > -----Original Message-----
> > From: julio cesar sanchez [mailto:jcesarmobile@gmail.com]
> > Sent: Friday, February 5, 2016 7:20 AM
> > To: dev@cordova.apache.org
> > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> >
> > Yeah, that one.
> >
> >
> > El viernes, 5 de febrero de 2016, Homer, Tony <to...@intel.com>
> > escribió:
> >
> > > It took me a while to find it, but I guess you mean CB-10455?
> > >
> > >
> > >
> > > On 2/5/16, 7:56 AM, "julio cesar sanchez" <jcesarmobile@gmail.com
> > > <javascript:;>> wrote:
> > >
> > > >I think we just forgot, somebody mentioned this on slack and there is
> > > >an issue open on JIRA.
> > > >
> > > >2016-02-05 13:52 GMT+01:00 Homer, Tony <tony.homer@intel.com
> > > <javascript:;>>:
> > > >
> > > >> Earlier in this thread, Richard stated:
> > > >> >> This change has been merged into the file, camera, geolocation,
> > > >> >> and
> > > >> contacts plugins (media did not actually require any change).
> > > >>
> > > >>
> > > >> Media was updated on 1/15 but it still has a "cordova-android
> > > >=5.0.0-dev"
> > > >> engine tag.
> > > >> I couldn't find any other discussion about this on the list and
> > > >> wondered why it was retained for media.
> > > >> Was this an oversight?
> > > >>
> > > >>
> > > >> Thanks!
> > > >> Tony
> > > >>
> > > >>
> > > >>
> > > >>
> > > >> On 1/15/16, 4:40 PM, "Simon MacDonald" <simon.macdonald@gmail.com
> > > <javascript:;>> wrote:
> > > >>
> > > >> >LGTM
> > > >> >
> > > >> >+1
> > > >> >
> > > >> >Simon Mac Donald
> > > >> >https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi
> > > >> >.im%2fsimonmacdonald&data=01%7c01%7cRIKNOLL%40exchange.microsoft.c
> > > >> >om%7cacc2d663ce574637d10908d32e3fd62d%7c72f988bf86f141af91ab2d7cd0
> > > >> >11db47%7c1&sdata=wCGbmJR3ZKj6lABfwOcjoLypjztI9HNX8%2bak6AhuBqY%3d
> > > >> >
> > > >> >On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <bowserj@gmail.com
> > > <javascript:;>> wrote:
> > > >> >
> > > >> >> Sorry, wrong PR:
> > > >> >> https://github.com/apache/cordova-plugin-inappbrowser/pull/136
> > > >> >>
> > > >> >> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <bowserj@gmail.com
> > > <javascript:;>> wrote:
> > > >> >>
> > > >> >> > So, what does the timeline look like for a Plugins release.  I
> > > >> >> > just
> > > >> did a
> > > >> >> > major change in the InAppBrowser to fix tel: and sms: URIs so
> > > >> >> > they
> > > do
> > > >> >> > stuff, and it'd be cool if this also made if this got looked
> > > >> >> > over
> > > and
> > > >> >> > landed before the next release.
> > > >> >> >
> > > >> >> > https://github.com/apache/cordova-plugin-inappbrowser/pull/135
> > > >> >> >
> > > >> >> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana <
> > > csantana23@gmail.com <javascript:;>
> > > >> >
> > > >> >> > wrote:
> > > >> >> >
> > > >> >> >> I agree with final compromise, I also had a discussion with
> > > >> >> >> Nikhil
> > > >> >> during
> > > >> >> >> holiday break offline and understood the situation, some 3rd
> > > >> >> >> party
> > > >> >> plugins
> > > >> >> >> are not open source and customers/devs don't move as fast as
> > > >> >> >> we
> > > wish,
> > > >> >> but
> > > >> >> >> having a CLI 6 with latest plugins being backwards compatible
> > > >> >> >> with
> > > >> lower
> > > >> >> >> Android API is good base for developers to start upgrading.
> > > >> >> >>
> > > >> >> >>
> > > >> >> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <
> > > stevengill97@gmail.com <javascript:;>>
> > > >> >> >> wrote:
> > > >> >> >>
> > > >> >> >> > Awesome! I'll kick up a discuss thread
> > > >> >> >> >
> > > >> >> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard Knoll <
> > > >> riknoll@microsoft.com <javascript:;>
> > > >> >> >
> > > >> >> >> > wrote:
> > > >> >> >> >
> > > >> >> >> > > Hey all,
> > > >> >> >> > >
> > > >> >> >> > > This change has been merged into the file, camera,
> > > geolocation,
> > > >> and
> > > >> >> >> > > contacts plugins (media did not actually require any
> > change).
> > > I
> > > >> was
> > > >> >> >> able
> > > >> >> >> > to
> > > >> >> >> > > build and run mobilespec on cordova-android 4.0.0 and
> > > >> >> >> cordova-android's
> > > >> >> >> > > master. We should probably push for a plugins release
> > > >> >> >> > > soon,
> > > since
> > > >> >> >> there
> > > >> >> >> > are
> > > >> >> >> > > also some major bug fixes to the contacts and camera
> > > >> >> >> > > plugins
> > > that
> > > >> >> were
> > > >> >> >> > > recently pushed.
> > > >> >> >> > >
> > > >> >> >> > > Thanks,
> > > >> >> >> > > Richard
> > > >> >> >> > >
> > > >> >> >> > > -----Original Message-----
> > > >> >> >> > > From: Nikhil Khandelwal [mailto:nikhilkh@microsoft.com
> > > <javascript:;>]
> > > >> >> >> > > Sent: Friday, January 8, 2016 12:12 PM
> > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > > >> >> >> > > Subject: RE: [DISCUSS] Core Plugins and Android API 23
> > > >> >> >> > >
> > > >> >> >> > > We had a good discussion about this offline with Joe,
> > > >> >> >> > > Simon,
> > > >> Steve,
> > > >> >> >> > Jesse,
> > > >> >> >> > > Parashu and Jason. We came to the following agreement:
> > > >> >> >> > > This is a temporary fix to the plugins which we need to
> > > >> >> >> > > take
> > > to
> > > >> >> ensure
> > > >> >> >> > > Cordova 5.x tools behavior of using the edge plugins does
> > > >> >> >> > > not
> > > >> break
> > > >> >> >> for
> > > >> >> >> > our
> > > >> >> >> > > users. We will pursue the change for all the affected
> > plugins.
> > > >> This
> > > >> >> >> will
> > > >> >> >> > go
> > > >> >> >> > > out in the next PLUGINS release which will happen before
> > > >> >> >> > > the
> > > >> Cordova
> > > >> >> >> 6.0
> > > >> >> >> > > release. Since this a temporary fix, we aim to remove it
> > > >> >> >> > > in 6
> > > >> months
> > > >> >> >> > > (giving reasonable time for our user base to move to
> > > >> >> >> > > Cordova
> > > 6.x+
> > > >> >> >> which
> > > >> >> >> > > will have a better plugin version pinning mechanism).
> > > >> >> >> > >
> > > >> >> >> > > Thanks,
> > > >> >> >> > > Nikhil
> > > >> >> >> > >
> > > >> >> >> > > -----Original Message-----
> > > >> >> >> > > From: Simon MacDonald [mailto:simon.macdonald@gmail.com
> > > <javascript:;>]
> > > >> >> >> > > Sent: Thursday, January 7, 2016 4:00 PM
> > > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > > >> >> >> > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > > >> >> >> > >
> > > >> >> >> > > I'm going to play devils advocate a bit here:
> > > >> >> >> > >
> > > >> >> >> > >
> > > >> >> >> > > > There are valid reasons why many app developers might
> > > >> >> >> > > > not be
> > > >> ready
> > > >> >> >> to
> > > >> >> >> > > > move to API level 23:
> > > >> >> >> > > >   1) They have an app which is stabilizing or in
> > > >> >> >> > > > maintenance
> > > >> mode
> > > >> >> >> and
> > > >> >> >> > > > they don't want to risk destabilization by moving to a
> > > >> >> >> > > > new
> > > >> major
> > > >> >> >> > > > Cordova version, Cordova Android platform, and Android
> > > >> >> >> > > > API
> > > >> level.
> > > >> >> >> > > >
> > > >> >> >> > >
> > > >> >> >> > > If the developer is not ready to move to a new version of
> > > Cordova
> > > >> >> >> Android
> > > >> >> >> > > or the Android API would it not also follow that they
> > > shouldn't
> > > >> be
> > > >> >> >> > changing
> > > >> >> >> > > their plugin versions?
> > > >> >> >> > >
> > > >> >> >> > >
> > > >> >> >> > > >   2) They are using a 3rd-party plugin which has not
> > > >> >> >> > > > yet
> > > been
> > > >> >> >> updated
> > > >> >> >> > > > to request Android permissions as required by API level
> > 23.
> > > >> There
> > > >> >> >> are
> > > >> >> >> > > > probably a lot of plugins affected, since access to any
> > > >> >> >> > > > of
> > > the
> > > >> >> >> > > > following things on Android M requires runtime
> > > >> >> >> > > > permission
> > > >> >> requests:
> > > >> >> >> > > > calendar, contacts, phone, camera, microphone,
> > > >> >> >> > > > location,
> > > >> beacons,
> > > >> >> >> > > sensors, SMS, storage.
> > > >> >> >> > > >
> > > >> >> >> > >
> > > >> >> >> > > Right, so if the 3rd party plugin they are using doesn't
> > > support
> > > >> >> >> Android
> > > >> >> >> > M
> > > >> >> >> > > they should either a) not upgrade or b) send a PR to the
> > > plugin
> > > >> >> >> > maintainer
> > > >> >> >> > > so everyone can benefit.
> > > >> >> >> > >
> > > >> >> >> > >
> > > >> >> >> > > >   3) They might not have the capacity or ability to
> > > >> >> >> > > > test
> > > their
> > > >> app
> > > >> >> >> on
> > > >> >> >> > > > devices running Android M. Because API 23 enables the
> > > >> >> >> > > > new
> > > >> >> >> permissions
> > > >> >> >> > > > model only on Android M, it requires testing on that
> > > platform.
> > > >> >> >> > > >
> > > >> >> >> > > >
> > > >> >> >> > > Everyone has access to the Android emulator.
> > > >> >> >> > >
> > > >> >> >> > >
> > > >> >> >> > > > In any of the above cases, developers might still like
> > > >> >> >> > > > to
> > > >> benefit
> > > >> >> >> from
> > > >> >> >> > > > some of the major bug fixes in those 5 popular core
> > > >> >> >> > > > plugins
> > > >> >> >> mentioned
> > > >> >> >> > > > below. Or even if they weren't specifically looking for
> > > >> >> >> > > > bug
> > > >> fixes,
> > > >> >> >> it
> > > >> >> >> > > > would be a much better experience if adding or updating
> > > >> >> >> > > > one
> > > of
> > > >> >> those
> > > >> >> >> > > > plugins would just work, rather than failing on
> > > >> >> >> > > > Android. The explanation for the failure will not be
> > > >> >> >> > > > obvious to many
> > > users,
> > > >> if
> > > >> >> >> they
> > > >> >> >> > > > overlooked the warning when installing the plugin or if
> > > >> >> >> > > > they
> > > >> were
> > > >> >> >> > > > using another tool to add the plugin where the warning
> > > wasn't
> > > >> >> >> surfaced.
> > > >> >> >> > > >
> > > >> >> >> > >
> > > >> >> >> > >  Seems like you are describing a tooling problem here. If
> > > >> >> >> > > the
> > > >> tool
> > > >> >> >> > doesn't
> > > >> >> >> > > surface the warning or allows the user to add a plugin
> > > >> >> >> > > that is
> > > >> >> >> > incompatible
> > > >> >> >> > > with the version of Cordova Android that is being used
> > > >> >> >> > > really
> > > >> sounds
> > > >> >> >> > like a
> > > >> >> >> > > bug in the tooling to me.
> > > >> >> >> > >
> > > >> >> >> > >
> > > >> >> >> > > > Of course developers should be encouraged to upgrade to
> > > >> >> >> > > > the
> > > >> latest
> > > >> >> >> > > > most secure highest-quality version of Cordova. But the
> > > >> >> >> encouragement
> > > >> >> >> > > > does not need to be so forceful. This proposed change
> > > >> >> >> > > > gives
> > > >> >> >> developers
> > > >> >> >> > > > more time to upgrade, and allows for more choice about
> > > >> >> >> > > > when
> > > to
> > > >> >> >> upgrade
> > > >> >> >> > > > individual parts
> > > >> >> >> > > > (plugins) rather than limiting them to all-or-nothing.
> > > >> >> >> > >
> > > >> >> >> > >
> > > >> >> >> > >  I would argue that the developer has an infinite amount
> > > >> >> >> > > of
> > > time
> > > >> to
> > > >> >> >> > > upgrade. Nothing is forcing you to upgrade to the latest
> > > Cordova
> > > >> >> >> Android
> > > >> >> >> > or
> > > >> >> >> > > Android API. They can continue to use the same version of
> > > Cordova
> > > >> >> >> Android
> > > >> >> >> > > and plugins that are currently working in their app. If
> > > >> >> >> > > the
> > > >> >> developer
> > > >> >> >> is
> > > >> >> >> > > using semver properly and we do our job right they
> > > >> >> >> > > shouldn't
> > > >> pick up
> > > >> >> >> > > breaking changes. For instance, if the API of a plugin
> > > changes we
> > > >> >> bump
> > > >> >> >> > the
> > > >> >> >> > > major version of the plugin so users who setup their
> > > config.xml
> > > >> to
> > > >> >> >> use:
> > > >> >> >> > >
> > > >> >> >> > > <plugin name="cordova-plugin-camera" spec="^1.1.0" />
> > > >> >> >> > >
> > > >> >> >> > > will effectively prevent the user from picking up the
> > > >> >> >> > > breaking
> > > >> >> change
> > > >> >> >> in
> > > >> >> >> > > camera version 2.0.0.
> > > >> >> >> > >
> > > >> >> >> > > Simon Mac Donald
> > > >> >> >> > >
> > > >> >> >> > >
> > > >> >> >> >
> > > >> >> >>
> > > >> >>
> > > >>
> > > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%
> > > 2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com%7c84fb6405edf
> > > 74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=B8D
> > > uMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
> > > >> >> >> > >  B
> > > >> >> >>
> > > >> KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
> > > >> KCB
> > > >> >> >> > >   [  X  ܚX K  K[XZ[
> > > >> >> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[    [X[
> >  K[XZ[
> > > >> >> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
> > > >> >> >> > >
> > > >> >> >> >
> > > >> >> >>
> > > >> >> >
> > > >> >> >
> > > >> >>
> > > >>
> > > >> -------------------------------------------------------------------
> > > >> -- To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
> > > <javascript:;>
> > > >> For additional commands, e-mail: dev-help@cordova.apache.org
> > > <javascript:;>
> > > >>
> > >
> >
>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by Simon MacDonald <si...@gmail.com>.
I really hate the fact we need to add that PermissionHelper.java file to
each and every plugin that requires API 23 permission support. Especially
since the package the class is in is different for each plugin so we can
two, three or more copies of the same code in an app. That's just wasteful.

Joe responded to my bitching by saying "Maybe we should create a
permissions plugin for this and make everything go through that" which set
my mind a racing (perhaps I was just over caffeinated) and I decided to
prototype it this afternoon.

I've created a new plugin called cordova-plugin-compat over at
https://github.com/macdonst/cordova-plugin-compat  and all it does is
deliver the org.apache.cordova.PermissionHelper class. I then turned around
and removed the class from the camera plugin and make cordova-plugin-camera
depend on cordova-plugin-compat.

You can see that change over on my camera fork:

https://github.com/macdonst
/cordova-plugin-camera/commit/58b72cb5c3109481df9f337ad97607858681b37e

Can we move to this approach now? Then once the downstream distro's support
API 23 and the new API methods in CordovaInterface we can move this into
Cordova Android proper?

Thoughts? Are there use cases this approach doesn't work for?


Simon Mac Donald
http://hi.im/simonmacdonald

On Fri, Feb 5, 2016 at 2:32 PM, Richard Knoll <ri...@microsoft.com> wrote:

> Yep, I left it out of the first round by mistake; I was looking at an out
> of date version of cordova-plugin-media at the time. I've got a PR open
> that adds the helper here:
>
> https://github.com/apache/cordova-plugin-media/pull/79
>
> Thanks,
> Richard
>
> -----Original Message-----
> From: julio cesar sanchez [mailto:jcesarmobile@gmail.com]
> Sent: Friday, February 5, 2016 7:20 AM
> To: dev@cordova.apache.org
> Subject: Re: [DISCUSS] Core Plugins and Android API 23
>
> Yeah, that one.
>
>
> El viernes, 5 de febrero de 2016, Homer, Tony <to...@intel.com>
> escribió:
>
> > It took me a while to find it, but I guess you mean CB-10455?
> >
> >
> >
> > On 2/5/16, 7:56 AM, "julio cesar sanchez" <jcesarmobile@gmail.com
> > <javascript:;>> wrote:
> >
> > >I think we just forgot, somebody mentioned this on slack and there is
> > >an issue open on JIRA.
> > >
> > >2016-02-05 13:52 GMT+01:00 Homer, Tony <tony.homer@intel.com
> > <javascript:;>>:
> > >
> > >> Earlier in this thread, Richard stated:
> > >> >> This change has been merged into the file, camera, geolocation,
> > >> >> and
> > >> contacts plugins (media did not actually require any change).
> > >>
> > >>
> > >> Media was updated on 1/15 but it still has a "cordova-android
> > >=5.0.0-dev"
> > >> engine tag.
> > >> I couldn't find any other discussion about this on the list and
> > >> wondered why it was retained for media.
> > >> Was this an oversight?
> > >>
> > >>
> > >> Thanks!
> > >> Tony
> > >>
> > >>
> > >>
> > >>
> > >> On 1/15/16, 4:40 PM, "Simon MacDonald" <simon.macdonald@gmail.com
> > <javascript:;>> wrote:
> > >>
> > >> >LGTM
> > >> >
> > >> >+1
> > >> >
> > >> >Simon Mac Donald
> > >> >https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi
> > >> >.im%2fsimonmacdonald&data=01%7c01%7cRIKNOLL%40exchange.microsoft.c
> > >> >om%7cacc2d663ce574637d10908d32e3fd62d%7c72f988bf86f141af91ab2d7cd0
> > >> >11db47%7c1&sdata=wCGbmJR3ZKj6lABfwOcjoLypjztI9HNX8%2bak6AhuBqY%3d
> > >> >
> > >> >On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <bowserj@gmail.com
> > <javascript:;>> wrote:
> > >> >
> > >> >> Sorry, wrong PR:
> > >> >> https://github.com/apache/cordova-plugin-inappbrowser/pull/136
> > >> >>
> > >> >> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <bowserj@gmail.com
> > <javascript:;>> wrote:
> > >> >>
> > >> >> > So, what does the timeline look like for a Plugins release.  I
> > >> >> > just
> > >> did a
> > >> >> > major change in the InAppBrowser to fix tel: and sms: URIs so
> > >> >> > they
> > do
> > >> >> > stuff, and it'd be cool if this also made if this got looked
> > >> >> > over
> > and
> > >> >> > landed before the next release.
> > >> >> >
> > >> >> > https://github.com/apache/cordova-plugin-inappbrowser/pull/135
> > >> >> >
> > >> >> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana <
> > csantana23@gmail.com <javascript:;>
> > >> >
> > >> >> > wrote:
> > >> >> >
> > >> >> >> I agree with final compromise, I also had a discussion with
> > >> >> >> Nikhil
> > >> >> during
> > >> >> >> holiday break offline and understood the situation, some 3rd
> > >> >> >> party
> > >> >> plugins
> > >> >> >> are not open source and customers/devs don't move as fast as
> > >> >> >> we
> > wish,
> > >> >> but
> > >> >> >> having a CLI 6 with latest plugins being backwards compatible
> > >> >> >> with
> > >> lower
> > >> >> >> Android API is good base for developers to start upgrading.
> > >> >> >>
> > >> >> >>
> > >> >> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <
> > stevengill97@gmail.com <javascript:;>>
> > >> >> >> wrote:
> > >> >> >>
> > >> >> >> > Awesome! I'll kick up a discuss thread
> > >> >> >> >
> > >> >> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard Knoll <
> > >> riknoll@microsoft.com <javascript:;>
> > >> >> >
> > >> >> >> > wrote:
> > >> >> >> >
> > >> >> >> > > Hey all,
> > >> >> >> > >
> > >> >> >> > > This change has been merged into the file, camera,
> > geolocation,
> > >> and
> > >> >> >> > > contacts plugins (media did not actually require any
> change).
> > I
> > >> was
> > >> >> >> able
> > >> >> >> > to
> > >> >> >> > > build and run mobilespec on cordova-android 4.0.0 and
> > >> >> >> cordova-android's
> > >> >> >> > > master. We should probably push for a plugins release
> > >> >> >> > > soon,
> > since
> > >> >> >> there
> > >> >> >> > are
> > >> >> >> > > also some major bug fixes to the contacts and camera
> > >> >> >> > > plugins
> > that
> > >> >> were
> > >> >> >> > > recently pushed.
> > >> >> >> > >
> > >> >> >> > > Thanks,
> > >> >> >> > > Richard
> > >> >> >> > >
> > >> >> >> > > -----Original Message-----
> > >> >> >> > > From: Nikhil Khandelwal [mailto:nikhilkh@microsoft.com
> > <javascript:;>]
> > >> >> >> > > Sent: Friday, January 8, 2016 12:12 PM
> > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > >> >> >> > > Subject: RE: [DISCUSS] Core Plugins and Android API 23
> > >> >> >> > >
> > >> >> >> > > We had a good discussion about this offline with Joe,
> > >> >> >> > > Simon,
> > >> Steve,
> > >> >> >> > Jesse,
> > >> >> >> > > Parashu and Jason. We came to the following agreement:
> > >> >> >> > > This is a temporary fix to the plugins which we need to
> > >> >> >> > > take
> > to
> > >> >> ensure
> > >> >> >> > > Cordova 5.x tools behavior of using the edge plugins does
> > >> >> >> > > not
> > >> break
> > >> >> >> for
> > >> >> >> > our
> > >> >> >> > > users. We will pursue the change for all the affected
> plugins.
> > >> This
> > >> >> >> will
> > >> >> >> > go
> > >> >> >> > > out in the next PLUGINS release which will happen before
> > >> >> >> > > the
> > >> Cordova
> > >> >> >> 6.0
> > >> >> >> > > release. Since this a temporary fix, we aim to remove it
> > >> >> >> > > in 6
> > >> months
> > >> >> >> > > (giving reasonable time for our user base to move to
> > >> >> >> > > Cordova
> > 6.x+
> > >> >> >> which
> > >> >> >> > > will have a better plugin version pinning mechanism).
> > >> >> >> > >
> > >> >> >> > > Thanks,
> > >> >> >> > > Nikhil
> > >> >> >> > >
> > >> >> >> > > -----Original Message-----
> > >> >> >> > > From: Simon MacDonald [mailto:simon.macdonald@gmail.com
> > <javascript:;>]
> > >> >> >> > > Sent: Thursday, January 7, 2016 4:00 PM
> > >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> > >> >> >> > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > >> >> >> > >
> > >> >> >> > > I'm going to play devils advocate a bit here:
> > >> >> >> > >
> > >> >> >> > >
> > >> >> >> > > > There are valid reasons why many app developers might
> > >> >> >> > > > not be
> > >> ready
> > >> >> >> to
> > >> >> >> > > > move to API level 23:
> > >> >> >> > > >   1) They have an app which is stabilizing or in
> > >> >> >> > > > maintenance
> > >> mode
> > >> >> >> and
> > >> >> >> > > > they don't want to risk destabilization by moving to a
> > >> >> >> > > > new
> > >> major
> > >> >> >> > > > Cordova version, Cordova Android platform, and Android
> > >> >> >> > > > API
> > >> level.
> > >> >> >> > > >
> > >> >> >> > >
> > >> >> >> > > If the developer is not ready to move to a new version of
> > Cordova
> > >> >> >> Android
> > >> >> >> > > or the Android API would it not also follow that they
> > shouldn't
> > >> be
> > >> >> >> > changing
> > >> >> >> > > their plugin versions?
> > >> >> >> > >
> > >> >> >> > >
> > >> >> >> > > >   2) They are using a 3rd-party plugin which has not
> > >> >> >> > > > yet
> > been
> > >> >> >> updated
> > >> >> >> > > > to request Android permissions as required by API level
> 23.
> > >> There
> > >> >> >> are
> > >> >> >> > > > probably a lot of plugins affected, since access to any
> > >> >> >> > > > of
> > the
> > >> >> >> > > > following things on Android M requires runtime
> > >> >> >> > > > permission
> > >> >> requests:
> > >> >> >> > > > calendar, contacts, phone, camera, microphone,
> > >> >> >> > > > location,
> > >> beacons,
> > >> >> >> > > sensors, SMS, storage.
> > >> >> >> > > >
> > >> >> >> > >
> > >> >> >> > > Right, so if the 3rd party plugin they are using doesn't
> > support
> > >> >> >> Android
> > >> >> >> > M
> > >> >> >> > > they should either a) not upgrade or b) send a PR to the
> > plugin
> > >> >> >> > maintainer
> > >> >> >> > > so everyone can benefit.
> > >> >> >> > >
> > >> >> >> > >
> > >> >> >> > > >   3) They might not have the capacity or ability to
> > >> >> >> > > > test
> > their
> > >> app
> > >> >> >> on
> > >> >> >> > > > devices running Android M. Because API 23 enables the
> > >> >> >> > > > new
> > >> >> >> permissions
> > >> >> >> > > > model only on Android M, it requires testing on that
> > platform.
> > >> >> >> > > >
> > >> >> >> > > >
> > >> >> >> > > Everyone has access to the Android emulator.
> > >> >> >> > >
> > >> >> >> > >
> > >> >> >> > > > In any of the above cases, developers might still like
> > >> >> >> > > > to
> > >> benefit
> > >> >> >> from
> > >> >> >> > > > some of the major bug fixes in those 5 popular core
> > >> >> >> > > > plugins
> > >> >> >> mentioned
> > >> >> >> > > > below. Or even if they weren't specifically looking for
> > >> >> >> > > > bug
> > >> fixes,
> > >> >> >> it
> > >> >> >> > > > would be a much better experience if adding or updating
> > >> >> >> > > > one
> > of
> > >> >> those
> > >> >> >> > > > plugins would just work, rather than failing on
> > >> >> >> > > > Android. The explanation for the failure will not be
> > >> >> >> > > > obvious to many
> > users,
> > >> if
> > >> >> >> they
> > >> >> >> > > > overlooked the warning when installing the plugin or if
> > >> >> >> > > > they
> > >> were
> > >> >> >> > > > using another tool to add the plugin where the warning
> > wasn't
> > >> >> >> surfaced.
> > >> >> >> > > >
> > >> >> >> > >
> > >> >> >> > >  Seems like you are describing a tooling problem here. If
> > >> >> >> > > the
> > >> tool
> > >> >> >> > doesn't
> > >> >> >> > > surface the warning or allows the user to add a plugin
> > >> >> >> > > that is
> > >> >> >> > incompatible
> > >> >> >> > > with the version of Cordova Android that is being used
> > >> >> >> > > really
> > >> sounds
> > >> >> >> > like a
> > >> >> >> > > bug in the tooling to me.
> > >> >> >> > >
> > >> >> >> > >
> > >> >> >> > > > Of course developers should be encouraged to upgrade to
> > >> >> >> > > > the
> > >> latest
> > >> >> >> > > > most secure highest-quality version of Cordova. But the
> > >> >> >> encouragement
> > >> >> >> > > > does not need to be so forceful. This proposed change
> > >> >> >> > > > gives
> > >> >> >> developers
> > >> >> >> > > > more time to upgrade, and allows for more choice about
> > >> >> >> > > > when
> > to
> > >> >> >> upgrade
> > >> >> >> > > > individual parts
> > >> >> >> > > > (plugins) rather than limiting them to all-or-nothing.
> > >> >> >> > >
> > >> >> >> > >
> > >> >> >> > >  I would argue that the developer has an infinite amount
> > >> >> >> > > of
> > time
> > >> to
> > >> >> >> > > upgrade. Nothing is forcing you to upgrade to the latest
> > Cordova
> > >> >> >> Android
> > >> >> >> > or
> > >> >> >> > > Android API. They can continue to use the same version of
> > Cordova
> > >> >> >> Android
> > >> >> >> > > and plugins that are currently working in their app. If
> > >> >> >> > > the
> > >> >> developer
> > >> >> >> is
> > >> >> >> > > using semver properly and we do our job right they
> > >> >> >> > > shouldn't
> > >> pick up
> > >> >> >> > > breaking changes. For instance, if the API of a plugin
> > changes we
> > >> >> bump
> > >> >> >> > the
> > >> >> >> > > major version of the plugin so users who setup their
> > config.xml
> > >> to
> > >> >> >> use:
> > >> >> >> > >
> > >> >> >> > > <plugin name="cordova-plugin-camera" spec="^1.1.0" />
> > >> >> >> > >
> > >> >> >> > > will effectively prevent the user from picking up the
> > >> >> >> > > breaking
> > >> >> change
> > >> >> >> in
> > >> >> >> > > camera version 2.0.0.
> > >> >> >> > >
> > >> >> >> > > Simon Mac Donald
> > >> >> >> > >
> > >> >> >> > >
> > >> >> >> >
> > >> >> >>
> > >> >>
> > >>
> > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%
> > 2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com%7c84fb6405edf
> > 74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=B8D
> > uMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
> > >> >> >> > >  B
> > >> >> >>
> > >> KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
> > >> KCB
> > >> >> >> > >   [  X  ܚX K  K[XZ[
> > >> >> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[    [X[
>  K[XZ[
> > >> >> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
> > >> >> >> > >
> > >> >> >> >
> > >> >> >>
> > >> >> >
> > >> >> >
> > >> >>
> > >>
> > >> -------------------------------------------------------------------
> > >> -- To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
> > <javascript:;>
> > >> For additional commands, e-mail: dev-help@cordova.apache.org
> > <javascript:;>
> > >>
> >
>

RE: [DISCUSS] Core Plugins and Android API 23

Posted by Richard Knoll <ri...@microsoft.com>.
Yep, I left it out of the first round by mistake; I was looking at an out of date version of cordova-plugin-media at the time. I've got a PR open that adds the helper here:

https://github.com/apache/cordova-plugin-media/pull/79

Thanks,
Richard

-----Original Message-----
From: julio cesar sanchez [mailto:jcesarmobile@gmail.com] 
Sent: Friday, February 5, 2016 7:20 AM
To: dev@cordova.apache.org
Subject: Re: [DISCUSS] Core Plugins and Android API 23

Yeah, that one.


El viernes, 5 de febrero de 2016, Homer, Tony <to...@intel.com>
escribió:

> It took me a while to find it, but I guess you mean CB-10455?
>
>
>
> On 2/5/16, 7:56 AM, "julio cesar sanchez" <jcesarmobile@gmail.com 
> <javascript:;>> wrote:
>
> >I think we just forgot, somebody mentioned this on slack and there is 
> >an issue open on JIRA.
> >
> >2016-02-05 13:52 GMT+01:00 Homer, Tony <tony.homer@intel.com
> <javascript:;>>:
> >
> >> Earlier in this thread, Richard stated:
> >> >> This change has been merged into the file, camera, geolocation, 
> >> >> and
> >> contacts plugins (media did not actually require any change).
> >>
> >>
> >> Media was updated on 1/15 but it still has a "cordova-android
> >=5.0.0-dev"
> >> engine tag.
> >> I couldn't find any other discussion about this on the list and 
> >> wondered why it was retained for media.
> >> Was this an oversight?
> >>
> >>
> >> Thanks!
> >> Tony
> >>
> >>
> >>
> >>
> >> On 1/15/16, 4:40 PM, "Simon MacDonald" <simon.macdonald@gmail.com
> <javascript:;>> wrote:
> >>
> >> >LGTM
> >> >
> >> >+1
> >> >
> >> >Simon Mac Donald
> >> >https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi
> >> >.im%2fsimonmacdonald&data=01%7c01%7cRIKNOLL%40exchange.microsoft.c
> >> >om%7cacc2d663ce574637d10908d32e3fd62d%7c72f988bf86f141af91ab2d7cd0
> >> >11db47%7c1&sdata=wCGbmJR3ZKj6lABfwOcjoLypjztI9HNX8%2bak6AhuBqY%3d
> >> >
> >> >On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <bowserj@gmail.com
> <javascript:;>> wrote:
> >> >
> >> >> Sorry, wrong PR:
> >> >> https://github.com/apache/cordova-plugin-inappbrowser/pull/136
> >> >>
> >> >> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <bowserj@gmail.com
> <javascript:;>> wrote:
> >> >>
> >> >> > So, what does the timeline look like for a Plugins release.  I 
> >> >> > just
> >> did a
> >> >> > major change in the InAppBrowser to fix tel: and sms: URIs so 
> >> >> > they
> do
> >> >> > stuff, and it'd be cool if this also made if this got looked 
> >> >> > over
> and
> >> >> > landed before the next release.
> >> >> >
> >> >> > https://github.com/apache/cordova-plugin-inappbrowser/pull/135
> >> >> >
> >> >> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana <
> csantana23@gmail.com <javascript:;>
> >> >
> >> >> > wrote:
> >> >> >
> >> >> >> I agree with final compromise, I also had a discussion with 
> >> >> >> Nikhil
> >> >> during
> >> >> >> holiday break offline and understood the situation, some 3rd 
> >> >> >> party
> >> >> plugins
> >> >> >> are not open source and customers/devs don't move as fast as 
> >> >> >> we
> wish,
> >> >> but
> >> >> >> having a CLI 6 with latest plugins being backwards compatible 
> >> >> >> with
> >> lower
> >> >> >> Android API is good base for developers to start upgrading.
> >> >> >>
> >> >> >>
> >> >> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <
> stevengill97@gmail.com <javascript:;>>
> >> >> >> wrote:
> >> >> >>
> >> >> >> > Awesome! I'll kick up a discuss thread
> >> >> >> >
> >> >> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard Knoll <
> >> riknoll@microsoft.com <javascript:;>
> >> >> >
> >> >> >> > wrote:
> >> >> >> >
> >> >> >> > > Hey all,
> >> >> >> > >
> >> >> >> > > This change has been merged into the file, camera,
> geolocation,
> >> and
> >> >> >> > > contacts plugins (media did not actually require any change).
> I
> >> was
> >> >> >> able
> >> >> >> > to
> >> >> >> > > build and run mobilespec on cordova-android 4.0.0 and
> >> >> >> cordova-android's
> >> >> >> > > master. We should probably push for a plugins release 
> >> >> >> > > soon,
> since
> >> >> >> there
> >> >> >> > are
> >> >> >> > > also some major bug fixes to the contacts and camera 
> >> >> >> > > plugins
> that
> >> >> were
> >> >> >> > > recently pushed.
> >> >> >> > >
> >> >> >> > > Thanks,
> >> >> >> > > Richard
> >> >> >> > >
> >> >> >> > > -----Original Message-----
> >> >> >> > > From: Nikhil Khandelwal [mailto:nikhilkh@microsoft.com
> <javascript:;>]
> >> >> >> > > Sent: Friday, January 8, 2016 12:12 PM
> >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> >> >> >> > > Subject: RE: [DISCUSS] Core Plugins and Android API 23
> >> >> >> > >
> >> >> >> > > We had a good discussion about this offline with Joe, 
> >> >> >> > > Simon,
> >> Steve,
> >> >> >> > Jesse,
> >> >> >> > > Parashu and Jason. We came to the following agreement:
> >> >> >> > > This is a temporary fix to the plugins which we need to 
> >> >> >> > > take
> to
> >> >> ensure
> >> >> >> > > Cordova 5.x tools behavior of using the edge plugins does 
> >> >> >> > > not
> >> break
> >> >> >> for
> >> >> >> > our
> >> >> >> > > users. We will pursue the change for all the affected plugins.
> >> This
> >> >> >> will
> >> >> >> > go
> >> >> >> > > out in the next PLUGINS release which will happen before 
> >> >> >> > > the
> >> Cordova
> >> >> >> 6.0
> >> >> >> > > release. Since this a temporary fix, we aim to remove it 
> >> >> >> > > in 6
> >> months
> >> >> >> > > (giving reasonable time for our user base to move to 
> >> >> >> > > Cordova
> 6.x+
> >> >> >> which
> >> >> >> > > will have a better plugin version pinning mechanism).
> >> >> >> > >
> >> >> >> > > Thanks,
> >> >> >> > > Nikhil
> >> >> >> > >
> >> >> >> > > -----Original Message-----
> >> >> >> > > From: Simon MacDonald [mailto:simon.macdonald@gmail.com
> <javascript:;>]
> >> >> >> > > Sent: Thursday, January 7, 2016 4:00 PM
> >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> >> >> >> > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> >> >> >> > >
> >> >> >> > > I'm going to play devils advocate a bit here:
> >> >> >> > >
> >> >> >> > >
> >> >> >> > > > There are valid reasons why many app developers might 
> >> >> >> > > > not be
> >> ready
> >> >> >> to
> >> >> >> > > > move to API level 23:
> >> >> >> > > >   1) They have an app which is stabilizing or in 
> >> >> >> > > > maintenance
> >> mode
> >> >> >> and
> >> >> >> > > > they don't want to risk destabilization by moving to a 
> >> >> >> > > > new
> >> major
> >> >> >> > > > Cordova version, Cordova Android platform, and Android 
> >> >> >> > > > API
> >> level.
> >> >> >> > > >
> >> >> >> > >
> >> >> >> > > If the developer is not ready to move to a new version of
> Cordova
> >> >> >> Android
> >> >> >> > > or the Android API would it not also follow that they
> shouldn't
> >> be
> >> >> >> > changing
> >> >> >> > > their plugin versions?
> >> >> >> > >
> >> >> >> > >
> >> >> >> > > >   2) They are using a 3rd-party plugin which has not 
> >> >> >> > > > yet
> been
> >> >> >> updated
> >> >> >> > > > to request Android permissions as required by API level 23.
> >> There
> >> >> >> are
> >> >> >> > > > probably a lot of plugins affected, since access to any 
> >> >> >> > > > of
> the
> >> >> >> > > > following things on Android M requires runtime 
> >> >> >> > > > permission
> >> >> requests:
> >> >> >> > > > calendar, contacts, phone, camera, microphone, 
> >> >> >> > > > location,
> >> beacons,
> >> >> >> > > sensors, SMS, storage.
> >> >> >> > > >
> >> >> >> > >
> >> >> >> > > Right, so if the 3rd party plugin they are using doesn't
> support
> >> >> >> Android
> >> >> >> > M
> >> >> >> > > they should either a) not upgrade or b) send a PR to the
> plugin
> >> >> >> > maintainer
> >> >> >> > > so everyone can benefit.
> >> >> >> > >
> >> >> >> > >
> >> >> >> > > >   3) They might not have the capacity or ability to 
> >> >> >> > > > test
> their
> >> app
> >> >> >> on
> >> >> >> > > > devices running Android M. Because API 23 enables the 
> >> >> >> > > > new
> >> >> >> permissions
> >> >> >> > > > model only on Android M, it requires testing on that
> platform.
> >> >> >> > > >
> >> >> >> > > >
> >> >> >> > > Everyone has access to the Android emulator.
> >> >> >> > >
> >> >> >> > >
> >> >> >> > > > In any of the above cases, developers might still like 
> >> >> >> > > > to
> >> benefit
> >> >> >> from
> >> >> >> > > > some of the major bug fixes in those 5 popular core 
> >> >> >> > > > plugins
> >> >> >> mentioned
> >> >> >> > > > below. Or even if they weren't specifically looking for 
> >> >> >> > > > bug
> >> fixes,
> >> >> >> it
> >> >> >> > > > would be a much better experience if adding or updating 
> >> >> >> > > > one
> of
> >> >> those
> >> >> >> > > > plugins would just work, rather than failing on 
> >> >> >> > > > Android. The explanation for the failure will not be 
> >> >> >> > > > obvious to many
> users,
> >> if
> >> >> >> they
> >> >> >> > > > overlooked the warning when installing the plugin or if 
> >> >> >> > > > they
> >> were
> >> >> >> > > > using another tool to add the plugin where the warning
> wasn't
> >> >> >> surfaced.
> >> >> >> > > >
> >> >> >> > >
> >> >> >> > >  Seems like you are describing a tooling problem here. If 
> >> >> >> > > the
> >> tool
> >> >> >> > doesn't
> >> >> >> > > surface the warning or allows the user to add a plugin 
> >> >> >> > > that is
> >> >> >> > incompatible
> >> >> >> > > with the version of Cordova Android that is being used 
> >> >> >> > > really
> >> sounds
> >> >> >> > like a
> >> >> >> > > bug in the tooling to me.
> >> >> >> > >
> >> >> >> > >
> >> >> >> > > > Of course developers should be encouraged to upgrade to 
> >> >> >> > > > the
> >> latest
> >> >> >> > > > most secure highest-quality version of Cordova. But the
> >> >> >> encouragement
> >> >> >> > > > does not need to be so forceful. This proposed change 
> >> >> >> > > > gives
> >> >> >> developers
> >> >> >> > > > more time to upgrade, and allows for more choice about 
> >> >> >> > > > when
> to
> >> >> >> upgrade
> >> >> >> > > > individual parts
> >> >> >> > > > (plugins) rather than limiting them to all-or-nothing.
> >> >> >> > >
> >> >> >> > >
> >> >> >> > >  I would argue that the developer has an infinite amount 
> >> >> >> > > of
> time
> >> to
> >> >> >> > > upgrade. Nothing is forcing you to upgrade to the latest
> Cordova
> >> >> >> Android
> >> >> >> > or
> >> >> >> > > Android API. They can continue to use the same version of
> Cordova
> >> >> >> Android
> >> >> >> > > and plugins that are currently working in their app. If 
> >> >> >> > > the
> >> >> developer
> >> >> >> is
> >> >> >> > > using semver properly and we do our job right they 
> >> >> >> > > shouldn't
> >> pick up
> >> >> >> > > breaking changes. For instance, if the API of a plugin
> changes we
> >> >> bump
> >> >> >> > the
> >> >> >> > > major version of the plugin so users who setup their
> config.xml
> >> to
> >> >> >> use:
> >> >> >> > >
> >> >> >> > > <plugin name="cordova-plugin-camera" spec="^1.1.0" />
> >> >> >> > >
> >> >> >> > > will effectively prevent the user from picking up the 
> >> >> >> > > breaking
> >> >> change
> >> >> >> in
> >> >> >> > > camera version 2.0.0.
> >> >> >> > >
> >> >> >> > > Simon Mac Donald
> >> >> >> > >
> >> >> >> > >
> >> >> >> >
> >> >> >>
> >> >>
> >>
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%
> 2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com%7c84fb6405edf
> 74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=B8D
> uMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
> >> >> >> > >  B
> >> >> >>
> >> KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
> >> KCB
> >> >> >> > >   [  X  ܚX K  K[XZ[
> >> >> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[    [X[     K[XZ[
> >> >> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
> >> >> >> > >
> >> >> >> >
> >> >> >>
> >> >> >
> >> >> >
> >> >>
> >>
> >> -------------------------------------------------------------------
> >> -- To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
> <javascript:;>
> >> For additional commands, e-mail: dev-help@cordova.apache.org
> <javascript:;>
> >>
>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by julio cesar sanchez <jc...@gmail.com>.
Yeah, that one.


El viernes, 5 de febrero de 2016, Homer, Tony <to...@intel.com>
escribió:

> It took me a while to find it, but I guess you mean CB-10455?
>
>
>
> On 2/5/16, 7:56 AM, "julio cesar sanchez" <jcesarmobile@gmail.com
> <javascript:;>> wrote:
>
> >I think we just forgot, somebody mentioned this on slack and there is an
> >issue open on JIRA.
> >
> >2016-02-05 13:52 GMT+01:00 Homer, Tony <tony.homer@intel.com
> <javascript:;>>:
> >
> >> Earlier in this thread, Richard stated:
> >> >> This change has been merged into the file, camera, geolocation, and
> >> contacts plugins (media did not actually require any change).
> >>
> >>
> >> Media was updated on 1/15 but it still has a "cordova-android
> >=5.0.0-dev"
> >> engine tag.
> >> I couldn't find any other discussion about this on the list and wondered
> >> why it was retained for media.
> >> Was this an oversight?
> >>
> >>
> >> Thanks!
> >> Tony
> >>
> >>
> >>
> >>
> >> On 1/15/16, 4:40 PM, "Simon MacDonald" <simon.macdonald@gmail.com
> <javascript:;>> wrote:
> >>
> >> >LGTM
> >> >
> >> >+1
> >> >
> >> >Simon Mac Donald
> >> >http://hi.im/simonmacdonald
> >> >
> >> >On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <bowserj@gmail.com
> <javascript:;>> wrote:
> >> >
> >> >> Sorry, wrong PR:
> >> >> https://github.com/apache/cordova-plugin-inappbrowser/pull/136
> >> >>
> >> >> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <bowserj@gmail.com
> <javascript:;>> wrote:
> >> >>
> >> >> > So, what does the timeline look like for a Plugins release.  I just
> >> did a
> >> >> > major change in the InAppBrowser to fix tel: and sms: URIs so they
> do
> >> >> > stuff, and it'd be cool if this also made if this got looked over
> and
> >> >> > landed before the next release.
> >> >> >
> >> >> > https://github.com/apache/cordova-plugin-inappbrowser/pull/135
> >> >> >
> >> >> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana <
> csantana23@gmail.com <javascript:;>
> >> >
> >> >> > wrote:
> >> >> >
> >> >> >> I agree with final compromise, I also had a discussion with Nikhil
> >> >> during
> >> >> >> holiday break offline and understood the situation, some 3rd party
> >> >> plugins
> >> >> >> are not open source and customers/devs don't move as fast as we
> wish,
> >> >> but
> >> >> >> having a CLI 6 with latest plugins being backwards compatible with
> >> lower
> >> >> >> Android API is good base for developers to start upgrading.
> >> >> >>
> >> >> >>
> >> >> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <
> stevengill97@gmail.com <javascript:;>>
> >> >> >> wrote:
> >> >> >>
> >> >> >> > Awesome! I'll kick up a discuss thread
> >> >> >> >
> >> >> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard Knoll <
> >> riknoll@microsoft.com <javascript:;>
> >> >> >
> >> >> >> > wrote:
> >> >> >> >
> >> >> >> > > Hey all,
> >> >> >> > >
> >> >> >> > > This change has been merged into the file, camera,
> geolocation,
> >> and
> >> >> >> > > contacts plugins (media did not actually require any change).
> I
> >> was
> >> >> >> able
> >> >> >> > to
> >> >> >> > > build and run mobilespec on cordova-android 4.0.0 and
> >> >> >> cordova-android's
> >> >> >> > > master. We should probably push for a plugins release soon,
> since
> >> >> >> there
> >> >> >> > are
> >> >> >> > > also some major bug fixes to the contacts and camera plugins
> that
> >> >> were
> >> >> >> > > recently pushed.
> >> >> >> > >
> >> >> >> > > Thanks,
> >> >> >> > > Richard
> >> >> >> > >
> >> >> >> > > -----Original Message-----
> >> >> >> > > From: Nikhil Khandelwal [mailto:nikhilkh@microsoft.com
> <javascript:;>]
> >> >> >> > > Sent: Friday, January 8, 2016 12:12 PM
> >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> >> >> >> > > Subject: RE: [DISCUSS] Core Plugins and Android API 23
> >> >> >> > >
> >> >> >> > > We had a good discussion about this offline with Joe, Simon,
> >> Steve,
> >> >> >> > Jesse,
> >> >> >> > > Parashu and Jason. We came to the following agreement:
> >> >> >> > > This is a temporary fix to the plugins which we need to take
> to
> >> >> ensure
> >> >> >> > > Cordova 5.x tools behavior of using the edge plugins does not
> >> break
> >> >> >> for
> >> >> >> > our
> >> >> >> > > users. We will pursue the change for all the affected plugins.
> >> This
> >> >> >> will
> >> >> >> > go
> >> >> >> > > out in the next PLUGINS release which will happen before the
> >> Cordova
> >> >> >> 6.0
> >> >> >> > > release. Since this a temporary fix, we aim to remove it in 6
> >> months
> >> >> >> > > (giving reasonable time for our user base to move to Cordova
> 6.x+
> >> >> >> which
> >> >> >> > > will have a better plugin version pinning mechanism).
> >> >> >> > >
> >> >> >> > > Thanks,
> >> >> >> > > Nikhil
> >> >> >> > >
> >> >> >> > > -----Original Message-----
> >> >> >> > > From: Simon MacDonald [mailto:simon.macdonald@gmail.com
> <javascript:;>]
> >> >> >> > > Sent: Thursday, January 7, 2016 4:00 PM
> >> >> >> > > To: dev@cordova.apache.org <javascript:;>
> >> >> >> > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> >> >> >> > >
> >> >> >> > > I'm going to play devils advocate a bit here:
> >> >> >> > >
> >> >> >> > >
> >> >> >> > > > There are valid reasons why many app developers might not be
> >> ready
> >> >> >> to
> >> >> >> > > > move to API level 23:
> >> >> >> > > >   1) They have an app which is stabilizing or in maintenance
> >> mode
> >> >> >> and
> >> >> >> > > > they don't want to risk destabilization by moving to a new
> >> major
> >> >> >> > > > Cordova version, Cordova Android platform, and Android API
> >> level.
> >> >> >> > > >
> >> >> >> > >
> >> >> >> > > If the developer is not ready to move to a new version of
> Cordova
> >> >> >> Android
> >> >> >> > > or the Android API would it not also follow that they
> shouldn't
> >> be
> >> >> >> > changing
> >> >> >> > > their plugin versions?
> >> >> >> > >
> >> >> >> > >
> >> >> >> > > >   2) They are using a 3rd-party plugin which has not yet
> been
> >> >> >> updated
> >> >> >> > > > to request Android permissions as required by API level 23.
> >> There
> >> >> >> are
> >> >> >> > > > probably a lot of plugins affected, since access to any of
> the
> >> >> >> > > > following things on Android M requires runtime permission
> >> >> requests:
> >> >> >> > > > calendar, contacts, phone, camera, microphone, location,
> >> beacons,
> >> >> >> > > sensors, SMS, storage.
> >> >> >> > > >
> >> >> >> > >
> >> >> >> > > Right, so if the 3rd party plugin they are using doesn't
> support
> >> >> >> Android
> >> >> >> > M
> >> >> >> > > they should either a) not upgrade or b) send a PR to the
> plugin
> >> >> >> > maintainer
> >> >> >> > > so everyone can benefit.
> >> >> >> > >
> >> >> >> > >
> >> >> >> > > >   3) They might not have the capacity or ability to test
> their
> >> app
> >> >> >> on
> >> >> >> > > > devices running Android M. Because API 23 enables the new
> >> >> >> permissions
> >> >> >> > > > model only on Android M, it requires testing on that
> platform.
> >> >> >> > > >
> >> >> >> > > >
> >> >> >> > > Everyone has access to the Android emulator.
> >> >> >> > >
> >> >> >> > >
> >> >> >> > > > In any of the above cases, developers might still like to
> >> benefit
> >> >> >> from
> >> >> >> > > > some of the major bug fixes in those 5 popular core plugins
> >> >> >> mentioned
> >> >> >> > > > below. Or even if they weren't specifically looking for bug
> >> fixes,
> >> >> >> it
> >> >> >> > > > would be a much better experience if adding or updating one
> of
> >> >> those
> >> >> >> > > > plugins would just work, rather than failing on Android. The
> >> >> >> > > > explanation for the failure will not be obvious to many
> users,
> >> if
> >> >> >> they
> >> >> >> > > > overlooked the warning when installing the plugin or if they
> >> were
> >> >> >> > > > using another tool to add the plugin where the warning
> wasn't
> >> >> >> surfaced.
> >> >> >> > > >
> >> >> >> > >
> >> >> >> > >  Seems like you are describing a tooling problem here. If the
> >> tool
> >> >> >> > doesn't
> >> >> >> > > surface the warning or allows the user to add a plugin that is
> >> >> >> > incompatible
> >> >> >> > > with the version of Cordova Android that is being used really
> >> sounds
> >> >> >> > like a
> >> >> >> > > bug in the tooling to me.
> >> >> >> > >
> >> >> >> > >
> >> >> >> > > > Of course developers should be encouraged to upgrade to the
> >> latest
> >> >> >> > > > most secure highest-quality version of Cordova. But the
> >> >> >> encouragement
> >> >> >> > > > does not need to be so forceful. This proposed change gives
> >> >> >> developers
> >> >> >> > > > more time to upgrade, and allows for more choice about when
> to
> >> >> >> upgrade
> >> >> >> > > > individual parts
> >> >> >> > > > (plugins) rather than limiting them to all-or-nothing.
> >> >> >> > >
> >> >> >> > >
> >> >> >> > >  I would argue that the developer has an infinite amount of
> time
> >> to
> >> >> >> > > upgrade. Nothing is forcing you to upgrade to the latest
> Cordova
> >> >> >> Android
> >> >> >> > or
> >> >> >> > > Android API. They can continue to use the same version of
> Cordova
> >> >> >> Android
> >> >> >> > > and plugins that are currently working in their app. If the
> >> >> developer
> >> >> >> is
> >> >> >> > > using semver properly and we do our job right they shouldn't
> >> pick up
> >> >> >> > > breaking changes. For instance, if the API of a plugin
> changes we
> >> >> bump
> >> >> >> > the
> >> >> >> > > major version of the plugin so users who setup their
> config.xml
> >> to
> >> >> >> use:
> >> >> >> > >
> >> >> >> > > <plugin name="cordova-plugin-camera" spec="^1.1.0" />
> >> >> >> > >
> >> >> >> > > will effectively prevent the user from picking up the breaking
> >> >> change
> >> >> >> in
> >> >> >> > > camera version 2.0.0.
> >> >> >> > >
> >> >> >> > > Simon Mac Donald
> >> >> >> > >
> >> >> >> > >
> >> >> >> >
> >> >> >>
> >> >>
> >>
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com%7c84fb6405edf74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=B8DuMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
> >> >> >> > >  B
> >> >> >>
> >> KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKCB
> >> >> >> > >   [  X  ܚX K  K[XZ[
> >> >> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[    [X[     K[XZ[
> >> >> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
> >> >> >> > >
> >> >> >> >
> >> >> >>
> >> >> >
> >> >> >
> >> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
> <javascript:;>
> >> For additional commands, e-mail: dev-help@cordova.apache.org
> <javascript:;>
> >>
>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by "Homer, Tony" <to...@intel.com>.
It took me a while to find it, but I guess you mean CB-10455?



On 2/5/16, 7:56 AM, "julio cesar sanchez" <jc...@gmail.com> wrote:

>I think we just forgot, somebody mentioned this on slack and there is an
>issue open on JIRA.
>
>2016-02-05 13:52 GMT+01:00 Homer, Tony <to...@intel.com>:
>
>> Earlier in this thread, Richard stated:
>> >> This change has been merged into the file, camera, geolocation, and
>> contacts plugins (media did not actually require any change).
>>
>>
>> Media was updated on 1/15 but it still has a "cordova-android >=5.0.0-dev"
>> engine tag.
>> I couldn't find any other discussion about this on the list and wondered
>> why it was retained for media.
>> Was this an oversight?
>>
>>
>> Thanks!
>> Tony
>>
>>
>>
>>
>> On 1/15/16, 4:40 PM, "Simon MacDonald" <si...@gmail.com> wrote:
>>
>> >LGTM
>> >
>> >+1
>> >
>> >Simon Mac Donald
>> >http://hi.im/simonmacdonald
>> >
>> >On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <bo...@gmail.com> wrote:
>> >
>> >> Sorry, wrong PR:
>> >> https://github.com/apache/cordova-plugin-inappbrowser/pull/136
>> >>
>> >> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <bo...@gmail.com> wrote:
>> >>
>> >> > So, what does the timeline look like for a Plugins release.  I just
>> did a
>> >> > major change in the InAppBrowser to fix tel: and sms: URIs so they do
>> >> > stuff, and it'd be cool if this also made if this got looked over and
>> >> > landed before the next release.
>> >> >
>> >> > https://github.com/apache/cordova-plugin-inappbrowser/pull/135
>> >> >
>> >> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana <csantana23@gmail.com
>> >
>> >> > wrote:
>> >> >
>> >> >> I agree with final compromise, I also had a discussion with Nikhil
>> >> during
>> >> >> holiday break offline and understood the situation, some 3rd party
>> >> plugins
>> >> >> are not open source and customers/devs don't move as fast as we wish,
>> >> but
>> >> >> having a CLI 6 with latest plugins being backwards compatible with
>> lower
>> >> >> Android API is good base for developers to start upgrading.
>> >> >>
>> >> >>
>> >> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <st...@gmail.com>
>> >> >> wrote:
>> >> >>
>> >> >> > Awesome! I'll kick up a discuss thread
>> >> >> >
>> >> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard Knoll <
>> riknoll@microsoft.com
>> >> >
>> >> >> > wrote:
>> >> >> >
>> >> >> > > Hey all,
>> >> >> > >
>> >> >> > > This change has been merged into the file, camera, geolocation,
>> and
>> >> >> > > contacts plugins (media did not actually require any change). I
>> was
>> >> >> able
>> >> >> > to
>> >> >> > > build and run mobilespec on cordova-android 4.0.0 and
>> >> >> cordova-android's
>> >> >> > > master. We should probably push for a plugins release soon, since
>> >> >> there
>> >> >> > are
>> >> >> > > also some major bug fixes to the contacts and camera plugins that
>> >> were
>> >> >> > > recently pushed.
>> >> >> > >
>> >> >> > > Thanks,
>> >> >> > > Richard
>> >> >> > >
>> >> >> > > -----Original Message-----
>> >> >> > > From: Nikhil Khandelwal [mailto:nikhilkh@microsoft.com]
>> >> >> > > Sent: Friday, January 8, 2016 12:12 PM
>> >> >> > > To: dev@cordova.apache.org
>> >> >> > > Subject: RE: [DISCUSS] Core Plugins and Android API 23
>> >> >> > >
>> >> >> > > We had a good discussion about this offline with Joe, Simon,
>> Steve,
>> >> >> > Jesse,
>> >> >> > > Parashu and Jason. We came to the following agreement:
>> >> >> > > This is a temporary fix to the plugins which we need to take to
>> >> ensure
>> >> >> > > Cordova 5.x tools behavior of using the edge plugins does not
>> break
>> >> >> for
>> >> >> > our
>> >> >> > > users. We will pursue the change for all the affected plugins.
>> This
>> >> >> will
>> >> >> > go
>> >> >> > > out in the next PLUGINS release which will happen before the
>> Cordova
>> >> >> 6.0
>> >> >> > > release. Since this a temporary fix, we aim to remove it in 6
>> months
>> >> >> > > (giving reasonable time for our user base to move to Cordova 6.x+
>> >> >> which
>> >> >> > > will have a better plugin version pinning mechanism).
>> >> >> > >
>> >> >> > > Thanks,
>> >> >> > > Nikhil
>> >> >> > >
>> >> >> > > -----Original Message-----
>> >> >> > > From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
>> >> >> > > Sent: Thursday, January 7, 2016 4:00 PM
>> >> >> > > To: dev@cordova.apache.org
>> >> >> > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
>> >> >> > >
>> >> >> > > I'm going to play devils advocate a bit here:
>> >> >> > >
>> >> >> > >
>> >> >> > > > There are valid reasons why many app developers might not be
>> ready
>> >> >> to
>> >> >> > > > move to API level 23:
>> >> >> > > >   1) They have an app which is stabilizing or in maintenance
>> mode
>> >> >> and
>> >> >> > > > they don't want to risk destabilization by moving to a new
>> major
>> >> >> > > > Cordova version, Cordova Android platform, and Android API
>> level.
>> >> >> > > >
>> >> >> > >
>> >> >> > > If the developer is not ready to move to a new version of Cordova
>> >> >> Android
>> >> >> > > or the Android API would it not also follow that they shouldn't
>> be
>> >> >> > changing
>> >> >> > > their plugin versions?
>> >> >> > >
>> >> >> > >
>> >> >> > > >   2) They are using a 3rd-party plugin which has not yet been
>> >> >> updated
>> >> >> > > > to request Android permissions as required by API level 23.
>> There
>> >> >> are
>> >> >> > > > probably a lot of plugins affected, since access to any of the
>> >> >> > > > following things on Android M requires runtime permission
>> >> requests:
>> >> >> > > > calendar, contacts, phone, camera, microphone, location,
>> beacons,
>> >> >> > > sensors, SMS, storage.
>> >> >> > > >
>> >> >> > >
>> >> >> > > Right, so if the 3rd party plugin they are using doesn't support
>> >> >> Android
>> >> >> > M
>> >> >> > > they should either a) not upgrade or b) send a PR to the plugin
>> >> >> > maintainer
>> >> >> > > so everyone can benefit.
>> >> >> > >
>> >> >> > >
>> >> >> > > >   3) They might not have the capacity or ability to test their
>> app
>> >> >> on
>> >> >> > > > devices running Android M. Because API 23 enables the new
>> >> >> permissions
>> >> >> > > > model only on Android M, it requires testing on that platform.
>> >> >> > > >
>> >> >> > > >
>> >> >> > > Everyone has access to the Android emulator.
>> >> >> > >
>> >> >> > >
>> >> >> > > > In any of the above cases, developers might still like to
>> benefit
>> >> >> from
>> >> >> > > > some of the major bug fixes in those 5 popular core plugins
>> >> >> mentioned
>> >> >> > > > below. Or even if they weren't specifically looking for bug
>> fixes,
>> >> >> it
>> >> >> > > > would be a much better experience if adding or updating one of
>> >> those
>> >> >> > > > plugins would just work, rather than failing on Android. The
>> >> >> > > > explanation for the failure will not be obvious to many users,
>> if
>> >> >> they
>> >> >> > > > overlooked the warning when installing the plugin or if they
>> were
>> >> >> > > > using another tool to add the plugin where the warning wasn't
>> >> >> surfaced.
>> >> >> > > >
>> >> >> > >
>> >> >> > >  Seems like you are describing a tooling problem here. If the
>> tool
>> >> >> > doesn't
>> >> >> > > surface the warning or allows the user to add a plugin that is
>> >> >> > incompatible
>> >> >> > > with the version of Cordova Android that is being used really
>> sounds
>> >> >> > like a
>> >> >> > > bug in the tooling to me.
>> >> >> > >
>> >> >> > >
>> >> >> > > > Of course developers should be encouraged to upgrade to the
>> latest
>> >> >> > > > most secure highest-quality version of Cordova. But the
>> >> >> encouragement
>> >> >> > > > does not need to be so forceful. This proposed change gives
>> >> >> developers
>> >> >> > > > more time to upgrade, and allows for more choice about when to
>> >> >> upgrade
>> >> >> > > > individual parts
>> >> >> > > > (plugins) rather than limiting them to all-or-nothing.
>> >> >> > >
>> >> >> > >
>> >> >> > >  I would argue that the developer has an infinite amount of time
>> to
>> >> >> > > upgrade. Nothing is forcing you to upgrade to the latest Cordova
>> >> >> Android
>> >> >> > or
>> >> >> > > Android API. They can continue to use the same version of Cordova
>> >> >> Android
>> >> >> > > and plugins that are currently working in their app. If the
>> >> developer
>> >> >> is
>> >> >> > > using semver properly and we do our job right they shouldn't
>> pick up
>> >> >> > > breaking changes. For instance, if the API of a plugin changes we
>> >> bump
>> >> >> > the
>> >> >> > > major version of the plugin so users who setup their config.xml
>> to
>> >> >> use:
>> >> >> > >
>> >> >> > > <plugin name="cordova-plugin-camera" spec="^1.1.0" />
>> >> >> > >
>> >> >> > > will effectively prevent the user from picking up the breaking
>> >> change
>> >> >> in
>> >> >> > > camera version 2.0.0.
>> >> >> > >
>> >> >> > > Simon Mac Donald
>> >> >> > >
>> >> >> > >
>> >> >> >
>> >> >>
>> >>
>> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com%7c84fb6405edf74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=B8DuMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
>> >> >> > >  B
>> >> >>
>> KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKCB
>> >> >> > >   [  X  ܚX K  K[XZ[
>> >> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[    [X[     K[XZ[
>> >> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
>> >> >> > >
>> >> >> >
>> >> >>
>> >> >
>> >> >
>> >>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
>> For additional commands, e-mail: dev-help@cordova.apache.org
>>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by julio cesar sanchez <jc...@gmail.com>.
I think we just forgot, somebody mentioned this on slack and there is an
issue open on JIRA.

2016-02-05 13:52 GMT+01:00 Homer, Tony <to...@intel.com>:

> Earlier in this thread, Richard stated:
> >> This change has been merged into the file, camera, geolocation, and
> contacts plugins (media did not actually require any change).
>
>
> Media was updated on 1/15 but it still has a "cordova-android >=5.0.0-dev"
> engine tag.
> I couldn't find any other discussion about this on the list and wondered
> why it was retained for media.
> Was this an oversight?
>
>
> Thanks!
> Tony
>
>
>
>
> On 1/15/16, 4:40 PM, "Simon MacDonald" <si...@gmail.com> wrote:
>
> >LGTM
> >
> >+1
> >
> >Simon Mac Donald
> >http://hi.im/simonmacdonald
> >
> >On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <bo...@gmail.com> wrote:
> >
> >> Sorry, wrong PR:
> >> https://github.com/apache/cordova-plugin-inappbrowser/pull/136
> >>
> >> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <bo...@gmail.com> wrote:
> >>
> >> > So, what does the timeline look like for a Plugins release.  I just
> did a
> >> > major change in the InAppBrowser to fix tel: and sms: URIs so they do
> >> > stuff, and it'd be cool if this also made if this got looked over and
> >> > landed before the next release.
> >> >
> >> > https://github.com/apache/cordova-plugin-inappbrowser/pull/135
> >> >
> >> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana <csantana23@gmail.com
> >
> >> > wrote:
> >> >
> >> >> I agree with final compromise, I also had a discussion with Nikhil
> >> during
> >> >> holiday break offline and understood the situation, some 3rd party
> >> plugins
> >> >> are not open source and customers/devs don't move as fast as we wish,
> >> but
> >> >> having a CLI 6 with latest plugins being backwards compatible with
> lower
> >> >> Android API is good base for developers to start upgrading.
> >> >>
> >> >>
> >> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <st...@gmail.com>
> >> >> wrote:
> >> >>
> >> >> > Awesome! I'll kick up a discuss thread
> >> >> >
> >> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard Knoll <
> riknoll@microsoft.com
> >> >
> >> >> > wrote:
> >> >> >
> >> >> > > Hey all,
> >> >> > >
> >> >> > > This change has been merged into the file, camera, geolocation,
> and
> >> >> > > contacts plugins (media did not actually require any change). I
> was
> >> >> able
> >> >> > to
> >> >> > > build and run mobilespec on cordova-android 4.0.0 and
> >> >> cordova-android's
> >> >> > > master. We should probably push for a plugins release soon, since
> >> >> there
> >> >> > are
> >> >> > > also some major bug fixes to the contacts and camera plugins that
> >> were
> >> >> > > recently pushed.
> >> >> > >
> >> >> > > Thanks,
> >> >> > > Richard
> >> >> > >
> >> >> > > -----Original Message-----
> >> >> > > From: Nikhil Khandelwal [mailto:nikhilkh@microsoft.com]
> >> >> > > Sent: Friday, January 8, 2016 12:12 PM
> >> >> > > To: dev@cordova.apache.org
> >> >> > > Subject: RE: [DISCUSS] Core Plugins and Android API 23
> >> >> > >
> >> >> > > We had a good discussion about this offline with Joe, Simon,
> Steve,
> >> >> > Jesse,
> >> >> > > Parashu and Jason. We came to the following agreement:
> >> >> > > This is a temporary fix to the plugins which we need to take to
> >> ensure
> >> >> > > Cordova 5.x tools behavior of using the edge plugins does not
> break
> >> >> for
> >> >> > our
> >> >> > > users. We will pursue the change for all the affected plugins.
> This
> >> >> will
> >> >> > go
> >> >> > > out in the next PLUGINS release which will happen before the
> Cordova
> >> >> 6.0
> >> >> > > release. Since this a temporary fix, we aim to remove it in 6
> months
> >> >> > > (giving reasonable time for our user base to move to Cordova 6.x+
> >> >> which
> >> >> > > will have a better plugin version pinning mechanism).
> >> >> > >
> >> >> > > Thanks,
> >> >> > > Nikhil
> >> >> > >
> >> >> > > -----Original Message-----
> >> >> > > From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
> >> >> > > Sent: Thursday, January 7, 2016 4:00 PM
> >> >> > > To: dev@cordova.apache.org
> >> >> > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> >> >> > >
> >> >> > > I'm going to play devils advocate a bit here:
> >> >> > >
> >> >> > >
> >> >> > > > There are valid reasons why many app developers might not be
> ready
> >> >> to
> >> >> > > > move to API level 23:
> >> >> > > >   1) They have an app which is stabilizing or in maintenance
> mode
> >> >> and
> >> >> > > > they don't want to risk destabilization by moving to a new
> major
> >> >> > > > Cordova version, Cordova Android platform, and Android API
> level.
> >> >> > > >
> >> >> > >
> >> >> > > If the developer is not ready to move to a new version of Cordova
> >> >> Android
> >> >> > > or the Android API would it not also follow that they shouldn't
> be
> >> >> > changing
> >> >> > > their plugin versions?
> >> >> > >
> >> >> > >
> >> >> > > >   2) They are using a 3rd-party plugin which has not yet been
> >> >> updated
> >> >> > > > to request Android permissions as required by API level 23.
> There
> >> >> are
> >> >> > > > probably a lot of plugins affected, since access to any of the
> >> >> > > > following things on Android M requires runtime permission
> >> requests:
> >> >> > > > calendar, contacts, phone, camera, microphone, location,
> beacons,
> >> >> > > sensors, SMS, storage.
> >> >> > > >
> >> >> > >
> >> >> > > Right, so if the 3rd party plugin they are using doesn't support
> >> >> Android
> >> >> > M
> >> >> > > they should either a) not upgrade or b) send a PR to the plugin
> >> >> > maintainer
> >> >> > > so everyone can benefit.
> >> >> > >
> >> >> > >
> >> >> > > >   3) They might not have the capacity or ability to test their
> app
> >> >> on
> >> >> > > > devices running Android M. Because API 23 enables the new
> >> >> permissions
> >> >> > > > model only on Android M, it requires testing on that platform.
> >> >> > > >
> >> >> > > >
> >> >> > > Everyone has access to the Android emulator.
> >> >> > >
> >> >> > >
> >> >> > > > In any of the above cases, developers might still like to
> benefit
> >> >> from
> >> >> > > > some of the major bug fixes in those 5 popular core plugins
> >> >> mentioned
> >> >> > > > below. Or even if they weren't specifically looking for bug
> fixes,
> >> >> it
> >> >> > > > would be a much better experience if adding or updating one of
> >> those
> >> >> > > > plugins would just work, rather than failing on Android. The
> >> >> > > > explanation for the failure will not be obvious to many users,
> if
> >> >> they
> >> >> > > > overlooked the warning when installing the plugin or if they
> were
> >> >> > > > using another tool to add the plugin where the warning wasn't
> >> >> surfaced.
> >> >> > > >
> >> >> > >
> >> >> > >  Seems like you are describing a tooling problem here. If the
> tool
> >> >> > doesn't
> >> >> > > surface the warning or allows the user to add a plugin that is
> >> >> > incompatible
> >> >> > > with the version of Cordova Android that is being used really
> sounds
> >> >> > like a
> >> >> > > bug in the tooling to me.
> >> >> > >
> >> >> > >
> >> >> > > > Of course developers should be encouraged to upgrade to the
> latest
> >> >> > > > most secure highest-quality version of Cordova. But the
> >> >> encouragement
> >> >> > > > does not need to be so forceful. This proposed change gives
> >> >> developers
> >> >> > > > more time to upgrade, and allows for more choice about when to
> >> >> upgrade
> >> >> > > > individual parts
> >> >> > > > (plugins) rather than limiting them to all-or-nothing.
> >> >> > >
> >> >> > >
> >> >> > >  I would argue that the developer has an infinite amount of time
> to
> >> >> > > upgrade. Nothing is forcing you to upgrade to the latest Cordova
> >> >> Android
> >> >> > or
> >> >> > > Android API. They can continue to use the same version of Cordova
> >> >> Android
> >> >> > > and plugins that are currently working in their app. If the
> >> developer
> >> >> is
> >> >> > > using semver properly and we do our job right they shouldn't
> pick up
> >> >> > > breaking changes. For instance, if the API of a plugin changes we
> >> bump
> >> >> > the
> >> >> > > major version of the plugin so users who setup their config.xml
> to
> >> >> use:
> >> >> > >
> >> >> > > <plugin name="cordova-plugin-camera" spec="^1.1.0" />
> >> >> > >
> >> >> > > will effectively prevent the user from picking up the breaking
> >> change
> >> >> in
> >> >> > > camera version 2.0.0.
> >> >> > >
> >> >> > > Simon Mac Donald
> >> >> > >
> >> >> > >
> >> >> >
> >> >>
> >>
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com%7c84fb6405edf74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=B8DuMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
> >> >> > >  B
> >> >>
> KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKCB
> >> >> > >   [  X  ܚX K  K[XZ[
> >> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[    [X[     K[XZ[
> >> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
> >> >> > >
> >> >> >
> >> >>
> >> >
> >> >
> >>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
> For additional commands, e-mail: dev-help@cordova.apache.org
>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by "Homer, Tony" <to...@intel.com>.
Earlier in this thread, Richard stated:
>> This change has been merged into the file, camera, geolocation, and contacts plugins (media did not actually require any change).


Media was updated on 1/15 but it still has a "cordova-android >=5.0.0-dev" engine tag.
I couldn't find any other discussion about this on the list and wondered why it was retained for media.
Was this an oversight?


Thanks!
Tony




On 1/15/16, 4:40 PM, "Simon MacDonald" <si...@gmail.com> wrote:

>LGTM
>
>+1
>
>Simon Mac Donald
>http://hi.im/simonmacdonald
>
>On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <bo...@gmail.com> wrote:
>
>> Sorry, wrong PR:
>> https://github.com/apache/cordova-plugin-inappbrowser/pull/136
>>
>> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <bo...@gmail.com> wrote:
>>
>> > So, what does the timeline look like for a Plugins release.  I just did a
>> > major change in the InAppBrowser to fix tel: and sms: URIs so they do
>> > stuff, and it'd be cool if this also made if this got looked over and
>> > landed before the next release.
>> >
>> > https://github.com/apache/cordova-plugin-inappbrowser/pull/135
>> >
>> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana <cs...@gmail.com>
>> > wrote:
>> >
>> >> I agree with final compromise, I also had a discussion with Nikhil
>> during
>> >> holiday break offline and understood the situation, some 3rd party
>> plugins
>> >> are not open source and customers/devs don't move as fast as we wish,
>> but
>> >> having a CLI 6 with latest plugins being backwards compatible with lower
>> >> Android API is good base for developers to start upgrading.
>> >>
>> >>
>> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <st...@gmail.com>
>> >> wrote:
>> >>
>> >> > Awesome! I'll kick up a discuss thread
>> >> >
>> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard Knoll <riknoll@microsoft.com
>> >
>> >> > wrote:
>> >> >
>> >> > > Hey all,
>> >> > >
>> >> > > This change has been merged into the file, camera, geolocation, and
>> >> > > contacts plugins (media did not actually require any change). I was
>> >> able
>> >> > to
>> >> > > build and run mobilespec on cordova-android 4.0.0 and
>> >> cordova-android's
>> >> > > master. We should probably push for a plugins release soon, since
>> >> there
>> >> > are
>> >> > > also some major bug fixes to the contacts and camera plugins that
>> were
>> >> > > recently pushed.
>> >> > >
>> >> > > Thanks,
>> >> > > Richard
>> >> > >
>> >> > > -----Original Message-----
>> >> > > From: Nikhil Khandelwal [mailto:nikhilkh@microsoft.com]
>> >> > > Sent: Friday, January 8, 2016 12:12 PM
>> >> > > To: dev@cordova.apache.org
>> >> > > Subject: RE: [DISCUSS] Core Plugins and Android API 23
>> >> > >
>> >> > > We had a good discussion about this offline with Joe, Simon, Steve,
>> >> > Jesse,
>> >> > > Parashu and Jason. We came to the following agreement:
>> >> > > This is a temporary fix to the plugins which we need to take to
>> ensure
>> >> > > Cordova 5.x tools behavior of using the edge plugins does not break
>> >> for
>> >> > our
>> >> > > users. We will pursue the change for all the affected plugins. This
>> >> will
>> >> > go
>> >> > > out in the next PLUGINS release which will happen before the Cordova
>> >> 6.0
>> >> > > release. Since this a temporary fix, we aim to remove it in 6 months
>> >> > > (giving reasonable time for our user base to move to Cordova 6.x+
>> >> which
>> >> > > will have a better plugin version pinning mechanism).
>> >> > >
>> >> > > Thanks,
>> >> > > Nikhil
>> >> > >
>> >> > > -----Original Message-----
>> >> > > From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
>> >> > > Sent: Thursday, January 7, 2016 4:00 PM
>> >> > > To: dev@cordova.apache.org
>> >> > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
>> >> > >
>> >> > > I'm going to play devils advocate a bit here:
>> >> > >
>> >> > >
>> >> > > > There are valid reasons why many app developers might not be ready
>> >> to
>> >> > > > move to API level 23:
>> >> > > >   1) They have an app which is stabilizing or in maintenance mode
>> >> and
>> >> > > > they don't want to risk destabilization by moving to a new major
>> >> > > > Cordova version, Cordova Android platform, and Android API level.
>> >> > > >
>> >> > >
>> >> > > If the developer is not ready to move to a new version of Cordova
>> >> Android
>> >> > > or the Android API would it not also follow that they shouldn't be
>> >> > changing
>> >> > > their plugin versions?
>> >> > >
>> >> > >
>> >> > > >   2) They are using a 3rd-party plugin which has not yet been
>> >> updated
>> >> > > > to request Android permissions as required by API level 23. There
>> >> are
>> >> > > > probably a lot of plugins affected, since access to any of the
>> >> > > > following things on Android M requires runtime permission
>> requests:
>> >> > > > calendar, contacts, phone, camera, microphone, location, beacons,
>> >> > > sensors, SMS, storage.
>> >> > > >
>> >> > >
>> >> > > Right, so if the 3rd party plugin they are using doesn't support
>> >> Android
>> >> > M
>> >> > > they should either a) not upgrade or b) send a PR to the plugin
>> >> > maintainer
>> >> > > so everyone can benefit.
>> >> > >
>> >> > >
>> >> > > >   3) They might not have the capacity or ability to test their app
>> >> on
>> >> > > > devices running Android M. Because API 23 enables the new
>> >> permissions
>> >> > > > model only on Android M, it requires testing on that platform.
>> >> > > >
>> >> > > >
>> >> > > Everyone has access to the Android emulator.
>> >> > >
>> >> > >
>> >> > > > In any of the above cases, developers might still like to benefit
>> >> from
>> >> > > > some of the major bug fixes in those 5 popular core plugins
>> >> mentioned
>> >> > > > below. Or even if they weren't specifically looking for bug fixes,
>> >> it
>> >> > > > would be a much better experience if adding or updating one of
>> those
>> >> > > > plugins would just work, rather than failing on Android. The
>> >> > > > explanation for the failure will not be obvious to many users, if
>> >> they
>> >> > > > overlooked the warning when installing the plugin or if they were
>> >> > > > using another tool to add the plugin where the warning wasn't
>> >> surfaced.
>> >> > > >
>> >> > >
>> >> > >  Seems like you are describing a tooling problem here. If the tool
>> >> > doesn't
>> >> > > surface the warning or allows the user to add a plugin that is
>> >> > incompatible
>> >> > > with the version of Cordova Android that is being used really sounds
>> >> > like a
>> >> > > bug in the tooling to me.
>> >> > >
>> >> > >
>> >> > > > Of course developers should be encouraged to upgrade to the latest
>> >> > > > most secure highest-quality version of Cordova. But the
>> >> encouragement
>> >> > > > does not need to be so forceful. This proposed change gives
>> >> developers
>> >> > > > more time to upgrade, and allows for more choice about when to
>> >> upgrade
>> >> > > > individual parts
>> >> > > > (plugins) rather than limiting them to all-or-nothing.
>> >> > >
>> >> > >
>> >> > >  I would argue that the developer has an infinite amount of time to
>> >> > > upgrade. Nothing is forcing you to upgrade to the latest Cordova
>> >> Android
>> >> > or
>> >> > > Android API. They can continue to use the same version of Cordova
>> >> Android
>> >> > > and plugins that are currently working in their app. If the
>> developer
>> >> is
>> >> > > using semver properly and we do our job right they shouldn't pick up
>> >> > > breaking changes. For instance, if the API of a plugin changes we
>> bump
>> >> > the
>> >> > > major version of the plugin so users who setup their config.xml to
>> >> use:
>> >> > >
>> >> > > <plugin name="cordova-plugin-camera" spec="^1.1.0" />
>> >> > >
>> >> > > will effectively prevent the user from picking up the breaking
>> change
>> >> in
>> >> > > camera version 2.0.0.
>> >> > >
>> >> > > Simon Mac Donald
>> >> > >
>> >> > >
>> >> >
>> >>
>> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com%7c84fb6405edf74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=B8DuMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
>> >> > >  B
>> >> KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKCB
>> >> > >   [  X  ܚX K  K[XZ[
>> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[    [X[     K[XZ[
>> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
>> >> > >
>> >> >
>> >>
>> >
>> >
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org

Re: [DISCUSS] Core Plugins and Android API 23

Posted by Simon MacDonald <si...@gmail.com>.
LGTM

+1

Simon Mac Donald
http://hi.im/simonmacdonald

On Fri, Jan 15, 2016 at 4:32 PM, Joe Bowser <bo...@gmail.com> wrote:

> Sorry, wrong PR:
> https://github.com/apache/cordova-plugin-inappbrowser/pull/136
>
> On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <bo...@gmail.com> wrote:
>
> > So, what does the timeline look like for a Plugins release.  I just did a
> > major change in the InAppBrowser to fix tel: and sms: URIs so they do
> > stuff, and it'd be cool if this also made if this got looked over and
> > landed before the next release.
> >
> > https://github.com/apache/cordova-plugin-inappbrowser/pull/135
> >
> > On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana <cs...@gmail.com>
> > wrote:
> >
> >> I agree with final compromise, I also had a discussion with Nikhil
> during
> >> holiday break offline and understood the situation, some 3rd party
> plugins
> >> are not open source and customers/devs don't move as fast as we wish,
> but
> >> having a CLI 6 with latest plugins being backwards compatible with lower
> >> Android API is good base for developers to start upgrading.
> >>
> >>
> >> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <st...@gmail.com>
> >> wrote:
> >>
> >> > Awesome! I'll kick up a discuss thread
> >> >
> >> > On Wed, Jan 13, 2016 at 5:42 PM, Richard Knoll <riknoll@microsoft.com
> >
> >> > wrote:
> >> >
> >> > > Hey all,
> >> > >
> >> > > This change has been merged into the file, camera, geolocation, and
> >> > > contacts plugins (media did not actually require any change). I was
> >> able
> >> > to
> >> > > build and run mobilespec on cordova-android 4.0.0 and
> >> cordova-android's
> >> > > master. We should probably push for a plugins release soon, since
> >> there
> >> > are
> >> > > also some major bug fixes to the contacts and camera plugins that
> were
> >> > > recently pushed.
> >> > >
> >> > > Thanks,
> >> > > Richard
> >> > >
> >> > > -----Original Message-----
> >> > > From: Nikhil Khandelwal [mailto:nikhilkh@microsoft.com]
> >> > > Sent: Friday, January 8, 2016 12:12 PM
> >> > > To: dev@cordova.apache.org
> >> > > Subject: RE: [DISCUSS] Core Plugins and Android API 23
> >> > >
> >> > > We had a good discussion about this offline with Joe, Simon, Steve,
> >> > Jesse,
> >> > > Parashu and Jason. We came to the following agreement:
> >> > > This is a temporary fix to the plugins which we need to take to
> ensure
> >> > > Cordova 5.x tools behavior of using the edge plugins does not break
> >> for
> >> > our
> >> > > users. We will pursue the change for all the affected plugins. This
> >> will
> >> > go
> >> > > out in the next PLUGINS release which will happen before the Cordova
> >> 6.0
> >> > > release. Since this a temporary fix, we aim to remove it in 6 months
> >> > > (giving reasonable time for our user base to move to Cordova 6.x+
> >> which
> >> > > will have a better plugin version pinning mechanism).
> >> > >
> >> > > Thanks,
> >> > > Nikhil
> >> > >
> >> > > -----Original Message-----
> >> > > From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
> >> > > Sent: Thursday, January 7, 2016 4:00 PM
> >> > > To: dev@cordova.apache.org
> >> > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> >> > >
> >> > > I'm going to play devils advocate a bit here:
> >> > >
> >> > >
> >> > > > There are valid reasons why many app developers might not be ready
> >> to
> >> > > > move to API level 23:
> >> > > >   1) They have an app which is stabilizing or in maintenance mode
> >> and
> >> > > > they don't want to risk destabilization by moving to a new major
> >> > > > Cordova version, Cordova Android platform, and Android API level.
> >> > > >
> >> > >
> >> > > If the developer is not ready to move to a new version of Cordova
> >> Android
> >> > > or the Android API would it not also follow that they shouldn't be
> >> > changing
> >> > > their plugin versions?
> >> > >
> >> > >
> >> > > >   2) They are using a 3rd-party plugin which has not yet been
> >> updated
> >> > > > to request Android permissions as required by API level 23. There
> >> are
> >> > > > probably a lot of plugins affected, since access to any of the
> >> > > > following things on Android M requires runtime permission
> requests:
> >> > > > calendar, contacts, phone, camera, microphone, location, beacons,
> >> > > sensors, SMS, storage.
> >> > > >
> >> > >
> >> > > Right, so if the 3rd party plugin they are using doesn't support
> >> Android
> >> > M
> >> > > they should either a) not upgrade or b) send a PR to the plugin
> >> > maintainer
> >> > > so everyone can benefit.
> >> > >
> >> > >
> >> > > >   3) They might not have the capacity or ability to test their app
> >> on
> >> > > > devices running Android M. Because API 23 enables the new
> >> permissions
> >> > > > model only on Android M, it requires testing on that platform.
> >> > > >
> >> > > >
> >> > > Everyone has access to the Android emulator.
> >> > >
> >> > >
> >> > > > In any of the above cases, developers might still like to benefit
> >> from
> >> > > > some of the major bug fixes in those 5 popular core plugins
> >> mentioned
> >> > > > below. Or even if they weren't specifically looking for bug fixes,
> >> it
> >> > > > would be a much better experience if adding or updating one of
> those
> >> > > > plugins would just work, rather than failing on Android. The
> >> > > > explanation for the failure will not be obvious to many users, if
> >> they
> >> > > > overlooked the warning when installing the plugin or if they were
> >> > > > using another tool to add the plugin where the warning wasn't
> >> surfaced.
> >> > > >
> >> > >
> >> > >  Seems like you are describing a tooling problem here. If the tool
> >> > doesn't
> >> > > surface the warning or allows the user to add a plugin that is
> >> > incompatible
> >> > > with the version of Cordova Android that is being used really sounds
> >> > like a
> >> > > bug in the tooling to me.
> >> > >
> >> > >
> >> > > > Of course developers should be encouraged to upgrade to the latest
> >> > > > most secure highest-quality version of Cordova. But the
> >> encouragement
> >> > > > does not need to be so forceful. This proposed change gives
> >> developers
> >> > > > more time to upgrade, and allows for more choice about when to
> >> upgrade
> >> > > > individual parts
> >> > > > (plugins) rather than limiting them to all-or-nothing.
> >> > >
> >> > >
> >> > >  I would argue that the developer has an infinite amount of time to
> >> > > upgrade. Nothing is forcing you to upgrade to the latest Cordova
> >> Android
> >> > or
> >> > > Android API. They can continue to use the same version of Cordova
> >> Android
> >> > > and plugins that are currently working in their app. If the
> developer
> >> is
> >> > > using semver properly and we do our job right they shouldn't pick up
> >> > > breaking changes. For instance, if the API of a plugin changes we
> bump
> >> > the
> >> > > major version of the plugin so users who setup their config.xml to
> >> use:
> >> > >
> >> > > <plugin name="cordova-plugin-camera" spec="^1.1.0" />
> >> > >
> >> > > will effectively prevent the user from picking up the breaking
> change
> >> in
> >> > > camera version 2.0.0.
> >> > >
> >> > > Simon Mac Donald
> >> > >
> >> > >
> >> >
> >>
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com%7c84fb6405edf74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=B8DuMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
> >> > >  B
> >> KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKCB
> >> > >   [  X  ܚX K  K[XZ[
> >> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[    [X[     K[XZ[
> >> > >    ] Z [    ܙ ݘK \ X  K ܙ B
> >> > >
> >> >
> >>
> >
> >
>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by Joe Bowser <bo...@gmail.com>.
Sorry, wrong PR:
https://github.com/apache/cordova-plugin-inappbrowser/pull/136

On Fri, Jan 15, 2016 at 11:42 AM, Joe Bowser <bo...@gmail.com> wrote:

> So, what does the timeline look like for a Plugins release.  I just did a
> major change in the InAppBrowser to fix tel: and sms: URIs so they do
> stuff, and it'd be cool if this also made if this got looked over and
> landed before the next release.
>
> https://github.com/apache/cordova-plugin-inappbrowser/pull/135
>
> On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana <cs...@gmail.com>
> wrote:
>
>> I agree with final compromise, I also had a discussion with Nikhil during
>> holiday break offline and understood the situation, some 3rd party plugins
>> are not open source and customers/devs don't move as fast as we wish, but
>> having a CLI 6 with latest plugins being backwards compatible with lower
>> Android API is good base for developers to start upgrading.
>>
>>
>> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <st...@gmail.com>
>> wrote:
>>
>> > Awesome! I'll kick up a discuss thread
>> >
>> > On Wed, Jan 13, 2016 at 5:42 PM, Richard Knoll <ri...@microsoft.com>
>> > wrote:
>> >
>> > > Hey all,
>> > >
>> > > This change has been merged into the file, camera, geolocation, and
>> > > contacts plugins (media did not actually require any change). I was
>> able
>> > to
>> > > build and run mobilespec on cordova-android 4.0.0 and
>> cordova-android's
>> > > master. We should probably push for a plugins release soon, since
>> there
>> > are
>> > > also some major bug fixes to the contacts and camera plugins that were
>> > > recently pushed.
>> > >
>> > > Thanks,
>> > > Richard
>> > >
>> > > -----Original Message-----
>> > > From: Nikhil Khandelwal [mailto:nikhilkh@microsoft.com]
>> > > Sent: Friday, January 8, 2016 12:12 PM
>> > > To: dev@cordova.apache.org
>> > > Subject: RE: [DISCUSS] Core Plugins and Android API 23
>> > >
>> > > We had a good discussion about this offline with Joe, Simon, Steve,
>> > Jesse,
>> > > Parashu and Jason. We came to the following agreement:
>> > > This is a temporary fix to the plugins which we need to take to ensure
>> > > Cordova 5.x tools behavior of using the edge plugins does not break
>> for
>> > our
>> > > users. We will pursue the change for all the affected plugins. This
>> will
>> > go
>> > > out in the next PLUGINS release which will happen before the Cordova
>> 6.0
>> > > release. Since this a temporary fix, we aim to remove it in 6 months
>> > > (giving reasonable time for our user base to move to Cordova 6.x+
>> which
>> > > will have a better plugin version pinning mechanism).
>> > >
>> > > Thanks,
>> > > Nikhil
>> > >
>> > > -----Original Message-----
>> > > From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
>> > > Sent: Thursday, January 7, 2016 4:00 PM
>> > > To: dev@cordova.apache.org
>> > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
>> > >
>> > > I'm going to play devils advocate a bit here:
>> > >
>> > >
>> > > > There are valid reasons why many app developers might not be ready
>> to
>> > > > move to API level 23:
>> > > >   1) They have an app which is stabilizing or in maintenance mode
>> and
>> > > > they don't want to risk destabilization by moving to a new major
>> > > > Cordova version, Cordova Android platform, and Android API level.
>> > > >
>> > >
>> > > If the developer is not ready to move to a new version of Cordova
>> Android
>> > > or the Android API would it not also follow that they shouldn't be
>> > changing
>> > > their plugin versions?
>> > >
>> > >
>> > > >   2) They are using a 3rd-party plugin which has not yet been
>> updated
>> > > > to request Android permissions as required by API level 23. There
>> are
>> > > > probably a lot of plugins affected, since access to any of the
>> > > > following things on Android M requires runtime permission requests:
>> > > > calendar, contacts, phone, camera, microphone, location, beacons,
>> > > sensors, SMS, storage.
>> > > >
>> > >
>> > > Right, so if the 3rd party plugin they are using doesn't support
>> Android
>> > M
>> > > they should either a) not upgrade or b) send a PR to the plugin
>> > maintainer
>> > > so everyone can benefit.
>> > >
>> > >
>> > > >   3) They might not have the capacity or ability to test their app
>> on
>> > > > devices running Android M. Because API 23 enables the new
>> permissions
>> > > > model only on Android M, it requires testing on that platform.
>> > > >
>> > > >
>> > > Everyone has access to the Android emulator.
>> > >
>> > >
>> > > > In any of the above cases, developers might still like to benefit
>> from
>> > > > some of the major bug fixes in those 5 popular core plugins
>> mentioned
>> > > > below. Or even if they weren't specifically looking for bug fixes,
>> it
>> > > > would be a much better experience if adding or updating one of those
>> > > > plugins would just work, rather than failing on Android. The
>> > > > explanation for the failure will not be obvious to many users, if
>> they
>> > > > overlooked the warning when installing the plugin or if they were
>> > > > using another tool to add the plugin where the warning wasn't
>> surfaced.
>> > > >
>> > >
>> > >  Seems like you are describing a tooling problem here. If the tool
>> > doesn't
>> > > surface the warning or allows the user to add a plugin that is
>> > incompatible
>> > > with the version of Cordova Android that is being used really sounds
>> > like a
>> > > bug in the tooling to me.
>> > >
>> > >
>> > > > Of course developers should be encouraged to upgrade to the latest
>> > > > most secure highest-quality version of Cordova. But the
>> encouragement
>> > > > does not need to be so forceful. This proposed change gives
>> developers
>> > > > more time to upgrade, and allows for more choice about when to
>> upgrade
>> > > > individual parts
>> > > > (plugins) rather than limiting them to all-or-nothing.
>> > >
>> > >
>> > >  I would argue that the developer has an infinite amount of time to
>> > > upgrade. Nothing is forcing you to upgrade to the latest Cordova
>> Android
>> > or
>> > > Android API. They can continue to use the same version of Cordova
>> Android
>> > > and plugins that are currently working in their app. If the developer
>> is
>> > > using semver properly and we do our job right they shouldn't pick up
>> > > breaking changes. For instance, if the API of a plugin changes we bump
>> > the
>> > > major version of the plugin so users who setup their config.xml to
>> use:
>> > >
>> > > <plugin name="cordova-plugin-camera" spec="^1.1.0" />
>> > >
>> > > will effectively prevent the user from picking up the breaking change
>> in
>> > > camera version 2.0.0.
>> > >
>> > > Simon Mac Donald
>> > >
>> > >
>> >
>> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com%7c84fb6405edf74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=B8DuMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
>> > >  B
>> KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKCB
>> > >   [  X  ܚX K  K[XZ[
>> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[    [X[     K[XZ[
>> > >    ] Z [    ܙ ݘK \ X  K ܙ B
>> > >
>> >
>>
>
>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by Joe Bowser <bo...@gmail.com>.
So, what does the timeline look like for a Plugins release.  I just did a
major change in the InAppBrowser to fix tel: and sms: URIs so they do
stuff, and it'd be cool if this also made if this got looked over and
landed before the next release.

https://github.com/apache/cordova-plugin-inappbrowser/pull/135

On Thu, Jan 14, 2016 at 2:02 PM, Carlos Santana <cs...@gmail.com>
wrote:

> I agree with final compromise, I also had a discussion with Nikhil during
> holiday break offline and understood the situation, some 3rd party plugins
> are not open source and customers/devs don't move as fast as we wish, but
> having a CLI 6 with latest plugins being backwards compatible with lower
> Android API is good base for developers to start upgrading.
>
>
> On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <st...@gmail.com>
> wrote:
>
> > Awesome! I'll kick up a discuss thread
> >
> > On Wed, Jan 13, 2016 at 5:42 PM, Richard Knoll <ri...@microsoft.com>
> > wrote:
> >
> > > Hey all,
> > >
> > > This change has been merged into the file, camera, geolocation, and
> > > contacts plugins (media did not actually require any change). I was
> able
> > to
> > > build and run mobilespec on cordova-android 4.0.0 and cordova-android's
> > > master. We should probably push for a plugins release soon, since there
> > are
> > > also some major bug fixes to the contacts and camera plugins that were
> > > recently pushed.
> > >
> > > Thanks,
> > > Richard
> > >
> > > -----Original Message-----
> > > From: Nikhil Khandelwal [mailto:nikhilkh@microsoft.com]
> > > Sent: Friday, January 8, 2016 12:12 PM
> > > To: dev@cordova.apache.org
> > > Subject: RE: [DISCUSS] Core Plugins and Android API 23
> > >
> > > We had a good discussion about this offline with Joe, Simon, Steve,
> > Jesse,
> > > Parashu and Jason. We came to the following agreement:
> > > This is a temporary fix to the plugins which we need to take to ensure
> > > Cordova 5.x tools behavior of using the edge plugins does not break for
> > our
> > > users. We will pursue the change for all the affected plugins. This
> will
> > go
> > > out in the next PLUGINS release which will happen before the Cordova
> 6.0
> > > release. Since this a temporary fix, we aim to remove it in 6 months
> > > (giving reasonable time for our user base to move to Cordova 6.x+ which
> > > will have a better plugin version pinning mechanism).
> > >
> > > Thanks,
> > > Nikhil
> > >
> > > -----Original Message-----
> > > From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
> > > Sent: Thursday, January 7, 2016 4:00 PM
> > > To: dev@cordova.apache.org
> > > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> > >
> > > I'm going to play devils advocate a bit here:
> > >
> > >
> > > > There are valid reasons why many app developers might not be ready to
> > > > move to API level 23:
> > > >   1) They have an app which is stabilizing or in maintenance mode and
> > > > they don't want to risk destabilization by moving to a new major
> > > > Cordova version, Cordova Android platform, and Android API level.
> > > >
> > >
> > > If the developer is not ready to move to a new version of Cordova
> Android
> > > or the Android API would it not also follow that they shouldn't be
> > changing
> > > their plugin versions?
> > >
> > >
> > > >   2) They are using a 3rd-party plugin which has not yet been updated
> > > > to request Android permissions as required by API level 23. There are
> > > > probably a lot of plugins affected, since access to any of the
> > > > following things on Android M requires runtime permission requests:
> > > > calendar, contacts, phone, camera, microphone, location, beacons,
> > > sensors, SMS, storage.
> > > >
> > >
> > > Right, so if the 3rd party plugin they are using doesn't support
> Android
> > M
> > > they should either a) not upgrade or b) send a PR to the plugin
> > maintainer
> > > so everyone can benefit.
> > >
> > >
> > > >   3) They might not have the capacity or ability to test their app on
> > > > devices running Android M. Because API 23 enables the new permissions
> > > > model only on Android M, it requires testing on that platform.
> > > >
> > > >
> > > Everyone has access to the Android emulator.
> > >
> > >
> > > > In any of the above cases, developers might still like to benefit
> from
> > > > some of the major bug fixes in those 5 popular core plugins mentioned
> > > > below. Or even if they weren't specifically looking for bug fixes, it
> > > > would be a much better experience if adding or updating one of those
> > > > plugins would just work, rather than failing on Android. The
> > > > explanation for the failure will not be obvious to many users, if
> they
> > > > overlooked the warning when installing the plugin or if they were
> > > > using another tool to add the plugin where the warning wasn't
> surfaced.
> > > >
> > >
> > >  Seems like you are describing a tooling problem here. If the tool
> > doesn't
> > > surface the warning or allows the user to add a plugin that is
> > incompatible
> > > with the version of Cordova Android that is being used really sounds
> > like a
> > > bug in the tooling to me.
> > >
> > >
> > > > Of course developers should be encouraged to upgrade to the latest
> > > > most secure highest-quality version of Cordova. But the encouragement
> > > > does not need to be so forceful. This proposed change gives
> developers
> > > > more time to upgrade, and allows for more choice about when to
> upgrade
> > > > individual parts
> > > > (plugins) rather than limiting them to all-or-nothing.
> > >
> > >
> > >  I would argue that the developer has an infinite amount of time to
> > > upgrade. Nothing is forcing you to upgrade to the latest Cordova
> Android
> > or
> > > Android API. They can continue to use the same version of Cordova
> Android
> > > and plugins that are currently working in their app. If the developer
> is
> > > using semver properly and we do our job right they shouldn't pick up
> > > breaking changes. For instance, if the API of a plugin changes we bump
> > the
> > > major version of the plugin so users who setup their config.xml to use:
> > >
> > > <plugin name="cordova-plugin-camera" spec="^1.1.0" />
> > >
> > > will effectively prevent the user from picking up the breaking change
> in
> > > camera version 2.0.0.
> > >
> > > Simon Mac Donald
> > >
> > >
> >
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com%7c84fb6405edf74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=B8DuMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
> > >  B
> KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKCB
> > >   [  X  ܚX K  K[XZ[
> > >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[    [X[     K[XZ[
> > >    ] Z [    ܙ ݘK \ X  K ܙ B
> > >
> >
>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by Carlos Santana <cs...@gmail.com>.
I agree with final compromise, I also had a discussion with Nikhil during
holiday break offline and understood the situation, some 3rd party plugins
are not open source and customers/devs don't move as fast as we wish, but
having a CLI 6 with latest plugins being backwards compatible with lower
Android API is good base for developers to start upgrading.


On Thu, Jan 14, 2016 at 1:23 PM Steven Gill <st...@gmail.com> wrote:

> Awesome! I'll kick up a discuss thread
>
> On Wed, Jan 13, 2016 at 5:42 PM, Richard Knoll <ri...@microsoft.com>
> wrote:
>
> > Hey all,
> >
> > This change has been merged into the file, camera, geolocation, and
> > contacts plugins (media did not actually require any change). I was able
> to
> > build and run mobilespec on cordova-android 4.0.0 and cordova-android's
> > master. We should probably push for a plugins release soon, since there
> are
> > also some major bug fixes to the contacts and camera plugins that were
> > recently pushed.
> >
> > Thanks,
> > Richard
> >
> > -----Original Message-----
> > From: Nikhil Khandelwal [mailto:nikhilkh@microsoft.com]
> > Sent: Friday, January 8, 2016 12:12 PM
> > To: dev@cordova.apache.org
> > Subject: RE: [DISCUSS] Core Plugins and Android API 23
> >
> > We had a good discussion about this offline with Joe, Simon, Steve,
> Jesse,
> > Parashu and Jason. We came to the following agreement:
> > This is a temporary fix to the plugins which we need to take to ensure
> > Cordova 5.x tools behavior of using the edge plugins does not break for
> our
> > users. We will pursue the change for all the affected plugins. This will
> go
> > out in the next PLUGINS release which will happen before the Cordova 6.0
> > release. Since this a temporary fix, we aim to remove it in 6 months
> > (giving reasonable time for our user base to move to Cordova 6.x+ which
> > will have a better plugin version pinning mechanism).
> >
> > Thanks,
> > Nikhil
> >
> > -----Original Message-----
> > From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
> > Sent: Thursday, January 7, 2016 4:00 PM
> > To: dev@cordova.apache.org
> > Subject: Re: [DISCUSS] Core Plugins and Android API 23
> >
> > I'm going to play devils advocate a bit here:
> >
> >
> > > There are valid reasons why many app developers might not be ready to
> > > move to API level 23:
> > >   1) They have an app which is stabilizing or in maintenance mode and
> > > they don't want to risk destabilization by moving to a new major
> > > Cordova version, Cordova Android platform, and Android API level.
> > >
> >
> > If the developer is not ready to move to a new version of Cordova Android
> > or the Android API would it not also follow that they shouldn't be
> changing
> > their plugin versions?
> >
> >
> > >   2) They are using a 3rd-party plugin which has not yet been updated
> > > to request Android permissions as required by API level 23. There are
> > > probably a lot of plugins affected, since access to any of the
> > > following things on Android M requires runtime permission requests:
> > > calendar, contacts, phone, camera, microphone, location, beacons,
> > sensors, SMS, storage.
> > >
> >
> > Right, so if the 3rd party plugin they are using doesn't support Android
> M
> > they should either a) not upgrade or b) send a PR to the plugin
> maintainer
> > so everyone can benefit.
> >
> >
> > >   3) They might not have the capacity or ability to test their app on
> > > devices running Android M. Because API 23 enables the new permissions
> > > model only on Android M, it requires testing on that platform.
> > >
> > >
> > Everyone has access to the Android emulator.
> >
> >
> > > In any of the above cases, developers might still like to benefit from
> > > some of the major bug fixes in those 5 popular core plugins mentioned
> > > below. Or even if they weren't specifically looking for bug fixes, it
> > > would be a much better experience if adding or updating one of those
> > > plugins would just work, rather than failing on Android. The
> > > explanation for the failure will not be obvious to many users, if they
> > > overlooked the warning when installing the plugin or if they were
> > > using another tool to add the plugin where the warning wasn't surfaced.
> > >
> >
> >  Seems like you are describing a tooling problem here. If the tool
> doesn't
> > surface the warning or allows the user to add a plugin that is
> incompatible
> > with the version of Cordova Android that is being used really sounds
> like a
> > bug in the tooling to me.
> >
> >
> > > Of course developers should be encouraged to upgrade to the latest
> > > most secure highest-quality version of Cordova. But the encouragement
> > > does not need to be so forceful. This proposed change gives developers
> > > more time to upgrade, and allows for more choice about when to upgrade
> > > individual parts
> > > (plugins) rather than limiting them to all-or-nothing.
> >
> >
> >  I would argue that the developer has an infinite amount of time to
> > upgrade. Nothing is forcing you to upgrade to the latest Cordova Android
> or
> > Android API. They can continue to use the same version of Cordova Android
> > and plugins that are currently working in their app. If the developer is
> > using semver properly and we do our job right they shouldn't pick up
> > breaking changes. For instance, if the API of a plugin changes we bump
> the
> > major version of the plugin so users who setup their config.xml to use:
> >
> > <plugin name="cordova-plugin-camera" spec="^1.1.0" />
> >
> > will effectively prevent the user from picking up the breaking change in
> > camera version 2.0.0.
> >
> > Simon Mac Donald
> >
> >
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com%7c84fb6405edf74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=B8DuMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
> >  B KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKCB
> >   [  X  ܚX K  K[XZ[
> >    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[    [X[     K[XZ[
> >    ] Z [    ܙ ݘK \ X  K ܙ B
> >
>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by Steven Gill <st...@gmail.com>.
Awesome! I'll kick up a discuss thread

On Wed, Jan 13, 2016 at 5:42 PM, Richard Knoll <ri...@microsoft.com>
wrote:

> Hey all,
>
> This change has been merged into the file, camera, geolocation, and
> contacts plugins (media did not actually require any change). I was able to
> build and run mobilespec on cordova-android 4.0.0 and cordova-android's
> master. We should probably push for a plugins release soon, since there are
> also some major bug fixes to the contacts and camera plugins that were
> recently pushed.
>
> Thanks,
> Richard
>
> -----Original Message-----
> From: Nikhil Khandelwal [mailto:nikhilkh@microsoft.com]
> Sent: Friday, January 8, 2016 12:12 PM
> To: dev@cordova.apache.org
> Subject: RE: [DISCUSS] Core Plugins and Android API 23
>
> We had a good discussion about this offline with Joe, Simon, Steve, Jesse,
> Parashu and Jason. We came to the following agreement:
> This is a temporary fix to the plugins which we need to take to ensure
> Cordova 5.x tools behavior of using the edge plugins does not break for our
> users. We will pursue the change for all the affected plugins. This will go
> out in the next PLUGINS release which will happen before the Cordova 6.0
> release. Since this a temporary fix, we aim to remove it in 6 months
> (giving reasonable time for our user base to move to Cordova 6.x+ which
> will have a better plugin version pinning mechanism).
>
> Thanks,
> Nikhil
>
> -----Original Message-----
> From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
> Sent: Thursday, January 7, 2016 4:00 PM
> To: dev@cordova.apache.org
> Subject: Re: [DISCUSS] Core Plugins and Android API 23
>
> I'm going to play devils advocate a bit here:
>
>
> > There are valid reasons why many app developers might not be ready to
> > move to API level 23:
> >   1) They have an app which is stabilizing or in maintenance mode and
> > they don't want to risk destabilization by moving to a new major
> > Cordova version, Cordova Android platform, and Android API level.
> >
>
> If the developer is not ready to move to a new version of Cordova Android
> or the Android API would it not also follow that they shouldn't be changing
> their plugin versions?
>
>
> >   2) They are using a 3rd-party plugin which has not yet been updated
> > to request Android permissions as required by API level 23. There are
> > probably a lot of plugins affected, since access to any of the
> > following things on Android M requires runtime permission requests:
> > calendar, contacts, phone, camera, microphone, location, beacons,
> sensors, SMS, storage.
> >
>
> Right, so if the 3rd party plugin they are using doesn't support Android M
> they should either a) not upgrade or b) send a PR to the plugin maintainer
> so everyone can benefit.
>
>
> >   3) They might not have the capacity or ability to test their app on
> > devices running Android M. Because API 23 enables the new permissions
> > model only on Android M, it requires testing on that platform.
> >
> >
> Everyone has access to the Android emulator.
>
>
> > In any of the above cases, developers might still like to benefit from
> > some of the major bug fixes in those 5 popular core plugins mentioned
> > below. Or even if they weren't specifically looking for bug fixes, it
> > would be a much better experience if adding or updating one of those
> > plugins would just work, rather than failing on Android. The
> > explanation for the failure will not be obvious to many users, if they
> > overlooked the warning when installing the plugin or if they were
> > using another tool to add the plugin where the warning wasn't surfaced.
> >
>
>  Seems like you are describing a tooling problem here. If the tool doesn't
> surface the warning or allows the user to add a plugin that is incompatible
> with the version of Cordova Android that is being used really sounds like a
> bug in the tooling to me.
>
>
> > Of course developers should be encouraged to upgrade to the latest
> > most secure highest-quality version of Cordova. But the encouragement
> > does not need to be so forceful. This proposed change gives developers
> > more time to upgrade, and allows for more choice about when to upgrade
> > individual parts
> > (plugins) rather than limiting them to all-or-nothing.
>
>
>  I would argue that the developer has an infinite amount of time to
> upgrade. Nothing is forcing you to upgrade to the latest Cordova Android or
> Android API. They can continue to use the same version of Cordova Android
> and plugins that are currently working in their app. If the developer is
> using semver properly and we do our job right they shouldn't pick up
> breaking changes. For instance, if the API of a plugin changes we bump the
> major version of the plugin so users who setup their config.xml to use:
>
> <plugin name="cordova-plugin-camera" spec="^1.1.0" />
>
> will effectively prevent the user from picking up the breaking change in
> camera version 2.0.0.
>
> Simon Mac Donald
>
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com%7c84fb6405edf74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=B8DuMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
>  B KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKCB
>   [  X  ܚX K  K[XZ[
>    ] ][  X  ܚX P  ܙ ݘK \ X  K ܙ B  ܈ Y  ] [ۘ[    [X[     K[XZ[
>    ] Z [    ܙ ݘK \ X  K ܙ B
>

RE: [DISCUSS] Core Plugins and Android API 23

Posted by Richard Knoll <ri...@microsoft.com>.
Hey all,

This change has been merged into the file, camera, geolocation, and contacts plugins (media did not actually require any change). I was able to build and run mobilespec on cordova-android 4.0.0 and cordova-android's master. We should probably push for a plugins release soon, since there are also some major bug fixes to the contacts and camera plugins that were recently pushed.

Thanks,
Richard

-----Original Message-----
From: Nikhil Khandelwal [mailto:nikhilkh@microsoft.com] 
Sent: Friday, January 8, 2016 12:12 PM
To: dev@cordova.apache.org
Subject: RE: [DISCUSS] Core Plugins and Android API 23

We had a good discussion about this offline with Joe, Simon, Steve, Jesse, Parashu and Jason. We came to the following agreement: 
This is a temporary fix to the plugins which we need to take to ensure Cordova 5.x tools behavior of using the edge plugins does not break for our users. We will pursue the change for all the affected plugins. This will go out in the next PLUGINS release which will happen before the Cordova 6.0 release. Since this a temporary fix, we aim to remove it in 6 months (giving reasonable time for our user base to move to Cordova 6.x+ which will have a better plugin version pinning mechanism).

Thanks,
Nikhil

-----Original Message-----
From: Simon MacDonald [mailto:simon.macdonald@gmail.com]
Sent: Thursday, January 7, 2016 4:00 PM
To: dev@cordova.apache.org
Subject: Re: [DISCUSS] Core Plugins and Android API 23

I'm going to play devils advocate a bit here:


> There are valid reasons why many app developers might not be ready to 
> move to API level 23:
>   1) They have an app which is stabilizing or in maintenance mode and 
> they don't want to risk destabilization by moving to a new major 
> Cordova version, Cordova Android platform, and Android API level.
>

If the developer is not ready to move to a new version of Cordova Android or the Android API would it not also follow that they shouldn't be changing their plugin versions?


>   2) They are using a 3rd-party plugin which has not yet been updated 
> to request Android permissions as required by API level 23. There are 
> probably a lot of plugins affected, since access to any of the 
> following things on Android M requires runtime permission requests:
> calendar, contacts, phone, camera, microphone, location, beacons, sensors, SMS, storage.
>

Right, so if the 3rd party plugin they are using doesn't support Android M they should either a) not upgrade or b) send a PR to the plugin maintainer so everyone can benefit.


>   3) They might not have the capacity or ability to test their app on 
> devices running Android M. Because API 23 enables the new permissions 
> model only on Android M, it requires testing on that platform.
>
>
Everyone has access to the Android emulator.


> In any of the above cases, developers might still like to benefit from 
> some of the major bug fixes in those 5 popular core plugins mentioned 
> below. Or even if they weren't specifically looking for bug fixes, it 
> would be a much better experience if adding or updating one of those 
> plugins would just work, rather than failing on Android. The 
> explanation for the failure will not be obvious to many users, if they 
> overlooked the warning when installing the plugin or if they were 
> using another tool to add the plugin where the warning wasn't surfaced.
>

 Seems like you are describing a tooling problem here. If the tool doesn't surface the warning or allows the user to add a plugin that is incompatible with the version of Cordova Android that is being used really sounds like a bug in the tooling to me.


> Of course developers should be encouraged to upgrade to the latest 
> most secure highest-quality version of Cordova. But the encouragement 
> does not need to be so forceful. This proposed change gives developers 
> more time to upgrade, and allows for more choice about when to upgrade 
> individual parts
> (plugins) rather than limiting them to all-or-nothing.


 I would argue that the developer has an infinite amount of time to upgrade. Nothing is forcing you to upgrade to the latest Cordova Android or Android API. They can continue to use the same version of Cordova Android and plugins that are currently working in their app. If the developer is using semver properly and we do our job right they shouldn't pick up breaking changes. For instance, if the API of a plugin changes we bump the major version of the plugin so users who setup their config.xml to use:

<plugin name="cordova-plugin-camera" spec="^1.1.0" />

will effectively prevent the user from picking up the breaking change in camera version 2.0.0.

Simon Mac Donald
https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com%7c84fb6405edf74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=B8DuMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d
B KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKCB  [  X  ܚX KK[XZ[
 ] ][  X  ܚX P ܙݘK \X K ܙ B  ܈Y][ۘ[  [X[  K[XZ[
 ] Z[ ܙݘK \X K ܙ B

RE: [DISCUSS] Core Plugins and Android API 23

Posted by Nikhil Khandelwal <ni...@microsoft.com>.
We had a good discussion about this offline with Joe, Simon, Steve, Jesse, Parashu and Jason. We came to the following agreement: 
This is a temporary fix to the plugins which we need to take to ensure Cordova 5.x tools behavior of using the edge plugins does not break for our users. We will pursue the change for all the affected plugins. This will go out in the next PLUGINS release which will happen before the Cordova 6.0 release. Since this a temporary fix, we aim to remove it in 6 months (giving reasonable time for our user base to move to Cordova 6.x+ which will have a better plugin version pinning mechanism).

Thanks,
Nikhil

-----Original Message-----
From: Simon MacDonald [mailto:simon.macdonald@gmail.com] 
Sent: Thursday, January 7, 2016 4:00 PM
To: dev@cordova.apache.org
Subject: Re: [DISCUSS] Core Plugins and Android API 23

I'm going to play devils advocate a bit here:


> There are valid reasons why many app developers might not be ready to 
> move to API level 23:
>   1) They have an app which is stabilizing or in maintenance mode and 
> they don't want to risk destabilization by moving to a new major 
> Cordova version, Cordova Android platform, and Android API level.
>

If the developer is not ready to move to a new version of Cordova Android or the Android API would it not also follow that they shouldn't be changing their plugin versions?


>   2) They are using a 3rd-party plugin which has not yet been updated 
> to request Android permissions as required by API level 23. There are 
> probably a lot of plugins affected, since access to any of the 
> following things on Android M requires runtime permission requests: 
> calendar, contacts, phone, camera, microphone, location, beacons, sensors, SMS, storage.
>

Right, so if the 3rd party plugin they are using doesn't support Android M they should either a) not upgrade or b) send a PR to the plugin maintainer so everyone can benefit.


>   3) They might not have the capacity or ability to test their app on 
> devices running Android M. Because API 23 enables the new permissions 
> model only on Android M, it requires testing on that platform.
>
>
Everyone has access to the Android emulator.


> In any of the above cases, developers might still like to benefit from 
> some of the major bug fixes in those 5 popular core plugins mentioned 
> below. Or even if they weren't specifically looking for bug fixes, it 
> would be a much better experience if adding or updating one of those 
> plugins would just work, rather than failing on Android. The 
> explanation for the failure will not be obvious to many users, if they 
> overlooked the warning when installing the plugin or if they were 
> using another tool to add the plugin where the warning wasn't surfaced.
>

 Seems like you are describing a tooling problem here. If the tool doesn't surface the warning or allows the user to add a plugin that is incompatible with the version of Cordova Android that is being used really sounds like a bug in the tooling to me.


> Of course developers should be encouraged to upgrade to the latest 
> most secure highest-quality version of Cordova. But the encouragement 
> does not need to be so forceful. This proposed change gives developers 
> more time to upgrade, and allows for more choice about when to upgrade 
> individual parts
> (plugins) rather than limiting them to all-or-nothing.


 I would argue that the developer has an infinite amount of time to upgrade. Nothing is forcing you to upgrade to the latest Cordova Android or Android API. They can continue to use the same version of Cordova Android and plugins that are currently working in their app. If the developer is using semver properly and we do our job right they shouldn't pick up breaking changes. For instance, if the API of a plugin changes we bump the major version of the plugin so users who setup their config.xml to use:

<plugin name="cordova-plugin-camera" spec="^1.1.0" />

will effectively prevent the user from picking up the breaking change in camera version 2.0.0.

Simon Mac Donald
https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fhi.im%2fsimonmacdonald&data=01%7c01%7cnikhilkh%40microsoft.com%7c84fb6405edf74f47453208d317beb5e5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=B8DuMuPF8aUU6xvIlpYTi3LJPs1HbENcHXS8JrHqEu0%3d

Re: [DISCUSS] Core Plugins and Android API 23

Posted by Simon MacDonald <si...@gmail.com>.
I'm going to play devils advocate a bit here:


> There are valid reasons why many app developers might not be ready to move
> to API level 23:
>   1) They have an app which is stabilizing or in maintenance mode and they
> don't want to risk destabilization by moving to a new major Cordova
> version, Cordova Android platform, and Android API level.
>

If the developer is not ready to move to a new version of Cordova Android
or the Android API would it not also follow that they shouldn't be changing
their plugin versions?


>   2) They are using a 3rd-party plugin which has not yet been updated to
> request Android permissions as required by API level 23. There are probably
> a lot of plugins affected, since access to any of the following things on
> Android M requires runtime permission requests: calendar, contacts, phone,
> camera, microphone, location, beacons, sensors, SMS, storage.
>

Right, so if the 3rd party plugin they are using doesn't support Android M
they should either a) not upgrade or b) send a PR to the plugin maintainer
so everyone can benefit.


>   3) They might not have the capacity or ability to test their app on
> devices running Android M. Because API 23 enables the new permissions model
> only on Android M, it requires testing on that platform.
>
>
Everyone has access to the Android emulator.


> In any of the above cases, developers might still like to benefit from
> some of the major bug fixes in those 5 popular core plugins mentioned
> below. Or even if they weren't specifically looking for bug fixes, it would
> be a much better experience if adding or updating one of those plugins
> would just work, rather than failing on Android. The explanation for the
> failure will not be obvious to many users, if they overlooked the warning
> when installing the plugin or if they were using another tool to add the
> plugin where the warning wasn't surfaced.
>

 Seems like you are describing a tooling problem here. If the tool doesn't
surface the warning or allows the user to add a plugin that is incompatible
with the version of Cordova Android that is being used really sounds like a
bug in the tooling to me.


> Of course developers should be encouraged to upgrade to the latest most
> secure highest-quality version of Cordova. But the encouragement does not
> need to be so forceful. This proposed change gives developers more time to
> upgrade, and allows for more choice about when to upgrade individual parts
> (plugins) rather than limiting them to all-or-nothing.


 I would argue that the developer has an infinite amount of time to
upgrade. Nothing is forcing you to upgrade to the latest Cordova Android or
Android API. They can continue to use the same version of Cordova Android
and plugins that are currently working in their app. If the developer is
using semver properly and we do our job right they shouldn't pick up
breaking changes. For instance, if the API of a plugin changes we bump the
major version of the plugin so users who setup their config.xml to use:

<plugin name="cordova-plugin-camera" spec="^1.1.0" />

will effectively prevent the user from picking up the breaking change in
camera version 2.0.0.

Simon Mac Donald
http://hi.im/simonmacdonald

Re: [DISCUSS] Core Plugins and Android API 23

Posted by Joe Bowser <bo...@gmail.com>.
On Thu, Jan 7, 2016 at 2:42 PM, Jason Ginchereau <ja...@microsoft.com>
wrote:

> Hi Joe,
>
> Can you provide more specific reasons why you think using reflection is
> problematic in this case? This seems to me like exactly the sort of
> situation where reflection is an appropriate solution.
>

I can provide two good reasons, and one personal reason:

1. Since the helper class lives in the plugin, we have to have the same
code in numerous plugins.
2. This doesn't help the people using the apps, it only helps the
developers writing them, and it only helps the developers not upgrade.  I
don't want to help people to avoid upgrading to a later version of Cordova.
3. I've been burned by reflection too many times to want it anywhere.


>
> There are valid reasons why many app developers might not be ready to move
> to API level 23:
>   1) They have an app which is stabilizing or in maintenance mode and they
> don't want to risk destabilization by moving to a new major Cordova
> version, Cordova Android platform, and Android API level.
>

Sure, not moving to a new version of Cordova right away may be valid
because our upgrade process feels broken and untested, but when it's paired
with an Android API level, you either move up or you get left behind and
that should include plugins.  We can't guarantee that the latest plugins
will work with all versions of Cordova, and I don't think anyone wants to
do the testing for the plugins.  I sure don't want to open that pandora's
box, which is why I oppoose this change so strongly.


>   2) They are using a 3rd-party plugin which has not yet been updated to
> request Android permissions as required by API level 23. There are probably
> a lot of plugins affected, since access to any of the following things on
> Android M requires runtime permission requests: calendar, contacts, phone,
> camera, microphone, location, beacons, sensors, SMS, storage.
>

Marshmallow is rolling out to real devices now and these third party
plugins are going to have to get updated sooner or later.  My two year old
Moto X (2nd gen) just got an update to Marshmallow.  We can't constantly
fight the future every time the Android project changes something just
because we don't have a very healthy plugin ecosystem (I consider the mass
abandonment of third-party plugins by their developers unhealthy).  This
project already has a bad habit of doing that.



>   3) They might not have the capacity or ability to test their app on
> devices running Android M. Because API 23 enables the new permissions model
> only on Android M, it requires testing on that platform.
>

I don't agree with this argument, because you can run apps compiled against
API 23 on older devices, and if you have to, you can still spot check the
permissions on the emulator.  As much as I hate the emulator, the new
changes Google made to it are good, and it's probably worth using.  I still
think that apps need to be tested on a real device, but spot checking
certain things on an emulator is fine if you don't have the latest and
greatest.


> In any of the above cases, developers might still like to benefit from
> some of the major bug fixes in those 5 popular core plugins mentioned
> below. Or even if they weren't specifically looking for bug fixes, it would
> be a much better experience if adding or updating one of those plugins
> would just work, rather than failing on Android. The explanation for the
> failure will not be obvious to many users, if they overlooked the warning
> when installing the plugin or if they were using another tool to add the
> plugin where the warning wasn't surfaced.
>
>
> Of course developers should be encouraged to upgrade to the latest most
> secure highest-quality version of Cordova. But the encouragement does not
> need to be so forceful. This proposed change gives developers more time to
> upgrade, and allows for more choice about when to upgrade individual parts
> (plugins) rather than limiting them to all-or-nothing.
>
>
I completely disagree and I think it does need to be forceful, because
otherwise developers will NEVER upgrade.  The only time developers who use
Cordova upgrade is when we force them to, and even then there's still tons
of old versions of Cordova out there that people are using despite the
Google Security issues.  We can't test these new plugins against every old
version of Cordova, and this change goes against what we talked about
earlier.


> Jason
>
>
> -----Original Message-----
> From: Joe Bowser [mailto:bowserj@gmail.com]
> Sent: Wednesday, January 6, 2016 4:45 PM
> To: dev <de...@cordova.apache.org>
> Subject: Re: [DISCUSS] Core Plugins and Android API 23
>
> I'm very against this idea because we've been burned by using reflection
> in the past.  I also feel that this allows developers be terrible and to
> stick with older, more insecure versions of Cordova, which is the main
> reason I'm against it.  I don't think that requiring API level 23 is a
> problem.
> There's nothing saying that they can't use prior versions of plugins with
> their applications, but we shouldn't be using reflection because these
> users are too lazy to update their Android environment or get their plugins
> to work.  I'm almost certain that this will burn us in the future when some
> users wants some API that we removed for a good reason.
>
> Seriously, if we allow this to happen, what was the point of even
> incrementing the version to Android 5.0? Also, do we have to basically
> write the apps for our users as well at this point, because they're unable
> to deal with change?
>
>
> On Wed, Jan 6, 2016 at 4:08 PM, Richard Knoll <ri...@microsoft.com>
> wrote:
>
> > Hey all,
> >
> > As has been very thoroughly discussed at this point, the
> > cordova-android
> > 5.0.0 update included breaking changes for plugins in response to the
> > new permission model that Android Marshmallow introduced.
> > Unfortunately, this means that our plugins that took advantage of the
> > new permission APIs are no longer able to build on Cordova platforms
> before cordova-android 5.0.0.
> > Really, this update only came down to two new methods in
> CordovaInterface:
> > one for requesting permissions and one for checking them. Since this
> > is such a minor API change, it is trivial for us to modify the core
> > plugins that require permissions to use reflection and allow projects
> > that are still using the earlier Android APIs to keep using them. I
> > have done so for the camera plugin as an example [1]. All it took was
> > writing a helper class for permissions that I made general enough to
> > be easily included in the other core plugins.
> >
> > This change gives users who are not ready to embrace Android API 23
> > some more time before they are forced to update (e.g. if they are
> > still using some other plugins that have yet to be updated). It also
> > helps us reduce some of the current plugin versioning woes we're
> > having. Anyone using Cordova 5.x stands to benefit, since this can
> > prevent some confusion and frustration caused by broken builds when
> > their cli fetches the latest plugins. In my opinion, the cost of
> > copying a helper class is worth that potential payoff. What do others
> think?
> >
> > I did a little testing with my modified camera plugin and
> > cordova-android
> > 3.7.1 (which I arbitrarily chose) and it built/seemed to work fine. If
> > people support this idea, I can do a bit more testing and make PRs for
> > the other plugins.
> >
> > For the record, the affected plugins are as follows:
> >     cordova-plugin-camera
> >     cordova-plugin-contacts
> >     cordova-plugin-file
> >     cordova-plugin-geolocation
> >     cordova-plugin-media
> >
> > Thanks,
> > Richard
> > [1]
> > https://github.com/apache/cordova-plugin-camera/compare/master...rikno
> > ll:reflection?expand=1
> >
>

RE: [DISCUSS] Core Plugins and Android API 23

Posted by Jason Ginchereau <ja...@microsoft.com>.
Hi Joe,

Can you provide more specific reasons why you think using reflection is problematic in this case? This seems to me like exactly the sort of situation where reflection is an appropriate solution.


There are valid reasons why many app developers might not be ready to move to API level 23:
  1) They have an app which is stabilizing or in maintenance mode and they don't want to risk destabilization by moving to a new major Cordova version, Cordova Android platform, and Android API level.
  2) They are using a 3rd-party plugin which has not yet been updated to request Android permissions as required by API level 23. There are probably a lot of plugins affected, since access to any of the following things on Android M requires runtime permission requests: calendar, contacts, phone, camera, microphone, location, beacons, sensors, SMS, storage.
  3) They might not have the capacity or ability to test their app on devices running Android M. Because API 23 enables the new permissions model only on Android M, it requires testing on that platform.

In any of the above cases, developers might still like to benefit from some of the major bug fixes in those 5 popular core plugins mentioned below. Or even if they weren't specifically looking for bug fixes, it would be a much better experience if adding or updating one of those plugins would just work, rather than failing on Android. The explanation for the failure will not be obvious to many users, if they overlooked the warning when installing the plugin or if they were using another tool to add the plugin where the warning wasn't surfaced.


Of course developers should be encouraged to upgrade to the latest most secure highest-quality version of Cordova. But the encouragement does not need to be so forceful. This proposed change gives developers more time to upgrade, and allows for more choice about when to upgrade individual parts (plugins) rather than limiting them to all-or-nothing. 


Jason


-----Original Message-----
From: Joe Bowser [mailto:bowserj@gmail.com] 
Sent: Wednesday, January 6, 2016 4:45 PM
To: dev <de...@cordova.apache.org>
Subject: Re: [DISCUSS] Core Plugins and Android API 23

I'm very against this idea because we've been burned by using reflection in the past.  I also feel that this allows developers be terrible and to stick with older, more insecure versions of Cordova, which is the main reason I'm against it.  I don't think that requiring API level 23 is a problem.
There's nothing saying that they can't use prior versions of plugins with their applications, but we shouldn't be using reflection because these users are too lazy to update their Android environment or get their plugins to work.  I'm almost certain that this will burn us in the future when some users wants some API that we removed for a good reason.

Seriously, if we allow this to happen, what was the point of even incrementing the version to Android 5.0? Also, do we have to basically write the apps for our users as well at this point, because they're unable to deal with change?


On Wed, Jan 6, 2016 at 4:08 PM, Richard Knoll <ri...@microsoft.com> wrote:

> Hey all,
>
> As has been very thoroughly discussed at this point, the 
> cordova-android
> 5.0.0 update included breaking changes for plugins in response to the 
> new permission model that Android Marshmallow introduced. 
> Unfortunately, this means that our plugins that took advantage of the 
> new permission APIs are no longer able to build on Cordova platforms before cordova-android 5.0.0.
> Really, this update only came down to two new methods in CordovaInterface:
> one for requesting permissions and one for checking them. Since this 
> is such a minor API change, it is trivial for us to modify the core 
> plugins that require permissions to use reflection and allow projects 
> that are still using the earlier Android APIs to keep using them. I 
> have done so for the camera plugin as an example [1]. All it took was 
> writing a helper class for permissions that I made general enough to 
> be easily included in the other core plugins.
>
> This change gives users who are not ready to embrace Android API 23 
> some more time before they are forced to update (e.g. if they are 
> still using some other plugins that have yet to be updated). It also 
> helps us reduce some of the current plugin versioning woes we're 
> having. Anyone using Cordova 5.x stands to benefit, since this can 
> prevent some confusion and frustration caused by broken builds when 
> their cli fetches the latest plugins. In my opinion, the cost of 
> copying a helper class is worth that potential payoff. What do others think?
>
> I did a little testing with my modified camera plugin and 
> cordova-android
> 3.7.1 (which I arbitrarily chose) and it built/seemed to work fine. If 
> people support this idea, I can do a bit more testing and make PRs for 
> the other plugins.
>
> For the record, the affected plugins are as follows:
>     cordova-plugin-camera
>     cordova-plugin-contacts
>     cordova-plugin-file
>     cordova-plugin-geolocation
>     cordova-plugin-media
>
> Thanks,
> Richard
> [1]
> https://github.com/apache/cordova-plugin-camera/compare/master...rikno
> ll:reflection?expand=1
>

Re: [DISCUSS] Core Plugins and Android API 23

Posted by Joe Bowser <bo...@gmail.com>.
I'm very against this idea because we've been burned by using reflection in
the past.  I also feel that this allows developers be terrible and to stick
with older, more insecure versions of Cordova, which is the main reason I'm
against it.  I don't think that requiring API level 23 is a problem.
There's nothing saying that they can't use prior versions of plugins with
their applications, but we shouldn't be using reflection because these
users are too lazy to update their Android environment or get their plugins
to work.  I'm almost certain that this will burn us in the future when some
users wants some API that we removed for a good reason.

Seriously, if we allow this to happen, what was the point of even
incrementing the version to Android 5.0? Also, do we have to basically
write the apps for our users as well at this point, because they're unable
to deal with change?


On Wed, Jan 6, 2016 at 4:08 PM, Richard Knoll <ri...@microsoft.com> wrote:

> Hey all,
>
> As has been very thoroughly discussed at this point, the cordova-android
> 5.0.0 update included breaking changes for plugins in response to the new
> permission model that Android Marshmallow introduced. Unfortunately, this
> means that our plugins that took advantage of the new permission APIs are
> no longer able to build on Cordova platforms before cordova-android 5.0.0.
> Really, this update only came down to two new methods in CordovaInterface:
> one for requesting permissions and one for checking them. Since this is
> such a minor API change, it is trivial for us to modify the core plugins
> that require permissions to use reflection and allow projects that are
> still using the earlier Android APIs to keep using them. I have done so for
> the camera plugin as an example [1]. All it took was writing a helper class
> for permissions that I made general enough to be easily included in the
> other core plugins.
>
> This change gives users who are not ready to embrace Android API 23 some
> more time before they are forced to update (e.g. if they are still using
> some other plugins that have yet to be updated). It also helps us reduce
> some of the current plugin versioning woes we're having. Anyone using
> Cordova 5.x stands to benefit, since this can prevent some confusion and
> frustration caused by broken builds when their cli fetches the latest
> plugins. In my opinion, the cost of copying a helper class is worth that
> potential payoff. What do others think?
>
> I did a little testing with my modified camera plugin and cordova-android
> 3.7.1 (which I arbitrarily chose) and it built/seemed to work fine. If
> people support this idea, I can do a bit more testing and make PRs for the
> other plugins.
>
> For the record, the affected plugins are as follows:
>     cordova-plugin-camera
>     cordova-plugin-contacts
>     cordova-plugin-file
>     cordova-plugin-geolocation
>     cordova-plugin-media
>
> Thanks,
> Richard
> [1]
> https://github.com/apache/cordova-plugin-camera/compare/master...riknoll:reflection?expand=1
>