Skip to content

[Epic] [PLAYER-90] [PLAYER-91] [PLAYER-92] [PLAYER-50]#160

Merged
jparez merged 58 commits into
mainfrom
epic/player-90-91-92-50
Apr 29, 2026
Merged

[Epic] [PLAYER-90] [PLAYER-91] [PLAYER-92] [PLAYER-50]#160
jparez merged 58 commits into
mainfrom
epic/player-90-91-92-50

Conversation

@jparez jparez force-pushed the epic/player-90-91-92-50 branch from 3e402fb to c97b1b0 Compare March 5, 2026 14:31
jparez and others added 29 commits March 5, 2026 17:13
…leaks

- Lifecycle Management: DeviceRenderer.destroy() now dynamically iterates over all registered widgets and calls their destroy() method.
- AudioContext: The Camera plugin now implements a destroy() method that explicitly closes the AudioContext and removes event listeners.
- Store Cleanup: Added a destroy() method to the Store to centrally clear all subscriptions, preventing memory leaks from lingering listeners.
- General Cleanup: Also addressed minor leaks like unrevoked Blob URLs and dead code in the Factory.
If mediamanager is not load (when camera is set to false by example) this.instance.mediaManager is undefiened and this.instance.mediaManager.isMuted throw an error so mouseevents are never send

- move api logic to mute / unmute from mediaManager to apiManager, this way even if camera is disable video can be mute / unmute
- change isMuted variable name by isForceMuted
jparez and others added 19 commits March 5, 2026 17:13
Co-authored-by: Julien Maneyrol <45173285+jmaneyrol69@users.noreply.github.com>
…e-make-mousevents-failed

[PLAYER-90] fix camera false make mousevents failed
In order, to address PR comments
- **GmSlider**: Improve min/max attribute validation and value clamping logic.
- **GmSwitch**: Fix infinite loop in checked setter, correctly handle 'disabled' attribute, and refactor using #updateUI pattern.
- **GmDropdown**:
  - Extract rendering logic to #render method.
  - Simplify items setting logic (remove redundant length check).
  - Clarify supported item types in JSDoc.
- **GmChip**:
  - Remove default 'success' type fallback to preventing masking issues.
  - Implement #updateUI pattern to fix attribute/setter recursion risks.
- **GmTextInput**:
  - Split #updateUI into specific #updateAppendText and #updateUnitText methods.
  - Simplify 'strict-range' logic to be more generic.
- **Battery Plugin**: Remove redundant bounds checking (Math.min/max) in favor of GmTextInput internal validation.
- **Docs**: Correct API categorization in README.md.
Co-authored-by: Julien Maneyrol <45173285+jmaneyrol69@users.noreply.github.com>
Event send after each keystroke was 'change' instead of 'input'

- **GmTextInput**: Stop dispatching 'change' event on every keystroke. It now correctly dispatches 'input' on keystroke and 'change' only on commit (blur/enter).
- **Plugins**: Update all plugins relying on real-time feedback (Battery, GPS, Phone, Identifiers, IOThrottling, BasebandRIL) to listen to 'gm-text-input-input' instead of 'gm-text-input-change'.
This separates the concerns of real-time validation (input) vs committed value (change) and eliminates duplicate event firing.
…om events

µIn order to make integration test instead of unit test
…cto-components

Revert "[PLAYER-92] refacto components"
@jparez jparez force-pushed the epic/player-90-91-92-50 branch from c97b1b0 to 6b67c62 Compare March 5, 2026 16:13
@jparez jparez merged commit b9fe988 into main Apr 29, 2026
1 check passed
@jparez jparez deleted the epic/player-90-91-92-50 branch April 29, 2026 09:44
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.

2 participants