diff --git a/frontend/workspace.js b/frontend/workspace.js index 3548c59..e3ac6b5 100644 --- a/frontend/workspace.js +++ b/frontend/workspace.js @@ -396,6 +396,21 @@ async function loadWorkspaceTree() { setDone(`Workspace выбран: ${workspace}`); } +function parseLegacyDevices(stdout) { + return (stdout || '') + .split('\n') + .filter(line => line.includes('device') && !line.includes('List')) + .map(line => { + const serial = line.split(/\s+/)[0]; + return { + serial, + title: serial, + subtitle: 'ADB device', + state: 'device' + }; + }); +} + async function loadDevices() { setStatus('Ищу Android устройства', 'running'); appendLog('Обновление списка Android устройств'); @@ -409,11 +424,9 @@ async function loadDevices() { return; } - const lines = (data.stdout || '').split('\n'); - - const devices = lines.filter(line => - line.includes('device') && !line.includes('List') - ); + const devices = Array.isArray(data.devices) && data.devices.length > 0 + ? data.devices + : parseLegacyDevices(data.stdout || ''); if (devices.length === 0) { container.innerHTML = 'Устройства не подключены'; @@ -422,23 +435,19 @@ async function loadDevices() { return; } - container.innerHTML = devices.map(device => { - const id = device.split(/\s+/)[0]; + container.innerHTML = devices.map(device => ` +