Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    13.0p with debug modules: isc.tinycolor is not a function

    Hi,

    We've upgraded our app from 12.1 to 13.0 and when debug modules are used, we are getting this "isc.tinycolor is not a function" error from some components (such as ColorItem). Seems to happen only when debug modules are in use.

    SmartClient Version: v13.0p_2022-01-30/LGPL Development Only (built 2022-01-30)

    #2
    Thanks for the report - there was an issue with this code vs our obfuscator that was actually fixed on the day of your build - please retry with yesterday's, or today's when it arrives.

    Comment


      #3
      Hi,

      Thanks for your quick reply. For some reason, this is still happening to us with

      SmartClient Version: v13.0p_2022-02-02/LGPL Development Only (built 2022-02-02)

      Should it?

      Comment


        #4
        A quick follow-up on this - we were mistaken about the obfuscator issue we mentioned; that issue wasn't involved here at all (you would have seen a failure to load ISC_Forms, due to invalid Javascript, not a failure to find isc.tinycolor).

        In older builds, isc.tinycolor was installed by the Tools module, which you don't have because you're using LGPL. In recent builds, including the one you tried, it's installed by the Forms module, which is of course available in LGPL.

        We tried the build you noted, LGPL from January 30th, and we see no issues - hitting a jsp with useDebugModules set and then evaluating isc.tinycolor in the browser console shows that the object exists. We tried this in the other 13.0 and 13.1 EVAL and LGPL builds since January 30th, and they all work as well.

        So, it's not clear what problem you're having - depending on how you're loading the framework modules, it possible that you're loading an old ISC_Forms.js, or perhaps instantiating widgets before ISC_Forms has been loaded/haven't cleared caches, etc.

        If these things don't apply, we'll need more information to go on, perhaps a stack-trace and a test-case

        Comment


          #5
          Hi again,

          It fails for us simply with

          Code:
              public void doOnModuleLoad() {
                  viewport = new VLayout();
                  viewport.setWidth100();
                  viewport.setHeight100();
          
                  DynamicForm form = new DynamicForm();
                  ColorItem item = new ColorItem("foo");
                  form.setItems(item);
          
                  viewport.addMember(form);
                  viewport.draw();
              }
          
              ...
          
          <script src="@buildId@/sc/modules-debug/ISC_Core.js"></script>
          <script src="@buildId@/sc/modules-debug/ISC_Foundation.js"></script>
          <script src="@buildId@/sc/modules-debug/ISC_Containers.js"></script>
          <script src="@buildId@/sc/modules-debug/ISC_Grids.js"></script>
          <script src="@buildId@/sc/modules-debug/ISC_Forms.js"></script>
          <script src="@buildId@/sc/modules-debug/ISC_DataBinding.js"></script>
          
          <script src="@buildId@/sc/skins/Graphite/load_skin.js?isc_version=13.0.js"></script>
          And fails with

          Code:
          (-:-) [FATAL] Uncaught Exception:
          com.google.gwt.core.client.JavaScriptException: (TypeError) : isc.tinycolor is not a function
              at Unknown.mapValueToDisplay(http://localhost:8080/app/20220201_11/sc/client/widgets/form/ColorItem.js@25:263)
              at Unknown._getDisplayValue(http://localhost:8080/app/20220201_11/sc/client/widgets/form/FormItem.js@21:10908)
              at Unknown._getTableHTML(http://localhost:8080/app/20220201_11/sc/client/widgets/form/FormItem.js@33:6748)
              at Unknown.getInnerHTML(http://localhost:8080/app/20220201_11/sc/client/widgets/form/FormItem.js@30:6347)
              at Unknown.anonymous(http://localhost:8080/app/20220201_11/sc/client/widgets/form/DynamicForm.js@46:6804)
              at Unknown.getInnerHTML(http://localhost:8080/app/20220201_11/sc/client/widgets/form/DynamicForm.js@27:6855)
              at Unknown.c0e_g$(20220201_11-0.js@43:48079)
              at Unknown.self_0_g$.getInnerHTML(20220201_11-0.js@32:47630)
              at Unknown._getInnerHTML(http://localhost:8080/app/20220201_11/sc/client/widgets/Canvas.js@21:5483)
              at Unknown._updateParentHTML(http://localhost:8080/app/20220201_11/sc/client/widgets/Canvas.js@30:7974)
              at Unknown.draw(http://localhost:8080/app/20220201_11/sc/client/widgets/Canvas.js@44:5912)
              at Unknown.invokeSuper(http://localhost:8080/app/20220201_11/sc/client/language/Class.js@40:1676)
              at Unknown.draw(http://localhost:8080/app/20220201_11/sc/client/widgets/form/DynamicForm.js@7:5483)
              at Unknown.layoutChildren(http://localhost:8080/app/20220201_11/sc/client/widgets/Layout.js@20:2686)
              at Unknown.drawChildren(http://localhost:8080/app/20220201_11/sc/client/widgets/Layout.js@11:1430)
              at Unknown.draw(http://localhost:8080/app/20220201_11/sc/client/widgets/Canvas.js@14:5914)
          The same code with 12.1p works.

          Br,
          Marko

          Comment


            #6
            We see the problem and are looking at the best fix - should hit tomorrow's builds, but we'll confirm here.

            Comment


              #7
              This LGPL-only issue has been fixed for builds dated February 9 and later.

              Comment


                #8
                Yes, seems to work now. Thanks!

                Comment

                Working...
                X