Uploaded image for project: 'ZK'
  1. ZK
  2. ZK-4696

An unchanged ClientInfo makes the infinite processing loop

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: 8.6.0
    • Fix Version/s: 9.5.1
    • Component/s: ZK Client Engine
    • Labels:

      Description

      Steps to Reproduce

      <zk>
          <zscript><![CDATA[
          void doTheThing(){
              Include include = new Include("./includedWindow.zul");
              include.setMode("defer");
              g1.firstChild.appendChild(include);
          }
          ]]>
          </zscript>
          <label multiline="true">
              1. Click the button to create an include.
              2. You should see "onClientInfonull" in zk log.
              3. Press the button again.
              4. You should see "onClientInfonull" in zk log.
          </label>
          <button label="Create an include" onClick='doTheThing()' />
          <panel title="foo" id="g1">
              <panelchildren />
          </panel>
      </zk>
      
      includedWindow.zul
      <zk>
          <window onClientInfo="Clients.log(event.getName() + event.getData())"/>
      </zk>
      

      Current Result

      It freezes after clicking the button the second time.

      Expected Result

      It prints "onClientInfonull"

      Debug Information

      A ZK-3181 side effect.

      Since it won't trigger an event with a rTags (onClientInfo)
      https://github.com/zkoss/zk/blob/v8.6.0/zk/src/archive/web/js/zk/au.js#L1312

      The processing will never end.
      https://github.com/zkoss/zk/blob/v8.6.0/zk/src/archive/web/js/zk/au.js#L232

      Workaround

       

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              rudyhuang rudyhuang
              Reporter:
              rudyhuang rudyhuang
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 4 hours
                  4h
                  Remaining:
                  Time Spent - 2 hours Remaining Estimate - 2 hours
                  2h
                  Logged:
                  Time Spent - 2 hours Remaining Estimate - 2 hours
                  2h