jitsi / jitsi-meet

Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
https://jitsi.org/meet
Apache License 2.0
22.91k stars 6.69k forks source link

React Native SDK - Expo 51 dependancy issues #15149

Open hraschan opened 1 day ago

hraschan commented 1 day ago

What happened?

When I try to update from version 1.0.3 to 10.2.1 I needed to install "@react-native-clipboard/clipboard" as dependency and overwrite its react-native version to 0.74.5. In order to make jitsi install. When running a npx expo prebuild --clean i get the following issue when installing the pods:

⚠️  Something went wrong running `pod install` in the `ios` directory.
Command `pod install` failed.
└─ Cause: CocoaPods could not find compatible versions for pod "jitsi-meet-rnsdk":
  In Podfile:
    jitsi-meet-rnsdk (from `../node_modules/@jitsi/react-native-sdk`)

Specs satisfying the `jitsi-meet-rnsdk (from `../node_modules/@jitsi/react-native-sdk`)` dependency were found, but they required a higher minimum deployment target.

pod install --repo-update --ansi exited with non-zero code: 1

Wich deployment target does jitsi require in order to work?

Is there a better way to make jitsi work with expo?

package.json

{
  // Deleted app infos
  "dependencies": {
    "@amplitude/react-native": "2.7.0",
    "@criusm/ssl-pinning": "1.1.1",
    "@giphy/react-native-sdk": "2.3.0",
    "@gorhom/bottom-sheet": "^4",
    "@hookform/resolvers": "^3.4.2",
    "@jitsi/react-native-sdk": "^10.2.1",
    "@morrowdigital/watermelondb-expo-plugin": "^2.3.1",
    "@nozbe/watermelondb": "0.25.5",
    "@piwikpro/react-native-piwik-pro-sdk": "^1.0.9",
    "@react-native-async-storage/async-storage": "1.23.1",
    "@react-native-clipboard/clipboard": "^1.14.2",
    "@react-native-community/datetimepicker": "8.0.1",
    "@react-native-community/netinfo": "11.3.1",
    "@react-native-community/slider": "4.5.2",
    "@react-native-cookies/cookies": "6.2.0",
    "@react-native-masked-view/masked-view": "0.3.1",
    "@react-navigation/bottom-tabs": "^6.5.9",
    "@react-navigation/drawer": "^6.6.4",
    "@react-navigation/elements": "^1.3.19",
    "@react-navigation/native": "^6.1.8",
    "@react-navigation/stack": "^6.3.18",
    "@reduxjs/toolkit": "1.8.1",
    "@shopify/flash-list": "1.7.1",
    "axios": "0.18.0",
    "babel-plugin-module-resolver": "4.1.0",
    "buffer": "5.2.1",
    "crypto-es": "^2.0.4",
    "date-holidays": "^3.23.11",
    "expo": "^51.0.32",
    "expo-blur": "~13.0.2",
    "expo-build-properties": "~0.12.5",
    "expo-calendar": "~13.0.5",
    "expo-camera": "~15.0.15",
    "expo-clipboard": "~6.0.3",
    "expo-constants": "~16.0.2",
    "expo-contacts": "~13.0.5",
    "expo-crypto": "~13.0.2",
    "expo-dev-client": "~4.0.26",
    "expo-device": "~6.0.2",
    "expo-document-picker": "~12.0.2",
    "expo-file-system": "~17.0.1",
    "expo-font": "~12.0.7",
    "expo-image": "~1.12.15",
    "expo-image-manipulator": "~12.0.5",
    "expo-image-picker": "~15.0.7",
    "expo-intent-launcher": "~11.0.1",
    "expo-linear-gradient": "~13.0.2",
    "expo-linking": "~6.3.1",
    "expo-localization": "~15.0.3",
    "expo-location": "~17.0.1",
    "expo-media-library": "~16.0.4",
    "expo-notifications": "~0.28.17",
    "expo-screen-orientation": "~7.0.5",
    "expo-secure-store": "~13.0.2",
    "expo-sensors": "~13.0.9",
    "expo-sharing": "~12.0.1",
    "expo-splash-screen": "~0.27.5",
    "expo-status-bar": "~1.12.1",
    "expo-web-browser": "~13.0.3",
    "i18n-js": "3.8.0",
    "iban": "0.0.14",
    "immer": "3.1.1",
    "jail-monkey": "2.8.0",
    "jest": "^29.2.1",
    "jest-junit": "^16.0.0",
    "js-base64": "3.7.3",
    "lodash": "^4.17.21",
    "moment": "^2.29.4",
    "moment-duration-format": "^2.3.2",
    "numeral": "2.0.6",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-fast-compare": "2.0.4",
    "react-hook-form": "^7.48.2",
    "react-native": "0.74.5",
    "react-native-action-button": "2.8.5",
    "react-native-actions-sheet": "0.8.10",
    "react-native-background-timer": "2.4.1",
    "react-native-blob-util": "0.17.2",
    "react-native-calendars": "^1.1302.0",
    "react-native-contacts": "6.0.5",
    "react-native-default-preference": "1.4.4",
    "react-native-device-info": "10.9.0",
    "react-native-fs": "2.20.0",
    "react-native-geocoding": "0.5.0",
    "react-native-gesture-handler": "~2.16.1",
    "react-native-get-random-values": "~1.11.0",
    "react-native-hyperlink": "^0.0.22",
    "react-native-image-pan-zoom": "^2.1.12",
    "react-native-immersive-mode": "2.0.1",
    "react-native-keep-awake": "4.0.0",
    "react-native-keyboard-aware-scroll-view": "0.9.5",
    "react-native-keychain": "8.0.0",
    "react-native-map-clustering": "3.4.2",
    "react-native-maps": "1.14.0",
    "react-native-orientation-locker": "1.6.0",
    "react-native-pager-view": "6.3.0",
    "react-native-paper": "5.10.3",
    "react-native-parsed-text": "0.0.20",
    "react-native-pdf": "^6.7.1",
    "react-native-performance": "5.0.0",
    "react-native-platform-touchable": "1.1.1",
    "react-native-reanimated": "~3.10.1",
    "react-native-render-html": "^6.3.4",
    "react-native-safe-area-context": "4.10.5",
    "react-native-screens": "3.31.1",
    "react-native-snap-carousel": "3.9.1",
    "react-native-sound": "0.11.2",
    "react-native-splash-screen": "3.3.0",
    "react-native-status-bar-height": "2.0.0",
    "react-native-svg": "15.2.0",
    "react-native-vector-icons": "9.1.0",
    "react-native-version-number": "0.3.6",
    "react-native-video": "6.0.0-alpha.7",
    "react-native-watch-connectivity": "1.1.0",
    "react-native-web": "~0.19.6",
    "react-native-webrtc": "^124.0.4",
    "react-native-webview": "13.8.6",
    "react-redux": "8.1.2",
    "redux": "4.0.5",
    "redux-logger": "3.0.6",
    "redux-persist": "5.10.0",
    "redux-persist-transform-encrypt": "2.0.1",
    "redux-thunk": "2.3.0",
    "reselect": "4.0.0",
    "source-map": "0.7.3",
    "supercluster": "7.1.4",
    "yup": "^1.3.2",
    "zod": "^3.22.4"
  },
  "devDependencies": {
    "@babel/core": "^7.20.0",
    "@react-native/eslint-config": "^0.74.0",
    "@types/jest": "^29.5.8",
    "@types/lodash": "^4.14.202",
    "@types/react": "~18.2.14",
    "@types/yup": "^0.32.0",
    "@typescript-eslint/eslint-plugin": "^6.11.0",
    "@typescript-eslint/parser": "^6.10.0",
    "eslint": "^8.53.0",
    "eslint-plugin-jest": "^27.6.0",
    "eslint-plugin-prettier": "^5.2.1",
    "eslint-plugin-unused-imports": "^3.0.0",
    "express": "^4.18.2",
    "husky": "^8.0.3",
    "multiparty": "^4.2.3",
    "patch-package": "^8.0.0",
    "prettier": "^3.3.3",
    "rn-development-helper": "^0.0.4",
    "typescript": "~5.3.3"
  },
  "overrides": {
    "@jitsi/react-native-sdk": {
      "@react-native-async-storage/async-storage": "1.23.1",
      "@react-native-community/netinfo": "11.3.1",
      "@react-native-community/slider": "4.5.2",
      "react-native-gesture-handler": "2.16.2",
      "react-native-get-random-values": "1.11.0",
      "react-native-safe-area-context": "4.10.5",
      "react-native-screens": "3.31.1",
      "react-native-svg": "15.2.0",
      "react-native-webview": "13.8.6",
      "react-native-pager-view": "6.3.0",
      "react-native-svg-transformer": "1.3.0",
      "react-native-webrtc": "124.0.4",
      "@amplitude/react-native": "2.7.0",
      "@react-native-clipboard/clipboard": "1.14.2",
      "react-native-immersive-mode": "2.0.1",
      "react-native-video": "6.0.0-alpha.7"
    },
    "@react-native-clipboard/clipboard": {
      "react": "18.2.0",
      "react-native": "0.74.5"
    },
    "eslint-plugin-jest": {
      "@typescript-eslint/eslint-plugin": "^6.10.0"
    },
    "@xmldom/xmldom": "0.8.7"
  },
  "jest": {
    "preset": "react-native",
    "transformIgnorePatterns": [
      "node_modules/(?!(jest-)?react-native|@react-native-community|@react-navigation|STYLEGUIDE_COMPONENTS/*)"
    ],
    "moduleFileExtensions": [
      "ts",
      "tsx",
      "js",
      "jsx",
      "json",
      "node"
    ],
    "coverageReporters": [
      "text",
      "cobertura",
      "lcov"
    ],
    "reporters": [
      "default",
      "jest-junit"
    ]
  },
  "jest-junit": {
    "outputDirectory": "target/jest/",
    "usePathForSuiteName": "true"
  },
  "private": true
}

Platform

Browser / app / sdk version

1.0.3

Relevant log output

No response

Reproducibility

More details?

No response

Khafaga39 commented 9 hours ago

same here

Khafaga39 commented 8 hours ago

found the issue, check the minimum deployment it must not be less than 15.1

hraschan commented 8 hours ago

I'll try that. But still the upgrade process is anyway really bad. I need to install a package and overwrite its peer dependancies. Thats not a really good experience. It it possible to have a sdk for expo? That uses only expo dependencies in order to make it work better?