Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 0 additions & 32 deletions .changeset/flat-bats-greet.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/petite-dolls-marry.md

This file was deleted.

6 changes: 0 additions & 6 deletions .changeset/petite-dolls-test.md

This file was deleted.

8 changes: 0 additions & 8 deletions .changeset/shiny-signs-agree.md

This file was deleted.

12 changes: 0 additions & 12 deletions .changeset/some-places-matter.md

This file was deleted.

7 changes: 0 additions & 7 deletions .changeset/upset-ghosts-serve.md

This file was deleted.

49 changes: 48 additions & 1 deletion packages/core/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,52 @@
# @react-native-youtube-bridge/core

## 2.2.0

### Minor Changes

- [#85](https://github.com/react-native-bridges/react-native-youtube-bridge/pull/85) [`65fa568`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/65fa568b8d94143ca09e695e8372ee0627456df9) Thanks [@saseungmin](https://github.com/saseungmin)! - feat: add muteChange event with subscription-based muted state tracking

- Add `muteChange` event for real-time muted state updates.
- Forward `muteChange` through core/web/webview/react-native bridge layers.
- Enable muted-state tracking only while `muteChange` is subscribed (performance optimization).
- Keep replay mute-preservation behavior intact.
- Update the example app to use `useYouTubeEvent(player, 'muteChange', false)` for muted state.
- Update README docs (EN/KO, root + package) to document `muteChange` usage and tracking behavior.

```tsx
import {
YoutubeView,
useYouTubeEvent,
useYouTubePlayer,
} from "react-native-youtube-bridge";

function App() {
const player = useYouTubePlayer(videoIdOrUrl);

// 1. State-based event listening
const isMuted = useYouTubeEvent(player, "muteChange", false);

// 2. Callback-based event listening
useYouTubeEvent(player, "muteChange", (muted) => {
console.log("Player is muted:", muted);
});

return <YoutubeView player={player} />;
}
```

### Patch Changes

- [#81](https://github.com/react-native-bridges/react-native-youtube-bridge/pull/81) [`fd60a82`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/fd60a82bc08818523e6eea9c22555e7d28dbdeff) Thanks [@saseungmin](https://github.com/saseungmin)! - chore: update tsdown dependency

- [#79](https://github.com/react-native-bridges/react-native-youtube-bridge/pull/79) [`4993ebb`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/4993ebbe23418737e02ff2fbf712c7442dea5205) Thanks [@saseungmin](https://github.com/saseungmin)! - chore: reformat code with oxfmt

- [#83](https://github.com/react-native-bridges/react-native-youtube-bridge/pull/83) [`3cad8a0`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/3cad8a03da7a7beb1f9600ba54fca226aa9ba003) Thanks [@saseungmin](https://github.com/saseungmin)! - fix: preserve muted preference when replay starts after video end ([#82](https://github.com/react-native-bridges/react-native-youtube-bridge/issues/82))

When a video is configured with muted=true, pressing the YouTube replay button after ENDED could resume playback with sound.
This patch preserves mute intent across replay by tracking the desired muted state and reapplying mute on ENDED->PLAYING transitions in both inline WebView and core controller paths.
It also synchronizes desired mute state when mute/unmute is explicitly toggled and updates iframe playerVars typing to include mute for consistency across web and native flows.

## 2.1.4

### Patch Changes
Expand Down Expand Up @@ -79,7 +126,7 @@

```jsx
// Imperative, ref-based API
const playerRef = useRef<PlayerControls>(null);
const playerRef = useRef < PlayerControls > null;

<YoutubePlayer
ref={playerRef}
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@react-native-youtube-bridge/core",
"version": "2.1.4",
"version": "2.2.0",
"description": "Core package for react-native-youtube-bridge",
"keywords": [
"android",
Expand Down
53 changes: 52 additions & 1 deletion packages/react-native-youtube-bridge/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,56 @@
# react-native-youtube-bridge

## 2.2.0

### Minor Changes

- [#85](https://github.com/react-native-bridges/react-native-youtube-bridge/pull/85) [`65fa568`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/65fa568b8d94143ca09e695e8372ee0627456df9) Thanks [@saseungmin](https://github.com/saseungmin)! - feat: add muteChange event with subscription-based muted state tracking

- Add `muteChange` event for real-time muted state updates.
- Forward `muteChange` through core/web/webview/react-native bridge layers.
- Enable muted-state tracking only while `muteChange` is subscribed (performance optimization).
- Keep replay mute-preservation behavior intact.
- Update the example app to use `useYouTubeEvent(player, 'muteChange', false)` for muted state.
- Update README docs (EN/KO, root + package) to document `muteChange` usage and tracking behavior.

```tsx
import {
YoutubeView,
useYouTubeEvent,
useYouTubePlayer,
} from "react-native-youtube-bridge";

function App() {
const player = useYouTubePlayer(videoIdOrUrl);

// 1. State-based event listening
const isMuted = useYouTubeEvent(player, "muteChange", false);

// 2. Callback-based event listening
useYouTubeEvent(player, "muteChange", (muted) => {
console.log("Player is muted:", muted);
});

return <YoutubeView player={player} />;
}
```

### Patch Changes

- [#79](https://github.com/react-native-bridges/react-native-youtube-bridge/pull/79) [`4993ebb`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/4993ebbe23418737e02ff2fbf712c7442dea5205) Thanks [@saseungmin](https://github.com/saseungmin)! - chore: reformat code with oxfmt

- [#83](https://github.com/react-native-bridges/react-native-youtube-bridge/pull/83) [`3cad8a0`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/3cad8a03da7a7beb1f9600ba54fca226aa9ba003) Thanks [@saseungmin](https://github.com/saseungmin)! - fix: preserve muted preference when replay starts after video end ([#82](https://github.com/react-native-bridges/react-native-youtube-bridge/issues/82))

When a video is configured with muted=true, pressing the YouTube replay button after ENDED could resume playback with sound.
This patch preserves mute intent across replay by tracking the desired muted state and reapplying mute on ENDED->PLAYING transitions in both inline WebView and core controller paths.
It also synchronizes desired mute state when mute/unmute is explicitly toggled and updates iframe playerVars typing to include mute for consistency across web and native flows.

- [#84](https://github.com/react-native-bridges/react-native-youtube-bridge/pull/84) [`a542bcc`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/a542bccb412a4e62b06649c40c13fc731b458b7f) Thanks [@saseungmin](https://github.com/saseungmin)! - chore(deps): update dependencies

- Updated dependencies [[`65fa568`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/65fa568b8d94143ca09e695e8372ee0627456df9), [`fd60a82`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/fd60a82bc08818523e6eea9c22555e7d28dbdeff), [`4993ebb`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/4993ebbe23418737e02ff2fbf712c7442dea5205), [`3cad8a0`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/3cad8a03da7a7beb1f9600ba54fca226aa9ba003), [`a542bcc`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/a542bccb412a4e62b06649c40c13fc731b458b7f)]:
- @react-native-youtube-bridge/core@2.2.0
- @react-native-youtube-bridge/react@2.1.5

## 2.1.4

### Patch Changes
Expand Down Expand Up @@ -121,7 +172,7 @@

```jsx
// Imperative, ref-based API
const playerRef = useRef<PlayerControls>(null);
const playerRef = useRef < PlayerControls > null;

<YoutubePlayer
ref={playerRef}
Expand Down
2 changes: 1 addition & 1 deletion packages/react-native-youtube-bridge/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "react-native-youtube-bridge",
"version": "2.1.4",
"version": "2.2.0",
"description": "🎥 Easy-to-use YouTube player for React Native with cross-platform support",
"keywords": [
"android",
Expand Down
21 changes: 20 additions & 1 deletion packages/react/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
# @react-native-youtube-bridge/react

## 2.1.5

### Patch Changes

- [#81](https://github.com/react-native-bridges/react-native-youtube-bridge/pull/81) [`fd60a82`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/fd60a82bc08818523e6eea9c22555e7d28dbdeff) Thanks [@saseungmin](https://github.com/saseungmin)! - chore: update tsdown dependency

- [#79](https://github.com/react-native-bridges/react-native-youtube-bridge/pull/79) [`4993ebb`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/4993ebbe23418737e02ff2fbf712c7442dea5205) Thanks [@saseungmin](https://github.com/saseungmin)! - chore: reformat code with oxfmt

- [#83](https://github.com/react-native-bridges/react-native-youtube-bridge/pull/83) [`3cad8a0`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/3cad8a03da7a7beb1f9600ba54fca226aa9ba003) Thanks [@saseungmin](https://github.com/saseungmin)! - fix: preserve muted preference when replay starts after video end ([#82](https://github.com/react-native-bridges/react-native-youtube-bridge/issues/82))

When a video is configured with muted=true, pressing the YouTube replay button after ENDED could resume playback with sound.
This patch preserves mute intent across replay by tracking the desired muted state and reapplying mute on ENDED->PLAYING transitions in both inline WebView and core controller paths.
It also synchronizes desired mute state when mute/unmute is explicitly toggled and updates iframe playerVars typing to include mute for consistency across web and native flows.

- [#84](https://github.com/react-native-bridges/react-native-youtube-bridge/pull/84) [`a542bcc`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/a542bccb412a4e62b06649c40c13fc731b458b7f) Thanks [@saseungmin](https://github.com/saseungmin)! - chore(deps): update dependencies

- Updated dependencies [[`65fa568`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/65fa568b8d94143ca09e695e8372ee0627456df9), [`fd60a82`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/fd60a82bc08818523e6eea9c22555e7d28dbdeff), [`4993ebb`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/4993ebbe23418737e02ff2fbf712c7442dea5205), [`3cad8a0`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/3cad8a03da7a7beb1f9600ba54fca226aa9ba003)]:
- @react-native-youtube-bridge/core@2.2.0

## 2.1.4

### Patch Changes
Expand Down Expand Up @@ -79,7 +98,7 @@

```jsx
// Imperative, ref-based API
const playerRef = useRef<PlayerControls>(null);
const playerRef = useRef < PlayerControls > null;

<YoutubePlayer
ref={playerRef}
Expand Down
2 changes: 1 addition & 1 deletion packages/react/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@react-native-youtube-bridge/react",
"version": "2.1.4",
"version": "2.1.5",
"description": "React implementation for react-native-youtube-bridge",
"keywords": [
"android",
Expand Down
55 changes: 54 additions & 1 deletion packages/web/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,58 @@
# @react-native-youtube-bridge/web

## 2.2.0

### Minor Changes

- [#85](https://github.com/react-native-bridges/react-native-youtube-bridge/pull/85) [`65fa568`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/65fa568b8d94143ca09e695e8372ee0627456df9) Thanks [@saseungmin](https://github.com/saseungmin)! - feat: add muteChange event with subscription-based muted state tracking

- Add `muteChange` event for real-time muted state updates.
- Forward `muteChange` through core/web/webview/react-native bridge layers.
- Enable muted-state tracking only while `muteChange` is subscribed (performance optimization).
- Keep replay mute-preservation behavior intact.
- Update the example app to use `useYouTubeEvent(player, 'muteChange', false)` for muted state.
- Update README docs (EN/KO, root + package) to document `muteChange` usage and tracking behavior.

```tsx
import {
YoutubeView,
useYouTubeEvent,
useYouTubePlayer,
} from "react-native-youtube-bridge";

function App() {
const player = useYouTubePlayer(videoIdOrUrl);

// 1. State-based event listening
const isMuted = useYouTubeEvent(player, "muteChange", false);

// 2. Callback-based event listening
useYouTubeEvent(player, "muteChange", (muted) => {
console.log("Player is muted:", muted);
});

return <YoutubeView player={player} />;
}
```

### Patch Changes

- [#81](https://github.com/react-native-bridges/react-native-youtube-bridge/pull/81) [`fd60a82`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/fd60a82bc08818523e6eea9c22555e7d28dbdeff) Thanks [@saseungmin](https://github.com/saseungmin)! - chore: update dependencies, including React, Vite

- [#79](https://github.com/react-native-bridges/react-native-youtube-bridge/pull/79) [`4993ebb`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/4993ebbe23418737e02ff2fbf712c7442dea5205) Thanks [@saseungmin](https://github.com/saseungmin)! - chore: reformat code with oxfmt

- [#83](https://github.com/react-native-bridges/react-native-youtube-bridge/pull/83) [`3cad8a0`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/3cad8a03da7a7beb1f9600ba54fca226aa9ba003) Thanks [@saseungmin](https://github.com/saseungmin)! - fix: preserve muted preference when replay starts after video end ([#82](https://github.com/react-native-bridges/react-native-youtube-bridge/issues/82))

When a video is configured with muted=true, pressing the YouTube replay button after ENDED could resume playback with sound.
This patch preserves mute intent across replay by tracking the desired muted state and reapplying mute on ENDED->PLAYING transitions in both inline WebView and core controller paths.
It also synchronizes desired mute state when mute/unmute is explicitly toggled and updates iframe playerVars typing to include mute for consistency across web and native flows.

- [#84](https://github.com/react-native-bridges/react-native-youtube-bridge/pull/84) [`a542bcc`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/a542bccb412a4e62b06649c40c13fc731b458b7f) Thanks [@saseungmin](https://github.com/saseungmin)! - chore(deps): update dependencies

- Updated dependencies [[`65fa568`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/65fa568b8d94143ca09e695e8372ee0627456df9), [`fd60a82`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/fd60a82bc08818523e6eea9c22555e7d28dbdeff), [`4993ebb`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/4993ebbe23418737e02ff2fbf712c7442dea5205), [`3cad8a0`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/3cad8a03da7a7beb1f9600ba54fca226aa9ba003), [`a542bcc`](https://github.com/react-native-bridges/react-native-youtube-bridge/commit/a542bccb412a4e62b06649c40c13fc731b458b7f)]:
- @react-native-youtube-bridge/core@2.2.0
- @react-native-youtube-bridge/react@2.1.5

## 2.1.4

### Patch Changes
Expand Down Expand Up @@ -84,7 +137,7 @@

```jsx
// Imperative, ref-based API
const playerRef = useRef<PlayerControls>(null);
const playerRef = useRef < PlayerControls > null;

<YoutubePlayer
ref={playerRef}
Expand Down
2 changes: 1 addition & 1 deletion packages/web/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@react-native-youtube-bridge/web",
"version": "2.1.4",
"version": "2.2.0",
"description": "Web implementation for react-native-youtube-bridge",
"keywords": [
"android",
Expand Down