Merged
Conversation
* [AUTO] Update dependencies * chore: optimize --------- Co-authored-by: guoxianzhe <[email protected]> Co-authored-by: gxz <[email protected]>
…ative-agora into special/4.5.2
* chore: optimize * chore: optimize
Co-authored-by: guoxianzhe <[email protected]>
Co-authored-by: guoxianzhe <[email protected]>
Co-authored-by: guoxianzhe <[email protected]>
…e-agora into dev/4.6.2
Co-authored-by: sda-rob <[email protected]>
There was a problem hiding this comment.
Pull request overview
This PR updates the repo to support Agora Native SDK 4.6.2 and introduces/refreshes an Expo example app (including E2E coverage and native build scaffolding) alongside CI/workflow adjustments needed to build and test it.
Changes:
- Bump Android/iOS native Agora dependencies to 4.6.2 (including iOS screenshare pod).
- Add a full Expo example app (router layout, hook-based examples, Android/iOS native projects, Detox E2E).
- Update GitHub Actions workflows and setup action to align with the new example/CI flow.
Reviewed changes
Copilot reviewed 94 out of 387 changed files in this pull request and generated 14 comments.
Show a summary per file
| File | Description |
|---|---|
| examples/expo/ios/ScreenShare/SampleHandler.m | Adds ReplayKit broadcast sample handler stub for screensharing extension. |
| examples/expo/ios/ScreenShare/SampleHandler.h | Declares ReplayKit broadcast handler interface. |
| examples/expo/ios/Podfile.properties.json | Introduces Expo iOS podfile properties (Hermes/new arch/deployment target). |
| examples/expo/ios/Podfile | Adds iOS pods setup + ScreenShare target dependency on AgoraVideo_Special_iOS 4.6.2.70. |
| examples/expo/ios/.gitignore | Adds iOS ignore rules for the Expo example native project. |
| examples/expo/e2e/starter.test.js | Adds Detox starter E2E coverage for main navigation flows. |
| examples/expo/babel.config.js | Adds module resolver aliasing for local package source in Expo example. |
| examples/expo/app/index.tsx | Adds the Expo home screen listing examples + SDK version display. |
| examples/expo/app/examples/hook/index.ts | Adds hook-based examples registry (including ScreenShare). |
| examples/expo/app/examples/hook/hooks/useInitRtcEngine.tsx | Adds shared hook to init Agora engine + attach listeners for hook examples. |
| examples/expo/app/examples/hook/VirtualBackground/VirtualBackground.tsx | Adds hook-based Virtual Background example. |
| examples/expo/app/examples/hook/TakeSnapshot/TakeSnapshot.tsx | Adds hook-based snapshot example. |
| examples/expo/app/examples/hook/StringUid/StringUid.tsx | Adds hook-based user-account join example. |
| examples/expo/app/examples/hook/JoinChannelVideo/JoinChannelVideo.tsx | Adds hook-based video join example with render mode toggles. |
| examples/expo/app/examples/hook/AudioMixing/AudioMixing.tsx | Adds hook-based audio mixing example. |
| examples/expo/app/examples/basic/index.ts | Adds basic examples registry for Expo router. |
| examples/expo/app/examples/basic/StringUid/StringUid.tsx | Adds class-based basic StringUid example (engine lifecycle + area code). |
| examples/expo/app/examples/advanced/index.ts | Adds advanced examples registry for Expo router. |
| examples/expo/app/examples/advanced/VirtualBackground/VirtualBackground.tsx | Adds class-based advanced Virtual Background example. |
| examples/expo/app/examples/advanced/VideoEncoderConfiguration/VideoEncoderConfiguration.tsx | Adds class-based encoder configuration example. |
| examples/expo/app/examples/advanced/TakeSnapshot/TakeSnapshot.tsx | Adds class-based advanced snapshot example. |
| examples/expo/app/examples/advanced/StreamMessage/StreamMessage.tsx | Adds class-based stream message example. |
| examples/expo/app/examples/advanced/SpatialAudio/SpatialAudio.tsx | Adds class-based spatial audio example. |
| examples/expo/app/examples/advanced/SendMetadata/SendMetadata.tsx | Adds class-based metadata send/receive example. |
| examples/expo/app/examples/advanced/RhythmPlayer/RhythmPlayer.tsx | Adds class-based rhythm player example. |
| examples/expo/app/examples/advanced/PushVideoFrame/PushVideoFrame.tsx | Adds class-based external video source push-frame example. |
| examples/expo/app/examples/advanced/ProcessVideoRawData/ProcessVideoRawData.tsx | Adds class-based raw video processing example via Android native module. |
| examples/expo/app/examples/advanced/PlayEffect/PlayEffect.tsx | Adds class-based audio effect playback example. |
| examples/expo/app/examples/advanced/MediaRecorder/MediaRecorder.tsx | Adds class-based media recorder example + foreground service usage. |
| examples/expo/app/examples/advanced/LocalSpatialAudioEngine/LocalSpatialAudioEngine.tsx | Adds class-based local spatial audio engine example. |
| examples/expo/app/examples/advanced/Extension/Extension.tsx | Adds class-based extension loading/enabling example. |
| examples/expo/app/examples/advanced/Encryption/Encryption.tsx | Adds class-based encryption example. |
| examples/expo/app/examples/advanced/ContentInspect/ContentInspect.tsx | Adds class-based content inspect example. |
| examples/expo/app/examples/advanced/ChannelMediaRelay/ChannelMediaRelay.tsx | Adds class-based channel media relay example. |
| examples/expo/app/examples/advanced/BeautyEffect/BeautyEffect.tsx | Adds class-based beauty effect example (clear vision extension). |
| examples/expo/app/examples/advanced/AudioSpectrum/AudioSpectrum.tsx | Adds class-based audio spectrum monitoring example. |
| examples/expo/app/examples/advanced/AudioMixing/AudioMixing.tsx | Adds class-based advanced audio mixing example. |
| examples/expo/app/examples/advanced/AudioCallRoute/AudioCallRoute.tsx | Adds class-based audio routing/speaker route example. |
| examples/expo/app/_layout.tsx | Adds Expo Router stack layout with per-screen header + log overlay. |
| examples/expo/app.json | Adds Expo app configuration (plugins, permissions, deployment target). |
| examples/expo/android/settings.gradle | Adds Expo/RN autolinking settings for Android example project. |
| examples/expo/android/gradlew | Adds Gradle wrapper script for Android example project. |
| examples/expo/android/gradle/wrapper/gradle-wrapper.properties | Pins Gradle distribution for Android example project. |
| examples/expo/android/gradle.properties | Configures Android build flags (Hermes, new arch, minSdk, etc.) for example. |
| examples/expo/android/build.gradle | Adds top-level Android build config + repos (incl. Detox maven). |
| examples/expo/android/app/src/main/res/values/styles.xml | Adds app theme + splash theme for example. |
| examples/expo/android/app/src/main/res/values/strings.xml | Adds app strings for example (name/splash config). |
| examples/expo/android/app/src/main/res/values/colors.xml | Adds colors used by theme/splash/icons. |
| examples/expo/android/app/src/main/res/values-night/colors.xml | Adds night-mode colors placeholder. |
| examples/expo/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml | Adds adaptive icon definition. |
| examples/expo/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml | Adds adaptive icon definition. |
| examples/expo/android/app/src/main/res/drawable/rn_edit_text_material.xml | Adds RN edit text drawable workaround. |
| examples/expo/android/app/src/main/res/drawable/ic_launcher_background.xml | Adds splash/background layer list. |
| examples/expo/android/app/src/main/java/com/reactnativeagoraexampleexpo/VideoRawDataNativeModulePackage.kt | Registers raw video processing native module package. |
| examples/expo/android/app/src/main/java/com/reactnativeagoraexampleexpo/VideoRawDataNativeModule.kt | Adds native video frame observer that modifies captured frames. |
| examples/expo/android/app/src/main/java/com/reactnativeagoraexampleexpo/MainApplication.kt | Adds React Native host wiring + manual package registration. |
| examples/expo/android/app/src/main/java/com/reactnativeagoraexampleexpo/MainActivity.kt | Uses AgoraPIPActivity and Expo delegate wrapping. |
| examples/expo/android/app/src/main/java/com/reactnativeagoraexampleexpo/AgoraServicePackage.kt | Adds RN native module package to manage foreground service. |
| examples/expo/android/app/src/main/java/com/reactnativeagoraexampleexpo/AgoraServiceManager.kt | Exposes start/stop foreground service to JS. |
| examples/expo/android/app/src/main/java/com/reactnativeagoraexampleexpo/AgoraForegroundService.kt | Implements Android foreground service + notification channel. |
| examples/expo/android/app/src/main/AndroidManifest.xml | Adds permissions, PIP activity, and foreground service declaration. |
| examples/expo/android/app/src/debug/AndroidManifest.xml | Enables SYSTEM_ALERT_WINDOW + cleartext traffic for debug. |
| examples/expo/android/app/src/androidTest/java/com/reactnativeagoraexampleexpo/DetoxTest.java | Adds Android instrumentation test entrypoint for Detox. |
| examples/expo/android/app/proguard-rules.pro | Adds ProGuard keep rules for Reanimated/turbomodules + Detox rules link. |
| examples/expo/android/app/build.gradle | Adds Android app module build config + Detox + Hermes/JSC setup. |
| examples/expo/android/.gitignore | Adds Android ignore rules for Expo example. |
| examples/expo/.gitignore | Adds root ignore rules for Expo example workspace. |
| examples/expo/.detoxrc.js | Adds Detox configuration for iOS/Android example apps. |
| android/build.gradle | Bumps Agora Android dependencies to 4.6.2 and adjusts dependency scopes. |
| CHANGELOG.md | Adds 4.6.2-rc.1 changelog entry referencing Expo example addition. |
| .yarnrc.yml | Removes a Yarn plugin entry (pod-install). |
| .github/workflows/typedoc.yml | Updates deploy-pages action version. |
| .github/workflows/sync.yml | Adjusts YAML quoting (no functional logic change). |
| .github/workflows/publish.yml | Updates release workflow defaults/permissions + Node/npm setup + extra logging. |
| .github/workflows/dep.yml | Updates runner + adds code generation action + points pod-install to examples/expo. |
| .github/workflows/ci.yml | Updates CI to build/test the Expo example and changes macOS/Xcode config. |
| .github/workflows/build.yml | Updates build artifacts and paths for Expo example and adjusts runners. |
| .github/actions/setup/action.yml | Updates CocoaPods version and changes Yarn install behavior. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Copilot AI
added a commit
that referenced
this pull request
Mar 4, 2026
Co-authored-by: LichKing-2234 <[email protected]>
LichKing-2234
approved these changes
Mar 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.