ui: net-sim Home network button; compact HPLMNwAcT monitor row (v2.7.18)

- netstate.home_plmn(): the card's home network — EF.HPLMNwAcT first
  record (the HPLMN per TS 31.102 4.2.5), falling back to the IMSI with a
  2-digit MNC.  Exposed as state.network.home in /api/net-state.
- The net-sim parameters get a Home network button next to Random roaming
  operator: it fills MCC/MNC and reports the source (EF.HPLMNwAcT/IMSI).
- The monitor's HPLMNwAcT row now shows only the first network (code
  only) plus a '… +N' counter; the tooltip keeps the full decoded list
  with the access technologies.
- tests: netstate home_plmn cases, netsim button handler, updated
  netstate expectations; help EN/RU.
This commit is contained in:
2026-09-21 00:44:20 +03:00
parent 87052212b7
commit dfb7b694f9
10 changed files with 140 additions and 14 deletions
+3 -2
View File
@@ -74,7 +74,7 @@ test('netStateSummary renders decoded file contents compactly', () => {
const fplmn = netStateSummary('fplmn', { present: true, kind: 'transparent', data: 'AA' });
assert.strictEqual(fplmn.text, '262-01, 246-81');
const hplmn = netStateSummary('hplmnwact', { present: true, kind: 'transparent', data: 'AA' });
assert.strictEqual(hplmn.text, '262-01 (LTE)');
assert.strictEqual(hplmn.text, '262-01');
const absent = netStateSummary('loci', { present: false });
assert.strictEqual(absent.text, '—');
assert.strictEqual(absent.title, 'not present');
@@ -110,7 +110,8 @@ test('netStateSummary abbreviates a long HPLMNwAcT list', () => {
] },
});
const s = netStateSummary('hplmnwact', { present: true, kind: 'transparent', data: 'AA' });
assert.strictEqual(s.text, '250-99 (LTE), 250-32 (LTE), 250-54 (LTE) … +2');
// first network only (no access tech in the row), plus the hidden count
assert.strictEqual(s.text, '250-99 … +4');
});
test('netStateRender paints the service badge, location and rows', () => {