Giter VIP home page Giter VIP logo

capacitor-jitsi-meet's People

Contributors

avareto avatar calvinckho avatar cyril-colin avatar dmastag avatar gasci avatar jefaokpta avatar jofftiquez avatar maxfloden avatar miikebar avatar taylorsuk avatar viking2917 avatar youssef3wi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

capacitor-jitsi-meet's Issues

Android / Not finishing call after leaving the meeting

Hi, I'm running the plugin on different Android Emulators ( different versions) after leaving the meeting on Android R looks like the plugin it not closing the call and if I try to connect into another meeting session the app it's displaying the following message :

Android_Emulator_-_Pixel_2_API_R_5554

Android_Emulator_-_Pixel_2_API_R_5554

I'm running IONIC-react with capacitor 2.0

All the rest of the Android versions are working correctly.

Let me know if I can provide something or help to solve this issue.

Thanks!

web plugin

Hello,

I got this error in browser uncaught exception: Jitsi does not have web implementation..

Works just fine on android (havn't test on iOS yet). Nice plugin by the way 👍

64 Bit Play Console Rejection

I had some issues getting the Google Play store to accept this build. I note there is information on 32/64 bit architecture in the Android section. However in order for Google to allow rollout I had to edit the proposed line of build.grade from:

ndk {
   abiFilters "armeabi-v7a", "x86"
}

to

ndk {
   abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
}

If I am brutally honest, I don't know the full details of why this fixed things, however it did for me.

Could not find or use auto-linked framework 'JitsiMeet' (iOS)

When I try to create an Archive build (Product -> Archive) Xcode build fails with "Could not find or use auto-linked framework 'JitsiMeet'".

Running and deploying the App in Simulator works fine without any errors.
Any idea?

Showing All Messages
Ld /Users/avaretosoftware/Library/Developer/Xcode/DerivedData/App-asgwkjcbcyekhxclqlvowinmxpgc/Build/Intermediates.noindex/ArchiveIntermediates/App/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/CapacitorJitsiMeet.framework/CapacitorJitsiMeet normal (in target 'CapacitorJitsiMeet' from project 'Pods')
cd /Users/avaretosoftware/frontend/avaretoapp/ios/App/Pods
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -target arm64-apple-ios11.0 -dynamiclib -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk -L/Users/avaretosoftware/Library/Developer/Xcode/DerivedData/App-asgwkjcbcyekhxclqlvowinmxpgc/Build/Intermediates.noindex/ArchiveIntermediates/App/BuildProductsPath/Release-iphoneos/CapacitorJitsiMeet -F/Users/avaretosoftware/Library/Developer/Xcode/DerivedData/App-asgwkjcbcyekhxclqlvowinmxpgc/Build/Intermediates.noindex/ArchiveIntermediates/App/BuildProductsPath/Release-iphoneos/CapacitorJitsiMeet -F/Users/avaretosoftware/Library/Developer/Xcode/DerivedData/App-asgwkjcbcyekhxclqlvowinmxpgc/Build/Intermediates.noindex/ArchiveIntermediates/App/BuildProductsPath/Release-iphoneos/Capacitor -F/Users/avaretosoftware/Library/Developer/Xcode/DerivedData/App-asgwkjcbcyekhxclqlvowinmxpgc/Build/Intermediates.noindex/ArchiveIntermediates/App/BuildProductsPath/Release-iphoneos/CapacitorCordova -F/Users/avaretosoftware/frontend/avaretoapp/ios/App/Pods/JitsiMeetSDK/Frameworks -filelist /Users/avaretosoftware/Library/Developer/Xcode/DerivedData/App-asgwkjcbcyekhxclqlvowinmxpgc/Build/Intermediates.noindex/ArchiveIntermediates/App/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/CapacitorJitsiMeet.build/Objects-normal/arm64/CapacitorJitsiMeet.LinkFileList -install_name @rpath/CapacitorJitsiMeet.framework/CapacitorJitsiMeet -Xlinker -rpath -Xlinker /usr/lib/swift -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -dead_strip -Xlinker -object_path_lto -Xlinker /Users/avaretosoftware/Library/Developer/Xcode/DerivedData/App-asgwkjcbcyekhxclqlvowinmxpgc/Build/Intermediates.noindex/ArchiveIntermediates/App/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/CapacitorJitsiMeet.build/Objects-normal/arm64/CapacitorJitsiMeet_lto.o -fembed-bitcode -Xlinker -bitcode_verify -Xlinker -bitcode_hide_symbols -Xlinker -bitcode_symbol_map -Xlinker /Users/avaretosoftware/Library/Developer/Xcode/DerivedData/App-asgwkjcbcyekhxclqlvowinmxpgc/Build/Intermediates.noindex/ArchiveIntermediates/App/BuildProductsPath/Release-iphoneos/CapacitorJitsiMeet -fobjc-arc -fobjc-link-runtime -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos -L/usr/lib/swift -Xlinker -add_ast_path -Xlinker /Users/avaretosoftware/Library/Developer/Xcode/DerivedData/App-asgwkjcbcyekhxclqlvowinmxpgc/Build/Intermediates.noindex/ArchiveIntermediates/App/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/CapacitorJitsiMeet.build/Objects-normal/arm64/CapacitorJitsiMeet.swiftmodule -framework Capacitor -framework Foundation -compatibility_version 1 -current_version 1 -Xlinker -dependency_info -Xlinker /Users/avaretosoftware/Library/Developer/Xcode/DerivedData/App-asgwkjcbcyekhxclqlvowinmxpgc/Build/Intermediates.noindex/ArchiveIntermediates/App/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/CapacitorJitsiMeet.build/Objects-normal/arm64/CapacitorJitsiMeet_dependency_info.dat -o /Users/avaretosoftware/Library/Developer/Xcode/DerivedData/App-asgwkjcbcyekhxclqlvowinmxpgc/Build/Intermediates.noindex/ArchiveIntermediates/App/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/CapacitorJitsiMeet.framework/CapacitorJitsiMeet

ld: warning: Could not find or use auto-linked framework 'JitsiMeet'
Undefined symbols for architecture arm64:
"OBJC_CLASS$_JitsiMeetView", referenced from:
objc-class-ref in JitsiMeetViewController.o
"OBJC_CLASS$_JitsiMeetConferenceOptions", referenced from:
objc-class-ref in JitsiMeetViewController.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Hide some features in mobile sdk

Hi,
I have some difficulty to hide lobby mode and mute (audio, video) for all participants
i try this setFeatureFlag(“lobby-mode.enabled”, withBoolean: false ) for lobby mode but not working
and for mute everyone i don’t see any features to configure that.
Thank you.

Is there a way to reduce the app size?

I was wondering about the app size. Since this plugin ads more than 30mb, but the official jitsi meet plugin is less than 10mb in size. (Though it becomes bigger once its loaded)

Is there something we can do to decrease the app size? Like having some of the sdk downloaded after loading for the first time.

Leave conference and option to change call-integration.enabled and JMCallKitProxy.enabled

Hi,

I was looking for a way to implement jitsi in one of our Capacitor + Ionic project. And this plugin is amazing, Thanks @calvinckho .
But the only thing which was not there was implementation of ringing UI to accept or reject the call whenever a call arrives. I tried to accomplish that by using cordova-call for showing accept/reject call UI. But was facing the problem because Jitsi Meet were also using callkit and it was conflicting with cordova-call, I was not able to capture onHangup event of cordova.

After some research I couldn't find the answer, so I updated the plugin's native code to disable the call-integration. But then after hanging-up cordova call I was not able to leave the conference (jitsi end call button have to be tapped again after terminating call from native UI). So I added a method to leave the conference.

I've created a PR for leaveConference function and an input option to change value for 'call-integration.enabled' and 'JMCallKitProxy.enabled' (which is changed by setFeatureFlag). It is only for iOS at the moment.

Please review it and please pardon me if I made any mistake in code as I don't know anything about swift language. Your help for this would be greatly appreciated.

Thanks.

JitsiMeetSDK: [features/mobile/pip] Error entering PiP mode: Error: enterPictureInPictureMode: Current activity does not support picture-in-picture.

I am getting the above issue while working with PIP mode,

Device: One Plus 7
OS: Oxygen OS
Android:: 10

I have configured the following activity in AndroidMainfest.xml

<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode" android:resizeableActivity="true" android:supportsPictureInPicture="true" android:windowSoftInputMode="adjustResize" android:launchMode="singleTask">

Update SDK in Ionic App using Capacitor-jitsi-meet

Hello,

I’m on an Ionic 5 App using capacitor-jitsi-meet to integrate JitsiMeet. It works very well, thanking @calvinckho .

Currently capacitor-jitsi-meet uses SDK version 3.5.0

My question is how updating / upgrading the SDK version 3.5.0 to —> 3.6.0. (for both android and ios) ?

I am not on the native and I want your help …

My thanks in advance.

How to set configOverwrite or setFeatureFlag to remove the invite button?

This plugin works really well, thank you very much for sharing it.

I would like to know if it's possible to use the setFeatureFlag to remove the "invite" button? (And also removing other interface/configuration params as the recording button, etc). When using the official iframe API for websites there is a configOverwrite param for this, but I'm not able to find how to make it work on this plugin for Android.

Any guidance to accomplish this will be highly appreciated.

Error on build android

  • What went wrong:
    Could not determine the dependencies of task ':capacitor-jitsi-meet:generateDebugRFile'.

Could not resolve all task dependencies for configuration ':capacitor-jitsi-meet:debugCompileClasspath'.
Could not find org.jitsi.react:jitsi-meet-sdk:2.11.0.
Required by:
project :capacitor-jitsi-meet

Anything I miss?

Installation issues on android

I have followed instructions as I read MD and followed all 3 steps.
Then followed up with the Jitsi Meet android deployment documentation. However I see issues happening can you help me build this right.

Screenshot_100

sdk customization

Hi!

First of all, thanks for an amazing plugin!

I recently updated my app to Capacitor 3 and with it your plugin as well.
I noticed it came with a few UI modifications, a few too many for my need in fact.

If I want to remove a few options in the UI, could you assist me in that?

Kind regards!

Jitsi is not available in Plugins Registry

Hello,
When I have installed this plugin and after initializing it in my app and try to build it. It always gives the error mentioned below.

"Type 'PluginRegistry' has no property 'Jitsi' and no string index signature."

Please help to resolve this issue.

I'm using it in this way with ionic4.

import { Component } from "@angular/core";
import { Plugins } from "@capacitor/core";
const { Jitsi } = Plugins; // Here Jitsi is undefined or not available in PluginRegistry
@component({
selector: "app-home",
templateUrl: "home.page.html",
styleUrls: ["home.page.scss"]
})
export class HomePage {
constructor() {
console.log("Plugins", Plugins);
}
async getJitsi(){
const result = await Jitsi.joinConference({
roomName: 'room1', // room identifier for the conference
url: 'https://meet.jit.si' // endpoint of the Jitsi Meet video bridge
});
}
}

Question: User information

Hi Calvin!

I gess the current implemenation dosen't support adding user information to the options (?)
I think it would be very common that an app has user information available in this context and it would be very convinient to simply add them to the options on entering a meeting room. As far as I know, the Jitsi Meet Api for the web support user information:
Jitsi.joinConference({ ..., userInfo: { email: '[email protected]', displayName: 'John Doe' }, ... });
Because I am not an android and ios expert, my question is: Do you think this can be simply added to extend the capacitor (ios & android) implemenation to support userInfo? If yes, can you please point me to the code where this needs to be added/changed?

For Android there seems to be an option property for userInfo:
public Builder setUserInfo(JitsiMeetUserInfo userInfo) { this.userInfo = userInfo; return this; }
https://github.com/jitsi/jitsi-meet/blob/master/android/sdk/src/main/java/org/jitsi/meet/sdk/JitsiMeetConferenceOptions.java#L258

Regards
Andreas

Swift Compiler error on Version 11.4 (11E146)

Thank you so much for this plugin @calvinckho, it's been amazing to use and opened up a whole new avenue of business for my app. Unfortunately good old Apple has ruined the fun after Xcode upgraded today to Version 11.4 (11E146) and I'm now getting the following errors when building. Apologies for the image, however there is way too much to convey in code.

Screenshot 2020-03-25 at 21 43 39

[Question] Capacitor 3 support

EDIT
After some investigation the issue turned out to be related with me using Capacitor v3 while it is not yet supported

Original issue
Hi, sorry for asking this question again, I've seen the previous issues but in those people were trying to run Jitsi in browser, while I'm trying to get it working on Android emulator / device.

From my understanding (maybe I'm wrong), if I'm on a native device I should be able to start a Jitsi conference using the native SDK, while on the web I should use Jitsi iFrame / External API (just like you did here, link taken from one of the issues).

If you take a look at the screenshots below, the detected platform is indeed Android, yet I'm getting a warning in Logcat, saying "the web implementation is not available". Is this the expected behaviour or am I missing something?

image
image

As for the code it's just a basic setup, as I'm just starting with my app:

import React, { useState } from 'react';
import { Capacitor, Plugins } from '@capacitor/core';
import 'capacitor-jitsi-meet';

const { Jitsi } = Plugins;

const Home: React.FC = () => {
  const [status1, setStatus1] = useState('');
  const [status2, setStatus2] = useState('');
  const [status3, setStatus3] = useState('');

  const joinCall = async () => {
    const result: any = await Jitsi.joinConference({
      roomName: 'CapacitorTest1',
      url: 'https://meet.jit.si',
      displayName: 'CapacitorUser',
    });
    setStatus1(result.success);

    window.addEventListener('onConferenceJoined', (event) => {
      setStatus2('Conference joined');
    });
    window.addEventListener('onConferenceLeft', (event) => {
      setStatus3('Conference joined');
    });
  };

  return (
    <div>
      <button onClick={() => joinCall()}>Join</button>
      <b>Platform: {Capacitor.getPlatform()}</b>
      <h2>statuses</h2>
      <pre>{JSON.stringify(status1, null, 2)}</pre>
      <pre>{JSON.stringify(status2, null, 2)}</pre>
      <pre>{JSON.stringify(status3, null, 2)}</pre>
    </div>
  );
};

export default Home;

Share Screen

Hi.

The implementation was a success, but it happens that when I want to share a screen, the users who see it cannot see anything.

issue with android

I have followed instructions as I read MD and followed all 3 steps.
Then followed up with the Jitsi Meet android deployment documentation. However I see issues happening can you help me build this right.

Screenshot_100

Issue with ios build

Hi,

Thanks for this plugin @calvinckho , I've seen you upgraded Android to SDK 2.2.2 but not ios SDK, still stuck with 1.2x, why ?
With Xcode 10.2 I can't build for ios with an error swift compiler 5.0.1 can't import 4.2.1 module ... I try to force swift to be on 4.2.1, but it still hangs. Do you have any idea ?

Thanks

Expand plugin

I think you should expand this plugin with following:

  1. Subject, displayName...
  2. Leave meeting function

Compatibility with Capacitor 2

Hi @calvinckho

This is an amazing module, I've used it in iOS but I miss the Android version (because we are using Capacitor 2).

I'd like to try to help updating the module for Capacitor 2 for Android. However, I stillI haven't worked with any Capacitor plugins or Native Android apps yet. I've just been developing Ionic apps with Cordova and Capacitor for the past 2 years. There are some other people hereat the company that could also help.

Any tips on how should we start helping on that?

iOS pip implementation

I want to implement a pip in ios but i can't get a solution
i use capacitor-jitsi-meet v2.2.1
and SDK 4.1.0
Any help

Switching camera

Is there a way to switch camera ? because by default it uses font camera.

Error starting app

Hi there,

Im testing this good plugin in a ionic 4 app, I followed all the steps to build this on android app and im having the error when I want to start the app.

can you help me?

thanks!!

ERRO:

W/o.ionic.starte: Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (greylist, reflection, allowed)
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
Process: io.ionic.starter, PID: 16681
java.lang.RuntimeException: Unable to start activity ComponentInfo{io.ionic.starter/io.ionic.starter.MainActivity}: android.view.InflateException: Binary XML file line #2 in io.ionic.starter:layout/bridge_layout_main: Binary XML file line #2 in io.ionic.starter:layout/bridge_layout_main: Error inflating class android.support.design.widget.CoordinatorLayout
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3333)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3477)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2043)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7464)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:955)
Caused by: android.view.InflateException: Binary XML file line #2 in io.ionic.starter:layout/bridge_layout_main: Binary XML file line #2 in io.ionic.starter:layout/bridge_layout_main: Error inflating class android.support.design.widget.CoordinatorLayout
Caused by: android.view.InflateException: Binary XML file line #2 in io.ionic.starter:layout/bridge_layout_main: Error inflating class android.support.design.widget.CoordinatorLayout
Caused by: java.lang.ClassNotFoundException: android.support.design.widget.CoordinatorLayout
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:454)
at android.view.LayoutInflater.createView(LayoutInflater.java:813)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1004)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:959)
at android.view.LayoutInflater.inflate(LayoutInflater.java:657)
at android.view.LayoutInflater.inflate(LayoutInflater.java:532)
at android.view.LayoutInflater.inflate(LayoutInflater.java:479)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)
at com.getcapacitor.BridgeActivity.init(BridgeActivity.java:56)
at io.ionic.starter.MainActivity.onCreate(MainActivity.java:16)
at android.app.Activity.performCreate(Activity.java:7990)
at android.app.Activity.performCreate(Activity.java:7979)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3308)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3477)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2043)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7464)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:955)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.design.widget.CoordinatorLayout" on path: DexPathList[[zip file "/data/app/~~04EriqOAtqS5R4p7-3N9ZQ==/io.ionic.starter-_9YcTxsLPcFYV9KmEiLOGw==/base.apk"],nativeLibraryDirectories=[/data/app/~~04EriqOAtqS5R4p7-3N9ZQ==/io.ionic.starter-_9YcTxsLPcFYV9KmEiLOGw==/lib/x86, /data/app/~~04EriqOAtqS5R4p7-3N9ZQ==/io.ionic.starter-_9YcTxsLPcFYV9KmEiLOGw==/base.apk!/lib/x86, /system/lib, /system_ext/lib, /product/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:202)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
... 27 more

How can we enable CALL_INTEGRATION?

Firstly, thank you for maintaining this repository. It is of immense help.

I am looking to make call kit this work with call kit on both iOS and android, how could I make that happen, as I could not find any reference to CALL_INTEGRATION in the repository.

undefined is not an object on iOS

I'm trying to set this up in my Ionic 4/Capcitor app.

Here's how I have it implemented:

import { MessagesService } from './../../services/messages.service';
import { ModalController, NavParams } from '@ionic/angular';
import { Component, OnInit } from '@angular/core';
import { Plugins } from '@capacitor/core';
import 'capacitor-jitsi-meet';

const { Jitsi } = Plugins;

@Component({
	selector: 'app-videochat',
	templateUrl: './videochat.page.html',
	styleUrls: ['./videochat.page.scss'],
})
export class VideochatPage implements OnInit {
	conversationId: string;
	remoteCalls: any = [];

	constructor(
		private modal: ModalController,
		private navParams: NavParams,
		private msg: MessagesService
	) {
		this.conversationId = this.navParams.get('conversationId');
		console.warn('VideoChatModalLoaded', this.conversationId);
		this.init();
	}

	async init() {
		const result = await Jitsi.joinConference({
			roomName: 'room1', // room identifier for the conference
			url: 'https://meet.jit.si', // endpoint of the Jitsi Meet video bridge
			channelLastN: '-1', // default -1. see config.js for more info on the last n feature
			startWithAudioMuted: true, // start with audio muted
			startWithVideoMuted: false // start with video muted
		});
	}
}

And in XCode, the error I'm getting is:
ERROR Error: Uncaught (in promise): TypeError: undefined is not an object (evaluating 'Jitsi.joinConference')

Any ideas? Thanks

Error bulid in android

hi there!!! I installed last version on another project 1.5.10 and when i build in android i m getting this error:

Could not find org.jitsi.react:jitsi-meet-sdk:3.3.0.
Required by:
project :capacitor-jitsi-meet

thanks for your help!

Picture in Picture not working

Hi @calvinckho
I got this working on android but without picture in picture.
I was able to get it to work after adding to

https://github.com/calvinckho/capacitor-jitsi-meet/blob/master/android/capacitor-jitsi-meet/src/main/AndroidManifest.xml#L5

With the following

android:supportsPictureInPicture="true"

considering that it is in the original jitsi meet repo, see :

https://github.com/jitsi/jitsi-meet/blob/master/android/app/src/main/AndroidManifest.xml#L19

and

https://github.com/jitsi/jitsi-meet/blob/master/android/sdk/src/main/AndroidManifest.xml#L36

I was wondering if I should make a pull request or if this was intentional and there is a step in the Android implementation that I do not correctly understand.

Any pointers would be appreciated.

Android Error - Jitsi not found

When building in android I am getting this error:

error: package com.capacitor.jitsi.plugin does not exist

I followed this guide.

Here's my activity file:

package org.mycure.mobile.pxp;

import android.os.Bundle;

import com.getcapacitor.BridgeActivity;
import com.getcapacitor.Plugin;
import com.capacitor.jitsi.plugin.Jitsi;

import java.util.ArrayList;

public class MainActivity extends BridgeActivity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Initializes the Bridge
    this.init(savedInstanceState, new ArrayList<Class<? extends Plugin>>() {{
      // Additional plugins you've installed go here
      // Ex: add(TotallyAwesomePlugin.class);
      add(Jitsi.class);
    }});
  }
}

Dependencies

// main package.json
"@capacitor/core": "^2.4.7",
"capacitor-jitsi-meet": "^1.5.10",

// android package.json
"@capacitor/android": "2.4.7",
"@capacitor/core": "^2.4.7",

Relevant screenshots

image

App Crashes on Startup

Hey i just used the latest push but its giving me the following error

Manifest merger failed : uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library [org.jitsi.react:jitsi-meet-sdk:2.10.0] C:\Users\Kazi\.gradle\caches\transforms-2\files-2.1\9defd01d565d1664d450e723db0395a1\jetified-jitsi-meet-sdk-2.10.0\AndroidManifest.xml as the library might be using APIs not available in 21 Suggestion: use a compatible library with a minSdk of at most 21, or increase this project's minSdk version to at least 23, or use tools:overrideLibrary="org.jitsi.meet.sdk" to force usage (may lead to runtime failures)

i tried using overidelibrary but the app crashes on start

UPDATED
Here is the error in the output

E/AndroidRuntime: FATAL EXCEPTION: main Process: io.ionic.starter, PID: 3524 java.lang.RuntimeException: Unable to start activity ComponentInfo{io.ionic.starter/io.ionic.starter.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void org.apache.cordova.CordovaPlugin.privateInitialize(java.lang.String, org.apache.cordova.CordovaInterface, org.apache.cordova.CordovaWebView, org.apache.cordova.CordovaPreferences)' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3430) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3614) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:86) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2199) at android.os.Handler.dispatchMessage(Handler.java:112) at android.os.Looper.loop(Looper.java:216) at android.app.ActivityThread.main(ActivityThread.java:7625) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void org.apache.cordova.CordovaPlugin.privateInitialize(java.lang.String, org.apache.cordova.CordovaInterface, org.apache.cordova.CordovaWebView, org.apache.cordova.CordovaPreferences)' on a null object reference at org.apache.cordova.PluginManager.getPlugin(PluginManager.java:171) at org.apache.cordova.PluginManager.startupPlugins(PluginManager.java:97) at org.apache.cordova.PluginManager.init(PluginManager.java:86) at com.getcapacitor.cordova.MockCordovaWebViewImpl.init(MockCordovaWebViewImpl.java:62) at com.getcapacitor.BridgeActivity.load(BridgeActivity.java:79) at com.getcapacitor.BridgeActivity.init(BridgeActivity.java:62) at com.getcapacitor.BridgeActivity.init(BridgeActivity.java:48) at io.ionic.starter.MainActivity.onCreate(MainActivity.java:16) at android.app.Activity.performCreate(Activity.java:7458) at android.app.Activity.performCreate(Activity.java:7448) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1286) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3409) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3614)  at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:86)  at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)  at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2199)  at android.os.Handler.dispatchMessage(Handler.java:112)  at android.os.Looper.loop(Looper.java:216)  at android.app.ActivityThread.main(ActivityThread.java:7625)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)  I/Process: Sending signal. PID: 3524 SIG: 9

works good on a new app .The Issue arises when i install any other plugins

Regards Saif

Stable Picture-In-Picture mode

Hey, Hope you are doing well. We are trying to use the PIP mode. But once we enter the pip mode, we can interact with the app without any issues but video and audio become very unstable/glitchy. is there any way to stabilize this issue. Because in the jitsi meet app, the pip mode is working fine. Please let us know if there is any solution. Thank you for creating this plugin.

PWA - Compatible?

Hi Guys,

Is this PWA compatible? or only native app?

Cheers, Rodrigo

Need Sample App for Making New App with Plugin

Hello,
I am a Student and am new to Ionic Development. I am implementing an app with this plugin to join meetings with Jitsi meet SDK. I copy your usage in the README.md File and paste it into my code in Meet.tsx file. I am using the @ionic/react Plugin for creating the app. But it shows errors and cannot build my app. can you provide me with a sample app to see what's wrong?

Possibility to add JWT authentication ?

Hi and thanks you for this useful plugin !

I am thinking about using JWT authentication on my self-hosted instance of jitsi thanks to this guide https://github.com/jitsi/lib-jitsi-meet/blob/master/doc/tokens.md

So, I need to set a token on client side. It is easy with the lib-jitsi-meet (for web implementation only): I just have to add it to the BOSH url as query param.
But with this capacitor plugin, I can't see any options to add the token.

I can see in Jitsi SDK that there is a property for that, but this property is never set in your code

My question is : Do you think I can just add the JWT as query param in your serverUrl exposed option ? If not, do you think you can add this as a new feature ?

Thanks !

JoinConference options startWithAudioMuted and startWithVideoMuted is not working on iOS

Hello everyone, first of all thanks by the plugin.

I made a MVP using the plugin and noted that this options (startWithAudioMuted and startWithVideoMuted) are not working on IOS. On Android it's ok.

`async join(url: string) {
const roomName = url.substring(url.lastIndexOf('/') + 1);
const config = await this.storage.get();
if(!this.platform.is('hybrid')){
console.log('not hybrid sala ' + roomName);
console.log(config);
return;
}
await Jitsi.joinConference({
roomName, // room identifier for the conference
url: 'https://meet.jit.si', // endpoint of the Jitsi Meet video bridge
startWithAudioMuted: false, // start with audio muted
startWithVideoMuted: true, // start with video muted
displayName: config.name, // user's display name
callIntegrationEnabled: false, // this.platform.is('ios'), // enable call integration (CallKit on iOS, ConnectionService on Android)
token: null, // jwt authentication token
email: null, // user's email
avatarURL: null, // user's avatar url
channelLastN: null, // last N participants allowed to join
chatEnabled: true, // enable Chat feature
inviteEnabled: false, // enable Invitation feature
});
// console.log('STATUS DE ENTRADA', result.success);

window.addEventListener('onConferenceJoined', () => {
  console.log('ENTREI NA SALA');
});
window.addEventListener('onConferenceLeft', () => {
  console.log('SAIU DA SALA');
});

// const result: any = await Jitsi.leaveConference();
// console.log("leave status": result.success);

}`

Do i forget a thing?

Regards.

Ionic + Listeners

Probably is me the one whom did not find the right way to do this, but here goes my question... I would like to use a listener to record the time when somebody enters a conference and leaves a conference. Is tilt possible to use listeners with this plugin? By the way, I'm using Ionic 5.

Thank you!

Critical help request - Hide some buttons from the options menu

Hello Calvin! Thanks for your great work with this plugin. I would like to make the following question, is there a way to hide from UI or via featureFlag the following buttons?

20210116_080423

The buttons you see marked as red are: Enable lobby mode, silence all and help. Its critical for my project to get these three buttons hidden (at least two of them, enable lobby mode and silence all). I will be thankful if you can help me out as I can't go live because of this.

Once again, thank you very much for your time

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.