React Native + lib-jitsi-meet - audio/video tracks not getting added to the conference - jitsi

We are trying to create a React Native mobile app for Jitsi from scratch using the lib-jitsi-meet API, and we have a self-hosted jitsi-meet on AWS server and we followed quick-install guide. For the purpose of this post, the URL is https://jitsimeet.example.com.
In the React Native app, we are able to join a conference called test1 using JitsiMeetJS.initJitsiConference. Once joined, the user is visible as "Fellow Jitster" on the browser at jitsimeet.example.com/test1, but the tracks (video/audio) we are adding to the conference (from React Native mobile app) are not visible and in the browser, it just says "Participant has stopped the camera" and "Participant is muted".
We have tried meet.jit.si & beta.meet.jit.si in our React Native app to see if the problem is related to our backend installation. But these were also not working.
We have also tried the same conference jitsimeet.example.com/test1 on the browser and in jitsi-meet mobile app and they are both working fine without any issues.
We have also set up the jitsi-meet repository locally. On running the React Native part on the Android emulator, it is working fine (both joining the conference and rendering the audio/video tracks).
From the above observations, it seems to be that the issue is coming from our implementation of React Native app.
Our code for the component that initiates the conference can be found here. Here you can find the link to our repository. To run it, just do npm i and npx react-native run-android. We are using polyfills in our react-native code as given in the jitsi-meet repository.
In the logs of jicofo on our server, we were able to see that when users join via web or jitsi-meet mobile app, we are getting:
org.jitsi.jicofo.ParticipantChannelAllocator.log() Sending session-initiate to: test1#conference.jitsimeet.example.com/2502e6ad
org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Got session-accept from: test1#conference.jitsimeet.example.com/2502e6ad
org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Received session-accept from test1#conference.jitsimeet.example.com/2502e6ad with accepted sources:Sources{ video: [ssrc=467278592 ssrc=2301072636 ssrc=839807103 ssrc=3616291734 ssrc=2331517151 ssrc=3181098946 ] audio: [ssrc=2795704819 ] }#2129717334
Whereas when we join via our React Native app, we are only getting:
org.jitsi.jicofo.ParticipantChannelAllocator.log() Sending session-initiate to: test1#conference.jitsimeet.example.com/946022e6
More information which might be relevant
On the client side, we are adding tracks after CONFERENCE_JOINED event is fired, then, we are getting the following logs
[JitsiConference.js] _doReplaceTrack - no JVB JingleSession
[JitsiConference.js] _doReplaceTrack - no P2P JingleSession
As mentioned above, we can join the conference from our react native app and we are getting CONFERENCE_JOINED, USER_JOINED, USER_LEFT events.
The TRACK_ADDED event is also firing locally right after adding local tracks. But it is not firing for any video/desktop-sharing/audio changes occurring on other remote clients (web browser or jitsi-meet mobile app).
How can we fix this?

Related

React Native - React-native-app-auth - service_configuration_fetch_error

Environment
Your Identity Provider: Azure
Platform that you're experiencing the issue on: Android
Are you using Expo?: No
React Native Version: 0.66.4
React Native App Auth Version: 6.4.0
Hi Folks,
My app is being used by about 300 users and we are getting a lot of complaints about problems logging into Microsoft using MFA.
After receiving the SMS and adding the code, the user confirms on the consent screen to be redirected back to the app but often he goes back to the Microsoft Login page.
The problem can be solved palliatively by clearing the cache of the Chrome app.
I put some logs on my AppCenter:
Below is what my code looks like:
And my Azure Url Redirect configuration on App Register:
Question:
I need to put on property appAuthRedirectScheme the same name of my bundleId? Or can I put any custom string?
And
What could be the problem on service_configuration_fetch_error?

Creating native Android push notifications for App built with PWA builder

Successfully created an Android app of my PWA using PWA builder.
Also Added web push notifications with the Service worker and web Firebase messaging API.
But due to certain shortcomings of web push notifications, I want to use the native push notifications using firebase SDK for Android instead.
Reading a few of these answers How to use push notification for trusted web activity, Cannot understand how to open a simple TWA inside an app (using AndroidX) gives me the impression that I need to have access to Main Activity and put Firebase onMessageReceived inside onCreate function.
But given PWA builder is a Node application that builds APK, I don't know where to start. I understand that I have to 1. Include the Firebase SDK & 2. Put onMessageReceived
But how to go about it using PWA builder?
Or Is it not possible at all? I need to create a brand new Andriod studio project and add TwaLauncher, from android-browser-helper as some of the answers mention?
Also posted this question on PWA builder issues.
When you are generating Android APK, enable the "Notification Delegation" option.

How to login to Facebook using react native for web platform

I'm trying to figure out how to implement a facebook login via a react-native for a web app. I can find lots of info on how to do this for IOS and Android, but nothing for a web app. I created my project using expo and also installed firebase, but I can't find enough info to tie all this together for a web app. I don't think it will matter, but I'm also using typescript. I would provide some code, but I can't even find a solution that compiles at this point.

Expo Android App Build Stuck on Axios Request

I have built this pizza app in which the home screen loads data that it received using axios get request. When I use the app on the development mode i.e. running expo client on my phone and scanning the QR code, the app loads pizza cards with no issues. (PS there is a loading screen before the pizza cards render). But when I ran expo build:android and got the standalone app (apk file). I installed it on my phone and the home screen is stuck on the loading sign. It is not fetching any data from the backend API, can anyone help me with this issue.
In my case the error is that I was registering for expo notification and calling the api only after the promise resolved (I forgot to provide FCM api key)
for eg:-
registerForPushNotificationsAsync().then(token => {
//--- calling the login api ---
}
since expo notification will not work in production build if we dont provide FCM key thats why login api was not getting called in production so my request was working in development but not in production

Wait for a server message in background in React Native

I'm developing a Messenger/Call app in React Native. Users can call each other. When all users are online there is no problem but when users go offline (close their app) they won't recognize calls. I need to run a service which listens to a specific types of message pushed by server.
I want to publish call signals by google GSM. (I can't use Firebase for some reasons)
Is there any library which I can use it or I have to define my own native module and Link it to React Native?