Our app seems to be working again, for what it’s worth.
Thanks for that update, @joshwinters! I was hopeful that our most recent updates would address some of these lingering issues. To everybody else - let me know if you're still seeing any blank screens or failed queries after updating!
I just updated my samsung tablet to 3.367 and I’m still seeing failed queries like before
Me too, today I noticed that queries that were working fine and always worked are now not working, giving errors, and I have to run them several times.
I updated to 3.375.0 today on my samsung tablet and random queries are still failing
Thanks for reporting, @Jose_Rolando_Lafaurie and @Peter_Kunz. Are these issues still limited to tablets? Any and all information that you can provide would be helpful - app exports, screen recordings, etc.
I just made this video of it working on the tablet tablet video
We have the same issue (since about 3-4 weeks) with Zebra TC22 smartphones (running Android). App randomly whitescreens when switching between tabs (like in Jose’s video). We have switched to browser-based in the meantime, but it is certainly not great.
Hey everyone, I've been experiencing the same issues since early February. As far as I'm concerned, the last stable version was the one released on January 24th (3.332.0).
We're running the Retool app on a fleet of roughly a hundred Samsung devices. We have a mix of older phones (S21) and newer ones (A56 and S25), which means different Android versions are in play — One UI 7.0 / Android 15 on one end, and One UI 8.0 / Android 16 on the other. Both are equally affected across the various releases, and 3.375.0 is no exception.
To confirm that the app version was indeed the root cause, I forced a downgrade from 3.375.0 back to 3.332.0 using an APK file. Once the downgrade was done, everything went back to normal.
I sourced the APK from a third-party website — does Retool provide access to official APKs anywhere? If not, it would really make sense to do so during this bug-fixing phase.
On our end, the main issues are random query execution failures, which are especially painful when orchestrating query sequences through event handlers. Given how long this has been going on since February, we're actually considering moving those workflows to the back end going forward.
Do you have any visibility on a timeline for fixing these bugs? And any chance of making official APKs available?
Thanks in advance!
Thanks for the feedback everybody! I've shared this previously, but just want to reiterate and put all of this into context.
Release version 3.355.0 represented a fairly significant rearchitecure of the Android build that was primarily focused on improving overall performance. Unfortunately, this change also exposed some underlying flaws - both in our builds and the construction of certain apps.
One of the common reports we've received is intermittent query failure, for example. After a bunch of testing and digging into app JSON, we're fairly confident that these failures are the result of race conditions that were previously being masked by a more inefficient architecture. The fix is to ensure sequential execution of dependent queries via await and, as a safety net, handle null values wherever possible.
If multiple queries fire in the same event handler without await, they race each other through the mobile bridge.
Dependent queries and component bindings can read null during the brief window when a parent query has cleared its data but hasn't yet repopulated it.
Under heavy load, updates can also arrive out of order, leaving your UI stuck on stale or empty values.
The kind of pattern breaks:
q_root.trigger()
q_child1.trigger()
q_child2.trigger()
q_child3.trigger()
1. Use Await each trigger (recommended for sequential flows)
await q_root.trigger()
await q_child1.trigger()
await q_child2.trigger()
await q_child3.trigger()
Also, just to make sure:
2. Guard templates against null
Even with the patterns above, every template that reads another query's data should tolerate null during loading or error states:
// Bad — throws if q_root is still loading
return { parent: {{ q_root.data.id }} }
// Good — safe during any state
const root = q_root.data
if (!root) return { parent: null, count: 0 }
return { parent: root.id, count: root.rows.length }
I understand that this refactor requires a certain level of manual effort and am happy to provide support during Office Hours! If the timing doesn't work, let me know and we can figure something out.
I know that we have previously shared APKs in response to specific outages and/or incidents, but don't have a formal distribution channel. I can ask about that, though!
Thanks for the feedback. I know that, in terms of performance, this version represents a significant leap forward, and I'm very pleased with that. I just wanted to ask if you’ve identified the cause of the white screens and if you have an estimated timeframe for a resolution.
Understood! We made one tweak in version 3.380.0 that may reduce the number of blank screens that people are seeing, but are also planning an update to the underlying react-native framework that will ship before the end of May and hopefully eliminate the issue entirely.
Hello Darren,
Thanks for the follow-up! I’d like to share a quick status update on our side.
First of all, version 3.380.0 does not fully resolve the issues we’ve been experiencing. As a result, we reached out to our account manager at Retool to ask whether it would be possible to obtain the latest version of the app as an officially signed APK, so we could deploy it via our MDM solution (Samsung Knox).
The request was passed on to the support team, who were extremely helpful and provided us with the APK we needed. We were able to deploy it successfully and have regained a good level of stability.
We understand this is a temporary solution, while we wait for upcoming app releases and the significant React Native update.
In the meantime, I can only commend the professionalism and responsiveness of the Retool teams. Thank you!
Glad to hear it, @cedric.liike! Thanks for the kind words. The mobile team is working hard to get through this architectural overhaul, so don't hesitate to let us know where there are still issues.
I also tested 3.380.0 today on my samsung tablet, and I am still seeing random queries fail. Sometimes none will fail, and then I will trigger the same set of queries and a new/different query will fail. I have some screen recording I can share privately, but it looks the same as previous screenshots I have sent to Darren.
I still have android (specifically the samsung tablets) users keeping updates disabled so they stay on 3.332 which did not have these issues.