cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon MacDonald <simon.macdon...@gmail.com>
Subject Re: [DISCUSS] Core Plugins and Android API 23
Date Sun, 03 Apr 2016 19:25:46 GMT
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 <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 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