Commit Graph
120 Commits
Author SHA1 Message Date
Kamil Moskała eccf78b650 chore: release 7.0.0-beta.7 2026-03-10 20:38:19 +01:00
Kamil MoskałaandGitHub 1b0726cf0e fix(ios): notification controls flow (#4854)
* fix(ios): load artwork asynchronously to unblock notification controls

* fix(ios): remove playback observer on player removal and guard artwork callback

* fix: cleaning up player

* refactor: `if` syntax

* fix: add missing cleaner

* fix: remove `rounded` from current time

* chore: update pod versions

* refactor(ios): use targeted update functions at each call site

* refactor(ios): use async/await to load artwork metadata

* fix(ios): update static now playing info after setting external metadata

* fix: find new player before updating playback state

* fix(ios): take over notification controls when registering an already-playing player

* fix(ios): clear stale artwork and guard against item change in async artwork load

* fix: guard notification controls updates against stale player item

* fix: update playback duration periodically to handle streams with initially unknown duration
2026-03-09 17:44:12 +01:00
ddcb9e6dd9 fix(ios): fixed audio focus change on iOS (#4811)
* fix: fixed audio focus change on ios

* Fix formatting for audio session category options

---------

Co-authored-by: Kamil Moskała <91079590+moskalakamil@users.noreply.github.com>
2026-03-09 13:54:44 +01:00
Kamil MoskałaandGitHub e96d9565bd fix(ios): restore inline UI after PIP stop to prevent black screen (#4852)
* fix(ios): restore inline UI after PIP stop to prevent black screen

* fix: restore pip when view is attached
2026-03-09 12:32:44 +01:00
Kamil bb2debc566 chore: release 7.0.0-beta.6 2026-02-06 12:10:01 +01:00
Kamil MoskałaandGitHub 8da799832a fix(ios): notification controls (#4838)
* fix: update observer thread

* fix(ios): fix showNotificationControls not working when set during initialization

* fix(ios): set custom metadata on AVPlayerItem for now playing info

* refactor: warn when wront artwork url

* docs: update file header

* chore: warn when failed to load artwork image
2026-02-06 11:55:59 +01:00
a7b2e970e3 fix(ios): prevent KVO crash in HybridVideoPlayer.release() (#4828)
* fix(ios): prevent KVO crash in HybridVideoPlayer.release()

Fix a crash that occurs when rapidly creating/destroying video players
(e.g., fast swiping through a FlatList of videos). The crash message is:
"Cannot remove an observer for the key path 'currentItem.status'"

Root cause:
When release() was called, it would set playerItem = nil and then
playerObserver = nil, which triggered the observer's deinit. However,
the KVO observers were still registered on the playerItem, causing
a crash when the system tried to remove them.

Solution:
1. Explicitly invalidate all KVO observers BEFORE changing any state
2. Change invalidatePlayerItemObservers() from private to internal
   so it can be called from HybridVideoPlayer.release()
3. Skip self.player.replaceCurrentItem(with: nil) which was also
   triggering the crash by changing currentItem while observers
   were still active

This ensures clean KVO removal before any state changes that could
interfere with the observer lifecycle.

* refactor: address review feedback - clean up comments and reorganize release()

- Remove verbose KVO CRASH FIX comments
- Move observer invalidation calls to "Clear player observer" section
- Restore replaceCurrentItem(with: nil) after observer cleanup

* refactor: reorder cleaners

---------

Co-authored-by: Eran Kaufman <eran@sefirot.io>
Co-authored-by: Kamil Moskała <91079590+moskalakamil@users.noreply.github.com>
2026-02-03 12:03:18 +01:00
Kamil 07a04a7df8 chore: release 7.0.0-beta.5 2026-02-03 00:16:51 +01:00
Kamil MoskałaandGitHub 5c8d73a545 fix(ios): handle fullscreen transition cancellation events (#4833) 2026-02-03 00:09:08 +01:00
Kamil MoskałaandGitHub 480ddfd715 fix: use correct languageCode on external subtitle (#4831) 2026-01-31 11:32:21 +01:00
Kamil b64c94faef chore: release 7.0.0-beta.4 2026-01-30 23:51:44 +01:00
Kamil MoskałaandGitHub d32406d786 fix: external subtitle asset composition (#4830)
* fix: external subtitle asset composition

* fix: filter for supported subtitles before adding them
2026-01-30 22:44:10 +01:00
Kamil ff93ea675e chore: release 7.0.0-beta.3 2026-01-22 12:09:42 +01:00
Kamil MoskałaandGitHub b30eeef89c chore: resolve lint & tsc errors (#4823) 2026-01-22 00:20:06 +01:00
Kamil MoskałaandGitHub 86133e38cd fix: video not loading when external subtitles are malformed (#4822) 2026-01-21 23:37:51 +01:00
Kamil MoskałaandGitHub 28e295a6ee fix: access AudioFocusChangeListener on main thread (#4821) 2026-01-20 19:44:48 +01:00
Krzysztof Moch 605feed68a chore: release 7.0.0-beta.2 2025-12-19 14:56:28 +01:00
Krzysztof MochandGitHub ff882c23d0 refactor: don't use nitro dispose (#4802) 2025-12-19 13:19:46 +01:00
Thibault CapelliandGitHub 00a6b19736 fix(android): local asset for android in release (#4784)
* fix: hermes path for android release

* chore: update bun.lock

* fix: handle raw ressources in Android release mode

* fix: replace custom AppContextHolder logic with NitroModules.applicationContext
2025-12-18 13:19:27 +01:00
Krzysztof Moch 39f88c8b05 chore: release 7.0.0-beta.1 2025-12-11 21:41:28 +01:00
Krzysztof MochandGitHub 3c9bae7741 refactor: events logic (#4798) 2025-12-11 17:38:23 +01:00
Krzysztof Moch 95ddeeb999 chore: release 7.0.0-beta.0 2025-12-09 18:33:21 +01:00
Krzysztof MochandGitHub 0f318bacbf chore: prepare for beta release (#4796) 2025-12-09 17:35:37 +01:00
Kamil MoskałaandGitHub caa17d0458 chore: release 7.0.0-alpha.12 (#4794) 2025-12-08 22:08:26 +01:00
Kamil MoskałaandGitHub 9db3e41575 fix(nitrogen): release build issue for plugins (#4793)
* chore: bump example version

* fix(nitrogen): release build with plugins issue

* refactor: create new nitrogen files
2025-12-08 21:26:26 +01:00
Krzysztof Moch 147df1801a chore: release 7.0.0-alpha.11 2025-11-30 15:46:42 +01:00
Krzysztof MochandGitHub 556d1bea4f fix: handles view not found error gracefully (#4788) 2025-11-30 15:42:31 +01:00
Krzysztof Moch 843c936fa0 chore: release 7.0.0-alpha.10 2025-11-23 15:19:30 +01:00
Krzysztof MochandGitHub 99d3861c8c fix(android): notification and app name retrieval (#4781) 2025-11-23 14:00:20 +01:00
Krzysztof Moch 72f0a56676 chore: remove console log 2025-11-16 18:33:09 +01:00
Krzysztof Moch fc360200ca chore: release 7.0.0-alpha.9 2025-11-16 18:29:55 +01:00
Krzysztof MochandGitHub 2e88f36a5a fix: player initialization bugs (#4775) 2025-11-16 18:27:59 +01:00
Alexander TsirelandGitHub 8ee914f1da fix(iOS): disable allowsVideoFrameAnalysis (#4643) 2025-11-11 14:06:33 +01:00
Krzysztof MochandGitHub b0ec47d58c fix(android): restore views after PiP exit (#4766) 2025-11-07 16:49:24 +01:00
Krzysztof Moch c093ab2eae chore: release 7.0.0-alpha.8 2025-11-06 09:09:04 +01:00
Krzysztof Moch fd011938fa chore: lint code 2025-11-06 09:08:11 +01:00
Krzysztof Moch 92c832864d fix(android): disable controls when in PiP 2025-11-06 09:02:40 +01:00
Krzysztof MochandGitHub 649bc1c88e fix(ios): don't recreate AVPlayerViewController if player haven't changed (#4758) 2025-11-03 14:55:03 +01:00
Krzysztof MochandGitHub 0a6c35784d feat: enhance source loading (#4755) 2025-11-03 14:15:50 +01:00
Arthur JametandGitHub 5b4c692df5 feat(android): Add expo config for notification controls (#4754) 2025-11-02 14:07:46 +01:00
Kamil MoskałaandGitHub dab0a4c54e docs: update platform support in DrmParams interface (#4736) 2025-10-23 16:07:22 +02:00
Krzysztof Moch 01395f247b chore: release 7.0.0-alpha.7 2025-10-16 18:17:47 +02:00
Krzysztof Moch 9f2d1894ae chore(deps): bump nitro version 2025-10-15 18:52:30 +02:00
Krzysztof MochandGitHub 8ce38cab1b fix(android): call start foreground service if needed (#4733) 2025-10-15 15:50:47 +02:00
Krzysztof Moch 52499e5af7 chore: release 7.0.0-alpha.6 2025-10-10 15:57:09 +02:00
Krzysztof Moch 6f8282616c chore: rename drm plugin package name 2025-10-10 15:40:51 +02:00
Krzysztof MochandGitHub 9b74665fb4 chore: update release script (#4727) 2025-10-08 13:39:19 +02:00
Krzysztof MochandGitHub 1671c63dab feat(android): support flexible page sizes (#4726) 2025-10-08 13:14:53 +02:00
Krzysztof MochandGitHub 02044de0e9 feat: add notification controls (#4721) 2025-10-06 16:36:52 +02:00
Krzysztof MochandGitHub 375fbeb0eb feat: bump nitro modules (#4720) 2025-10-03 16:14:47 +02:00