Pad/cmd
Greg Pomerantz 3afeb0f8d4 Bound the startup browser-dir probe and log startup phases
The relaunch restore probes the saved browser dir with os.ReadDir on
the UI thread before the first frame. A FUSE stall on external storage
there would hang the app on the splash screen (reported on device,
intermittent; the 17:15 occurrence rotated out of logcat before it
could be pulled and left no pad.pad ANR). Two changes:

- dirReadable: run the probe in a helper goroutine with a 2 s deadline;
  a stalled read now costs at most 2 s and falls back to the startup
  directory instead of hanging the splash.
- Phase logs (session load duration, restore, entering frame loop,
  first frame rendered) so the next hang bisects itself: the missing
  line names the blocked phase.

Verified on device: full chain logs within 40 ms of process start.
2026-10-08 22:09:08 -04:00
..
pad Bound the startup browser-dir probe and log startup phases 2026-10-08 22:09:08 -04:00