Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-6879

renderHead() not called for components inside Border due to queueing

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 8.6.1, 8.10.0
    • None
    • wicket, wicket-core
    • None

    Description

      Hi Wicket Team,

      since we did an update from Wicket 6.29 to (8.6.0 and then) 8.10 we encounter a very special and unfortunately not reproducable issue.
      Currently I wasn't able to create a quickstart, which shows the problem.

      But I can see the result in the rendered HTML (see screenshot attached).

      It seems the render process (or any other) looses Behaviors or it just don't call the partical renderHead() method.

      As you can see at the screenshot there is a JQueryUI button, which gets its CSS style via script calls (JQueryUI <-> Wicket JQueryUI Project from Sebastien Brique).
      Those script calls which are rendered via Behaviors are not present at the HTML. Have a look at my search result in Web Developer Tool.
      The ID I focused is only present at the HTML Tag Element and no Javascript is rendered (e.g. jQuery('#id391b').button({...})

      What we know so far:

      • The problem only occurs at two use-cases of our application and always inside of Border Components
        • So possibly this issue is somehow related to WICKET-6303 or WICKET-6222
        • The problem is not reproducable / 95%+ of the render cases are working correct.
      • A reload of the page solves the problem.
      • One of the usecases / components had quite a lot problems with "org.apache.wicket.WicketRuntimeException: Cannot modify component hierarchy after render phase has started" before. We set a model-object of a child component in onConfigure() which is usually not a problem.
        • To solve it, we changed the implementation, but know this issue arised.
        • If it just an aftereffect of the changed implementation, setting the model-object, we don't know, yet.
        • Maybe it is related, maybe not.
      • It seems, only Components/Behaviors are affected which are from sub-class type JQueryUIBehavior
        • BUT: This is only an assumption, because here we a visual affect to our customers and they reporting it.
        • If other Behaviors (e.g. Wicket Javascripts for Click-Handler bindings) are not rendered; we also dont't know, yet.

      I decided to open this issue here and not at GitHub for Sebastien, because of WICKET-6303 and WICKET-6222, and I know sebfz1 is also a Wicket committer.

      This issue is quite an urgent problem to us!

      svenmeier or sebfz1 : If you could get in contact with me by phone to have some brainstorming, about how we can help getting further information for you, this would be great.

      We don't have any idea to get loggings or other information, because this problem just occurs silently and we only get feedback by our customers.
      And than often it is too late to see anything. And we don't see any error loggings matching this problem.

      kind regards
      Patrick Davids

      Attachments

        1. Wicket_Missing_Scripts_0.PNG
          241 kB
          Patrick Davids

        Issue Links

          Activity

            People

              Unassigned Unassigned
              patrick1701 Patrick Davids
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: