Дата: 5 сентября 2026 года. Проверены самостоятельно написанная программа «Оконные заметки» и финальная self-contained сборка для Windows x64. Результаты не гарантируют отсутствия любых ошибок или уязвимостей.
| Проверка | Результат |
|---|---|
| Сборка Release | Успешна, 0 ошибок и предупреждений. SDK 10.0.400, .NET/Windows Desktop Runtime 10.0.11 |
| Основные автотесты | 30 из 30 |
| Интеграционные проверки готового EXE | 66 из 66; всего с основными тестами — 96 |
| Portable ZIP | Все 480 файлов совпали по SHA-256 с проверенной папкой portable |
| Проверка NuGet | Markdig 1.3.2 закреплён в lock-файлах; команда аудита известных уязвимостей завершилась без находок |
| Microsoft Defender | Сканирование artifacts завершилось с ExitCode=0, угроз не обнаружено |
| Базы Defender | 1.459.68.0, обновлены 05.09.2026 10:06:36 −06:00; антивирус и защита в реальном времени включены |
| Наблюдение за сетью | 8 успешных снимков за 10,3 секунды простоя: TCP=0, UDP=0 |
| Права | Манифест asInvoker, uiAccess=false; установщик PrivilegesRequired=lowest |
| Подпись | Программа и установщик не подписаны: NotSigned |
Доказательства: машиночитаемые отчёты. windows.json включает дополнительную диагностическую запись об активации, которая не считается тестом. Команда аудита зависимостей проверяет известные записи источника NuGet, а не доказывает полную безопасность библиотеки или платформы.
Внешняя заметка раскрывается непосредственно от края целевого окна; ширина вкладки больше не добавляется к отступу. Цветная вкладка встроена в заголовок раскрытой заметки, отдельная вкладка в этот момент скрыта. После сворачивания она возвращается. Общий размер заметки сохранён. Правые кнопки и дополнительная панель удалены; команды находятся в контекстном меню. Компоновка основана на предоставленных пользователем изображениях «до» и «после».
На реальных вспомогательных WPF-окнах проверены четыре расположения (слева/справа, внутри/снаружи), совпадение краёв с точностью до одного физического пикселя, общая ширина, отсутствие видимых кнопочных панелей, доступность команд, повторное открытие и доступность соседних вкладок. Также проверены перемещение, изменение размера, максимизация, возврат в оконный режим, сворачивание, порядок перекрытия, закрытие, восстановление, неоднозначный выбор и ручное открепление.
Обнаруженная ошибка открытия исправлена: заметка больше не сворачивается из-за простого обновления геометрии во время открытия, если Windows отказала в переводе фокуса. Сворачивание происходит при смене активного приложения. При отказе активации заметка остаётся в порядке окон своего приложения, не получает режим «поверх всех».
Финальный тест подтвердил реальную активацию другого процесса (activated=true, foregroundMatchesExpected=true) и последующее сворачивание заметки. Windows может отклонять программный перевод фокуса. Для тестов предусмотрен контролируемый клик только по собственному вспомогательному окну после проверки его процесса и попадания; изменения политики Windows не применяются. Если окно перекрыто или пользователь вводит данные, такой клик отменяется и тест сообщает ошибку. Обычный режим приложения этот код ввода не использует.
Проверены собственный WPF-просмотр Markdown, заголовки, списки, задачи, таблицы, выделение, зачёркивание, код и буквальное отображение HTML. Переключение режимов сохраняет выделение и историю отмены; изменение чекбокса обновляет исходник и отменяется. Проверен ограниченный просмотр сложных документов с сохранением исходного текста.
Проверена вставка растрового изображения через маршрутизируемое WPF-событие вставки, общий обработчик файлов для выбора/перетаскивания, PNG/JPEG/BMP, кириллица, несколько картинок подряд, отмена/повтор, вписывание в ширину, сохранение после перезапуска, экспорт/импорт Markdown и восстановление резервной копии с новыми локальными копиями изображений. Проверены повреждённые файлы, лимиты размера и числа пикселей, отказ записи и запрет изменения заблокированной заметки. Физическое нажатие Ctrl+V, мышиное перетаскивание из стороннего приложения и системный диалог выбора файла отдельно вручную не испытывались; буфер обмена пользователя не изменялся.
Миграция схемы 1 → 2 проверена с неизменными текстами, привязками и копированием изображений в резервную папку. Проверены отказ записи при миграции, сохранение исходного файла, повреждённый JSON, неизвестная будущая версия схемы, атомарная запись, резервирование до изменений и защита CSV от формул.
Отображение не загружает удалённые изображения и не выполняет HTML, скрипты или XAML из заметки. Проверены заглушки для сетевых/произвольных файловых ссылок и отсутствующих изображений, запрет выхода из каталога при импорте. HTTP/HTTPS открывается только явным действием во внешнем браузере; локальные пути показываются в Проводнике, а не запускаются как файлы. Фоновые украшения не заменены изображениями внутри Markdown.
Проверены одноразовое включение автозапуска, сохранение последующего отключения, обнаружение несовпадающего пути, аргументы с пробелами/кириллицей и корневым каталогом, отказ записи без ложного сообщения об успехе. Эти проверки используют изолированный адаптер реестра. Готовый EXE проверен с --startup: палитра скрыта, приложение остаётся работающим, повторный автоматический экземпляр завершается без диалога.
Установленная ранее программа, её настройки и текущие заметки извне не изменялись. Реальная запись автозапуска версии 1.1 создаётся при её первом обычном запуске. Полный выход пользователя из Windows и повторный вход не выполнялись; фактический запуск через HKCU Run после входа остаётся непроверенным на этом компьютере. Ограничения диспетчера задач и системных политик не обходятся.
Фактическая среда: Windows 11 Pro x64, ОС 10.0.26200. Windows 10 2004+ остаётся целевой, но здесь непроверенной платформой. На реальных тестовых окнах испытан один монитор. Масштабы 100/150/200%, отрицательные координаты, точное доступное место и нижняя граница проверены на модели геометрии. Физический переход между мониторами с разным DPI, переподключение экранов, виртуальные рабочие столы, Remote Desktop, полноэкранные игры и все сторонние приложения не проверены.
Визуальная проверка по пикселям нового приложения не проводилась согласно предпочтению пользователя; проверялись координаты и структура WPF. Установщик собран, но установка/деинсталляция на компьютере пользователя не выполнялись. Данные и резервные копии не зашифрованы. Короткое наблюдение за сетью не исключает кратковременных соединений; отсутствие обнаружений Defender не является гарантией безопасности.
| Файл | SHA-256 |
|---|---|
| WindowNotes-1.1.0-win-x64-setup.exe | b2131ca6811ba16240d601c4830d249510dffe0a8e7415771489a4193b11ca80 |
| WindowNotes-1.1.0-win-x64-portable.zip | f2365217f0c5c0249ff33ecc1ac8d725529daa8a1fa1be7a111ee283927ba0a0 |
| portable/WindowNotes.exe | 4dfcc885fcf78a39d5969bbb3fbdad9cbae1a647303917d39fc99cce36bea5be |
| portable/WindowNotes.dll | cae99aa9ba93c3c4fda19d082b0b8aea601befb9387dd6d2e0512669ac7d5a1a |
Сумма финального архива исходников указана вместе с суммами пакетов в artifacts/SHA256SUMS.txt. Для повторения: build.ps1 и затем tools/verify-release.ps1.
В публичных копиях журналов локальный абсолютный путь заменён на ; результаты и хеши не изменены.