Skip to content

Conversation

@vdvukhzhilov
Copy link
Collaborator

@vdvukhzhilov vdvukhzhilov commented Jan 23, 2026

Description

This PR refactors the application theme management system by centralizing it in the shared web-commons package and fixing unwanted reactivity issues that could lead to infinite update cycles.

Changes

  • centralization of theme store
  • preventing unwanted reactivity with .peek()

Theme store improvements

The new theme store supports:

  • Automatic theme (auto) - follows system preferences
  • Manual selection (light / dark)
  • Automatic persistence of user choice in localStorage
  • Reaction to changes in system theme via MediaQuery
  • Restoration of saved theme on application load

Preact signals reactivity fix

  • pinned versions of @preact/signals and @preact/signals-core in root package resolution, so that in every package it points to one version. This fixes when multiple instances of signals are used and reactivity is broken

@vdvukhzhilov vdvukhzhilov changed the title Reuse theme store, prevent unwanted reactivity Refactor: сentralize theme store, use .peek() to prevent infinite loops Jan 23, 2026
@vdvukhzhilov vdvukhzhilov changed the title Refactor: сentralize theme store, use .peek() to prevent infinite loops refactor: сentralize theme store, use .peek() to prevent infinite loops Jan 23, 2026
@github-actions
Copy link

github-actions bot commented Jan 23, 2026

Allure Report Summary

Name Duration Stats New Flaky Retry Report
Allure 3 Report 18m 12s 583ms Passed tests 4477   Failed tests 0   Broken tests 0   Skipped tests 15   Unknown tests 12 93 0 0
My Dashboard 18m 12s 583ms Passed tests 4477   Failed tests 0   Broken tests 0   Skipped tests 15   Unknown tests 12 93 0 0 View
Allure 3 GitHub actions run (2026-01-27T13:55:28.217Z) 18m 12s 583ms Passed tests 4477   Failed tests 0   Broken tests 0   Skipped tests 15   Unknown tests 12 93 0 0 View

@vdvukhzhilov vdvukhzhilov force-pushed the theme-store-and-peek branch 3 times, most recently from 2a64804 to 6db7860 Compare January 26, 2026 17:35
@epszaw epszaw merged commit 45edb90 into main Jan 27, 2026
10 checks passed
@epszaw epszaw deleted the theme-store-and-peek branch January 27, 2026 14:24
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.

3 participants