Hi Yishay, Yes now our app is working fine.
śr., 25 gru 2019 o 11:27 Harbs <[email protected]> napisał(a): > 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&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 > > > -- Piotr Zarzycki Patreon: *https://www.patreon.com/piotrzarzycki <https://www.patreon.com/piotrzarzycki>*
