Table fuzzy search bug

I exported the app as a JSON, please use it to reproduce the error. Here are the steps:

  1. Create an input and a table with large data.
  2. Set table fuzzy search by input's value
  3. Search something => the table display the correct rows those matched my search.
  4. Press refresh => some random rows appear.
    I'm using self hosted Retool 3.10.2.

Screen recording:

App:

Anyone checking this? For me this is serious bug.

Hi @hiep95 thanks for reaching out! I am looking into this but haven't been able to reproduce it yet :thinking:

The refresh button should just be re-triggering the underlying query :thinking: If you download the table data (from the table toolbar) when this happens, does it have the wrong data in the export as well?

It's weird since I can't reproduce the issue from my exported app, but my production app still has this.
I'll try to reproduce it again this weekend.

1 Like

Hello @Tess

I'm able to reproduce the bug, below I attached a exported app's JSON file. I think I found the issue: if the resource query return a new array order each time, the search will have this issue. In the demo app, I use _.shuffle to simulate this.

Here are the steps:

  1. Create a query to API: https://fapi.binance.com/fapi/v1/exchangeInfo. Use transformer and set this code:
return _.shuffle(data.symbols)
  1. Create a new table displaying that query, a new text input and set table's fuzzy search option to input's value.
  2. Enter something to filter, and press refresh and see the displaying data is wrong.

Exported app:
BugTable Fuzzy Search.json (36.5 KB)

1 Like

Seconding @hiep95 that this is a bug.
I have a Query JSON with SQL with WHERE filter values applied from other components like so. When a filter value changes, the resolved query body does too, it is run again and table refreshes, but the existing search term is not applied to the new resultset.
To @Tess point, Refresh only re-queries, it doesn't "refresh" the search.

Only way around: edit the search term and change e.g. last letter to itself. Changing programmatically doesn't work.
The fix should be to force reapplying the search term (fuzzy or not) after a refresh, triggered manually or automatically.

2 Likes

Thank you both so much! I'm flagging this to our team for a fix