I checked in with an engineer who’s focussing on app performance. You're right that this screen should not be 6MB. One part of the bloat is due to our webpack configuration. In lighthouse, you can see that >50% of the app.js file is unused for login. Most of this is actually used for the app after login.
We’re working on getting this down significantly but, that being said, the login page isn’t our highest priority. It’s the first thing customers see, but >99% of the time, they’ll already be logged in and navigate straight to the apps page, or a specific Retool app. For these pages, we’ve:
1. re-written our core runtime to avoid excessive message passing with iframes (up to 75% faster page load for slowest apps)
2. parallelized resource fetching with JS execution
3. cached app graph information in IndexedDB
4. tweaked webpack chunking strategy to avoid very small JS/CSS chunks
5. optimized resource fetching to avoid over fetching
Hope that’s helpful context. Definitely let me know if you have thoughts/other ideas