cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From julio cesar sanchez <jcesarmob...@gmail.com>
Subject Re: [DISCUSS] Core Plugins and Android API 23
Date Sun, 03 Apr 2016 18:26:15 GMT
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 <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 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