I think it’s working now.

> On Dec 24, 2019, at 11:45 PM, Carlos Rovira <[email protected]> wrote:
> 
> The fail I get in Crux is now:
> 
> Activating JSStageEvents
> InjectProcessor set up [Inject] on Bean{ source: [object Object], name:
> userController }
> InjectProcessor set up [Inject] on Bean{ source: [object Object], name:
> userController }
> [PostConstruct] executing createDefaultUser in UserController
> [JS] application setUp stub
> TypeError: Cannot read property 'indexOf' of null
>    at org.apache.royale.crux.BeanFactory.isPotentialInjectionTarget
> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/BeanFactory.as:481:20)
>    at org.apache.royale.crux.BeanFactory.setUpEventHandler
> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/BeanFactory.as:500:8)
>    at
> CruxQuickStart.org.apache.royale.events.EventDispatcher.fireListeners
> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Core/src/main/royale/org/apache/royale/events/EventDispatcher.as:124:22)
>    at
> Function.org.apache.royale.events.EventDispatcher.dispatchEventInternal [as
> dispatchEventInternal_]
> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Core/src/main/royale/org/apache/royale/events/EventDispatcher.as:163:26)
>    at
> crux.quickstart.view.UserForm.org.apache.royale.core.HTMLElementWrapper.dispatchBubblingEvent
> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as:234:35)
>    at
> org.apache.royale.crux.beads.JSStageEvents.org_apache_royale_crux_beads_JSStageEvents_mutationDetected
> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/beads/JSStageEvents.as:199:40)
> TypeError: Cannot set property 'firstName' of null
>    at crux.quickstart.view.UserForm.crux_quickstart_view_UserForm_saveUser
> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxQuickStart/src/main/royale/crux/quickstart/view/UserForm.mxml:59:19)
>    at crux.quickstart.view.UserForm.$EH0
> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxQuickStart/src/main/royale/crux/quickstart/view/UserForm.mxml:84:52)
>    at Function.goog.events.fireListener [as googFireListener]
> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxQuickStart/target/javascript/bin/js-debug/library/closure/goog/events/events.js:744:22)
>    at Object.org.apache.royale.core.ElementWrapper.fireListenerOverride
> [as fireListener]
> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as:201:26)
>    at HTMLButtonElement.goog.events.handleBrowserEvent_
> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxQuickStart/target/javascript/bin/js-debug/library/closure/goog/events/events.js:870:23)
>    at HTMLButtonElement.f
> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxQuickStart/target/javascript/bin/js-debug/library/closure/goog/events/events.js:289:39)
> 
> 
> El mar., 24 dic. 2019 a las 22:42, Carlos Rovira (<[email protected]>)
> escribió:
> 
>> Hi Harbs,
>> 
>> thanks for the hard work, I just could do a quick try and saw DataGrid is
>> now fixed, but the crux examples I tried are again failing in some place.
>> I must close for now until tomorrow, we enter Christmast ;)
>> Try to check tomorrow
>> 
>> Thanks!
>> 
>> Carlos
>> 
>> 
>> El mar., 24 dic. 2019 a las 22:30, Harbs (<[email protected]>)
>> escribió:
>> 
>>> I think I got it.
>>> 
>>> We’re gradually rewriting the goog event code. Eventually we’re going to
>>> need to make a clean break.
>>> 
>>> Once I was knee-deep in this, I fixed stopImmediatePropogation as well,
>>> which has been something that’s made errors in event handlers difficult to
>>> debug. It’s something I wanted to fix for a long time...
>>> 
>>> Please let me know if you see any more problems.
>>> 
>>> Harbs
>>> 
>>>> On Dec 24, 2019, at 2:21 PM, Carlos Rovira <[email protected]>
>>> wrote:
>>>> 
>>>> Hi Piotr,
>>>> 
>>>> I think we need to wait Harbs, he seems to know what's the problem and
>>>> hopefully will be able to fix it.
>>>> @Harbs <[email protected]>  other example that you can check is Tour de
>>>> Jewel, since it has the new Jewel DataGrid, it suffers as well the same
>>>> problem of the "Maximun call stack size exceeded"
>>>> 
>>>> Anyway, aside from this problem, I'd like to propose you all that this
>>> kind
>>>> of changes, that modifies Royale at its core, should be done in a
>>> branch,
>>>> and be more tested, since it's normal it will be unstable during some
>>>> period of time until people test and report if all is ok. As well use to
>>>> require various commits until things works ok, so that for me is a
>>> signal
>>>> that things should be done in branches. Other changes that are
>>> incremental
>>>> and does not affect other developments and can be not finished, could be
>>>> directly in commits to develop (ensuring always it does not break the
>>>> complete build).
>>>> 
>>>> Thanks :)
>>>> 
>>>> Carlos
>>>> 
>>>> 
>>>> El mar., 24 dic. 2019 a las 13:10, Piotr Zarzycki (<
>>>> [email protected]>) escribió:
>>>> 
>>>>> Hi Guys,
>>>>> 
>>>>> I have just used all changes which has been pushed and build our app
>>> using
>>>>> Maven. It's breaking up completely. I'm getting now Null Pointer
>>> exceptions
>>>>> for components has been created, it's children doesn't exists even if I
>>>>> check after onInitComplete. - It's weird behavior and hard to explain
>>> for
>>>>> me. Something in general is really bad.
>>>>> 
>>>>> I hope to tell you more in upcoming days if I will be able to.
>>>>> 
>>>>> Thanks,
>>>>> Piotr
>>>>> 
>>>>> wt., 24 gru 2019 o 11:38 Harbs <[email protected]> napisał(a):
>>>>> 
>>>>>> Never mind. I see the problem.
>>>>>> 
>>>>>>> On Dec 24, 2019, at 12:16 PM, Harbs <[email protected]> wrote:
>>>>>>> 
>>>>>>> Please try with my latest changes.
>>>>>>> 
>>>>>>> I think I fixed it.
>>>>>>> 
>>>>>>> 
>>>>>>>> On Dec 24, 2019, at 12:03 PM, Carlos Rovira <
>>> [email protected]>
>>>>>> wrote:
>>>>>>>> 
>>>>>>>> Hi Harbs,
>>>>>>>> 
>>>>>>>> the problem seems to affect the Basic DataGrid if you check
>>>>>> DataGridExample
>>>>>>>> you can see the error too.
>>>>>>>> 
>>>>>>>> In CruxGitHubCommitLogViewer the problem is:
>>>>>>>> 
>>>>>>>> Activating JSStageEvents
>>>>>>>> [WARNING] getStaticConstantsByConvention :: the reflection target
>>>>>>>> mx.rpc.http.mxml.HTTPService was not Compiled with default
>>>>> initializers
>>>>>>>> enabled
>>>>>>>> InjectProcessor set up [Inject( "configuratorService" )] on Bean{
>>>>>> source:
>>>>>>>> [object Object], name: configurationDelegate }
>>>>>>>> InjectProcessor set up [Inject] on Bean{ source: [object Object],
>>>>> name:
>>>>>>>> configurationController }
>>>>>>>> getProject executing in ConfigurationController via PostConstruct
>>>>>> processing
>>>>>>>> InjectProcessor set up [Inject( "commitsService" )] on Bean{ source:
>>>>>>>> [object Object], name: commitsDelegate }
>>>>>>>> InjectProcessor set up [Inject] on Bean{ source: [object Object],
>>>>> name:
>>>>>>>> commitsController }
>>>>>>>> InjectProcessor set up [Inject] on Bean{ source: [object Object],
>>>>> name:
>>>>>>>> commitsController }
>>>>>>>> RangeError: Maximum call stack size exceeded
>>>>>>>> at Array.concat (<anonymous>)
>>>>>>>> at crux.view.MainContent.goog.events.EventTarget.fireListeners
>>>>>>>> 
>>>>>> 
>>>>> 
>>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxGitHubCommitLogViewer/target/javascript/bin/js-debug/library/closure/goog/events/eventtarget.js:271:34)
>>>>>>>> at Function.goog.events.EventTarget.dispatchEventInternal_
>>>>>>>> 
>>>>>> 
>>>>> 
>>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxGitHubCommitLogViewer/target/javascript/bin/js-debug/library/closure/goog/events/eventtarget.js:372:27)
>>>>>>>> at
>>>>>>>> 
>>>>>> 
>>>>> 
>>> org.apache.royale.html.DataGridButtonBar.goog.events.EventTarget.dispatchEvent
>>>>>>>> 
>>>>>> 
>>>>> 
>>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxGitHubCommitLogViewer/target/javascript/bin/js-debug/library/closure/goog/events/eventtarget.js:196:35)
>>>>>>>> at
>>>>>>>> 
>>>>>> 
>>>>> 
>>> org.apache.royale.html.DataGridButtonBar.org.apache.royale.events.EventDispatcher.dispatchEvent
>>>>>>>> 
>>>>>> 
>>>>> 
>>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Core/src/main/royale/org/apache/royale/events/EventDispatcher.as:94:32)
>>>>>>>> at
>>>>>>>> 
>>>>>> 
>>>>> 
>>> org.apache.royale.html.DataGridButtonBar.org.apache.royale.core.ElementWrapper.dispatchEvent
>>>>>>>> 
>>>>>> 
>>>>> 
>>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as:370:44)
>>>>>>>> at org.apache.royale.express.beads.layouts.DataGridLayout.layout
>>>>>>>> 
>>>>>> 
>>>>> 
>>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Express/src/main/royale/org/apache/royale/express/beads/layouts/DataGridLayout.as:225:11)
>>>>>>>> at
>>>>>>>> 
>>>>>> 
>>>>> 
>>> org.apache.royale.express.beads.layouts.DataGridLayout.org_apache_royale_express_beads_layouts_DataGridLayout_handleLayoutNeeded
>>>>>>>> 
>>>>>> 
>>>>> 
>>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Express/src/main/royale/org/apache/royale/express/beads/layouts/DataGridLayout.as:105:4)
>>>>>>>> at
>>>>>>>> 
>>>>> 
>>> org.apache.royale.express.DataGrid.goog.events.EventTarget.fireListeners
>>>>>>>> 
>>>>>> 
>>>>> 
>>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxGitHubCommitLogViewer/target/javascript/bin/js-debug/library/closure/goog/events/eventtarget.js:284:24)
>>>>>>>> at Function.goog.events.EventTarget.dispatchEventInternal_
>>>>>>>> 
>>>>>> 
>>>>> 
>>> (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxGitHubCommitLogViewer/target/javascript/bin/js-debug/library/closure/goog/events/eventtarget.js:389:27)
>>>>>>>> InjectProcessor set up [Inject(
>>>>>> source="commitsController.commits.commits",
>>>>>>>> bind="true" )] on Bean{ source: [object Object], name: null }
>>>>>>>> InjectProcessor set up [Inject(
>>>>>> source="configurationController.project",
>>>>>>>> bind="true" )] on Bean{ source: [object Object], name: null }
>>>>>>>> 
>>>>>>>> 
>>>>>>>> El mar., 24 dic. 2019 a las 10:33, Carlos Rovira (<
>>>>>> [email protected]>)
>>>>>>>> escribió:
>>>>>>>> 
>>>>>>>>> Hi Harbs,
>>>>>>>>> 
>>>>>>>>> thanks for taking the time to look into this and sorry for my delay
>>>>> in
>>>>>>>>> response, as Piotr exposed I'm as well on Christmas time here in
>>>>>> Spain, so
>>>>>>>>> with few time, although hope to be around here from in some slices
>>> of
>>>>>> time.
>>>>>>>>> 
>>>>>>>>> About the problem, I built all and check all Crux examples:
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> - examples/crux/CruxQuickStart -> This is now working ok
>>>>>>>>> - examples/crux/CruxQuickStartBasic -> This is now working ok
>>>>>>>>> - examples/crux/CruxGitHubCommitLogViewer -> This is not working,
>>>>> not
>>>>>>>>> retrieve the GitHub data and even the DataGrid seems to be not
>>>>> laying
>>>>>> the
>>>>>>>>> header right. Can you take a look at this one, maybe something was
>>>>>> missing
>>>>>>>>> for make this working again.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> I saw 2 test failing, but just see you fixed right now so I'll try
>>> to
>>>>>>>>> rebuild again to check that part.
>>>>>>>>> 
>>>>>>>>> Anyway good work! :)
>>>>>>>>> 
>>>>>>>>> Carlos
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> El mar., 24 dic. 2019 a las 9:10, Harbs (<[email protected]>)
>>>>>>>>> escribió:
>>>>>>>>> 
>>>>>>>>>> I realized that the reason bubbling is not working is because
>>>>>>>>>> EventTarget.getParentEventTarget() is relying on
>>> parentEventTarget_
>>>>>> which
>>>>>>>>>> is generally not set in Royale.
>>>>>>>>>> 
>>>>>>>>>> Royale already has a parent getter for objects which have
>>>>> hierarchy. I
>>>>>>>>>> changed the method to simply return the parent instead of
>>>>>>>>>> parentEventTarget_ which will be null if there is no parent or its
>>>>>> not an
>>>>>>>>>> IChild.
>>>>>>>>>> 
>>>>>>>>>> Ideally, the change should be in the EventTarget code, but I’m not
>>>>>> trying
>>>>>>>>>> to touch that. I overrode the the method in EventDispatcher. If
>>> the
>>>>>> event
>>>>>>>>>> does not have bubbling set to true, none of this should effect
>>>>>> anything. If
>>>>>>>>>> there are any apps which have bubbling events and are relying on
>>>>>> Royale
>>>>>>>>>> bubbling to be broken, they might break with this change… ;-)
>>>>>>>>>> 
>>>>>>>>>> Royale should now support event bubbling out of the box. :-)
>>>>>>>>>> 
>>>>>>>>>> Harbs
>>>>>>>>>> 
>>>>>>>>>>> On Dec 24, 2019, at 9:01 AM, Alex Harui <[email protected]
>>>> 
>>>>>>>>>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> I took a peek at the commit and made some comments on the commit
>>>>>> thread
>>>>>>>>>> that may help.
>>>>>>>>>>> 
>>>>>>>>>>> HTH,
>>>>>>>>>>> -Alex
>>>>>>>>>>> 
>>>>>>>>>>> On 12/23/19, 2:24 PM, "Harbs" <[email protected] <mailto:
>>>>>>>>>> [email protected]>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> I read through what you did in JSStageEvents. That’s really quite
>>>>>>>>>> ingenious. Well done! :-)
>>>>>>>>>>> 
>>>>>>>>>>> I think we could use a similar approach for an application bead
>>> to
>>>>>>>>>> support full event bubbling without modifying ElementWrapper and
>>>>>>>>>> HTMLElementWrapper.
>>>>>>>>>>> 
>>>>>>>>>>> I still have no idea what broke though.
>>>>>>>>>>> 
>>>>>>>>>>> Let me know if I should revert the changes until someone has the
>>>>>>>>>> time to look at this.
>>>>>>>>>>> 
>>>>>>>>>>> Thanks,
>>>>>>>>>>> Harbs
>>>>>>>>>>>> On Dec 23, 2019, at 10:59 PM, Greg Dove <[email protected]>
>>>>>> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>> Iirc it was dispatching capture phase events that was
>>>>> 'difficult'. I
>>>>>>>>>> think
>>>>>>>>>>>> I had to override something and undo something in Royale that
>>> was
>>>>>>>>>> switching
>>>>>>>>>>>> off goog support for that. It was only needed in the
>>> JSStageEvents
>>>>>>>>>>>> emulation stuff iirc. I have no idea what the issue is, but that
>>>>> is
>>>>>>>>>>>> probably what I would look at first. Have to go now... I can
>>> look
>>>>> at
>>>>>>>>>> this
>>>>>>>>>>>> if needed but not for a few days.
>>>>>>>>>>>> 
>>>>>>>>>>>> On Tue, 24 Dec 2019, 09:38 Harbs, <[email protected]>
>>> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>>> AIUI, for bubbling to work automatically, setParentEventTarget
>>>>>> needs
>>>>>>>>>> to be
>>>>>>>>>>>>> called to construct the hierarchy.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Maybe we should have a bead that takes care of this (on
>>>>>> addedToParent
>>>>>>>>>> or
>>>>>>>>>>>>> something) for applications which rely on bubbling for
>>>>>>>>>> non-browser-native
>>>>>>>>>>>>> events.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> There is a dispatchBubblingEvent in HTMLElementWrapper which
>>>>> forces
>>>>>>>>>> the
>>>>>>>>>>>>> event to bubble up for all events, but it’s JS only. We could
>>>>> add a
>>>>>>>>>> method
>>>>>>>>>>>>> for SWF for compatibility.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I just tested dispatchBubblingEvent and that makes the alert
>>>>>> appear.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> None of this explains why it worked before my change, though...
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> On Dec 23, 2019, at 10:17 PM, Greg Dove <[email protected]>
>>>>>> wrote:
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Harbs, I can only check Crux in 4-5 days time.
>>>>>>>>>>>>>> From memory I did set up something specific to make either
>>>>>> capture or
>>>>>>>>>>>>>> bubbling work, maybe that was for the 'addedToStage' event
>>>>>>>>>> emulation. I
>>>>>>>>>>>>>> think one of them (either capture or bubbling) was not working
>>>>> by
>>>>>>>>>>>>> default,
>>>>>>>>>>>>>> or did was not easy to enable by default.
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> On Tue, Dec 24, 2019 at 9:13 AM Harbs <[email protected]>
>>>>>> wrote:
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Nope. Didn’t figure it out.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> It looks like Crux listens on the ancestor and is relying on
>>>>>>>>>> bubbling.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> I’m guessing bubbling is not working, but I have no idea why
>>>>> that
>>>>>>>>>> would
>>>>>>>>>>>>>>> have changed with my commit.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> On Dec 23, 2019, at 10:06 PM, Piotr Zarzycki <
>>>>>>>>>>>>> [email protected]>
>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> Harbs,
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> I feel like Carlos has started his Christmas time ;) I'm
>>> glad
>>>>>> that
>>>>>>>>>> you
>>>>>>>>>>>>>>>> figured it out! :)
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> pon., 23 gru 2019 o 21:01 Harbs <[email protected]
>>>>> <mailto:
>>>>>>>>>>>>>>> [email protected]>> napisał(a):
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> The asconfig file did not include the necessary metadata.
>>>>> Fixed
>>>>>>>>>> that…
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> OK. I’m not getting any errors, but UserForm is dispatching
>>>>> an
>>>>>>>>>> event
>>>>>>>>>>>>> not
>>>>>>>>>>>>>>>>> listened to by anyone.
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> Where is the listener supposed to be attached? Maybe it’s
>>>>>>>>>> listening to
>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>> wrong object?
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> On Dec 23, 2019, at 9:35 PM, Harbs <[email protected]
>>>> 
>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> I’m getting an error that UserForm.user is null.
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> I have no idea where that should have been set, and I have
>>>>> no
>>>>>>>>>> idea
>>>>>>>>>>>>> how
>>>>>>>>>>>>>>>>> my commit could have possibly effected that. I don’t see
>>>>>> anything
>>>>>>>>>> that
>>>>>>>>>>>>>>>>> would initialize the user variable.
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> If you want my help on this, I’m going to need some
>>>>> direction.
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>> Harbs
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> On Dec 23, 2019, at 9:28 PM, Harbs <
>>> [email protected]
>>>>>>>>>> <mailto:
>>>>>>>>>>>>>>> [email protected]> <mailto:
>>>>>>>>>>>>>>>>> [email protected] <mailto:[email protected]>>>
>>>>> wrote:
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> I fixed this, but I have no idea what Crux is supposed to
>>>>> do.
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> What am I looking for?
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> On Dec 23, 2019, at 8:30 PM, Harbs <
>>> [email protected]
>>>>>>>>>> <mailto:
>>>>>>>>>>>>>>> [email protected]> <mailto:
>>>>>>>>>>>>>>>>> [email protected] <mailto:[email protected]>>>
>>>>> wrote:
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> I can’t compile Jewel right now.
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> I’m getting an error:
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> [java]
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> /Apache/royale-asjs/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/IconButton.as(104):
>>>>>>>>>>>>>>>>> col: 13 Access of possibly undefined property
>>>>>> classSelectorList.
>>>>>>>>>>>>>>>>>>>> [java]
>>>>>>>>>>>>>>>>>>>> [java]             classSelectorList.toggle("icon",
>>> (_icon
>>>>>> !=
>>>>>>>>>>>>>>>>> null));
>>>>>>>>>>>>>>>>>>>> [java]             ^
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> On Dec 23, 2019, at 7:17 PM, Carlos Rovira <
>>>>>>>>>>>>> [email protected]
>>>>>>>>>>>>>>> <mailto:[email protected]>
>>>>>>>>>>>>>>>>> <mailto:[email protected] <mailto:
>>>>>> [email protected]
>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> Compilation is ok. The problem is that example is not
>>>>>> really
>>>>>>>>>>>>>>> working.
>>>>>>>>>>>>>>>>>>>>> In that example you should be able to fill the form and
>>>>>> push
>>>>>>>>>> the
>>>>>>>>>>>>>>>>> button.
>>>>>>>>>>>>>>>>>>>>> After that a JS Alert should be show with the ID of the
>>>>>> user
>>>>>>>>>>>>> record
>>>>>>>>>>>>>>>>> saved.
>>>>>>>>>>>>>>>>>>>>> That Alert is not show anymore.
>>>>>>>>>>>>>>>>>>>>> If you revert locally that commit and recompile Core
>>> and
>>>>>> then
>>>>>>>>>> the
>>>>>>>>>>>>>>>>> example
>>>>>>>>>>>>>>>>>>>>> and run you'll be able to see it again.
>>>>>>>>>>>>>>>>>>>>> We have a client complaining about the app stopped to
>>>>> work
>>>>>>>>>> today
>>>>>>>>>>>>>>>>> since they
>>>>>>>>>>>>>>>>>>>>> are using Crux.
>>>>>>>>>>>>>>>>>>>>> After investigation I was able to trace the problem to
>>>>> that
>>>>>>>>>>>>> commit.
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> Carlos
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> El lun., 23 dic. 2019 a las 17:59, Harbs (<
>>>>>>>>>> [email protected]
>>>>>>>>>>>>>>> <mailto:[email protected]>
>>>>>>>>>>>>>>>>> <mailto:[email protected] <mailto:
>>> [email protected]
>>>>>>>>> )
>>>>>>>>>>>>>>> escribió:
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> I compiled CruxQuickStartBasic and I don’t see
>>> anything
>>>>>>>>>> wrong.
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> Can you give me more clues?
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> FWIW, I used Ant, is the problem specific to Maven?
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>> On Dec 23, 2019, at 6:26 PM, Carlos Rovira <
>>>>>>>>>>>>>>> [email protected] <mailto:[email protected]>
>>>>>>>>>>>>>>>>> <mailto:[email protected] <mailto:
>>>>>> [email protected]
>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>> Hi Harbs,
>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>> seems recent changes break Crux library
>>>>>>>>>>>>>>>>>>>>>>> (commit: f50c9990a3190cf681364905525656984ab2e9c5 -
>>>>>> Cleaned
>>>>>>>>>> up
>>>>>>>>>>>>>>>>>>>>>>> ElementWrapper and HTMLElementWrapper)
>>>>>>>>>>>>>>>>>>>>>>> I'm trying to see what could be the problem. I
>>> suppose
>>>>>> that
>>>>>>>>>> is
>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>> change
>>>>>>>>>>>>>>>>>>>>>>> of HTMLElementWrapper now extending ElementWrapper.
>>>>>>>>>>>>>>>>>>>>>>> Tried to change one for the other in Crux library,
>>> but
>>>>>> with
>>>>>>>>>> no
>>>>>>>>>>>>>>> luck
>>>>>>>>>>>>>>>>>>>>>>> I'm using /examples/crux/CruxQuickStartBasic to test
>>>>>>>>>>>>>>>>>>>>>>> Can you see what could be wrong?
>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>> Carlos
>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>> El dom., 22 dic. 2019 a las 17:24, Harbs (<
>>>>>>>>>>>>> [email protected]
>>>>>>>>>>>>>>> <mailto:[email protected]>
>>>>>>>>>>>>>>>>> <mailto:[email protected] <mailto:
>>> [email protected]
>>>>>>>>> )
>>>>>>>>>>>>>>>>>>>>>> escribió:
>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> There is lots of what looks like shared code, so
>>>>> could
>>>>>>>>>>>>>>>>>>>>>>>> HTMLElementWrapper extend ElementWrapper?
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> Totally. Excellent idea.
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> On Dec 22, 2019, at 5:46 PM, Alex Harui
>>>>>>>>>>>>>>> <[email protected] <mailto:[email protected]>
>>>>>>>>>>>>>>>>> <mailto:[email protected] <mailto:
>>>>>> [email protected]
>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> In a quick look at history, HTMLElementWrapper's
>>>>>> override
>>>>>>>>>>>>> logic
>>>>>>>>>>>>>>>>> was the
>>>>>>>>>>>>>>>>>>>>>>>> same as ElementWrapper's.
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> Maybe as you upgraded HTMLElementWrapper's logic,
>>>>>>>>>>>>> ElementWrapper
>>>>>>>>>>>>>>>>> should
>>>>>>>>>>>>>>>>>>>>>>>> have changed as well but didn't?
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> There is lots of what looks like shared code, so
>>>>> could
>>>>>>>>>>>>>>>>>>>>>>>> HTMLElementWrapper extend ElementWrapper?
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> My 2 cents,
>>>>>>>>>>>>>>>>>>>>>>>>> -Alex
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> On 12/22/19, 1:00 AM, "Harbs" <
>>> [email protected]
>>>>>>>>>>>>> <mailto:
>>>>>>>>>>>>>>> [email protected]> <mailto:
>>>>>>>>>>>>>>>>> [email protected] <mailto:[email protected]>>>
>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> We found a weird bug with events and currentTarget.
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> I traced the problem to the following:
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> The app loads both HTMLElementWrapper and
>>>>>> ElementWrapper.
>>>>>>>>>> The
>>>>>>>>>>>>>>>>> lstener
>>>>>>>>>>>>>>>>>>>>>>>> overrides in the two are stepping on each other.
>>>>> Here’s
>>>>>>>>>> what
>>>>>>>>>>>>>>>>> happens:
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> 1. HTMLElementWrapper is loaded first. It replaces
>>>>>>>>>>>>>>>>>>>>>>>> goog.events.fireListener with its
>>> fireListenerOverride
>>>>>>>>>> function
>>>>>>>>>>>>>>>>> (which
>>>>>>>>>>>>>>>>>>>>>>>> calls the existing one when it’s done).
>>>>>>>>>>>>>>>>>>>>>>>>> 2. ElementWrapper is loaded next and it replaces
>>> the
>>>>>>>>>> existing
>>>>>>>>>>>>>>>>>>>>>>>> goog.events.fireListener function — which was
>>> already
>>>>>>>>>> changed
>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>> point
>>>>>>>>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>>>>>>>>> HTMLElementWrapper.fireListenerOverride with the one
>>>>>> from
>>>>>>>>>>>>>>>>>>>>>> ElementWrapper.
>>>>>>>>>>>>>>>>>>>>>>>>> 3. When an event is actually dispatched,
>>>>>>>>>>>>>>>>>>>>>>>> ElementWrapper.fireListenerOverride first changes
>>> the
>>>>>>>>>> event to
>>>>>>>>>>>>> a
>>>>>>>>>>>>>>>>> royale
>>>>>>>>>>>>>>>>>>>>>>>> BrowserEvent instead of a goog one.
>>>>>>>>>>>>>>>>>>>>>> HTMLElementWrapper.fireListenerOverride
>>>>>>>>>>>>>>>>>>>>>>>> is then called and where it expects a goog
>>>>> BrowserEvent,
>>>>>>>>>> it in
>>>>>>>>>>>>>>> fact
>>>>>>>>>>>>>>>>>>>>>> gets a
>>>>>>>>>>>>>>>>>>>>>>>> royale BrowserEvent. This causes the wrappedEvent to
>>>>> be
>>>>>> the
>>>>>>>>>>>>> wrong
>>>>>>>>>>>>>>>>> type
>>>>>>>>>>>>>>>>>>>>>> and
>>>>>>>>>>>>>>>>>>>>>>>> messes things up down the line.
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> I’m not sure of the best way to fix this.
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> * We could check the event type in
>>>>>>>>>>>>>>>>> HTMLElementWrapper/ElementWrapper,
>>>>>>>>>>>>>>>>>>>>>>>> but that’s just-in-case code.
>>>>>>>>>>>>>>>>>>>>>>>>> * I’m not completely sure why we need this logic in
>>>>>> both
>>>>>>>>>>>>>>>>>>>>>>>> ElementWrapper and HTMLElementWrapper. Is there
>>>>>> something
>>>>>>>>>> that
>>>>>>>>>>>>>>> can
>>>>>>>>>>>>>>>>> be
>>>>>>>>>>>>>>>>>>>>>>>> changed there?
>>>>>>>>>>>>>>>>>>>>>>>>> * Maybe there’s some way for ElementWrapper to know
>>>>>> that
>>>>>>>>>> some
>>>>>>>>>>>>>>>>> other
>>>>>>>>>>>>>>>>>>>>>>>> class is installing an override?
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> Thoughts?
>>>>>>>>>>>>>>>>>>>>>>>>> Harbs
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>>>> Carlos Rovira
>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
>>>>>>>>>> <
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
>>>>>>>>>>> <
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
>>>>>>>>>> <
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
>>>>>>>> 
>>>>>>>>>> <
>>>>>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
>>>>>>>>>> <
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
>>>>>>> 
>>>>>>>>>> <
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
>>>>>>>>>> <
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>> Carlos Rovira
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
>>>>>>>>>> <
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
>>>>>>> 
>>>>>>>>>> <
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
>>>>>>>>>> <
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
>>>>>>>> 
>>>>>>>>>> <
>>>>>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
>>>>>>>>>> <
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
>>>>>>> 
>>>>>>>>>> <
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
>>>>>>>>>> <
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> Piotr Zarzycki
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> Patreon: *
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=BPJwWOdHi1NDnDQ7vujOyeQNUInTpQDUQ%2FQ0isRcamc%3D&amp;reserved=0
>>>>>>>>>> <
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=BPJwWOdHi1NDnDQ7vujOyeQNUInTpQDUQ%2FQ0isRcamc%3D&amp;reserved=0
>>>>>>> 
>>>>>>>>>> <
>>>>>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&amp;sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&amp;reserved=0
>>>>>>>>>> <
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&amp;sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&amp;reserved=0
>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> <
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&amp;sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&amp;reserved=0
>>>>>>>>>> <
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&amp;sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&amp;reserved=0
>>>>>>> 
>>>>>>>>>> <
>>>>>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&amp;sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&amp;reserved=0
>>>>>>>>>> <
>>>>>>>>>> 
>>>>>> 
>>>>> 
>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&amp;sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&amp;reserved=0
>>>>>>>>>>>>> *
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> Carlos Rovira
>>>>>>>>> http://about.me/carlosrovira
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> --
>>>>>>>> Carlos Rovira
>>>>>>>> http://about.me/carlosrovira
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>>> --
>>>>> 
>>>>> Piotr Zarzycki
>>>>> 
>>>>> Patreon: *https://www.patreon.com/piotrzarzycki
>>>>> <https://www.patreon.com/piotrzarzycki>*
>>>>> 
>>>> 
>>>> 
>>>> --
>>>> Carlos Rovira
>>>> http://about.me/carlosrovira
>>> 
>>> 
>> 
>> --
>> Carlos Rovira
>> http://about.me/carlosrovira
>> 
>> 
> 
> -- 
> Carlos Rovira
> http://about.me/carlosrovira


Reply via email to