feat: add brew app connection

- initialize tcp communication with brew app
- WIP value editor sync

Signed-off-by: pakintada@gmail.com <Pakin>
This commit is contained in:
pakintada@gmail.com 2026-04-03 17:25:27 +07:00
parent 08f7626dcb
commit 274025ed33
14 changed files with 431 additions and 69 deletions

View file

@ -0,0 +1,41 @@
import { addNotification } from '../stores/noti';
type AdbPayload = { type: string; payload: any };
async function handleAdbPayload(raw_payload: string) {
console.log('get payload', raw_payload);
try {
const payload: AdbPayload = JSON.parse(raw_payload);
switch (payload.type) {
case 'log':
let log_level = payload.payload['level'] ?? 'INFO';
let log_message = payload.payload['msg'] ?? '';
if (log_message !== '') addNotification(`${log_level}`);
break;
case 'response':
if (payload.payload instanceof String) {
// single message response
}
break;
case 'ACK':
// acknowledge response from app
if (payload.payload !== 'OK') {
// abnormal
console.error('error from ACK', payload.payload);
addNotification('ERR:Request rejected');
}
break;
case 'error':
// show error to user from brew app
addNotification(`ERR:${payload.payload}`);
// send message to server if needed
break;
default:
}
} catch (error: any) {
// invalid format
}
}
export { handleAdbPayload };