The testing can be done for iOS, Android and web, which are all the platforms that Jitsi Meet can be used on. The project contains end to end tests for several key functions such as peer to peer and invites. The torture tests are located in a separate repository, Jitsi Meet Torture. The main form of testing code changes is done through torture tests, next to this the code is tested manually. scss files scss) are split up into features like the React features that they are used in. This folder contains all the css that is used in the project. The translations can be found in the code with each of the keys in the translation maps that can be found in main-.json files. This folder contains all the different translations that are present in Jitsi Meet. This consists of setting up a connection to it, joining the meeting room, muting and unmuting, but also functions to gather information about the participants that are in the room. This file can be found at the root of the project, and contains the foundation of any interaction between a user and a conference room. However, the code for the application itself and its components can be found in the react/features folder, which is explained earlier in this section. This API can be used in various events like participants joining/leaving the meeting, changes in avatars or chat, as well as errors in using the microphone or camera.īoth of these folders contain the basics of the Android and iOS app respectively. In this folder, the external API can be found. This file acts as a bridge between the component and the functionality of the rest of the application. Most features also contain a file called middleware.js. More on React Redux can be found here react-redux. The application makes use of React Redux as well, this is used as a general state store to keep track of important parameters that are used throughout the application. Most of the features make use of the so-called class component by React class-comp, however some new features start to use the new way to write functional components by using hooks func-comp. Usually in this folder there will be a separation between native and web components, however in some cases the same component could be used for both Android, iOS and web browser, in which case there is no separation made.Īs stated before, the codebase mostly consists of React and React Native, which is the React version for mobile applications. Each of these features has its own folder in this map, which is then again split up to keep a hierarchy and consistency throughout the code.Įach feature folder consists of a subfolder called components, in this folder all of the React, or React Native for mobile, components are expressed. This source folder is split up into all the different features that Jitsi has to offer, such as authentication, chat interaction, keyboard shortcuts, screenshot capture, remote control and virtual background. This folder is where it is best to start writing your code, as it contains most of the app components that are used in the apps on Android and iOS, as well as on the web version. In this section we will look at the main parts of the codebase and see what they can be used for. The second category of external connections is those to external services that help store recordings, stream recordings, stream videos or help with creating meetings. Firstly, the connections between clients that request a video or audio connection performed through remote requests and data streams. The external connections can be categorized into two main groups. The individual connections between the previously described components, as well as their external integrations are described in the figure below. Prosody - XMPP server used for signalling.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |