Greg,

Good news. I was able to build framework using ant and produce IDE
artifacts. Tested your changes and looks good. However I see other issue. I
have following code [1]. When I click on link in navigation (I'm listening
on change event) - I'm trying to change view using ApplicationMainContent -
it's navigates me to new website with new url instead changing view.

I need to investigate why it is happen. Apart of that I believe we are ok
with that branch.

[1] https://paste.apache.org/UzJI

Thanks, Piotr


pt., 21 gru 2018 o 09:29 Greg Dove <[email protected]> napisał(a):

> Ok Piotr, I'm not sure what is happening there. It does seem strange -
> shell.view.royale.Shell seems like a class and somehow has org
> <http://shell.view.royale.shell.org/>.apache.royale.jewel.Application
> appended to it.
>
> I don't think that is related to anything I did (and it works fine against
> the 'real-world' app I tested against - with maven build). Can you build
> Tour de Jewel  ok?
>
>
>
>
>
> On Fri, Dec 21, 2018 at 9:04 PM Piotr Zarzycki <[email protected]>
> wrote:
>
> > Hi Greg,
> >
> > Thanks for your changes. Unfortunately I'm not able so far properly build
> > my real world app using Maven. I build Jewel module by Maven, so I have
> > setup my app to be buildable with Maven. Unfortunately I'm getting weird
> > exception during running app.
> >
> > SimpleCSSValuesImpl.js:102 Uncaught TypeError: Cannot read property
> > 'string' of undefined
> >     at
> >
> >
> org.apache.royale.core.AllCSSValuesImpl.org.apache.royale.core.SimpleCSSValuesImpl.init
> > (SimpleCSSValuesImpl.js:102)
> >     at
> > shell.view.royale.Shell.org
> > .apache.royale.jewel.Application.set__valuesImpl
> > (Application.js:311)
> >     at shell.view.royale.Shell.org.apache.royale.jewel.Application [as
> > constructor] (Application.js:46)
> >     at Function.childCtor.base (base.js:2515)
> >
> > Above exception is not occurs when I'm building using Nightly. I probably
> > will have to build framework by ant and prepare IDE compatible
> environment
> > or will try to rebuild whole framework by Maven and try again.
> >
> > Thanks, Piotr
> >
> > czw., 20 gru 2018 o 10:49 Piotr Zarzycki <[email protected]>
> > napisał(a):
> >
> > > Hi Greg,
> > >
> > > Great news, cause I was going to look into that somewhere between
> > > Christmas and New Year. I would be happy to test your changes! Do not
> > > hesitate push it!
> > >
> > > Thank you so much!
> > > Piotr
> > >
> > > czw., 20 gru 2018 o 10:39 Greg Dove <[email protected]> napisał(a):
> > >
> > >> Piotr, Alex,
> > >>
> > >> fyi I found some time to spend on this today, and Piotr, I should be
> > ready
> > >> to push the changes I made to your branch tomorrow morning my time
> > (local
> > >> time - GMT+13).
> > >> It seems to be fine so far with 'selectionChange' for binding based on
> > >> model changes and 'change' for class event meta. I have been been
> > testing
> > >> so far against Tour de Jewel, but I will test against our real-world
> > >> project as well before I push to your branch Piotr.
> > >>
> > >> -Greg
> > >>
> > >>
> > >>
> > >>
> > >> On Wed, Dec 19, 2018 at 7:45 AM Greg Dove <[email protected]>
> wrote:
> > >>
> > >> > Alex, I can't remember offhand, but I think we used that once in
> only
> > >> one
> > >> > place, and I did it really quickly. I am sure there will be a way to
> > >> avoid
> > >> > it.
> > >> > I think the bigger issue is the way I did the changes to the model
> to
> > >> > support dispatching change events for programmatic changes, which I
> > >> think
> > >> > Piotr was looking at.
> > >> > Maybe I can take a look at that later today, but I can't be certain.
> > >> > The simplest fix might be to revert everything I did and add binding
> > for
> > >> > the selection changes (currently 'selectedIndexChanged' and
> > >> > 'selectedItemChanged' which I know you say could be
> > 'selectionChanged')
> > >> in
> > >> > addition to 'change' (as discussed) and make sure the component is
> > >> > dispatching those from the model (if it does not already do so). If
> > >> > 'selectionChanged' (or whatever it is) is already happening as a
> > result
> > >> of
> > >> > 'change' in addition to setter triggered changes, then it could be a
> > >> simple
> > >> > swap for the binding event only (as discussed also)
> > >> >
> > >> > But this last part was also applicable to the wholesale change to
> all
> > >> > component sets we were discussing, not just Jewel.
> > >> >
> > >> >
> > >> >
> > >> >
> > >> > On Wed, Dec 19, 2018 at 7:17 AM Alex Harui <[email protected]
> >
> > >> > wrote:
> > >> >
> > >> >> Greg, Carlos,
> > >> >>
> > >> >> Can one of you put together a simple test case that demonstrates
> your
> > >> >> need for this "OnStartup" bead?  It doesn't need server access.
> You
> > >> can
> > >> >> probably inject a dataProvider on applicationComplete or have the
> > user
> > >> push
> > >> >> a button if the issue is about deferred arrival of server data.
> > >> >>
> > >> >> IMO, we have to be more concerned about getting the patterns right
> > >> >> regressions, and the best way to avoid getting regressions is to
> > >> provide a
> > >> >> simple test case that demonstrates a problem in the patterns.
> > >> >>
> > >> >> Hopefully, "OnStartup" beads are not going to be required and won't
> > be
> > >> >> part of the framework.  The usability of the framework will go down
> > if
> > >> >> folks have to keep adding more and more "OnThis" and "OnThat" beads
> > to
> > >> get
> > >> >> their app to work.  The approachability of the framework in terms
> of
> > >> >> documentation and number of classes won't scale either if we don't
> > get
> > >> >> these patterns right.  This doesn't mean that you can't use an
> > >> "onStartup"
> > >> >> bead in your app in order to meet some deadline, and share it with
> > >> others,
> > >> >> but we have to be careful about what patterns we promote in the
> SDK.
> > >> >>
> > >> >> My 2 cents,
> > >> >> -Alex
> > >> >>
> > >> >> On 12/18/18, 12:17 AM, "Greg Dove" <[email protected]> wrote:
> > >> >>
> > >> >>     Hi Piotr,
> > >> >>
> > >> >>     I would be happy to work on it, and wish I could, but the
> problem
> > >> for
> > >> >> me at
> > >> >>     the moment is that I can't make it a priority, because for now
> at
> > >> >> least it
> > >> >>     is functioning as we need it, and there are plenty of things
> that
> > >> are
> > >> >> not
> > >> >>     (mostly unrelated to Jewel). While the implementation as it
> > stands
> > >> >> might
> > >> >>     not be 'right', it does function as we need it to for now. I
> > >> suspect
> > >> >> that
> > >> >>     is what Carlos meant when he said he was concerned about
> > >> regressions.
> > >> >>
> > >> >>     I have other stuff queued up to add in other areas too, like
> > >> >> AMFBinaryData
> > >> >>     and AMFNetConnection but will need to do more work to
> generalize
> > >> it,
> > >> >> as I
> > >> >>     have it these working in a way that is almost complete, but
> > mostly
> > >> >> focused
> > >> >>     on what is sufficient for what Carlos needs for now.
> > >> >>
> > >> >>     I hope to get some free time in early January to finish up
> these
> > >> >> things.
> > >> >>
> > >> >>
> > >> >>
> > >> >>
> > >> >>     On Tue, Dec 18, 2018 at 11:53 AM Piotr Zarzycki <
> > >> >> [email protected]>
> > >> >>     wrote:
> > >> >>
> > >> >>     > Hi Guys,
> > >> >>     >
> > >> >>     > I definitely need to a way of resolve that problem. I will
> > review
> > >> >> emails
> > >> >>     > tomorrow.
> > >> >>     >
> > >> >>     > However if you Greg would like to try something go for it.
> > Would
> > >> be
> > >> >> great
> > >> >>     > if you could use my branch where changes which removes
> > >> dispatching
> > >> >> "change"
> > >> >>     > event from model are in place.
> > >> >>     >
> > >> >>     > Thanks, Piotr
> > >> >>     >
> > >> >>     > pon., 17 gru 2018 o 23:46 Alex Harui
> <[email protected]
> > >
> > >> >>     > napisał(a):
> > >> >>     >
> > >> >>     > > Hi Greg,
> > >> >>     > >
> > >> >>     > > I haven't looked at how pervasive this change would be.
> I'm
> > >> >> mainly
> > >> >>     > saying
> > >> >>     > > that Flex worked with these categories of events and I
> think
> > >> >> Royale can
> > >> >>     > too
> > >> >>     > > and would eliminate the need for DispatchChangeOnStartup
> and
> > >> >> things like
> > >> >>     > > that.
> > >> >>     > >
> > >> >>     > > You could be right that the models only need to dispatch
> > >> >> selectionChange
> > >> >>     > > and not "change", as long as the controllers are guaranteed
> > to
> > >> >> update the
> > >> >>     > > model in a way that fires selectionChange.  I have this
> > feeling
> > >> >> that in
> > >> >>     > > Flex there were some backdoors for updating properties
> > without
> > >> >>     > dispatching
> > >> >>     > > events and dispatching the event "later", but I don't think
> > >> we've
> > >> >> had to
> > >> >>     > > write such code in Royale and maybe we won't have to or
> can't
> > >> >> because the
> > >> >>     > > browser will update right away in many cases.  There were
> > >> >> somethings you
> > >> >>     > > could do in Flash knowing that all rendering was deferred
> to
> > >> frame
> > >> >>     > > updates.  In Royale, with separate models, the controller
> > code
> > >> >> can't just
> > >> >>     > > set the backing variable.
> > >> >>     > >
> > >> >>     > > So, if you want to give it a try having only
> selectionChange
> > as
> > >> >> the
> > >> >>     > > bindable event, go for it.
> > >> >>     > >
> > >> >>     > > -Alex
> > >> >>     > >
> > >> >>     > > On 12/17/18, 12:35 PM, "Greg Dove" <[email protected]>
> > >> wrote:
> > >> >>     > >
> > >> >>     > >     Thanks Alex.
> > >> >>     > >
> > >> >>     > >     I only looked in Basic TextInput because I was looking
> > for
> > >> a
> > >> >> simpler
> > >> >>     > >     example of the general case being discussed. That code
> > >> looks
> > >> >> like it
> > >> >>     > > might
> > >> >>     > >     need some work on the swf side in any case.
> > >> >>     > >     I was just looking for the 'programmaticChange' vs
> > >> >>     > > 'userInitiatedChange'
> > >> >>     > >     differences.
> > >> >>     > >
> > >> >>     > >     Based on a quick look at the other Basic classes, the
> > >> >> conclusions
> > >> >>     > > appear
> > >> >>     > >     similar.  They are bindable via 'change'  only.
> > >> >>     > >     And the models all dispatch both selectedIndexChanged
> and
> > >> >>     > >     selectedItemChanged.
> > >> >>     > >
> > >> >>     > >     So it seems like you are proposing broad changes for
> > >> >> everything, if
> > >> >>     > > they
> > >> >>     > >     are to also support binding changes for programmatic
> > >> changes?
> > >> >>     > >
> > >> >>     > >     For me, the change in something (or nothing) being
> > >> 'selected'
> > >> >>     > logically
> > >> >>     > >     occurs as a result of either user change or
> programmatic
> > >> >> change. On
> > >> >>     > > that
> > >> >>     > >     basis would it be possible to have the selectionChange
> as
> > >> the
> > >> >> sole
> > >> >>     > > Binding
> > >> >>     > >     event (which occurs from setter induced change and from
> > >> user
> > >> >> induced
> > >> >>     > >     change) and the 'change' event as user-interaction only
> > as
> > >> >> the class
> > >> >>     > > level
> > >> >>     > >     event type (as it is now)?
> > >> >>     > >
> > >> >>     > >     I have not thought about this as much as you (Alex and
> > >> >> others) have,
> > >> >>     > so
> > >> >>     > >     maybe that last suggestion does not make sense. But I
> > >> really
> > >> >> think
> > >> >>     > > that for
> > >> >>     > >     whatever does make sense it would be great to settle on
> > >> >> something and
> > >> >>     > > get
> > >> >>     > >     it consistent for all components  asap.
> > >> >>     > >
> > >> >>     > >
> > >> >>     > >
> > >> >>     > >
> > >> >>     > >     On Tue, Dec 18, 2018 at 8:43 AM Alex Harui
> > >> >> <[email protected]
> > >> >>     > >
> > >> >>     > > wrote:
> > >> >>     > >
> > >> >>     > >     > Hi Greg,
> > >> >>     > >     >
> > >> >>     > >     > You are correct that there is a pain point around
> > binding
> > >> >> overhead
> > >> >>     > > and
> > >> >>     > >     > PAYG.  I can't think of a PAYG way of adding the
> > ability
> > >> to
> > >> >> add
> > >> >>     > more
> > >> >>     > >     > binding events via beads that doesn't have too much
> > >> >> overhead for
> > >> >>     > > folks not
> > >> >>     > >     > interested in those extra events.  Actually, there
> are
> > >> some
> > >> >> ways
> > >> >>     > > that are
> > >> >>     > >     > JS-only like replacing prototype-methods, but I don't
> > >> think
> > >> >> we
> > >> >>     > > should rely
> > >> >>     > >     > on mutable class definitions.   In many cases we make
> > >> >> trade-offs
> > >> >>     > and
> > >> >>     > > Basic
> > >> >>     > >     > ends up being what we think almost all folks "must
> > have".
> > >> >>     > >     >
> > >> >>     > >     > When we first started out I was hoping to reduce
> > binding
> > >> >> overhead
> > >> >>     > > which is
> > >> >>     > >     > why some of the beads look like they do, but these
> > days I
> > >> >> think it
> > >> >>     > > is more
> > >> >>     > >     > important to separate interactive events from
> > >> binding/setup
> > >> >> events.
> > >> >>     > > Folks
> > >> >>     > >     > who don't use a particular binding event can always
> > >> replace
> > >> >> the
> > >> >>     > > model and
> > >> >>     > >     > top-level component with a version without events
> they
> > >> are
> > >> >> not
> > >> >>     > > interested
> > >> >>     > >     > in, or in the JS output, run a post-process to cull
> out
> > >> >> metadata.
> > >> >>     > > But
> > >> >>     > >     > under the "almost all folks" rule, I think "almost
> all
> > >> >> folks" don't
> > >> >>     > > want to
> > >> >>     > >     > run interaction handling code at setup time.
> > Especially
> > >> if
> > >> >> that
> > >> >>     > > handling
> > >> >>     > >     > code runs any sort of animation or does any other
> heavy
> > >> >> processing.
> > >> >>     > >     >
> > >> >>     > >     > I could be wrong, but I'm pretty sure that if you
> just
> > >> take
> > >> >> a
> > >> >>     > > <select>
> > >> >>     > >     > element, you can set its initial selection value
> > without
> > >> it
> > >> >>     > > dispatching an
> > >> >>     > >     > event called "change".  Then when a user selects an
> > item
> > >> >> you get a
> > >> >>     > > "change"
> > >> >>     > >     > event.  IMO, this is why "change" should be an
> > >> interactive
> > >> >> event
> > >> >>     > and
> > >> >>     > > not a
> > >> >>     > >     > binding event.
> > >> >>     > >     >
> > >> >>     > >     > So these are the reasons I think we should adjust the
> > >> basic
> > >> >> beads
> > >> >>     > to
> > >> >>     > >     > separate interactive events from setup events and why
> > >> >> "change" is
> > >> >>     > an
> > >> >>     > >     > interactive event.
> > >> >>     > >     >
> > >> >>     > >     > Now, we could renew the effort to make Basic the
> truly
> > >> >> smallest
> > >> >>     > >     > implementation and move some of this logic to
> Express,
> > >> but
> > >> >> I keep
> > >> >>     > > seeing
> > >> >>     > >     > code creep into Basic to handle situations that
> almost
> > >> all
> > >> >> folks
> > >> >>     > > need.
> > >> >>     > >     >
> > >> >>     > >     > TextInput, on the other hand, has been an exception
> of
> > >> >> sorts in
> > >> >>     > > Flex.  The
> > >> >>     > >     > Flash/AIR runtime dispatches "change" on certain
> kinds
> > of
> > >> >> changes.
> > >> >>     > > So
> > >> >>     > >     > early implementations in Royale tried to mimic that
> > >> >> behavior for
> > >> >>     > > folks
> > >> >>     > >     > coming from Flex.  But maybe we should change that
> and
> > >> make
> > >> >> Basic
> > >> >>     > > TextInput
> > >> >>     > >     > more consistent with browser behavior.  The emulation
> > >> >> components
> > >> >>     > can
> > >> >>     > > mimic
> > >> >>     > >     > the old Flex behavior.  So I think using TextInput as
> > >> >> precedent is
> > >> >>     > >     > misleading.
> > >> >>     > >     >
> > >> >>     > >     > Thoughts?
> > >> >>     > >     > -Alex
> > >> >>     > >     >
> > >> >>     > >     > On 12/17/18, 10:55 AM, "Greg Dove" <
> > [email protected]>
> > >> >> wrote:
> > >> >>     > >     >
> > >> >>     > >     >     Alex, I was giving this some more thought also. I
> > >> >> understood
> > >> >>     > > that you
> > >> >>     > >     > meant
> > >> >>     > >     >     to add extra events for binding from your
> previous
> > >> >> comments.
> > >> >>     > >     >
> > >> >>     > >     >     But isn't the established pattern to add a bead
> to
> > >> >> listen for
> > >> >>     > the
> > >> >>     > >     >     selectionChange and redispatch it as change?
> > >> >>     > >     >
> > >> >>     > >     >     At least that seems to be the case elsewhere
> > >> >>     > >     >
> > >> >>     > >     >     If I look at the code in Basic TextInput...
> > >> >>     > >     >     it dispatches 'textChange' and 'change' but is
> only
> > >> >> Bindable
> > >> >>     > via
> > >> >>     > >     > 'change'.
> > >> >>     > >     >     There is effort to keep them distinct/separate.
> > >> >>     > >     >     (OT: It looks like the swf side needs some
> > >> consistency
> > >> >> in the
> > >> >>     > > html
> > >> >>     > >     > setter
> > >> >>     > >     >     same as the text setter.)
> > >> >>     > >     >
> > >> >>     > >     >     So TextInput appears to have 2 distinct events
> but
> > >> only
> > >> >> be
> > >> >>     > > Bindable
> > >> >>     > >     > for one
> > >> >>     > >     >     ('change'). So I presume that to make that
> support
> > >> >> programmatic
> > >> >>     > >     > changes it
> > >> >>     > >     >     would be by adding a bead to listen to the
> > >> 'textChange'
> > >> >> and
> > >> >>     > > redispatch
> > >> >>     > >     > as
> > >> >>     > >     >     'change' ?
> > >> >>     > >     >
> > >> >>     > >     >     Adding extra Bindable events adds weight because
> it
> > >> >> affects
> > >> >>     > > binding
> > >> >>     > >     > data,
> > >> >>     > >     >     and creates more runtime support for the same
> > feature
> > >> >> in use
> > >> >>     > > cases
> > >> >>     > >     > that may
> > >> >>     > >     >     not need it. I don't see how that can be
> > 'PAYG-ised'
> > >> >> because
> > >> >>     > > binding
> > >> >>     > >     >     support for different event types is either there
> > at
> > >> >> compile
> > >> >>     > > time or
> > >> >>     > >     > it is
> > >> >>     > >     >     not in the component. So if the above is true for
> > >> >> TextInput (at
> > >> >>     > > this
> > >> >>     > >     > stage
> > >> >>     > >     >     it's a guess/observation, I did not try this
> yet),
> > >> then
> > >> >> could
> > >> >>     > it
> > >> >>     > > not be
> > >> >>     > >     >     similar for selection based components?
> > >> >>     > >     >
> > >> >>     > >     >     To me 'change' seems like something generic and
> > does
> > >> >> not sound
> > >> >>     > >     > specific to
> > >> >>     > >     >     being user-initiated change. My understanding is
> > that
> > >> >> it just
> > >> >>     > > happens
> > >> >>     > >     > to be
> > >> >>     > >     >     that way by default, unless you configure it to
> > >> include
> > >> >>     > > programmatic
> > >> >>     > >     >     changes via bead.
> > >> >>     > >     >     If it is like this for Basic TextInput, why can
> it
> > >> not
> > >> >> be the
> > >> >>     > > same for
> > >> >>     > >     >     other components ? (
> > >> >>     > >     >
> > >> >>     > >     >
> > >> >>     > >     >
> > >> >>     > >     >     On Tue, Dec 18, 2018 at 7:32 AM Alex Harui
> > >> >>     > > <[email protected]>
> > >> >>     > >     > wrote:
> > >> >>     > >     >
> > >> >>     > >     >     > I took a quick look at ArrayListSelection.  It
> > >> could
> > >> >> use some
> > >> >>     > >     >     > improvements, such as only dispatching a single
> > >> >>     > > selectionChange event
> > >> >>     > >     >     > instead of both selectedIndexChange and
> > >> >> selectedItemChange.
> > >> >>     > >     >     >
> > >> >>     > >     >     > Some controller should dispatch the "change"
> > event,
> > >> >> not the
> > >> >>     > > model.
> > >> >>     > >     >     >
> > >> >>     > >     >     > I took a quick look at List.as, (a top level
> > >> >> component).  It
> > >> >>     > > should
> > >> >>     > >     > have
> > >> >>     > >     >     > bindable metadata that looks like this:
> > >> >>     > >     >     >
> > >> >>     > >     >     >         [Bindable("change")]
> > >> >>     > >     >     >         [Bindable("selectionChange")]
> > >> >>     > >     >     >         public function get selectedIndex():int
> > >> >>     > >     >     >
> > >> >>     > >     >     > Similar for selectedItem.  The [Event] metadata
> > for
> > >> >> List is
> > >> >>     > >     > correct,  It
> > >> >>     > >     >     > should only list interactive events like
> "change"
> > >> and
> > >> >> not
> > >> >>     > > bindable
> > >> >>     > >     > events
> > >> >>     > >     >     > like selectionChange.  This usually improves
> > >> >> performance by
> > >> >>     > not
> > >> >>     > >     > having the
> > >> >>     > >     >     > UI react to setup.
> > >> >>     > >     >     >
> > >> >>     > >     >     > Once all of those changes are made, we should
> > >> discuss
> > >> >> any
> > >> >>     > > remaining
> > >> >>     > >     > issues.
> > >> >>     > >     >     >
> > >> >>     > >     >     > My 2 cents,
> > >> >>     > >     >     > -Alex
> > >> >>     > >     >     >
> > >> >>     > >     >     > On 12/17/18, 10:14 AM, "Piotr Zarzycki" <
> > >> >>     > > [email protected]>
> > >> >>     > >     >     > wrote:
> > >> >>     > >     >     >
> > >> >>     > >     >     >     Basic ArrayListSelection model doesn't
> > dispatch
> > >> >> that
> > >> >>     > > event. I
> > >> >>     > >     > believe
> > >> >>     > >     >     > we
> > >> >>     > >     >     >     don't have to do this or rather do this
> only
> > if
> > >> >> we really
> > >> >>     > > need
> > >> >>     > >     > it, for
> > >> >>     > >     >     >     example if someone make programatic change
> of
> > >> >>     > > selectedIndex. -
> > >> >>     > >     > This is
> > >> >>     > >     >     >     general problem how to do that ?
> > >> >>     > >     >     >
> > >> >>     > >     >     >     If I change selectedIndex - my model
> dispatch
> > >> >>     > >     > selectedInexChanged -
> > >> >>     > >     >     > where
> > >> >>     > >     >     >     should I catch it and dispatch "change"
> > event ?
> > >> >> My though
> > >> >>     > > are
> > >> >>     > >     > nowhere,
> > >> >>     > >     >     >     unless someone wanted to do that and have a
> > >> bead.
> > >> >>     > >     >     >
> > >> >>     > >     >     >
> > >> >>     > >     >     >     pon., 17 gru 2018 o 19:08 Alex Harui
> > >> >>     > > <[email protected]>
> > >> >>     > >     >     > napisał(a):
> > >> >>     > >     >     >
> > >> >>     > >     >     >     > Hi Piotr,
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >     > I may not be understanding your problem.
> > Not
> > >> >> all
> > >> >>     > models
> > >> >>     > > will
> > >> >>     > >     >     > dispatch a
> > >> >>     > >     >     >     > change event, but it is hard to imagine a
> > >> >> selection
> > >> >>     > > model that
> > >> >>     > >     >     > doesn't.
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >     > -Alex
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >     > On 12/17/18, 9:36 AM, "Piotr Zarzycki" <
> > >> >>     > >     > [email protected]>
> > >> >>     > >     >     > wrote:
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >     >     I will review your email again and
> see
> > >> what
> > >> >> can I
> > >> >>     > do
> > >> >>     > > this.
> > >> >>     > >     >     > However
> > >> >>     > >     >     >     > this one
> > >> >>     > >     >     >     >     is a second problem. First one was
> > about
> > >> >>     > programmatic
> > >> >>     > >     > change
> > >> >>     > >     >     > discover
> > >> >>     > >     >     >     > - If
> > >> >>     > >     >     >     >     you are talking about that - Let me
> > check
> > >> >> your
> > >> >>     > > earlier
> > >> >>     > >     > emails.
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >     >     Thanks,
> > >> >>     > >     >     >     >     Piotr
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >     >     pon., 17 gru 2018 o 18:30 Alex Harui
> > >> >>     > >     > <[email protected]>
> > >> >>     > >     >     >     > napisał(a):
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >     >     > FWIW, I would much rather see
> energy
> > >> >> spent on
> > >> >>     > > trying to
> > >> >>     > >     >     > implement the
> > >> >>     > >     >     >     >     > patterns I suggested earlier, which
> > >> will
> > >> >>     > hopefully
> > >> >>     > >     > eliminate
> > >> >>     > >     >     > the
> > >> >>     > >     >     >     > need for
> > >> >>     > >     >     >     >     > DispatchChangeOnStartup.
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >     > My 2 cents,
> > >> >>     > >     >     >     >     > -Alex
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >     > On 12/17/18, 4:34 AM, "Piotr
> > Zarzycki"
> > >> <
> > >> >>     > >     >     > [email protected]>
> > >> >>     > >     >     >     > wrote:
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >     >     Carlos,
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >     >     I don't understand this
> sentence
> > >> -> "
> > >> >> If not
> > >> >>     > > we can
> > >> >>     > >     > get
> > >> >>     > >     >     > involved
> > >> >>     > >     >     >     > in
> > >> >>     > >     >     >     >     > pursues
> > >> >>     > >     >     >     >     >     problems
> > >> >>     > >     >     >     >     >     that are not real." - What do
> you
> > >> >> mean here ?
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >     >     Ok I can wait for Alex review.
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >     >     However your review and look
> into
> > >> >> above
> > >> >>     > problem
> > >> >>     > >     > doesn't
> > >> >>     > >     >     > need
> > >> >>     > >     >     >     > Alex's
> > >> >>     > >     >     >     >     >     attention. This bead
> > >> >>     > (DispatchChangeOnStartup)
> > >> >>     > >     > probably
> > >> >>     > >     >     > won't
> > >> >>     > >     >     >     > work
> > >> >>     > >     >     >     >     > doesn't
> > >> >>     > >     >     >     >     >     matter if we fix programmatic
> > >> change
> > >> >> or not.
> > >> >>     > -
> > >> >>     > >     > Unless I
> > >> >>     > >     >     > bring
> > >> >>     > >     >     >     > back
> > >> >>     > >     >     >     >     >     dispatching "change" event from
> > >> model
> > >> >> - which
> > >> >>     > > rather
> > >> >>     > >     > is not
> > >> >>     > >     >     >     >     > recommended in
> > >> >>     > >     >     >     >     >     previous discussion.
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >     >     Thanks, Piotr
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >     >     pon., 17 gru 2018 o 13:14
> Carlos
> > >> >> Rovira <
> > >> >>     > >     >     > [email protected]
> > >> >>     > >     >     >     > >
> > >> >>     > >     >     >     >     >     napisał(a):
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >     >     > Hi Piotr,
> > >> >>     > >     >     >     >     >     >
> > >> >>     > >     >     >     >     >     > I think we should solve first
> > the
> > >> >>     > programatic
> > >> >>     > >     > change so
> > >> >>     > >     >     > I can
> > >> >>     > >     >     >     > test
> > >> >>     > >     >     >     >     > the
> > >> >>     > >     >     >     >     >     > branch and see regressions.
> If
> > >> not
> > >> >> we can
> > >> >>     > get
> > >> >>     > >     > involved in
> > >> >>     > >     >     >     > pursues
> > >> >>     > >     >     >     >     > problems
> > >> >>     > >     >     >     >     >     > that are not real. I think
> Alex
> > >> >> missed this
> > >> >>     > >     > discussion.
> > >> >>     > >     >     > I'll
> > >> >>     > >     >     >     > point
> > >> >>     > >     >     >     >     > him in
> > >> >>     > >     >     >     >     >     > this thread to see if he can
> > give
> > >> >> his
> > >> >>     > opinion
> > >> >>     > >     > about the
> > >> >>     > >     >     > ways
> > >> >>     > >     >     >     > you
> > >> >>     > >     >     >     >     > proposed
> > >> >>     > >     >     >     >     >     > in the initial thread email.
> > >> >>     > >     >     >     >     >     >
> > >> >>     > >     >     >     >     >     > Thanks!
> > >> >>     > >     >     >     >     >     >
> > >> >>     > >     >     >     >     >     > El lun., 17 dic. 2018 a las
> > >> 10:57,
> > >> >> Piotr
> > >> >>     > > Zarzycki
> > >> >>     > >     > (<
> > >> >>     > >     >     >     >     >     > [email protected]>)
> > >> >> escribió:
> > >> >>     > >     >     >     >     >     >
> > >> >>     > >     >     >     >     >     > > Hi Carlos,
> > >> >>     > >     >     >     >     >     > >
> > >> >>     > >     >     >     >     >     > > I just noticed that if
> model
> > do
> > >> >> not
> > >> >>     > > dispatch
> > >> >>     > >     > change
> > >> >>     > >     >     > event -
> > >> >>     > >     >     >     > your
> > >> >>     > >     >     >     >     > bead
> > >> >>     > >     >     >     >     >     > > DispatchChangeOnStartup
> won't
> > >> work
> > >> >>     > because
> > >> >>     > > it
> > >> >>     > >     > simply
> > >> >>     > >     >     > based on
> > >> >>     > >     >     >     >     > dispatching
> > >> >>     > >     >     >     >     >     > > "change" event trough
> model.
> > >> >>     > >     >     >     >     >     > >
> > >> >>     > >     >     >     >     >     > > I'm wondering whether it
> > won't
> > >> be
> > >> >> enough
> > >> >>     > > if that
> > >> >>     > >     > bead
> > >> >>     > >     >     > listen
> > >> >>     > >     >     >     > for
> > >> >>     > >     >     >     >     >     > > "beadsAdded" (here I think
> it
> > >> >> should be
> > >> >>     > >     > registered for
> > >> >>     > >     >     >     >     > "initComplete"
> > >> >>     > >     >     >     >     >     > > instead) and dispatch
> change
> > >> >> event once.
> > >> >>     > I
> > >> >>     > > made
> > >> >>     > >     > the
> > >> >>     > >     >     > changes
> > >> >>     > >     >     >     > to
> > >> >>     > >     >     >     >     > that bead,
> > >> >>     > >     >     >     >     >     > > but I don't have scenario
> > which
> > >> >> you are
> > >> >>     > > using it.
> > >> >>     > >     >     >     >     >     > >
> > >> >>     > >     >     >     >     >     > >  Will you be able to test
> my
> > >> >> changes on
> > >> >>     > > your
> > >> >>     > >     >     > application end
> > >> >>     > >     >     >     > using
> > >> >>     > >     >     >     >     > my
> > >> >>     > >     >     >     >     >     > > branch ? Above changes are
> > not
> > >> >> fully
> > >> >>     > > related to
> > >> >>     > >     > what
> > >> >>     > >     >     > we are
> > >> >>     > >     >     >     >     > discussing
> > >> >>     > >     >     >     >     >     > > here, so programmatic
> change
> > >> >> still won't
> > >> >>     > > work
> > >> >>     > >     > yet.
> > >> >>     > >     >     > Please
> > >> >>     > >     >     >     > review
> > >> >>     > >     >     >     >     > those
> > >> >>     > >     >     >     >     >     > > changes as well [1]
> > >> >>     > >     >     >     >     >     > >
> > >> >>     > >     >     >     >     >     > > Those new changes are just
> to
> > >> >> check
> > >> >>     > > whether I
> > >> >>     > >     > won't
> > >> >>     > >     >     > break
> > >> >>     > >     >     >     > any of
> > >> >>     > >     >     >     >     > your
> > >> >>     > >     >     >     >     >     > > functionality on startup. I
> > >> will
> > >> >> move for
> > >> >>     > >     > creating
> > >> >>     > >     >     > bead for
> > >> >>     > >     >     >     >     > discovering
> > >> >>     > >     >     >     >     >     > > programmatic changes, but
> > first
> > >> >> would
> > >> >>     > like
> > >> >>     > > to
> > >> >>     > >     > know
> > >> >>     > >     >     > whether
> > >> >>     > >     >     >     > till now
> > >> >>     > >     >     >     >     >     > > everything is working fine.
> > >> >>     > >     >     >     >     >     > >
> > >> >>     > >     >     >     >     >     > > [1]
> > >> >>     > >     >     >     >     >     > >
> > >> >>     > >     >     >     >     >     > >
> > >> >>     > >     >     >     >     >     >
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >
> > >> >>     > >     >
> > >> >>     > >
> > >> >>     >
> > >> >>
> > >>
> >
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Froyale-asjs%2Fcommit%2F14f6354e037e5854900ef5620581f6914bd604c4&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284003207&amp;sdata=ceIkx4wphA1rgpPQ1yLQEIac6MJ4HSwKxIS7nmbC3Gg%3D&amp;reserved=0
> > >> >>     > >     >     >     >     >     > >
> > >> >>     > >     >     >     >     >     > > Thanks, Piotr
> > >> >>     > >     >     >     >     >     > >
> > >> >>     > >     >     >     >     >     > >
> > >> >>     > >     >     >     >     >     > > pt., 14 gru 2018 o 19:55
> > Carlos
> > >> >> Rovira <
> > >> >>     > >     >     >     > [email protected]>
> > >> >>     > >     >     >     >     >     > > napisał(a):
> > >> >>     > >     >     >     >     >     > >
> > >> >>     > >     >     >     >     >     > > > Hi Piotr,
> > >> >>     > >     >     >     >     >     > > >
> > >> >>     > >     >     >     >     >     > > > after check example code,
> > we
> > >> >> have:
> > >> >>     > >     >     >     >     >     > > >
> > >> >>     > >     >     >     >     >     > > > <j:ComboBox
> > >> >> id="watchmenComboBox"
> > >> >>     > >     >     >     >     >
> dataProvider="{listModel.watchmen}">
> > >> >>     > >     >     >     >     >     > > >
> > >>  ...
> > >> >>     > >     >     >     >     >     > > > then NS:
> > >> >>     > >     >     >     >     >     > > >
> > >> >>     > >     >     >     >     >     > > > <j:NumericStepper
> > >> >>     > >     >     >     >
> > valueChange="watchmenComboBox.selectedIndex =
> > >> >>     > >     >     >     >     >     > > > event.target.value"
> > >> minimum="0"
> > >> >>     > > maximum="5"/>
> > >> >>     > >     >     >     >     >     > > >
> > >> >>     > >     >     >     >     >     > > > and finally
> > >> >>     > >     >     >     >     >     > > >
> > >> >>     > >     >     >     >     >     > > > <j:Label
> > >> >> id="watchmenComboBoxResult"
> > >> >>     > > html=
> > >> >>     > >     >     >     >     >     > > >
> > >> >>     > >     > "{describeItem(watchmenComboBox.selectedItem)}"/>
> > >> >>     > >     >     >     >     >     > > >
> > >> >>     > >     >     >     >     >     > > > I think right now works
> as
> > >> >> expected,
> > >> >>     > > since the
> > >> >>     > >     >     > change is
> > >> >>     > >     >     >     >     > programatic
> > >> >>     > >     >     >     >     >     > (is
> > >> >>     > >     >     >     >     >     > > > not the user clicking in
> > the
> > >> >> combo list
> > >> >>     > > and
> > >> >>     > >     > selecting
> > >> >>     > >     >     >     > other item
> > >> >>     > >     >     >     >     >     > > >
> > >> >>     > >     >     >     >     >     > > > So I think a bead should
> be
> > >> >> better in
> > >> >>     > > this
> > >> >>     > >     > case, that
> > >> >>     > >     >     >     > takes care
> > >> >>     > >     >     >     >     > of
> > >> >>     > >     >     >     >     >     > this
> > >> >>     > >     >     >     >     >     > > > behavior.
> > >> >>     > >     >     >     >     >     > > >
> > >> >>     > >     >     >     >     >     > > > I'm interested in Alex
> > >> response
> > >> >> about
> > >> >>     > > how to
> > >> >>     > >     > handle
> > >> >>     > >     >     > it
> > >> >>     > >     >     >     >     >     > > >
> > >> >>     > >     >     >     >     >     > > > Thanks Piotr for working
> on
> > >> this
> > >> >>     > >     >     >     >     >     > > >
> > >> >>     > >     >     >     >     >     > > > Carlos
> > >> >>     > >     >     >     >     >     > > >
> > >> >>     > >     >     >     >     >     > > >
> > >> >>     > >     >     >     >     >     > > >
> > >> >>     > >     >     >     >     >     > > > El vie., 14 dic. 2018 a
> las
> > >> >> 17:02,
> > >> >>     > Piotr
> > >> >>     > >     > Zarzycki (<
> > >> >>     > >     >     >     >     >     > > >
> [email protected]
> > >)
> > >> >> escribió:
> > >> >>     > >     >     >     >     >     > > >
> > >> >>     > >     >     >     >     >     > > > > Hi Carlos,
> > >> >>     > >     >     >     >     >     > > > >
> > >> >>     > >     >     >     >     >     > > > > I have created issue
> [1]
> > >> and
> > >> >> branch
> > >> >>     > > [2] for
> > >> >>     > >     >     > problem with
> > >> >>     > >     >     >     > double
> > >> >>     > >     >     >     >     >     > > dispatch
> > >> >>     > >     >     >     >     >     > > > > "change" event.
> > >> >>     > >     >     >     >     >     > > > > I have pushed changes
> > when
> > >> I'm
> > >> >>     > > removing from
> > >> >>     > >     >     >     >     > ArrayListSelectionModel
> > >> >>     > >     >     >     >     >     > > > > dispatch of change
> event.
> > >> >>     > >     >     >     >     >     > > > >
> > >> >>     > >     >     >     >     >     > > > > Above action
> successfully
> > >> fix
> > >> >> however
> > >> >>     > > like I
> > >> >>     > >     >     > thought it's
> > >> >>     > >     >     >     >     > introduces
> > >> >>     > >     >     >     >     >     > > > > another one which I
> would
> > >> >> like to
> > >> >>     > > discuss
> > >> >>     > >     > how to
> > >> >>     > >     >     > fix. I
> > >> >>     > >     >     >     > have
> > >> >>     > >     >     >     >     > deployed
> > >> >>     > >     >     >     >     >     > > > > temporary Tour De Jewel
> > >> here
> > >> >> [3] in
> > >> >>     > > order to
> > >> >>     > >     > show
> > >> >>     > >     >     > you
> > >> >>     > >     >     >     > and to
> > >> >>     > >     >     >     >     > others
> > >> >>     > >     >     >     >     >     > > that
> > >> >>     > >     >     >     >     >     > > > > issue.
> > >> >>     > >     >     >     >     >     > > > >
> > >> >>     > >     >     >     >     >     > > > > *New Issue:*
> > >> >>     > >     >     >     >     >     > > > > When you go to ComboBox
> > and
> > >> >> try to
> > >> >>     > > change
> > >> >>     > >     >     > selectedIndex
> > >> >>     > >     >     >     > using
> > >> >>     > >     >     >     >     >     > > > > NumericStepper it will
> > >> >> successfully
> > >> >>     > > change
> > >> >>     > >     >     > selectedItem
> > >> >>     > >     >     >     > in
> > >> >>     > >     >     >     >     > ComboBox.
> > >> >>     > >     >     >     >     >     > > > > Unfortunately label on
> > the
> > >> >> right
> > >> >>     > sight
> > >> >>     > > of
> > >> >>     > >     > ComboBox
> > >> >>     > >     >     > won't
> > >> >>     > >     >     >     > be
> > >> >>     > >     >     >     >     > updated.
> > >> >>     > >     >     >     >     >     > > > >
> > >> >>     > >     >     >     >     >     > > > > *Question is:*
> > >> >>     > >     >     >     >     >     > > > > How should be
> implemented
> > >> >> discover of
> > >> >>     > >     > programmatic
> > >> >>     > >     >     >     > change of
> > >> >>     > >     >     >     >     >     > > > selectedIndex
> > >> >>     > >     >     >     >     >     > > > > and selectedItem ?
> > >> >>     > >     >     >     >     >     > > > >
> > >> >>     > >     >     >     >     >     > > > > *I see following
> > options:*
> > >> >>     > >     >     >     >     >     > > > > 1) We should listen on
> > >> events
> > >> >>     > >     >     >     >     >     >
> > >> >> selectedIndexChanged/selectedItemChanged
> > >> >>     > >     >     >     >     >     > > > and
> > >> >>     > >     >     >     >     >     > > > > dispatch "change" from
> > >> >> components
> > >> >>     > View
> > >> >>     > > bead.
> > >> >>     > >     > In
> > >> >>     > >     >     > this way
> > >> >>     > >     >     >     > we
> > >> >>     > >     >     >     >     > have to
> > >> >>     > >     >     >     >     >     > > take
> > >> >>     > >     >     >     >     >     > > > > into account places
> where
> > >> >> "we" as a
> > >> >>     > > component
> > >> >>     > >     >     > setup those
> > >> >>     > >     >     >     >     > properties
> > >> >>     > >     >     >     >     >     > > > > internally - In that
> case
> > >> >>     > >     > "selectedIndexChanged"
> > >> >>     > >     >     > and
> > >> >>     > >     >     >     >     >     > > > "selectedItemChanged"
> > >> >>     > >     >     >     >     >     > > > > event shouldn't be
> > >> dispatch.
> > >> >>     > >     >     >     >     >     > > > >
> > >> >>     > >     >     >     >     >     > > > > 2) Create separate bead
> > >> which
> > >> >> allows
> > >> >>     > > discover
> > >> >>     > >     >     >     > programmatic
> > >> >>     > >     >     >     >     > change of
> > >> >>     > >     >     >     >     >     > > > > selectedIndex and
> > >> >> selectedItem- cause
> > >> >>     > > not
> > >> >>     > >     > everyone
> > >> >>     > >     >     >     > wanted to
> > >> >>     > >     >     >     >     > have at
> > >> >>     > >     >     >     >     >     > > all
> > >> >>     > >     >     >     >     >     > > > > programmatic change
> event
> > >> in
> > >> >> the
> > >> >>     > > component -
> > >> >>     > >     >     > probably
> > >> >>     > >     >     >     > most of
> > >> >>     > >     >     >     >     > the
> > >> >>     > >     >     >     >     >     > cases
> > >> >>     > >     >     >     >     >     > > > > will be opposite.
> > >> >>     > >     >     >     >     >     > > > >
> > >> >>     > >     >     >     >     >     > > > > What others think about
> > >> that ?
> > >> >>     > >     >     >     >     >     > > > >
> > >> >>     > >     >     >     >     >     > > > > [1]
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >
> > >> >>     > >     >
> > >> >>     > >
> > >> >>     >
> > >> >>
> > >>
> >
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Froyale-asjs%2Fissues%2F353&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284013217&amp;sdata=i2ZNUl1KvL60iqlZt888Q0aowpNvTaVnyQqgFGAvCVs%3D&amp;reserved=0
> > >> >>     > >     >     >     >     >     > > > > [2]
> > >> >>     > >     >     >     >     >     > > > >
> > >> >>     > >     >     >     >     >     > > > >
> > >> >>     > >     >     >     >     >     > > >
> > >> >>     > >     >     >     >     >     > >
> > >> >>     > >     >     >     >     >     >
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >
> > >> >>     > >     >
> > >> >>     > >
> > >> >>     >
> > >> >>
> > >>
> >
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Froyale-asjs%2Ftree%2Fbugfix%2Fissue_353_double_dispatch_of_change_event_in_Jewel_List&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284013217&amp;sdata=%2BewtJrgepDQvKgQxx4MtI3tpyoedNnwsjPFtmnfzY2A%3D&amp;reserved=0
> > >> >>     > >     >     >     >     >     > > > > [3]
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >
> > >> >>     > >     >
> > >> >>     > >
> > >> >>     >
> > >> >>
> > >>
> >
> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftranspiledactionscript.com%2Fdev%2Froyale%2F%23&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284013217&amp;sdata=uCD2RJp2iFdW9%2BHjScGeJKaR87qaAT6%2FUDvAgOYAk5Y%3D&amp;reserved=0
> > >> >>     > >     >     >     >     >     > > > >
> > >> >>     > >     >     >     >     >     > > > > Thanks,
> > >> >>     > >     >     >     >     >     > > > > --
> > >> >>     > >     >     >     >     >     > > > >
> > >> >>     > >     >     >     >     >     > > > > Piotr Zarzycki
> > >> >>     > >     >     >     >     >     > > > >
> > >> >>     > >     >     >     >     >     > > > > Patreon: *
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >
> > >> >>     > >     >
> > >> >>     > >
> > >> >>     >
> > >> >>
> > >>
> >
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284013217&amp;sdata=%2BYYs6ucuVcxDBnsY%2BjPWNAhKsLBVTYWQLbIO%2F6iaze0%3D&amp;reserved=0
> > >> >>     > >     >     >     >     >     > > > > <
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >
> > >> >>     > >     >
> > >> >>     > >
> > >> >>     >
> > >> >>
> > >>
> >
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284013217&amp;sdata=%2BYYs6ucuVcxDBnsY%2BjPWNAhKsLBVTYWQLbIO%2F6iaze0%3D&amp;reserved=0
> > >> >>     > >     >     >     >     > >*
> > >> >>     > >     >     >     >     >     > > > >
> > >> >>     > >     >     >     >     >     > > >
> > >> >>     > >     >     >     >     >     > > >
> > >> >>     > >     >     >     >     >     > > > --
> > >> >>     > >     >     >     >     >     > > > Carlos Rovira
> > >> >>     > >     >     >     >     >     > > >
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >
> > >> >>     > >     >
> > >> >>     > >
> > >> >>     >
> > >> >>
> > >>
> >
> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284013217&amp;sdata=J1FV%2B%2B98n8X%2B63fllpZNMqVxwGiWKMZxcVmVWiQQq8w%3D&amp;reserved=0
> > >> >>     > >     >     >     >     >     > > >
> > >> >>     > >     >     >     >     >     > >
> > >> >>     > >     >     >     >     >     > >
> > >> >>     > >     >     >     >     >     > > --
> > >> >>     > >     >     >     >     >     > >
> > >> >>     > >     >     >     >     >     > > Piotr Zarzycki
> > >> >>     > >     >     >     >     >     > >
> > >> >>     > >     >     >     >     >     > > Patreon: *
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >
> > >> >>     > >     >
> > >> >>     > >
> > >> >>     >
> > >> >>
> > >>
> >
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284013217&amp;sdata=%2BYYs6ucuVcxDBnsY%2BjPWNAhKsLBVTYWQLbIO%2F6iaze0%3D&amp;reserved=0
> > >> >>     > >     >     >     >     >     > > <
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >
> > >> >>     > >     >
> > >> >>     > >
> > >> >>     >
> > >> >>
> > >>
> >
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284013217&amp;sdata=%2BYYs6ucuVcxDBnsY%2BjPWNAhKsLBVTYWQLbIO%2F6iaze0%3D&amp;reserved=0
> > >> >>     > >     >     >     >     > >*
> > >> >>     > >     >     >     >     >     > >
> > >> >>     > >     >     >     >     >     >
> > >> >>     > >     >     >     >     >     >
> > >> >>     > >     >     >     >     >     > --
> > >> >>     > >     >     >     >     >     > Carlos Rovira
> > >> >>     > >     >     >     >     >     >
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >
> > >> >>     > >     >
> > >> >>     > >
> > >> >>     >
> > >> >>
> > >>
> >
> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284013217&amp;sdata=J1FV%2B%2B98n8X%2B63fllpZNMqVxwGiWKMZxcVmVWiQQq8w%3D&amp;reserved=0
> > >> >>     > >     >     >     >     >     >
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >     >     --
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >     >     Piotr Zarzycki
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >     >     Patreon: *
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >
> > >> >>     > >     >
> > >> >>     > >
> > >> >>     >
> > >> >>
> > >>
> >
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284023226&amp;sdata=mrx6J9BeewcazF%2F6FE8xAZlfCB72VZC15zgvIOP1JEg%3D&amp;reserved=0
> > >> >>     > >     >     >     >     >     <
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >
> > >> >>     > >     >
> > >> >>     > >
> > >> >>     >
> > >> >>
> > >>
> >
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284023226&amp;sdata=mrx6J9BeewcazF%2F6FE8xAZlfCB72VZC15zgvIOP1JEg%3D&amp;reserved=0
> > >> >>     > >     >     >     >     > >*
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >     >
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >     >     --
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >     >     Piotr Zarzycki
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >     >     Patreon: *
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >
> > >> >>     > >     >
> > >> >>     > >
> > >> >>     >
> > >> >>
> > >>
> >
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284023226&amp;sdata=mrx6J9BeewcazF%2F6FE8xAZlfCB72VZC15zgvIOP1JEg%3D&amp;reserved=0
> > >> >>     > >     >     >     >     <
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >
> > >> >>     > >     >
> > >> >>     > >
> > >> >>     >
> > >> >>
> > >>
> >
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284023226&amp;sdata=mrx6J9BeewcazF%2F6FE8xAZlfCB72VZC15zgvIOP1JEg%3D&amp;reserved=0
> > >> >>     > >     >     >     > >*
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >     >
> > >> >>     > >     >     >
> > >> >>     > >     >     >     --
> > >> >>     > >     >     >
> > >> >>     > >     >     >     Piotr Zarzycki
> > >> >>     > >     >     >
> > >> >>     > >     >     >     Patreon: *
> > >> >>     > >     >     >
> > >> >>     > >     >
> > >> >>     > >
> > >> >>     >
> > >> >>
> > >>
> >
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284023226&amp;sdata=mrx6J9BeewcazF%2F6FE8xAZlfCB72VZC15zgvIOP1JEg%3D&amp;reserved=0
> > >> >>     > >     >     >     <
> > >> >>     > >     >     >
> > >> >>     > >     >
> > >> >>     > >
> > >> >>     >
> > >> >>
> > >>
> >
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284023226&amp;sdata=mrx6J9BeewcazF%2F6FE8xAZlfCB72VZC15zgvIOP1JEg%3D&amp;reserved=0
> > >> >>     > >     >     > >*
> > >> >>     > >     >     >
> > >> >>     > >     >     >
> > >> >>     > >     >     >
> > >> >>     > >     >
> > >> >>     > >     >
> > >> >>     > >     >
> > >> >>     > >
> > >> >>     > >
> > >> >>     > >
> > >> >>     >
> > >> >>     > --
> > >> >>     >
> > >> >>     > Piotr Zarzycki
> > >> >>     >
> > >> >>     > Patreon: *
> > >> >>
> > >>
> >
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284023226&amp;sdata=mrx6J9BeewcazF%2F6FE8xAZlfCB72VZC15zgvIOP1JEg%3D&amp;reserved=0
> > >> >>     > <
> > >> >>
> > >>
> >
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284023226&amp;sdata=mrx6J9BeewcazF%2F6FE8xAZlfCB72VZC15zgvIOP1JEg%3D&amp;reserved=0
> > >> >> >*
> > >> >>     >
> > >> >>
> > >> >>
> > >> >>
> > >>
> > >
> > >
> > > --
> > >
> > > Piotr Zarzycki
> > >
> > > Patreon: *https://www.patreon.com/piotrzarzycki
> > > <https://www.patreon.com/piotrzarzycki>*
> > >
> >
> >
> > --
> >
> > Piotr Zarzycki
> >
> > Patreon: *https://www.patreon.com/piotrzarzycki
> > <https://www.patreon.com/piotrzarzycki>*
> >
>


-- 

Piotr Zarzycki

Patreon: *https://www.patreon.com/piotrzarzycki
<https://www.patreon.com/piotrzarzycki>*

Reply via email to