Problem
When the browser becomes unresponsive (due to long async operations, infinite loops, etc.), there's no documented recovery process.
Symptoms
- Eye commands timeout
- Eye CLI shows "Handshake failed"
- Browser appears frozen or stuck
Recovery Steps (to document)
- Refresh browser - F5 or Cmd+R on the FunctionServer tab
- Reload Studio - After refresh, run:
getFileFromDisk('~/studio.js').then(code => runApp(code, 'studio.js'))
- Check saved work - Files saved with
Lens.save() persist on disk
- Avoid re-running problematic code - Fix the issue before running again
Prevention
- Avoid long blocking operations in apps
- Use Promise.all() for parallel async calls instead of sequential
- Add timeout handling to _exec calls
- Test apps with small data sets first
Problem
When the browser becomes unresponsive (due to long async operations, infinite loops, etc.), there's no documented recovery process.
Symptoms
Recovery Steps (to document)
getFileFromDisk('~/studio.js').then(code => runApp(code, 'studio.js'))Lens.save()persist on diskPrevention