You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by "Homer, Tony" <to...@intel.com> on 2016/02/05 13:52:46 UTC

Re: [DISCUSS] Core Plugins and Android API 23

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>.
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
>