cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian LeRoux...@brian.io>
Subject Re: [Android] Refactoring for different engines
Date Wed, 23 Apr 2014 14:26:48 GMT
Yup I'll track em down
On Apr 23, 2014 7:17 AM, "Andrew Grieve" <agrieve@chromium.org> wrote:

> Does anyone have a contact at moz that we could invite?
>
> On Wed, Apr 23, 2014 at 10:09 AM, Andrew Grieve <agrieve@chromium.org>
> wrote:
> > Depends on their interest level I think. Faster we can get this out
> > the door the better. If we need to delay for geckoview, then I don't
> > think we should gate on it, just release it after.
> >
> > On Wed, Apr 23, 2014 at 3:01 AM, Tommy Williams <tommy@devgeeks.org>
> wrote:
> >> More engines, more better...
> >> On 23 Apr 2014 16:32, "Joe Bowser" <bowserj@gmail.com> wrote:
> >>
> >>> Hey
> >>>
> >>> A Hangout would have to happen on Friday at the earliest.  It'd be
> good if
> >>> we could get someone from Mozilla on the hangout as well.  I haven't
> gotten
> >>> MozillaView (GeckoView with Cordova methods) fully working yet.  For
> some
> >>> reason it's not rendering on the screen.
> >>>
> >>> Ideally it'd be cool to have at least two options when this feature
> finally
> >>> lands.
> >>>
> >>> What do other people think?
> >>>
> >>> Joe
> >>> On 22 Apr 2014 20:06, "Hu, Ningxin" <ningxin.hu@intel.com> wrote:
> >>>
> >>> > Joe,
> >>> >
> >>> > Thanks for your review and merge the PRs.
> >>> >
> >>> > To pluggable webview interest group:
> >>> > Are we OK to setup a hangout this week for initial introduction and
> >>> > discussion of next steps?
> >>> >
> >>> > Thanks,
> >>> > -ningxin
> >>> >
> >>> > > -----Original Message-----
> >>> > > From: Hu, Ningxin [mailto:ningxin.hu@intel.com]
> >>> > > Sent: Tuesday, April 22, 2014 4:04 PM
> >>> > > To: dev@cordova.apache.org
> >>> > > Subject: RE: [Android] Refactoring for different engines
> >>> > >
> >>> > > The PoC is great! Quite excited about the direction!
> >>> > >
> >>> > > I've sent a PR to update the cordova-crosswalk-engine to latest
> >>> crosswalk
> >>> > > embedding API. It works with xwalk_core_library at 6.35.124.0.
> >>> > >
> >>> > > I've also changed the CordovaWebView interface slightly (adding
> >>> > getView() API)
> >>> > > to allow XWalkCordovaWebView to composite a XWalkView instead
of
> >>> > extending
> >>> > > it. It resolves some API naming issues for XWalkView case.
> >>> > >
> >>> > > Please review them at:
> >>> > > https://github.com/infil00p/cordova-crosswalk-engine/pull/3
> >>> > > https://github.com/infil00p/cordova-android/pull/2
> >>> > >
> >>> > > Thanks,
> >>> > > -ningxin
> >>> > >
> >>> > > > -----Original Message-----
> >>> > > > From: Joe Bowser [mailto:bowserj@gmail.com]
> >>> > > > Sent: Friday, April 11, 2014 12:45 AM
> >>> > > > To: dev
> >>> > > > Subject: Re: [Android] Refactoring for different engines
> >>> > > >
> >>> > > > Yeah, I'd be cool with setting up a hangout.  Everyone should
> take a
> >>> > > > look at the PoC, I've basically distilled it down to four
or five
> >>> > > > classes so far, but with some work, we may be able to get
it
> down to
> >>> > > > three.  Due to legacy, we're pretty stuck with the Android
> WebView
> >>> API
> >>> > calls,
> >>> > > but these can probably be modified.
> >>> > > >
> >>> > > > It'd be good to get Mozilla people on the call as well, since
> they
> >>> > > > have their WebView as well.
> >>> > > >
> >>> > > > On Thu, Apr 10, 2014 at 9:38 AM, Hu, Ningxin <
> ningxin.hu@intel.com>
> >>> > wrote:
> >>> > > > > Hangout would be a good idea.
> >>> > > > >
> >>> > > > > FYI, I will be off next week. How about the week after
next?
> If it
> >>> > > > > works, please
> >>> > > > feel free to schedule one and count me in.
> >>> > > > >
> >>> > > > > Thanks,
> >>> > > > > -ningxin
> >>> > > > >
> >>> > > > >> -----Original Message-----
> >>> > > > >> From: mmocny@google.com [mailto:mmocny@google.com]
On Behalf
> Of
> >>> > > > >> Michal Mocny
> >>> > > > >> Sent: Tuesday, April 08, 2014 11:39 PM
> >>> > > > >> To: dev
> >>> > > > >> Subject: Re: [Android] Refactoring for different
engines
> >>> > > > >>
> >>> > > > >> Would it be alright to set up a Hangout some time
to introduce
> >>> > everyone?
> >>> > > > >>
> >>> > > > >> Joe has been leading the effort here, but there
are other
> cordova
> >>> > > > >> contributors for whom this is top priority.  It
would be nice
> if
> >>> we
> >>> > > > >> could all meet to say hello and make sure we are
all going in
> the
> >>> > > > >> right
> >>> > > > direction.
> >>> > > > >>
> >>> > > > >> Quite exciting!
> >>> > > > >>
> >>> > > > >> -Michal
> >>> > > > >>
> >>> > > > >>
> >>> > > > >> On Tue, Apr 8, 2014 at 10:56 AM, Hu, Ningxin <
> >>> ningxin.hu@intel.com>
> >>> > > wrote:
> >>> > > > >>
> >>> > > > >> > Joe, thanks for this. I am very excited.
> >>> > > > >> >
> >>> > > > >> > FYI. Crosswalk team is working on refactoring
the WebView
> API to
> >>> > > > >> > support embedding usage better [1]. (Previously
the layer
> API
> >>> was
> >>> > > > >> > not exposed as public usage).
> >>> > > > >> >
> >>> > > > >> > I would like to review the PoC and work with
you to get
> >>> Crosswalk
> >>> > > > >> > fits into the pluggable WebView architecture.
> >>> > > > >> >
> >>> > > > >> > Thanks,
> >>> > > > >> > -ningxin
> >>> > > > >> >
> >>> > > > >> > > -----Original Message-----
> >>> > > > >> > > From: Joe Bowser [mailto:bowserj@gmail.com]
> >>> > > > >> > > Sent: Wednesday, March 19, 2014 7:08 AM
> >>> > > > >> > > To: dev
> >>> > > > >> > > Subject: Re: [Android] Refactoring for
different engines
> >>> > > > >> > >
> >>> > > > >> > > Hey
> >>> > > > >> > >
> >>> > > > >> > > After debugging, I did some minor updates
to the plugin
> >>> README.
> >>> > > > >> > > It
> >>> > > > >> > should be
> >>> > > > >> > > easier to get this up and running, although
there's still
> the
> >>> > > > >> > > issue of
> >>> > > > >> > after-install
> >>> > > > >> > > hooks and the relative path weirdness
with the Crosswalk
> >>> > Library itself.
> >>> > > > >> > >
> >>> > > > >> > > It still doesn't support the CLI at all,
but it should be
> >>> there
> >>> > > > >> > > with the
> >>> > > > >> > old flow.
> >>> > > > >> > >
> >>> > > > >> > > On Mon, Mar 17, 2014 at 1:14 PM, Michal
Mocny
> >>> > > > >> > > <mmocny@chromium.org>
> >>> > > > >> > > wrote:
> >>> > > > >> > > > (Sorry Joe, Googlers are down in
California and way
> busy.
> >>> > > > >> > > > Will be back in a week.  Super excited
about this,
> though.)
> >>> > > > >> > > >
> >>> > > > >> > > > -Michal
> >>> > > > >> > > >
> >>> > > > >> > > >
> >>> > > > >> > > > On Mon, Mar 17, 2014 at 2:53 PM,
Joe Bowser
> >>> > > > >> > > > <bowserj@gmail.com>
> >>> > > > >> wrote:
> >>> > > > >> > > >
> >>> > > > >> > > >> Reviving this thread!
> >>> > > > >> > > >>
> >>> > > > >> > > >> Can other people look at this,
and see if/when we
> should
> >>> > land this?
> >>> > > > >> > > >> I know that I have to re-write
the tests still, but I
> would
> >>> > > > >> > > >> like some feedback before merging
it in.  Also, it'd be
> >>> > > > >> > > >> super awesome if other people
could try and make a
> WebView
> >>> > > > >> > > >> based on the interfaces and recommend
which methods
> should
> >>> > > > >> > > >> die.  I want to get this released
in the next month or
> so,
> >>> > > > >> > > >> so any time and feedback would
be greatly appreciated.
> >>> > > > >> > > >>
> >>> > > > >> > > >> Thanks
> >>> > > > >> > > >>
> >>> > > > >> > > >> On Thu, Mar 13, 2014 at 3:50
PM, Joe Bowser
> >>> > > > >> > > >> <bowserj@gmail.com>
> >>> > > > >> > wrote:
> >>> > > > >> > > >> > Hey, I created the following
today to track various
> >>> > > > >> > > >> > WebView
> >>> > > > >> > progresses:
> >>> > > > >> > > >> > https://issues.apache.org/jira/browse/CB-6246
> >>> > > > >> > > >> >
> >>> > > > >> > > >> > I also have this repo created.
 The licensing is
> ugly as
> >>> > > > >> > > >> > all crap, but it's a Proof-Of-Concept:
> >>> > > > >> > > >> > https://github.com/infil00p/cordova-crosswalk-engine
> >>> > > > >> > > >> >
> >>> > > > >> > > >> > If I can get some help getting
plugman to just load
> >>> > > > >> > > >> > Crosswalk, it'll
> >>> > > > >> > > >> look hawt.
> >>> > > > >> > > >> >
> >>> > > > >> > > >> > BTW: We should probably
get this ready to go into
> Android
> >>> > > > >> > > >> > in the next two months and
deprecate the setProperty
> >>> > > > >> > > >> > methods, since all properties
should be preferences
> in
> >>> > config.xml
> >>> > > now.
> >>> > > > >> > > >> >
> >>> > > > >> > > >> > On Mon, Mar 10, 2014 at
2:42 PM, Joe Bowser
> >>> > > > >> > > >> > <bowserj@gmail.com>
> >>> > > > >> > > wrote:
> >>> > > > >> > > >> >> Perhaps. There would
be additional benefits to this
> >>> > > > >> > > >> >> approach, namely fixes
being added to that platform
> more
> >>> > > > >> > > >> >> quickly.  I'll probably
take a look at that once I
> have
> >>> > > > >> > > >> >> Crosswalk
> >>> > > > finalized.
> >>> > > > >> > > >> >>
> >>> > > > >> > > >> >> On Mon, Mar 10, 2014
at 9:49 AM, Brian LeRoux
> >>> > > > >> > > >> >> <b@brian.io>
> >>> > > > wrote:
> >>> > > > >> > > >> >>> this is great stuff
> >>> > > > >> > > >> >>>
> >>> > > > >> > > >> >>> do we think it may
be possible to bring in amazon
> >>> fireos
> >>> > > > >> > > >> >>> stuff
> >>> > > > >> > > >> eventually
> >>> > > > >> > > >> >>> too?
> >>> > > > >> > > >> >>>
> >>> > > > >> > > >> >>>
> >>> > > > >> > > >> >>> On Fri, Mar 7, 2014
at 3:22 PM, Joe Bowser
> >>> > > > >> > > >> >>> <bowserj@gmail.com>
> >>> > > > >> > wrote:
> >>> > > > >> > > >> >>>
> >>> > > > >> > > >> >>>> BTW: I committed
it in my repo, not the main
> Apache
> >>> one.
> >>> > > > >> > > >> >>>>
> >>> > > > >> > > >> >>>> On Fri, Mar
7, 2014 at 3:21 PM, Joe Bowser
> >>> > > > >> > > >> >>>> <bowserj@gmail.com>
> >>> > > > >> > > wrote:
> >>> > > > >> > > >> >>>> > Hey
> >>> > > > >> > > >> >>>> >
> >>> > > > >> > > >> >>>> > I just
committed some code based on their
> WebView
> >>> > > > >> > > >> >>>> > modifications
that allows you to choose your
> >>> renderer
> >>> > > > >> > > >> >>>> > in the
> >>> > > > >> > config file
> >>> > > > >> > > with this:
> >>> > > > >> > > >> >>>> >
> >>> > > > >> > > >> >>>> >     <preference
name="webView"
> >>> > > > >> > > >> >>>> >
> >>> value="org.apache.cordova.engine.crosswalk.XWalkCordo
> >>> > > > >> > > >> >>>> > va
> >>> > > > >> > > >> >>>> > Web
> >>> > > > >> > > >> >>>> > View
> >>> > > > >> > > >> >>>> > " />
> >>> > > > >> > > >> >>>> >
> >>> > > > >> > > >> >>>> > You currently
have to copy over the *.pak file
> and
> >>> > > > >> > > >> >>>> > the jsapi
from a Crosswalk Example project to
> get
> >>> > > > >> > > >> >>>> > this to
work.  The next thing that I'm going to
> do
> >>> is
> >>> > > > >> > > >> >>>> > figure
out how to write this as a plugin and
> have it
> >>> > > > >> > > >> >>>> > install
on a default
> >>> > > > project.
> >>> > > > >> > > >> >>>> > Also, right
now the bridge doesn't seem to
> work, and
> >>> > > > >> > > >> >>>> > I don't
know why exactly.  That being said, the
> >>> > > > >> > > >> fact
> >>> > > > >> > > >> >>>> > that I
can choose which version of
> Chrome/Chromium
> >>> > > > >> > > >> >>>> > I'm running
with
> >>> > > > >> > > >> a
> >>> > > > >> > > >> >>>> > single
XML preference is HUGE.
> >>> > > > >> > > >> >>>> >
> >>> > > > >> > > >> >>>> > There's
definitely a lot more work that needs
> to be
> >>> > > > >> > > >> >>>> > done, but
as
> >>> > > > >> > > >> long
> >>> > > > >> > > >> >>>> > as we have
something that we can fit into the
> >>> > > > >> > > >> >>>> > interface,
we should
> >>> > > > >> > > >> be
> >>> > > > >> > > >> >>>> > able to
put in things like GeckoView or other
> third
> >>> > > > >> > > >> >>>> > party
> >>> > > > >> > renderers.
> >>> > > > >> > > >> >>>> > The nightmare
of being stuck with bullshit
> WebView
> >>> > > > >> > > >> >>>> > bugs may
soon be over.
> >>> > > > >> > > >> >>>> >
> >>> > > > >> > > >> >>>> > On Wed,
Mar 5, 2014 at 8:59 PM, Michal Mocny
> >>> > > > >> > > >> >>>> > <mmocny@chromium.org>
> >>> > > > >> > > >> >>>> wrote:
> >>> > > > >> > > >> >>>> >>
> >>> https://github.com/crosswalk-project/crosswalk-cordo
> >>> > > > >> > > >> >>>> >> va
> >>> > > > >> > > >> >>>> >> -an
> >>> > > > >> > > >> >>>> >> droi
> >>> > > > >> > > >> >>>> >> d
> >>> > > > >> > > >> >>>> >>
> >>> > > > >> > > >> >>>> >> First
patch they landed, which claims to have
> min
> >>> > > > >> > > >> >>>> >> viable
xwalk
> >>> > > > >> > > >> webview:
> >>> > > > >> > > >> >>>> >>
> >>> > > > >> > > >> >>>>
> >>> > > > >> > > >>
> >>> https://github.com/crosswalk-project/crosswalk-cordova-andro
> >>> > > > >> > > >> id
> >>> > > > >> > > >> /co
> >>> > > > >> > > >> mmit
> >>> > > > >> > > >> /a04dedeb0204e7542d190312c6ae70c795a26e04
> >>> > > > >> > > >> >>>> >>
> >>> > > > >> > > >> >>>> >>
> >>> > > > >> > > >> >>>> >> On
Wed, Mar 5, 2014 at 11:37 PM, Michal Mocny
> >>> > > > >> > > >> >>>> >> <mmocny@chromium.org
> >>> > > > >> > > >> >
> >>> > > > >> > > >> >>>> wrote:
> >>> > > > >> > > >> >>>> >>
> >>> > > > >> > > >> >>>> >>>
I haven't looked yet, but did you see:
> >>> > > > >> > > >> >>>> >>>
> >>> https://crosswalk-project.org/#wiki/crosswalk-cordo
> >>> > > > >> > > >> >>>> >>>
va
> >>> > > > >> > > >> >>>> >>>
-an
> >>> > > > >> > > >> >>>> >>>
droi
> >>> > > > >> > > >> >>>> >>>
d
> >>> > > > >> > > >> >>>> >>>
> >>> > > > >> > > >> >>>> >>>
?
> >>> > > > >> > > >> >>>> >>>
> >>> > > > >> > > >> >>>> >>>
> >>> > > > >> > > >> >>>> >>>
On Wed, Mar 5, 2014 at 10:20 PM, Andrew
> Grieve <
> >>> > > > >> > > >> agrieve@chromium.org
> >>> > > > >> > > >> >>>> >wrote:
> >>> > > > >> > > >> >>>> >>>
> >>> > > > >> > > >> >>>> >>>>
First - very excited that you're working on
> this!
> >>> > > > >> > > >> >>>> >>>>
> >>> > > > >> > > >> >>>> >>>>
Had a quick look. Not sure there's much to be
> >>> > gleaned
> >>> > > yet.
> >>> > > > >> > > >> >>>> >>>>
Once
> >>> > > > >> > > >> you
> >>> > > > >> > > >> >>>> start
> >>> > > > >> > > >> >>>> >>>>
in on hooking up x-walk's webview I think it
> will
> >>> > > > >> > > >> >>>> >>>>
become more
> >>> > > > >> > > >> obvious
> >>> > > > >> > > >> >>>> what
> >>> > > > >> > > >> >>>> >>>>
the interface should look like. E.g., does
> x-walk
> >>> > > > >> > > >> >>>> >>>>
even have the
> >>> > > > >> > > >> >>>> concept of
> >>> > > > >> > > >> >>>> >>>>
ChromeClient vs WebViewClient vs WebView?
> Also
> >>> > > > >> > > >> >>>> >>>>
unsure whether the
> >>> > > > >> > > >> >>>> class
> >>> > > > >> > > >> >>>> >>>>
should extend android.View as well as
> implement
> >>> > > > >> > > >> >>>> >>>>
our
> >>> > > > >> > interface.
> >>> > > > >> > > >> E.g.
> >>> > > > >> > > >> >>>> >>>>
alternative is to have a "getView()" method
> on
> >>> the
> >>> > > > >> > interface.
> >>> > > > >> > > >> Might
> >>> > > > >> > > >> >>>> help
> >>> > > > >> > > >> >>>> >>>>
to
> >>> > > > >> > > >> >>>> >>>>
cut down on file sizes, and API surface, but
> >>> > > > >> > > >> >>>> >>>>
again, I'm not too
> >>> > > > >> > > >> sure.
> >>> > > > >> > > >> >>>> >>>>
> >>> > > > >> > > >> >>>> >>>>
I've been pretty hesitant to touch existing
> >>> > > > >> > > >> >>>> >>>>
exposed members
> >>> > > > >> > > >> (e.g. the
> >>> > > > >> > > >> >>>> >>>>
public fields you were referring to) since
> >>> > > > >> > > >> >>>> >>>>
touching anything
> >>> > > > >> > > >> public
> >>> > > > >> > > >> >>>> could
> >>> > > > >> > > >> >>>> >>>>
break plugins. That said, maybe now is a good
> >>> time
> >>> > > > >> > > >> >>>> >>>>
to @deprecate
> >>> > > > >> > > >> a
> >>> > > > >> > > >> >>>> bunch
> >>> > > > >> > > >> >>>> >>>>
of
> >>> > > > >> > > >> >>>> >>>>
them and either replace them with getters, or
> >>> just
> >>> > > > >> > > >> >>>> >>>>
declare them
> >>> > > > >> > > >> to be
> >>> > > > >> > > >> >>>> not
> >>> > > > >> > > >> >>>> >>>>
exposed to plugins.
> >>> > > > >> > > >> >>>> >>>>
> >>> > > > >> > > >> >>>> >>>>
> >>> > > > >> > > >> >>>> >>>>
On Wed, Mar 5, 2014 at 6:57 PM, Joe Bowser
> >>> > > > >> > > >> >>>> >>>>
<bowserj@gmail.com>
> >>> > > > >> > > >> wrote:
> >>> > > > >> > > >> >>>> >>>>
> >>> > > > >> > > >> >>>> >>>>
> So, after looking at the Crosswalk code
> again,
> >>> > > > >> > > >> >>>> >>>>
> I've decided to
> >>> > > > >> > > >> take
> >>> > > > >> > > >> >>>> a
> >>> > > > >> > > >> >>>> >>>>
> quick stab at making things pluggable.  I
> don't
> >>> > > > >> > > >> >>>> >>>>
> have a lot to
> >>> > > > >> > > >> show
> >>> > > > >> > > >> >>>> for
> >>> > > > >> > > >> >>>> >>>>
> it, but with the help of Eclipse (which is
> why
> >>> > > > >> > > >> >>>> >>>>
> the generated interfaces look so screwed
> up), I
> >>> > > > >> > > >> >>>> >>>>
> managed to create some
> >>> > > > >> > > >> interfaces
> >>> > > > >> > > >> >>>> so
> >>> > > > >> > > >> >>>> >>>>
> we can start shoehorning in other browser
> >>> > renderers.
> >>> > > > >> > > >> >>>> >>>>
>
> >>> > > > >> > > >> >>>> >>>>
>
> >>> > > > >> > > >>
> >>> https://github.com/infil00p/cordova-android/tree/pluggable_w
> >>> > > > >> > > >> eb
> >>> > > > >> > > >> vie
> >>> > > > >> > > >> w
> >>> > > > >> > > >> >>>> >>>>
>
> >>> > > > >> > > >> >>>> >>>>
> I'm going to probably start with Crosswalk,
> >>> > > > >> > > >> >>>> >>>>
> because it's
> >>> > > > >> > > >> probably
> >>> > > > >> > > >> >>>> the
> >>> > > > >> > > >> >>>> >>>>
> most mature primary candidate in the
> Android
> >>> > > > >> > > >> >>>> >>>>
> Third-Party
> >>> > > > >> > > >> WebView
> >>> > > > >> > > >> >>>> >>>>
> thing, and I'm pretty sure the GeckoView
> will
> >>> be
> >>> > > > >> > > >> >>>> >>>>
> happening
> >>> > > > >> > > >> shortly
> >>> > > > >> > > >> >>>> >>>>
> after.
> >>> > > > >> > > >> >>>> >>>>
>
> >>> > > > >> > > >> >>>> >>>>
> I don't know how this would work w.r.t.
> the CLI
> >>> > > > >> > > >> >>>> >>>>
> or our
> >>> > > > >> > > >> workflow at
> >>> > > > >> > > >> >>>> >>>>
> all, but at the moment, I really just want
> to
> >>> at
> >>> > > > >> > > >> >>>> >>>>
> least start
> >>> > > > >> > > >> to have
> >>> > > > >> > > >> >>>> >>>>
> some headway towards 4.x and PhoneGap day.
> >>> > > > >> > > >> >>>> >>>>
>
> >>> > > > >> > > >> >>>> >>>>
> What do people think of this so far? I'm
> going
> >>> > > > >> > > >> >>>> >>>>
> to try to clean
> >>> > > > >> > > >> >>>> things
> >>> > > > >> > > >> >>>> >>>>
> up a bit, since we've definitely done a
> lot of
> >>> > > > >> > > >> >>>> >>>>
> things that
> >>> > > > >> > > >> would
> >>> > > > >> > > >> >>>> make
> >>> > > > >> > > >> >>>> >>>>
> first year CS profs freak the hell out
> (i.e.
> >>> > > > >> > > >> >>>> >>>>
> public members in
> >>> > > > >> > > >> >>>> public
> >>> > > > >> > > >> >>>> >>>>
> objects w.r.t. PluginManager).
> >>> > > > >> > > >> >>>> >>>>
>
> >>> > > > >> > > >> >>>> >>>>
> Thoughts?
> >>> > > > >> > > >> >>>> >>>>
>
> >>> > > > >> > > >> >>>> >>>>
> Joe
> >>> > > > >> > > >> >>>> >>>>
>
> >>> > > > >> > > >> >>>> >>>>
> >>> > > > >> > > >> >>>> >>>
> >>> > > > >> > > >> >>>> >>>
> >>> > > > >> > > >> >>>>
> >>> > > > >> > > >>
> >>> > > > >> >
> >>> >
> >>>
>

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