Skip to content

Conversation

@adimiz1
Copy link
Contributor

@adimiz1 adimiz1 commented Sep 20, 2025

Brief Summary of Changes

Add video layer

What does this PR address?

  • GitHub issue (Add reference - #XX)
  • Refactoring
  • New feature
  • Bug fix
  • Adds more tests

Are tests included?

  • Yes
  • No

Reviewer, please note:

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I ran the full test suite before pushing the changes and all the tests pass.

adimiz1 added 30 commits July 7, 2025 08:52
# Conflicts:
#	example/package-lock.json
#	example/yarn.lock
#	package-lock.json
- Resolved merge conflicts between master (Expo 53 upgrade) and video layer feature
- Updated dependencies to support Expo 53 while preserving video layer functionality
- Combined README documentation for video layer with expo-av deprecation notes
- Preserved adapter pattern from master in AdvancedVideo.tsx
- Kept demo app structure from feature branch with updated dependencies
- Added support for @expo/vector-icons and expo-font as optional dependencies for video layer
- Remove resizeMode and onPlaybackStatusUpdate props from CLDVideoLayer
- Update RefObject types to allow null values
- Replace AVPlaybackStatusSuccess with generic any type for compatibility
- Fixed all TypeScript compilation errors
Copy link

@kalifyaniv-cloudinary kalifyaniv-cloudinary left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great job in general 💪

Comment on lines +21 to +33
// Create analytics object with feature 'G' for CLDVideoLayer
const videoLayerAnalytics = {
...SDKAnalyticsConstants,
feature: 'G',
};

let videoUrl: string;
try {
videoUrl = cldVideo.toURL({ trackedAnalytics: videoLayerAnalytics });
} catch (analyticsError) {
console.warn('CLDVideoLayer: Failed to generate URL with analytics, falling back:', analyticsError);
videoUrl = cldVideo.toURL();
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do we create a player for share? im confused

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure I understand the question
This part of the code is responsible for the analytics part, where we attach the analytics token

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@adimiz1
forget this.
It seems that i misunderstood the code. I thought we create a new CloudinaryVideo for share. I see now that its just a parameter to the util.
all good!

adimiz1 and others added 8 commits October 15, 2025 07:57
Co-authored-by: kalifyaniv-cloudinary <91880870+kalifyaniv-cloudinary@users.noreply.github.com>
Co-authored-by: kalifyaniv-cloudinary <91880870+kalifyaniv-cloudinary@users.noreply.github.com>
Co-authored-by: kalifyaniv-cloudinary <91880870+kalifyaniv-cloudinary@users.noreply.github.com>
Co-authored-by: kalifyaniv-cloudinary <91880870+kalifyaniv-cloudinary@users.noreply.github.com>
Co-authored-by: kalifyaniv-cloudinary <91880870+kalifyaniv-cloudinary@users.noreply.github.com>
@adimiz1 adimiz1 merged commit 88be10e into master Oct 16, 2025
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.

3 participants