updating to tapestry5-jquery to 3.4.2 version seems to resolve this issue :)

On Fri, Jun 17, 2016 at 11:57 AM, Qbyte Consulting <
qbyteconsult...@gmail.com> wrote:

> Thanks Cezary,
>
> What I found is that making COMBINE_SCRIPTS=false resolves the issue.
>
>         configuration.add(JQuerySymbolConstants.SUPPRESS_PROTOTYPE,
> "false");
>         configuration.add(JQuerySymbolConstants.JQUERY_ALIAS, "$J");
>         configuration.add(SymbolConstants.COMBINE_SCRIPTS, "false");
>
> This will be an acceptable work-around for now, but not ideal.
>
>
>
> On Thu, Jun 16, 2016 at 6:54 PM, Cezary Biernacki <cezary...@gmail.com>
> wrote:
>
>> Hi John,
>> it is hard to answer your question without any source code or details
>> about
>> your application. My guess your application is using tapestry-jquery and
>> something is incorrectly initialised in production-mode. I would check if
>> you do not encounter problems with your browser caching some old version
>> of
>> JavaScript libraries (IIRC, in Tapestry 5.3 you need to change application
>> version every time asset changes - I recommend ensuring that your build
>> process does that for you). Probably because of failure on JavaScript
>> side,
>> your link clicks with JS, are not actually rewritten to be AJAX links, but
>> normal links, and your event handlers do not check if requests are AJAX
>> (us
>> Request.isXHR method to check that), and blindly try to prepare AJAX
>> rendering, which causes this exception.
>>
>> My recommendations:
>>
>>    - See if your links are actually sent as AJAX requests from the
>> browser.
>>
>>    - Find and fix the cause of problems reported for JavaScript in the
>>    browser. First ensure that your browser does not cached some incorrect
>>    version of assets. If it does, ensure that you change application
>> version
>>    setting when assets changes. Preferably make your build process to set
>>    application version in Tapestry in some automatic way.
>>
>>    - In Java, event handlers should check if request is AJAX or not, and
>>    use appropriate processing paths for preparing output. Even if you fix
>> your
>>    JavaScript problems, your application will be more user friendly and
>> robust
>>    by not assuming that these events are always sent via AJAX (e.g. user
>> can
>>    have JavaScript disabled, or middle-click on the link, etc.).
>>
>>
>> As I said before, I can only guess what is wrong. If my recommendation
>> would not help, try providing more details and narrow down the problem.
>>
>> Best regards,
>> Cezary
>>
>>
>>
>> On Thu, Jun 16, 2016 at 5:14 PM, Qbyte Consulting <
>> qbyteconsult...@gmail.com
>> > wrote:
>>
>> > Hi,
>> >
>> > My T5.3.6 application works fine with production mode=false. However
>> when
>> > production-mode = true then some linkclicks with JS return:
>> >
>> > An unexpected application exception has occurred.
>> >
>> > Page must be specified before initializing for partial page render.
>> >
>> > This is on the browser console:
>> >
>> > core.js:6947 Uncaught TypeError: element.attachEvent is not a function
>> > SuperfishStack.js:383 Uncaught TypeError: Cannot read property
>> > 'extendInitializers' of undefined
>> > dialog.js:3 Uncaught TypeError: Cannot read property
>> 'extendInitializers'
>> > of undefined
>> > bind.js:3 Uncaught TypeError: Cannot read property 'extendInitializers'
>> of
>> > undefined
>> > jGrowl_init.js:2 Uncaught TypeError: Cannot read property
>> > 'extendInitializers' of undefined
>> > manageusers:17 Uncaught TypeError: Cannot set property 'JQUERY' of
>> > undefined
>> > core.js:7028 Uncaught TypeError: element.dispatchEvent is not a function
>> >
>> > Why is that happening?
>> >
>> > regards,
>> > John
>> >
>> >
>> >
>> > [ERROR] ioc.Registry Page must be specified before initializing for
>> partial
>> > page
>> >  render.
>> > [ERROR] ioc.Registry Operations trace:
>> > [ERROR] ioc.Registry [ 1] Triggering event 'alphabetfilter' on
>> > ManageUsers:users
>> > component
>> > [ERROR] TapestryModule.RequestExceptionHandler Processing of request
>> failed
>> > with
>> >  uncaught exception: Page must be specified before initializing for
>> partial
>> > page
>> >  render.
>> > org.apache.tapestry5.ioc.internal.OperationException: Page must be
>> > specified bef
>> > ore initializing for partial page render. [at
>> > classpath:xxxxxx/audit/manager/pag
>> > es/ManageUsers.tml, line 38]
>> >         at
>> > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(
>> > OperationTrackerImpl.java:121)
>> >         at
>> > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(Operati
>> > onTrackerImpl.java:88)
>> >         at
>> > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(Pe
>> > rThreadOperationTracker.java:87)
>> >         at
>> > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.ja
>> > va:1124)
>> >         at
>> > org.apache.tapestry5.internal.structure.ComponentPageElementResources
>> > Impl.invoke(ComponentPageElementResourcesImpl.java:146)
>> >         at
>> > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.trig
>> > gerContextEvent(ComponentPageElementImpl.java:1053)
>> >         at
>> > org.apache.tapestry5.internal.services.ComponentEventRequestHandlerIm
>> > pl.handle(ComponentEventRequestHandlerImpl.java:81)
>> >         at
>> > org.apache.tapestry5.internal.services.ImmediateActionRenderResponseF
>> > ilter.handle(ImmediateActionRenderResponseFilter.java:42)
>> >         at $ComponentEventRequestHandler_ae9391b333f0.handle(Unknown
>> > Source)
>> >         at
>> > org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.j
>> > ava:42)
>> >         at $ComponentEventRequestHandler_ae9391b333f0.handle(Unknown
>> > Source)
>> >         at
>> > org.apache.tapestry5.upload.internal.services.UploadExceptionFilter.h
>> > andle(UploadExceptionFilter.java:75)
>> >         at $ComponentEventRequestHandler_ae9391b333f0.handle(Unknown
>> > Source)
>> >         at
>> > org.apache.tapestry5.services.TapestryModule$41.handle(TapestryModule
>> > .java:2476)
>> >         at $ComponentEventRequestHandler_ae9391b333f0.handle(Unknown
>> > Source)
>> >         at $ComponentEventRequestHandler_ae9391b3339f.handle(Unknown
>> > Source)
>> >         at
>> > org.apache.tapestry5.internal.services.ComponentRequestHandlerTermina
>> > tor.handleComponentEvent(ComponentRequestHandlerTerminator.java:43)
>> >         at
>> > org.apache.tapestry5.services.InitializeActivePageName.handleComponen
>> > tEvent(InitializeActivePageName.java:39)
>> >         at
>> > $ComponentRequestHandler_ae9391b333a1.handleComponentEvent(Unknown So
>> > urce)
>> >         at
>> > xxxxxx.audit.manager.services.PageProtectionFilter.handleComponentEve
>> > nt(PageProtectionFilter.java:113)
>> >         at
>> > $ComponentRequestFilter_ae9391b3339e.handleComponentEvent(Unknown Sou
>> > rce)
>> >         at
>> > $ComponentRequestHandler_ae9391b333a1.handleComponentEvent(Unknown So
>> > urce)
>> >         at
>> > $ComponentRequestHandler_ae9391b33298.handleComponentEvent(Unknown So
>> > urce)
>> >         at
>> > org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispa
>> > tch(ComponentEventDispatcher.java:46)
>> >         at $Dispatcher_ae9391b3329a.dispatch(Unknown Source)
>> >         at $Dispatcher_ae9391b33290.dispatch(Unknown Source)
>> >         at
>> > org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator
>> > .service(TapestryModule.java:302)
>> >         at
>> > org.apache.tapestry5.internal.services.RequestErrorFilter.service(Req
>> > uestErrorFilter.java:26)
>> >         at $RequestHandler_ae9391b33291.service(Unknown Source)
>> >         at
>> > org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule
>> > .java:902)
>> >         at $RequestHandler_ae9391b33291.service(Unknown Source)
>> >         at
>> > org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule
>> > .java:892)
>> >         at $RequestHandler_ae9391b33291.service(Unknown Source)
>> >         at
>> > org.apache.tapestry5.internal.services.StaticFilesFilter.service(Stat
>> > icFilesFilter.java:90)
>> >         at $RequestHandler_ae9391b33291.service(Unknown Source)
>> >         at
>> > xxxxxx.audit.manager.services.AppModule$1.service(AppModule.java:230)
>> >
>> >         at $RequestFilter_ae9391b3328c.service(Unknown Source)
>> >         at $RequestHandler_ae9391b33291.service(Unknown Source)
>> >         at $RequestHandler_ae9391b33285.service(Unknown Source)
>> >         at
>> > org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandle
>> > rTerminator.service(TapestryModule.java:253)
>> >         at
>> > org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java
>> > :53)
>> >         at $HttpServletRequestHandler_ae9391b33287.service(Unknown
>> Source)
>> >         at
>> > org.got5.tapestry5.jquery.services.AjaxUploadServletRequestFilter.ser
>> > vice(AjaxUploadServletRequestFilter.java:27)
>> >         at $HttpServletRequestHandler_ae9391b33287.service(Unknown
>> Source)
>> >         at
>> > org.apache.tapestry5.upload.internal.services.MultipartServletRequest
>> > Filter.service(MultipartServletRequestFilter.java:44)
>> >         at $HttpServletRequestHandler_ae9391b33287.service(Unknown
>> Source)
>> >         at
>> > org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(Ign
>> > oredPathsFilter.java:62)
>> >         at $HttpServletRequestFilter_ae9391b33283.service(Unknown
>> Source)
>> >         at $HttpServletRequestHandler_ae9391b33287.service(Unknown
>> Source)
>> >         at
>> > org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule
>> > .java:852)
>> >         at $HttpServletRequestHandler_ae9391b33287.service(Unknown
>> Source)
>> >         at $HttpServletRequestHandler_ae9391b33280.service(Unknown
>> Source)
>> >         at
>> > org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
>> >
>> >         at
>> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
>> > Handler.java:1652)
>> >         at
>> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java
>> > :585)
>> >         at
>> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
>> > ava:143)
>> >         at
>> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.jav
>> > a:577)
>> >         at
>> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandl
>> > er.java:223)
>> >         at
>> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl
>> > er.java:1127)
>> >         at
>> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>> > 515)
>> >         at
>> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandle
>> > r.java:185)
>> >         at
>> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle
>> > r.java:1061)
>> >         at
>> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
>> > ava:141)
>> >         at
>> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Cont
>> > extHandlerCollection.java:215)
>> >         at
>> > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerColl
>> > ection.java:110)
>> >         at
>> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper
>> > .java:97)
>> >         at org.eclipse.jetty.server.Server.handle(Server.java:499)
>> >         at
>> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
>> >         at
>> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.jav
>> > a:257)
>> >         at
>> > org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java
>> > :544)
>> >         at
>> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPoo
>> > l.java:635)
>> >         at
>> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool
>> > .java:555)
>> >         at java.lang.Thread.run(Thread.java:745)
>> > Caused by: org.apache.tapestry5.runtime.ComponentEventException: Page
>> must
>> > be sp
>> > ecified before initializing for partial page render. [at
>> > classpath:xxxxxx/audit/
>> > manager/pages/ManageUsers.tml, line 38]
>> >         at
>> > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.proc
>> > essEventTriggering(ComponentPageElementImpl.java:1136)
>> >         at
>> > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.acce
>> > ss$3100(ComponentPageElementImpl.java:61)
>> >         at
>> > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$
>> > 5.in
>> > voke(ComponentPageElementImpl.java:1057)
>> >         at
>> > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$
>> > 5.in
>> > voke(ComponentPageElementImpl.java:1054)
>> >         at
>> > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(Operati
>> > onTrackerImpl.java:74)
>> >         ... 71 more
>> > Caused by: java.lang.IllegalStateException: Page must be specified
>> before
>> > initia
>> > lizing for partial page render.
>> >         at
>> > org.apache.tapestry5.internal.services.PageRenderQueueImpl.partialRen
>> > derInitialized(PageRenderQueueImpl.java:100)
>> >         at
>> > org.apache.tapestry5.internal.services.PageRenderQueueImpl.addPartial
>> > MarkupRendererFilter(PageRenderQueueImpl.java:131)
>> >         at
>> > $PageRenderQueue_ae9391b333bf.addPartialMarkupRendererFilter(Unknown
>> > Source)
>> >         at
>> > $PageRenderQueue_ae9391b3339c.addPartialMarkupRendererFilter(Unknown
>> > Source)
>> >         at
>> > org.apache.tapestry5.internal.services.ajax.AjaxResponseRendererImpl.
>> > addFilter(AjaxResponseRendererImpl.java:96)
>> >         at
>> > org.apache.tapestry5.internal.services.ajax.AjaxResponseRendererImpl.
>> > addRender(AjaxResponseRendererImpl.java:43)
>> >         at
>> > org.apache.tapestry5.internal.services.ajax.AjaxResponseRendererImpl.
>> > addRender(AjaxResponseRendererImpl.java:52)
>> >         at $AjaxResponseRenderer_ae9391b332c2.addRender(Unknown Source)
>> >         at
>> > xxxxxx.audit.manager.components.UsersComponent.onAlphabetFilter(Users
>> > Component.java:263)
>> >         at
>> > xxxxxx.audit.manager.components.UsersComponent.dispatchComponentEvent
>> > (UsersComponent.java)
>> >         at
>> > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.disp
>> > atchEvent(ComponentPageElementImpl.java:927)
>> >         at
>> > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.proc
>> > essEventTriggering(ComponentPageElementImpl.java:1112)
>> >         ... 75 more
>> > [INFO] AppModule.TimingFilter Request time: 86 ms
>> >
>>
>
>

Reply via email to