OK. I’m done for the night. I’ll work on this tomorrow.
> 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&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 >>>>>>>>>> < >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 >>>>>>>>>>> < >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 >>>>>>>>>> < >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 >>>>>>>> >>>>>>>>>> < >>>>>>>>>>>>>>> >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 >>>>>>>>>> < >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 >>>>>>> >>>>>>>>>> < >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 >>>>>>>>>> < >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 >>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>> Carlos Rovira >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 >>>>>>>>>> < >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 >>>>>>> >>>>>>>>>> < >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 >>>>>>>>>> < >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 >>>>>>>> >>>>>>>>>> < >>>>>>>>>>>>>>> >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 >>>>>>>>>> < >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 >>>>>>> >>>>>>>>>> < >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 >>>>>>>>>> < >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 >>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Piotr Zarzycki >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Patreon: * >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=BPJwWOdHi1NDnDQ7vujOyeQNUInTpQDUQ%2FQ0isRcamc%3D&reserved=0 >>>>>>>>>> < >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=BPJwWOdHi1NDnDQ7vujOyeQNUInTpQDUQ%2FQ0isRcamc%3D&reserved=0 >>>>>>> >>>>>>>>>> < >>>>>>>>>>>>>>> >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&reserved=0 >>>>>>>>>> < >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&reserved=0 >>>>>>>>>>>> >>>>>>>>>>>>>>>> < >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&reserved=0 >>>>>>>>>> < >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&reserved=0 >>>>>>> >>>>>>>>>> < >>>>>>>>>>>>>>> >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&reserved=0 >>>>>>>>>> < >>>>>>>>>> >>>>>> >>>>> >>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&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
