fix: ES5 compatiblity inside computer-identifiers.js
Co-authored-by: DaanSelen <dselen@systemec.nl>
DaanSelen committed
Feb 7, 2026 at 10:27 UTC
545c1236f05b6f08c948e0cf86f3781423cc5505
1 file changed
+18
-6
agents/modules_meshcore/computer-identifiers.js
+18
-6
@@ -120,20 +120,32 @@ function linux_identifiers()
120
identifiers['product_name'] = ret['product_name'];
121
}
122
123
+ // BIOS Mode
124
try {
124
- if ((require('fs')).existsSync('/sys/firmware/efi')) {
125
+ var uefiExist = false;
126
+ var assumePi = false;
127
+
128
+ try { uefiExist = (require('fs')).existsSync('/sys/firmware/efi'); }
129
+ catch (ex) { uefiExist = false; }
130
+
131
+ try { assumePi = (require('fs')).existsSync('/sys/firmware/devicetree/base/model'); }
132
+ catch (ex) { assumePi = false; }
133
+
134
+ if (uefiExist) {
135
identifiers['bios_mode'] = 'UEFI';
126
- } else if ((require('fs')).existsSync('/sys/firmware/devicetree/base/model')) {
127
- const modelContent = (require('fs')).readFileSync('/sys/firmware/devicetree/base/model').trim();
136
+ } else if (assumePi) {
137
+ var modelBuffer = (require('fs')).readFileSync('/sys/firmware/devicetree/base/model');
138
+ var modelString = modelBuffer.toString().trim()
139
129
- if (modelContent.includes('Raspberry Pi')) {
130
- identifiers['bios_mode'] = 'Raspberry Pi Firmware (Proprietary)'
140
+ if (modelString.includes('Raspberry Pi')) {
141
+ identifiers['bios_mode'] = 'Raspberry Pi Firmware (Proprietary)';
142
}
143
} else {
133
- identifiers['bios_mode'] = 'Legacy';
144
+ identifiers['bios_mode'] = 'Legacy BIOS (MBR)';
145
}
146
} catch (ex) { identifiers['bios_mode'] = 'Legacy / Unknown'; }
147
148
+ // CPU Model info
149
child = require('child_process').execFile('/bin/sh', ['sh']);
150
child.stdout.str = ''; child.stdout.on('data', dataHandler);
151
child.stdin.write('cat /proc/cpuinfo | grep -i "model name" | ' + "tr '\\n' ':' | awk -F: '{ print $2 }'\nexit\n");