diff --git a/desktop/app/src/devices/AndroidDevice.tsx b/desktop/app/src/devices/AndroidDevice.tsx index 2f22ee426..08c82cd16 100644 --- a/desktop/app/src/devices/AndroidDevice.tsx +++ b/desktop/app/src/devices/AndroidDevice.tsx @@ -79,6 +79,19 @@ export default class AndroidDevice extends BaseDevice { type, }); }) + .on('end', () => { + if (this.reader) { + // logs didn't stop gracefully + setTimeout(() => { + if (this.connected.get()) { + console.warn( + `Log stream broken: ${this.serial} - restarting`, + ); + this.startLogging(); + } + }, 100); + } + }) .on('error', (e) => { console.warn('Failed to read from adb logcat: ', e); }); @@ -90,6 +103,7 @@ export default class AndroidDevice extends BaseDevice { stopLogging() { this.reader?.end(); + this.reader = undefined; } reverse(ports: [number, number]): Promise {