You can't see it in the simulator. Your testers won't hit it. Your crash reporter won't catch it — because it isn't a crash. It's a returning user quietly losing their app.

The setup. Your app stores data locally (drift, sqflite, Hive, Isar) and syncs to a cloud backend (Supabase, Firebase, your own API). Standard, sensible architecture.

Now a user does something completely ordinary: new phone, or they delete the app to free space and reinstall next week. The OS wipes local storage. Your local database is empty.

They open the app. What happens?

The bug. Most launch logic, stripped down, is: