Skip to content

Hot fix#17

Merged
mshimshon merged 3 commits intomainfrom
hot-fix
Mar 4, 2026
Merged

Hot fix#17
mshimshon merged 3 commits intomainfrom
hot-fix

Conversation

@mshimshon
Copy link
Copy Markdown
Owner

v2.1.0

Performance

  • The Global Tracker now uses an event‑based mechanism to invoke Self Disposal Check directly on each IStatePulse instance, removing the need to iterate the internal registry. The registry itself is scheduled for removal in version 3.0 and is now marked with the appropriate Obsolete attribute. Cleanup is no longer driven by a continuous loop; instead, the tracker schedules a self‑check only when activity occurs in the registry and goes idle when the application becomes inactive. This preserves memory‑leak protection without a permanent cycle. A minimum delay of 10 seconds is enforced between checks, and when burst activity occurs, only the final activity triggers a single final cleanup run rather than multiple redundant executions.

Fix

This is one of those “bug or feature?” situations. By design, StateOf<TState>() is meant to notify the component when its state changes. However, earlier Blazor assumptions overlooked scenarios where one state might render through one route while another state uses a different route.

Before version 2.0.11, StatePulse always treated the latest route as the default route for all states registered by a component, this is was BUG. Starting with 2.0.11, each state that a component subscribes to StatePulse now respects those route differences if any.

- Fix Bug multiple StateOf had its change callback overriten when different state used different routes.
@mshimshon mshimshon merged commit 30eca2c into main Mar 4, 2026
2 checks passed
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