cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Carlos Santana <csantan...@gmail.com>
Subject Re: [DISCUSS] Core Plugins and Android API 23
Date Sun, 03 Apr 2016 16:43:10 GMT
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 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:;>
> > > > >>
> > > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message