Skip to content

Releases

HearthNG 1.0.2

Choose a tag to compare

@emoorpheus emoorpheus released this 12 Nov 10:27

HearthNG 1.0.2

Critical bugfix: prevent app relaunch/reset during TV cold boot and startup window transitions.

Highlights in 1.0.2:

  • Fix false boot collision on empty foreground: In watch.sh (handle()), early boot collision recovery (< 75s) now strictly matches is_home "$line" (when LG Home com.webos.app.home actually steals foreground). It no longer triggers on transient (empty) foreground events, which previously caused watch.sh to forcefully call launch on last_user_app, killing and restarting newly opened apps (e.g. Lampac) during their webview/DRM initialization.
  • Top-level app_opening guard: Moved is_empty "$line" && app_opening to the top of handle() before any home or collision checks, guaranteeing all transient layer transitions within 8 seconds of an app launch are ignored.
  • Preserve OPENING_FLAG across foreground transitions: Removed premature deletion of /tmp/launcher-opening in handle()'s user app branch, allowing the 8-second protection window to cover full multi-stage app initialization.
  • Helper version bumped to 18-ng7.

Основные исправления в 1.0.2:

  • Устранение ложного срабатывания коллизии при холодном старте: В watch.sh механизм восстановления коллизий во время загрузки ТВ (< 75s) теперь срабатывает строго при появлении стандартного LG Home (is_home "$line"). Он больше не реагирует на кратковременное состояние (empty), из-за которого демон ошибочно повторно вызывал launch на открывающееся приложение (например, Lampac), сбрасывая его инициализацию и вызывая перезапуск.
  • Приоритетная гарда app_opening: Проверка is_empty "$line" && app_opening перенесена в самое начало обработчика handle(), исключая любые ложные перехваты или повторные запуски во время открытия приложений.
  • Сохранение маркера запуска на весь интервал (8 с): Устранено преждевременное удаление /tmp/launcher-opening при первом появлении окна приложения, что защищает все промежуточные стадии загрузки (включая переходы между сплеш-карточкой и вебвью).
  • Хук обновлён до версии 18-ng7.

HearthNG 1.0.1

Choose a tag to compare

@emoorpheus emoorpheus released this 11 Nov 22:03

HearthNG 1.0.1

Bugfix release: prevent launcher takeover and reload loop after TV idle/screensaver when launching apps.

Highlights in 1.0.1:

  • Screen Saver Power State Handling: watch.sh (tv_active()) now properly treats "Screen Saver" as an active power state rather than standby. This prevents false standby detection and spurious wake triggers when returning from screensaver.
  • Cold-Start App Guard (app_opening): Added launch marker /tmp/launcher-opening across src/app.tsx, src/screens/Recents.tsx, and watch.sh. Protects slow cold starts of heavy apps (e.g. YouTube, Lampac) on webOS 24/25 with low RAM/swap from being overtaken by false empty-screen launcher recovery.
  • Debounced Empty Detection: Increased EMPTY_DELAY from 0.2s to 1.5s to provide ample time for app window initialization before triggering launcher recovery.
  • Helper version 18-ng6: Launcher automatically syncs and restarts the updated background watcher on startup.

Основные изменения в 1.0.1:

  • Корректная обработка состояния Screen Saver: В watch.sh (tv_active()) статус питания "Screen Saver" теперь распознаётся как активный, а не спящий режим. Это предотвращает ложный переход в standby_begin и сброс состояния при выходе из экранной заставки.
  • Защита холодного старта приложений (app_opening): Добавлен маркер запуска /tmp/launcher-opening в app.tsx, Recents.tsx и watch.sh. При холодном старте тяжёлых приложений (YouTube, Lampac) на webOS 24/25 в условиях нехватки RAM/swap экран может оставаться пустым в течение 1–2 секунд — теперь демон перехватчика знает о процессе открытия приложения и не перехватывает фокус обратно в лаунчер.
  • Увеличение тайм-аута пустого экрана: Задержка EMPTY_DELAY увеличена с 0.2 с до 1.5 с для стабильного запуска сторонних приложений без ложных срабатываний.
  • Хук обновлён до версии 18-ng6: При первом запуске лаунчер автоматически накатывает обновлённые скрипты и перезапускает фоновый демон.

HearthNG 1.0.0

Choose a tag to compare

@emoorpheus emoorpheus released this 07 Nov 09:23

HearthNG 1.0.0

A customizable, fast and clean home screen launcher for LG webOS TVs.

Highlights in 1.0.0:

  • webOS 24/25 Boot Race Condition Fixed: Resolved issue where LG Home popped up and closed foreground user apps during early boot. Added boot_freeze_monitor, collision recovery, and updated empty_counts (helper version 18-ng5).
  • Active HDMI Signal Indicator: Displays an active green status indicator on HDMI input tiles when a connected console or PC is powered on and sending video signal.
  • Block LG Update Pop-up (Rooted TVs): One-click toggle in Settings > System > TV start to block LG system update reminders (/usr/sbin/update).
  • Magic Remote Quiet Mode Guard: Prevents accidental clicks or pointer hover actions when waking hidden tiles.
  • Screen Fit for HD / Small Displays: Automatic scaling support for displays below 1080p (720p / 768p).
  • Full Russian & English Localization: Complete native translations for all settings, helpers, and emergency recovery instructions.

Основные изменения в 1.0.0:

  • Устранено состояние гонки при старте webOS 24/25: Решена проблема, когда стандартный LG Home самопроизвольно открывался при включении ТВ и принудительно закрывал открытое пользователем приложение. Добавлены boot_freeze_monitor, механизм восстановления после коллизий collision recovery и обновлённый счётчик пустых циклов empty_counts (версия хука 18-ng5).
  • Индикатор активного видеосигнала HDMI: Плитки входов HDMI теперь отображают зелёный светодиод активности, когда подключённая консоль или ПК включены и передают видеосигнал.
  • Блокировка всплывающих окон обновления LG (Root): Переключатель в один клик в Настройки > Система > Запуск ТВ, останавливающий системный апдейтер LG (/usr/sbin/update).
  • Защита курсора Magic Remote (Quiet Mode Guard): Предотвращает случайные нажатия и наведение курсора при активации скрытых плиток.
  • Масштабирование для экранов HD / низкого разрешения: Автоматическая адаптация интерфейса для телевизоров с разрешением ниже 1080p (720p / 768p).
  • Полная русская и английская локализация: Качественный перевод всех настроек, вспомогательных скриптов и инструкций аварийного восстановления.