Select Module worked and is now blank

I added a module to a modal (the module is just a simple select), and the module worked for a day, but when I went back to the app all the modules (which are all of the same type) are now completely blank, any idea of why this is? Why would they work at one point and now go blank without anything changing?



If I rename the module component it then shows back up, so to resolve I renamed to something else, and then renamed them back. Any idea why renaming the component would resolve whatever issue was causing it to be blank?

The renaming resolved it for now, but not sure if the error will come back again.

This has happened to me as well...+1 on addressing this.

image

Now it has disappeared again....

@scarrucciu @BurkeWise How strange, thanks for letting us know you ran into this issue and for describing it here. I'm glad you found a workaround by renaming and then renaming back to the original name! Interested to gather some more details so I can look into this further, confirm whether it's a bug, and if so let the relevant Retool engineering teams know.

Would you each mind writing in to our team (from the bottom right ? icon when editing a Retool app) so we can take a closer look at these specific apps where you're running into the Select modules going blank? Thanks :slightly_smiling_face:

@kbn thanks, wrote to the team within the app.

@kbn I believe we chatted with support a bit but still having issues. It seems to be a problem with the interaction of a module inside of a form. I was getting a similar issue with a module inside of a list view (something about an undefined space id), but I am not seeing any of those same errors in the debug console.

Do you know if there are known bugs with a module inside of a form?

I'm seeing the same issue.

We're looking into this bug! While we do, would you mind sharing which browser you're using Retool on? We'll post again on this thread when the bug is fixed.

I am using Edge.

I also showed Lauren on your team and she successfully identified the bug.

@retool_team @kbn @lauren.gus It's been 2 months since we flagged this. This bug is still happening and the renaming only works for a second then it breaks again. We have it in another module as well. When we insert module1 into module2, module1 just shows as blank space. It's been over a month and this hasn't been addressed.

The new module is called CreateNewContactModal. Feel free to look in it. The issue is the same as before. We are reproducing this error on our side and we are happy to get on a call / zoom / screen share and reproduce it for you.

@BurkeWise Thanks for your patience and for letting us know you're still seeing this. After not being able to reproduce what you were seeing before, we made some troubleshooting progress today!

After inspecting the settings inside the companySelect module and the settings within it's parent app (the add investment module), the issue seems to be a bug related to the hardcoded selectType input not re-evaluating correctly on page load.

On page load, the hardcoded value "select" is not being passed into the module correctly, so the logic on the "hide when true" input is always true. While we work on fixing this, as a temporary workaround a transformer or jsquery that returns "select" as a string, then is referenced in the input to the selectType field ({{query.data}} or {{transformer.value}}) instead of hardcoding the string there (screenshot below) causes this value to evaluate another time and solves the issue. When I tried that, the select modules started rendering for me in the app where previously they weren't showing up. Let me know if that workaround makes sense and you see the same thing on your end!

Thank you, this worked, can you let us know when that bug is resolved? Also, is the bug that all inputs do not get injected on page load? I have seen some other bugs that I used a similar workaround for in the past that may be cause by the same bug.

@scarrucciu glad the workaround worked on your side too! That's right, all inputs do not get injected on page load. Yes, I will post back here to let you know when the bug is resolved.

I'm seeing something simlar that I was able to work around using the suggestions here.

I have a module in an app.
If I set the inputs to empty string "" or a static string, then if I try to update the inputs at a later point programatically in JS, they will never update in the module.

Using the suggestions here, I created a temporary state, and set the module inputs to the temporary state ( {{ myTmpState.value }} ).
When I want to update the module inputs, I update the temporary state instead. this works, and triggers updates in the module and it's UI.

It's clunky for a lot of modules and inputs, so it would be nice for it to get fixed, but the workaround is acceptable for now.