Announcement

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

    implicitCriteria using a field not in response and client filtering

    Hello, I've found a place in one of my apps where I have a bug which is related to a change in behaviour which occurred actually quite some time ago, precisely:

    old behaviour: SmartClient Version: v13.0p_2022-09-09/Enterprise Development Only (built 2022-09-09)
    new behaviour: SmartClient Version: v13.0p_2022-09-12/Enterprise Development Only (built 2022-09-12)

    it can be reproduced in the expansionLimitedWithDetails sample, with this test case:

    Code:
    isc.ListGrid.create({
        ID: "itemList",
        width:500, height:300, showFilterEditor:true,
    
        // use the supplyItemWithOps dataSource and use it's "outputsLimitedFetch" operation.
        // this demonstrates using "outputs" on an operationBinding to forcibly limit the data
        // retrieved for each row
        dataSource: supplyItemWithOps,
        fetchOperation: "outputsLimitedFetch",
        autoFetchData: true,
        //fetchMode:"local",
        fields: [
            {name: "itemName"},
            {name: "SKU"},
            {name: "category"}
        ],
        implicitCriteria:{units:"Roll"}
    });
    in practice there's an implicitCriteria regarding a field which doesn't appears in the response data.
    With the old behaviour, when you type Exe in the category field, it will filter and show the only matching record.
    With the new behaviour, no record is shown.

    As I'm a bit worried to have other similar cases, and it's not easy for me to discover them, I want to ask:
    - could you please confirm that the new behaviour is the "right" behaviour and won't change?
    - do you think it's possible to detect similar situations (in the framework or even in my app code) to log a warning?

    #2
    hi Claudio, thanks for the report.

    We've tracked down why this is happening and we're looking at the best fix - we'll update here when one hits builds.

    Comment


      #3
      hi Claudio,

      Before the date you mentioned, implicitCriteria being present would have caused a fetch in this case - framework enhancements around that time refined when fetches should occur, and they shouldn't with more restrictive criteria, as in this case.

      However, since this implicitCriteria-field is not in the specified "outputs", a server-filter is indeed required because the field-values are not client-side for filtering.

      We've applied a fix for this issue and you should be able to try it out in tomorrow's builds, dated July 23.


      UPDATE: these changes are in 13.1 for July 23 builds, but were not yet ported to 13.0 - see July 24 builds for that branch
      Last edited by Isomorphic; 23 Jul 2024, 02:29.

      Comment


        #4
        I see it's fixed, thank you very much!

        Comment


          #5
          Hello, could you please port the fix also to 12.1?

          Comment


            #6
            Hi Claudio
            If you're doing active development in SmartClient, we typically do not recommend doing this in a version older than the latest stable version as it is not always practical to backport fixes to older branches.
            In this case we may be able to backport to 12.1 but before we look at that, can we confirm why this is a requirement for you?
            Are you doing active development against 12.1, or are you being bitten by this bug in an existing 12.1 deployment, or something else?
            Is upgrading to 13.0 an option for you?

            Thanks
            Isomorphic Software

            Comment


              #7
              Hello, no, I'm not actively developing on 12.1, but I updated that application from an older version of 12.1 because I needed another fix, and I encountered this issue.
              I managed to bypass it using useClientFiltering: false, but my concern is that the same issue might occur elsewhere in that application.
              The plan is indeed to upgrade to 13.0, but at the moment, I'm heavily involved with developments on another application (which is on 13.1).
              However, if backporting is problematic, I'll hope not to encounter further issues, and if necessary, I'll manage with the workaround.

              Comment

              Working...
              X