Skip to content

feat(about): сведения о железе — BIOS, серийник, код платы (XIC-3) - #26

Merged
Oksion merged 1 commit into
mainfrom
feat/xic-3-system-info
Aug 3, 2026
Merged

feat(about): сведения о железе — BIOS, серийник, код платы (XIC-3)#26
Oksion merged 1 commit into
mainfrom
feat/xic-3-system-info

Conversation

@Oksion

@Oksion Oksion commented Aug 3, 2026

Copy link
Copy Markdown
Owner

Закрывает XIC-3.

Что появилось

На вкладке «О программе», рядом с моделью:

Поле Пример
Модель Xiaomi Book Pro 14 (TM2424)
BIOS XMAPT4B0P0A0A · 2026-06-17
Серийный номер ••••••••0093

Код платы (Win32_BaseBoard.Product) приклеен к модели: в отчётах о совместимости важен именно он, а не маркетинговое название. Дубль не клеим, если код уже внутри названия — иначе получалось бы «Redmi Book TM2424 (TM2424)».

Серийный номер закрыт по умолчанию

Мы сами просим присылать скриншоты этой вкладки в тему совместимости — уникальный идентификатор устройства в публичном треде ни к чему. Видны последние четыре знака (владелец узнаёт свой), клик раскрывает целиком, при следующем открытии окна снова закрывается. При наведении — подсказка.

Заодно починено

SafeModel() дёргал WMI синхронно в конструкторе вкладки, а она пересобирается на каждый показ окна и на каждую смену темы, DPI или языка — то есть запрос улетал по нескольку раз за сессию. Теперь всё в SystemInfo с ленивым кэшем на сеанс: железо за время работы приложения не меняется.

Отсеиваются вендорские заглушки (To be filled by O.E.M., Default string, None, N/A) — на чужой машине поле просто не показывается, вместо столбика прочерков.

AddKv теперь возвращает label значения (понадобилось для кликабельного серийника); остальные вызовы не тронуты.

Проверка

  • dotnet build — 0 ошибок / 0 предупреждений
  • dotnet test280 зелёных (было 257): форматирование модели и BIOS, маскировка, разбор CIM-даты, отсев заглушек. Живой WMI не трогаем — на CI его нет, а значения машинно-зависимы
  • Вживую на TM2424: все три поля отображаются, клик раскрывает серийник

Документация

CHANGELOG обновлён; из ROADMAP убран пункт «Идеи» — он закрыт этим PR.

На вкладке «О программе» рядом с моделью появились версия BIOS с датой выпуска
и серийный номер. Модель показывается вместе с кодом платы («Xiaomi Book Pro 14
(TM2424)») — в отчётах о совместимости важен именно код; дубль не клеим, если он
уже внутри названия.

Серийный номер закрыт по умолчанию, видны последние четыре знака. Мы сами просим
присылать скриншоты этой вкладки в тему совместимости — уникальный идентификатор
устройства в публичном треде ни к чему. Клик раскрывает значение до следующей
пересборки окна.

Заодно чиним найденное по дороге: SafeModel() дёргал WMI синхронно в конструкторе
вкладки, а она пересобирается на каждый показ окна и на смену темы/DPI/языка.
Теперь всё в SystemInfo с ленивым кэшем на сеанс — железо за время работы
приложения не меняется. Отсеиваются вендорские заглушки (To be filled by O.E.M.,
Default string, None): на чужой машине поле просто исчезает, а не показывает мусор.

AddKv теперь возвращает label значения — понадобилось, чтобы сделать серийник
кликабельным, остальные вызовы не тронуты.

Тесты 257 -> 280: форматирование модели и BIOS, маскировка, разбор CIM-даты,
отсев заглушек. Живой WMI не трогаем — на CI его нет.

Проверено вживую на TM2424.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Oksion
Oksion merged commit 255c19e into main Aug 3, 2026
5 checks passed
@Oksion
Oksion deleted the feat/xic-3-system-info branch August 3, 2026 08:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant