[Bug] Device saved with serial "undefined" shows as permanent Offline row and cannot be removed via trash icon
Describe the bug
A device can get saved in config.json under the literal key "undefined" instead of its serial. Once that happens it shows as a permanent "Offline" row in the Devices tab with an empty Serial column, and the trash icon does nothing — presumably because the remove action looks up the entry by serial and there isn't one.
adb devices -l (using the bundled adb) listed no devices at all, so the row came purely from the saved config.
Relevant part of ~/Library/Application Support/escrcpy/config.json:
"device": {
"undefined": {
"remark": "Z Fold 5",
"status": "offline",
"type": "offline"
}
}To reproduce
I can't say exactly what produced it. The device (Samsung Galaxy Z Fold 5) had previously been connected over USB and Wi-Fi and given a remark. At some point it was persisted with an undefined serial. The row then survived app restarts and reinstalls (config is kept across reinstalls).
Expected behaviour
Either of:
- Don't persist a device entry when the serial is
undefined/ empty. - Let the trash button remove an entry whose key isn't a valid serial (e.g. remove by the row's config key rather than by serial).
Workaround
Quit Escrcpy, delete the "undefined" object from device in config.json, relaunch. The row is gone and the app is otherwise unaffected.
Environment
- Escrcpy 3.2.0 (
Escrcpy-3.2.0-mac-arm64.dmg), also present on 3.0.8 - macOS 26 (Darwin 25.6), Apple Silicon
- Device: Samsung Galaxy Z Fold 5
Source: viarotel-org/escrcpy