Skip to content

fix: resolve UI conflict with ipympl and improve state management - #7

Merged
mlhenderson merged 1 commit into
mainfrom
fix_ipympl_conflict
Mar 13, 2026
Merged

fix: resolve UI conflict with ipympl and improve state management#7
mlhenderson merged 1 commit into
mainfrom
fix_ipympl_conflict

Conversation

@mlhenderson

Copy link
Copy Markdown
Owner
  • Refactor AlertManager._handleNewHeaders to use a mutex-protected loop instead of recursive setTimeout to prevent race conditions and performance lag.
  • Implement 'pointer-events: none' for header messages and closed side panels to ensure mouse events pass through to interactive widgets like ipympl.
  • Standardize mutex locking for all StateDB access in AlertManager to ensure data atomicity.
  • Enhance UI integration tests with explicit state cleanup and reliable polling synchronization to eliminate test flakiness.
  • Add a dedicated regression test (ipympl_interaction.spec.ts) to verify viewport interactivity when alerts are active.
  • Update CI workflow to include ipympl/matplotlib environment for automated regression testing.
  • Format CSS files and update documentation for better project standards.

- Refactor AlertManager._handleNewHeaders to use a mutex-protected loop instead of recursive setTimeout to prevent race conditions and performance lag.
- Implement 'pointer-events: none' for header messages and closed side panels to ensure mouse events pass through to interactive widgets like ipympl.
- Standardize mutex locking for all StateDB access in AlertManager to ensure data atomicity.
- Enhance UI integration tests with explicit state cleanup and reliable polling synchronization to eliminate test flakiness.
- Add a dedicated regression test (ipympl_interaction.spec.ts) to verify viewport interactivity when alerts are active.
- Update CI workflow to include ipympl/matplotlib environment for automated regression testing.
- Format CSS files and update documentation for better project standards.
@mlhenderson
mlhenderson merged commit 56ca826 into main Mar 13, 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