Trinity - Управление частотой процессора
Цитата: dehote9223 от 13.10.2026, 21:08Внедрена сквозная криптографическая верификация обновлений — теперь временный бинарник валидируется по Git Blob SHA-1 непосредственно перед подменой exe.
Устранён сбой в цикле чтения потока WinHttp, приводивший к ложноположительному статусу успешной загрузки при внезапном разрыве сетевого соединения.
Функция расчёта SHA-1 сделана универсальной для любых путей, удалена мёртвая логика получения размера файла через API GitHub.
Внедрена сквозная криптографическая верификация обновлений — теперь временный бинарник валидируется по Git Blob SHA-1 непосредственно перед подменой exe.
Устранён сбой в цикле чтения потока WinHttp, приводивший к ложноположительному статусу успешной загрузки при внезапном разрыве сетевого соединения.
Функция расчёта SHA-1 сделана универсальной для любых путей, удалена мёртвая логика получения размера файла через API GitHub.
Цитата: dehote9223 от 14.10.2026, 06:51Напоминалка
Исправлена ошибка, из-за которой разовые напоминания с указанием дня недели ("Среда, ...", "В пятницу, ...") или выходных ошибочно считались регулярными и переносились на следующую неделю вместо удаления при нажатии "Выполнено".
Теперь автоматический перенос срабатывает только при явном указании повторяемости ("каждую среду", "по средам").Добавлена поддержка фраз "в следующий вторник" / "в эту пятницу" и интервалов "каждые N дней".
Нелегко даётся Гемини логика напоминалки )
Напоминалка
Исправлена ошибка, из-за которой разовые напоминания с указанием дня недели ("Среда, ...", "В пятницу, ...") или выходных ошибочно считались регулярными и переносились на следующую неделю вместо удаления при нажатии "Выполнено".
Теперь автоматический перенос срабатывает только при явном указании повторяемости ("каждую среду", "по средам").
Добавлена поддержка фраз "в следующий вторник" / "в эту пятницу" и интервалов "каждые N дней".
Нелегко даётся Гемини логика напоминалки )
Цитата: dehote9223 от 14.10.2026, 12:42Оптимизирован опрос термодатчиков чиплетов (CCD) через SMN для процессоров AMD.
Добавлена архитектурная приоритизация по семействам (Zen 2, Zen 3, Zen 4 Raphael и Zen 5 Granite Ridge / Turin), ускоряющая первичное определение датчиков.
Полностью устранена фоновая микронагрузка на шину PCI для монолитных процессоров со встроенной графикой (APU серий G, HS, Hawk Point и др.): внедрено кэширование отсутствия физических CCD, что исключило холостые циклы чтения по шине.
Добавлен обход бага некоторых версий микрокода AGESA на платформе AM5 (Zen 4), из-за которого в регистрах CCD мог не выставляться флаг валидности (0x800) при полностью корректных тепловых данных.Внедрена предварительная валидация поддерживаемых инструкций и MSR-регистров через __cpuid для процессоров Intel.
Исключён риск возникновения BSOD (0x3B / 0x7E) при запуске в виртуальных машинах и под гипервизорами (Hyper-V / WSL2 / KVM) — опрос MSR 0x1B1 (Package DTS) и 0x19C (Core DTS) теперь защищен проверкой листа CPUID 06H с автоматическим переходом на WMI/PDH.Архитектурные флаги процессоров кэшируются при старте, снижая накладные расходы при ежесекундном опросе датчиков.
Оптимизирован опрос термодатчиков чиплетов (CCD) через SMN для процессоров AMD.
Добавлена архитектурная приоритизация по семействам (Zen 2, Zen 3, Zen 4 Raphael и Zen 5 Granite Ridge / Turin), ускоряющая первичное определение датчиков.
Полностью устранена фоновая микронагрузка на шину PCI для монолитных процессоров со встроенной графикой (APU серий G, HS, Hawk Point и др.): внедрено кэширование отсутствия физических CCD, что исключило холостые циклы чтения по шине.
Добавлен обход бага некоторых версий микрокода AGESA на платформе AM5 (Zen 4), из-за которого в регистрах CCD мог не выставляться флаг валидности (0x800) при полностью корректных тепловых данных.
Внедрена предварительная валидация поддерживаемых инструкций и MSR-регистров через __cpuid для процессоров Intel.
Исключён риск возникновения BSOD (0x3B / 0x7E) при запуске в виртуальных машинах и под гипервизорами (Hyper-V / WSL2 / KVM) — опрос MSR 0x1B1 (Package DTS) и 0x19C (Core DTS) теперь защищен проверкой листа CPUID 06H с автоматическим переходом на WMI/PDH.
Архитектурные флаги процессоров кэшируются при старте, снижая накладные расходы при ежесекундном опросе датчиков.
Цитата: dehote9223 от 14.10.2026, 15:58Улучшен механизм обновления
При сбое загрузки файла обновления или ошибке его замены теперь доступна кнопка "Повторить" (вместо закрытия процесса), позволяющая сразу повторить попытку без необходимости заново проверять обновления вручную.
Оптимизирована очистка временных файлов (.tmp) перед повторной загрузкой.Сибирь, после переезда на ГитХаб я впервые словил такую ошибку при обновлении, на Яндексе не было )
Улучшен механизм обновления
При сбое загрузки файла обновления или ошибке его замены теперь доступна кнопка "Повторить" (вместо закрытия процесса), позволяющая сразу повторить попытку без необходимости заново проверять обновления вручную.
Оптимизирована очистка временных файлов (.tmp) перед повторной загрузкой.
Сибирь, после переезда на ГитХаб я впервые словил такую ошибку при обновлении, на Яндексе не было )
Цитата: dehote9223 от 14.10.2026, 18:04Автозагрузка
Добавлена проверка актуальности пути к исполняемому файлу в Планировщике Windows.
Если файл был перемещён или удалён из прежнего места, недействительная задача автоматически удаляется при запуске, а пункт "Автозапуск с Windows" корректно сбрасывается.
Автозагрузка
Добавлена проверка актуальности пути к исполняемому файлу в Планировщике Windows.
Если файл был перемещён или удалён из прежнего места, недействительная задача автоматически удаляется при запуске, а пункт "Автозапуск с Windows" корректно сбрасывается.
Цитата: dehote9223 от 14.10.2026, 19:20Повышена надёжность модуля проверки обновлений
Добавлен резервный алгоритм (fallback) на случай сбоев или таймаутов API GitHub.
Если хэш файла на сервере изменился, но дату коммита получить не удалось, программа гарантированно предложит обновление с пометкой "Новая версия".
Исправлена ситуация, при которой могла ошибочно появляться плашка "Отсутствует подключение к интернету" при уже обнаруженном обновлении.
Оптимизирована запись времени файла (SetFileTime): теперь атрибуты времени применяются только при наличии валидной даты релиза.
Повышена надёжность модуля проверки обновлений
Добавлен резервный алгоритм (fallback) на случай сбоев или таймаутов API GitHub.
Если хэш файла на сервере изменился, но дату коммита получить не удалось, программа гарантированно предложит обновление с пометкой "Новая версия".
Исправлена ситуация, при которой могла ошибочно появляться плашка "Отсутствует подключение к интернету" при уже обнаруженном обновлении.
Оптимизирована запись времени файла (SetFileTime): теперь атрибуты времени применяются только при наличии валидной даты релиза.
Цитата: dehote9223 от 15.10.2026, 07:13Редактор меню проводника и автозагрузки
Значительно расширен поиск мест, из которых могут скрыто стартовать программы и скрипты:
Добавлено отображение модулей первоначальной настройки Windows (Active Setup).
Добавлено сканирование системных ключей Winlogon и классических параметров Windows (Load/Run).
Теперь сканер Планировщика задач отображает не только программы при старте ПК, но и скрытые фоновые триггеры (запуск по времени, по событиям системы и по расписанию обслуживания).Улучшен запуск графических программ (Редактор реестра, Cmd, PowerShell, Запуск файлов) с привилегиями TrustedInstaller.
Исправлена проблема в Windows 11, из-за которой окна могли запускаться в фоновом режиме (невидимыми), за счет автоматической выдачи прав на интерактивный рабочий стол (WinSta0\Default).Удалена поддержка устаревших веток реестра для пунктов контекстного меню Проводника, код переведён на единый актуальный стандарт именования.
Редактор меню проводника и автозагрузки
Значительно расширен поиск мест, из которых могут скрыто стартовать программы и скрипты:
Добавлено отображение модулей первоначальной настройки Windows (Active Setup).
Добавлено сканирование системных ключей Winlogon и классических параметров Windows (Load/Run).
Теперь сканер Планировщика задач отображает не только программы при старте ПК, но и скрытые фоновые триггеры (запуск по времени, по событиям системы и по расписанию обслуживания).
Улучшен запуск графических программ (Редактор реестра, Cmd, PowerShell, Запуск файлов) с привилегиями TrustedInstaller.
Исправлена проблема в Windows 11, из-за которой окна могли запускаться в фоновом режиме (невидимыми), за счет автоматической выдачи прав на интерактивный рабочий стол (WinSta0\Default).
Удалена поддержка устаревших веток реестра для пунктов контекстного меню Проводника, код переведён на единый актуальный стандарт именования.
Цитата: dehote9223 от 15.10.2026, 14:09Напоминалка
Добавлено выполнение системных команд управления питанием и блокировкой ПК по времени и таймеру (блокировка, спящий режим, выключение, перезагрузка).
За 30 секунд до выполнения команды возле часов появляется жёлтое окно с обратным отсчётом времени и звуковым сигналом, предотвращающее случайную потерю данных.
Строка внизу редактора в отслеживает статус ожидания (например, "💤 🌙 Усыпит ПК через 4 мин (отложено до 14:02)").
Строка подсказки наглядно распознаёт команды и время срабатывания (🔒 Заблокирует ПК, 🛑 Отключит ПК, 🌙 Усыпит ПК, 🔄 Перезагрузит ПК).Примеры использования:
— Заблокируй ПК в 18:00
— Заблочь комп через 10 минут
— Усыпи компьютер через минуту
— Усыпи ПК через полчаса
— Выключи комп в 23:30
— Отключи ПК через 2 часа
— Перезагрузи компьютер в 03:00
— Ребутни ПК через 15 минут
— Каждый день в 23:00 выключи пкУдалена устаревшая обратная совместимость со старым форматом настроек. Параметры режима "Лимит" теперь считываются напрямую и исключительно из профильной секции [Thermal] файла settings.ini.
Напоминалка
Добавлено выполнение системных команд управления питанием и блокировкой ПК по времени и таймеру (блокировка, спящий режим, выключение, перезагрузка).
За 30 секунд до выполнения команды возле часов появляется жёлтое окно с обратным отсчётом времени и звуковым сигналом, предотвращающее случайную потерю данных.
Строка внизу редактора в отслеживает статус ожидания (например, "💤 🌙 Усыпит ПК через 4 мин (отложено до 14:02)").
Строка подсказки наглядно распознаёт команды и время срабатывания (🔒 Заблокирует ПК, 🛑 Отключит ПК, 🌙 Усыпит ПК, 🔄 Перезагрузит ПК).
Примеры использования:
— Заблокируй ПК в 18:00
— Заблочь комп через 10 минут
— Усыпи компьютер через минуту
— Усыпи ПК через полчаса
— Выключи комп в 23:30
— Отключи ПК через 2 часа
— Перезагрузи компьютер в 03:00
— Ребутни ПК через 15 минут
— Каждый день в 23:00 выключи пк
Удалена устаревшая обратная совместимость со старым форматом настроек. Параметры режима "Лимит" теперь считываются напрямую и исключительно из профильной секции [Thermal] файла settings.ini.
Цитата: dehote9223 от 15.10.2026, 14:40Напоминалка
В окне обратного отсчёта рядом с откладыванием на 5 минут появилась кнопка отмены, которая позволяет отменить выполнение команды и удалить напоминание из списка.
Фоновый таймер проверки задач переведён на ежесекундный опрос для точной работы с секундами и исключения пропусков полуминутных интервалов.
Жёлтое окно обратного отсчёта для системных команд (блокировка, спящий режим, выключение, перезагрузка) теперь появляется за 30 секунд ДО назначенного времени, благодаря чему само действие выполняется в заданный срок.
Напоминалка
В окне обратного отсчёта рядом с откладыванием на 5 минут появилась кнопка отмены, которая позволяет отменить выполнение команды и удалить напоминание из списка.
Фоновый таймер проверки задач переведён на ежесекундный опрос для точной работы с секундами и исключения пропусков полуминутных интервалов.
Жёлтое окно обратного отсчёта для системных команд (блокировка, спящий режим, выключение, перезагрузка) теперь появляется за 30 секунд ДО назначенного времени, благодаря чему само действие выполняется в заданный срок.
Цитата: dehote9223 от 15.10.2026, 18:43Напоминалка
Переработан механизм сохранения файла reminders.txt.
Теперь запись происходит через временный файл с принудительным сбросом кэша Windows прямо на физический накопитель.
Это исключает риск потери всех напоминаний (появление файла размером 0 байт) при внезапном отключении электричества, синем экране (BSOD) или жестком зависании ПК.Программа больше не обращается к накопителю каждую секунду.
Текст напоминаний теперь кэшируется в оперативной памяти (RAM), а диск опрашивается только на предмет изменения времени модификации файла.
Это снизило фоновую нагрузку на процессор и сэкономило ресурс SSD/HDD.В окне "Цитаты дня" (подменю "☕ Авторский уголок") добавлена ссылка для быстрого копирования отображаемых цитат Нового Завета в буфер обмена.
Напоминалка
Переработан механизм сохранения файла reminders.txt.
Теперь запись происходит через временный файл с принудительным сбросом кэша Windows прямо на физический накопитель.
Это исключает риск потери всех напоминаний (появление файла размером 0 байт) при внезапном отключении электричества, синем экране (BSOD) или жестком зависании ПК.
Программа больше не обращается к накопителю каждую секунду.
Текст напоминаний теперь кэшируется в оперативной памяти (RAM), а диск опрашивается только на предмет изменения времени модификации файла.
Это снизило фоновую нагрузку на процессор и сэкономило ресурс SSD/HDD.
В окне "Цитаты дня" (подменю "☕ Авторский уголок") добавлена ссылка для быстрого копирования отображаемых цитат Нового Завета в буфер обмена.
Цитата: dehote9223 от 15.10.2026, 19:29Окно цитат Нового завета
Добавлена возможность сохранить скриншот окна на рабочий стол — нажмите среднюю кнопку мыши (СКМ) по окну.
Окно цитат Нового завета
Добавлена возможность сохранить скриншот окна на рабочий стол — нажмите среднюю кнопку мыши (СКМ) по окну.
Цитата: dehote9223 от 16.10.2026, 10:32Напоминалка
Отложенные напоминания (кнопка "Напомни через 5 минут") теперь сохраняются в settings.ini (в секции [SnoozedReminders]) с использованием хэширования.
Это предотвращает потерю отложенных задач при перезапуске программы и исключает баг со "склеиванием" коротких текстов.Если в тексте указан только день ("завтра", "во вторник") или время суток ("утром", "вечером") без конкретных часов, программа использует заданное время по умолчанию.
Настроить его можно в settings.ini (секция [Reminders]: утро с 6:00 TimeMorning=6, день с 12:00 TimeDay=12, вечер с 18:00 TimeEvening=18, ночь с 00:00 TimeNight=00).Исправлена логика для напоминаний, чья дата или время уже прошли (например, если ПК был выключен).
Теперь такие задачи гарантированно срабатывают при запуске, а в подсказке редактора они корректно подсвечиваются статусом "⚠️ Просрочено: ...".Добавлена блокировка ложных срабатываний во время активного редактирования текста.
Напоминания больше не будут перебивать фокус и удалять недописанные строки (проверка ставится на паузу на 5 секунд после каждого введенного символа).
Напоминалка
Отложенные напоминания (кнопка "Напомни через 5 минут") теперь сохраняются в settings.ini (в секции [SnoozedReminders]) с использованием хэширования.
Это предотвращает потерю отложенных задач при перезапуске программы и исключает баг со "склеиванием" коротких текстов.
Если в тексте указан только день ("завтра", "во вторник") или время суток ("утром", "вечером") без конкретных часов, программа использует заданное время по умолчанию.
Настроить его можно в settings.ini (секция [Reminders]: утро с 6:00 TimeMorning=6, день с 12:00 TimeDay=12, вечер с 18:00 TimeEvening=18, ночь с 00:00 TimeNight=00).
Исправлена логика для напоминаний, чья дата или время уже прошли (например, если ПК был выключен).
Теперь такие задачи гарантированно срабатывают при запуске, а в подсказке редактора они корректно подсвечиваются статусом "⚠️ Просрочено: ...".
Добавлена блокировка ложных срабатываний во время активного редактирования текста.
Напоминания больше не будут перебивать фокус и удалять недописанные строки (проверка ставится на паузу на 5 секунд после каждого введенного символа).
Цитата: dehote9223 от 16.10.2026, 11:04Напоминалка
Исправлен баг зацикливания диалога при нажатии "Выполнено" — теперь внутренний строковый кэш (g_cachedRemindersText) и метка времени файла немедленно обновляются в памяти при сохранении изменений на диск.
Устранена ситуация, при которой разовое напоминание удалялось на диске, но продолжало повторно вызываться из несинхронизированной памяти до нажатия кнопки "Отложить".Проще удалить напоминалку )
Напоминалка
Исправлен баг зацикливания диалога при нажатии "Выполнено" — теперь внутренний строковый кэш (g_cachedRemindersText) и метка времени файла немедленно обновляются в памяти при сохранении изменений на диск.
Устранена ситуация, при которой разовое напоминание удалялось на диске, но продолжало повторно вызываться из несинхронизированной памяти до нажатия кнопки "Отложить".
Проще удалить напоминалку )
Цитата: dehote9223 от 16.10.2026, 13:18[spoiler title="Напоминалка"]Защита системных действий от ложных срабатываний:
- Команды блокировки, сна, выключения и перезагрузки теперь требуют строгого
указания цели отдельным словом («пк», «комп», «компьютер», «систему», «pc»).
- Исключены случайные срабатывания на фразах вроде «перезагрузить роутер»,
«усыпить кота» или «отключить рассылку компании».Безопасность при просроченных задачах:
- Исключено мгновенное выключение/блокировка ПК, если напоминание было
пропущено (например, ПК включили в 23:40, а таймер стоял на 23:00).
В таких случаях системное действие безопасно понижается до обычного
информационного оповещения «Пропущено».Интеллектуальный перенос дат на следующий год:
- Если год не указан явно, а выбранная дата в текущем году уже осталась
в прошлом (например, запись «5 января» в декабре), алгоритм автоматически
назначает напоминание на следующий год. Исправление синхронизировано
как в движке срабатывания, так и в строке подсказки редактора.Устранение дрейфа дат в повторяющихся задачах:
- Следующая дата повтора теперь рассчитывается строго от исходного числа строки,
а не от текущего дня отметки.
- «Ежемесячно 31-го» больше не застревает на 28-м числе после февраля.
- «Ежегодно 5 мая», отмеченное 6 мая, переносится ровно на 5 мая следующего года.
- Задачи по дням недели («каждую среду») при отметке в другой день корректно
сдвигаются на ближайшую нужную дату строго в будущем.Защита от случайного закрытия и архив выполненного:
- Кнопкой по умолчанию в диалоге напоминания назначена безопасная
«Напомнить через 5 минут» вместо «Выполнено» — случайное нажатие пробела
или Enter во время набора текста больше не удалит напоминание.
- Добавлено автоматическое сохранение всех завершённых напоминаний в файл
«reminders_archive.txt» с точной датой и временем отметки.Улучшение редактора и защита от сдвига относительного времени:
- Добавлен 500 мс дебаунс сохранения при наборе текста: редактор больше
не перезаписывает файл на диск при каждом нажатом символе.
- Пересчёт относительных дат («через 10 минут») теперь мгновенно обновляет
текст в открытом окне редактора с сохранением положения каретки и прокрутки,
предотвращая постоянный сдвиг времени при повторных сохранениях.Кардинальная оптимизация фоновой нагрузки и дискового I/O:
- Статусы отложенных напоминаний (Snooze) переведены на работу через быстрый
кэш в оперативной памяти: устранены сотни ежесекундных чтений settings.ini
и системных путей Windows в UI-потоке.
- Файл настроек теперь обновляется строго в момент изменения отсрочек.[/spoiler]
- Команды блокировки, сна, выключения и перезагрузки теперь требуют строгого
указания цели отдельным словом («пк», «комп», «компьютер», «систему», «pc»).
- Исключены случайные срабатывания на фразах вроде «перезагрузить роутер»,
«усыпить кота» или «отключить рассылку компании».
Безопасность при просроченных задачах:
- Исключено мгновенное выключение/блокировка ПК, если напоминание было
пропущено (например, ПК включили в 23:40, а таймер стоял на 23:00).
В таких случаях системное действие безопасно понижается до обычного
информационного оповещения «Пропущено».
Интеллектуальный перенос дат на следующий год:
- Если год не указан явно, а выбранная дата в текущем году уже осталась
в прошлом (например, запись «5 января» в декабре), алгоритм автоматически
назначает напоминание на следующий год. Исправление синхронизировано
как в движке срабатывания, так и в строке подсказки редактора.
Устранение дрейфа дат в повторяющихся задачах:
- Следующая дата повтора теперь рассчитывается строго от исходного числа строки,
а не от текущего дня отметки.
- «Ежемесячно 31-го» больше не застревает на 28-м числе после февраля.
- «Ежегодно 5 мая», отмеченное 6 мая, переносится ровно на 5 мая следующего года.
- Задачи по дням недели («каждую среду») при отметке в другой день корректно
сдвигаются на ближайшую нужную дату строго в будущем.
Защита от случайного закрытия и архив выполненного:
- Кнопкой по умолчанию в диалоге напоминания назначена безопасная
«Напомнить через 5 минут» вместо «Выполнено» — случайное нажатие пробела
или Enter во время набора текста больше не удалит напоминание.
- Добавлено автоматическое сохранение всех завершённых напоминаний в файл
«reminders_archive.txt» с точной датой и временем отметки.
Улучшение редактора и защита от сдвига относительного времени:
- Добавлен 500 мс дебаунс сохранения при наборе текста: редактор больше
не перезаписывает файл на диск при каждом нажатом символе.
- Пересчёт относительных дат («через 10 минут») теперь мгновенно обновляет
текст в открытом окне редактора с сохранением положения каретки и прокрутки,
предотвращая постоянный сдвиг времени при повторных сохранениях.
Кардинальная оптимизация фоновой нагрузки и дискового I/O:
- Статусы отложенных напоминаний (Snooze) переведены на работу через быстрый
кэш в оперативной памяти: устранены сотни ежесекундных чтений settings.ini
и системных путей Windows в UI-потоке.
- Файл настроек теперь обновляется строго в момент изменения отсрочек.

