Commit Graph

1061 Commits

Author SHA1 Message Date
Bettenbuk Zoltan d8c1f107da [RN] Add swipe to delete feature 2018-10-09 13:35:06 +02:00
Saúl Ibarra Corretgé 057b300074 feat(Participant): reuse avatar URL generation logic
It was moved to js-utils, so make use of it.
2018-10-05 17:15:00 +02:00
hristoterezov ae7a882188 feat(Switch): Implement 2018-09-27 01:42:59 -05:00
Pratik Shah b7b43e8d9c feat(chat): convert to use React
- Change "features/chat" to support listening for new chat messages
  and storing them, removing that logic from conference.js.
- Combine chat.scss and side_toolbar_container.css, and remove unused
  scss files. Chat is the only side panel so the two concepts have
  been merged.
- Remove direct access to the chat feature from non-react and non-redux
  flows.
- Modify the i18n translate function to take in an options object.
  By default the option "wait" is set to true, but that causes
  components to mount after the parent has been notified of
  an update, which means autoscrolling down to the latest rendered
  messages does not work. With "wait" set to false, the children
  will mount and then the parent will trigger componentDidUpdate.
- Create react components for chat. Chat is the side panel
  plus the entiren chat feature. ChatInput is a child of Chat and
  is used for composing messages. ChatMessage displays one message
  and extends PureComponent to limit re-renders.
- Fix a bug where the toolbar was not showing automatically when
  chat is closed and a new message is received.
- Import react-transition-group to time the animation of the
  side panel showing/hiding and unmounting the Chat component.
  This gets around the issue of having to control autofocus if the
  component were always mounted and visibility toggled, but
  introduces not being able to store previous scroll state
  (without additional work or re-work).
2018-09-26 14:48:10 -05:00
Saúl Ibarra Corretgé a712e26ee2 deps: update lib-jitsi-meet dependency 2018-09-21 15:18:46 +02:00
bgrozev f317f993fd
chore: Updates lib-jitsi-meet to 51a982a7c8b9c3e89be75b0fdf7fedf4748a7345. (#3463) 2018-09-18 12:45:05 -05:00
Boris Grozev dfbd8d71ad chore: Updates lib-jitsi-meet to 615934a78afb3b501976263f5f916efed7af0080. 2018-09-17 22:10:48 -05:00
bgrozev d051d3450d
Displays the region participants are connected to (#3451)
* feat: Displays the server region in the stats panels.

* feat: Displays the server count in the local stats panel.

* ref: Renames a variable.

* fix: Makes bridgeCount a number, clarifies docs.

* chore: Updates lib-jitsi-meet to 1ac6df97e3aa5ff880129a95754d491d89ea8c25.
2018-09-17 13:21:03 -05:00
Leonard Kim 7c88de20fe feat(deps): update atlaskit/tabs to 8.0.8
There are (at least) two changes that are breaking:
- defaultTab is gone
- The re-rendering logic looks to have been re-written so that
  passing in a new array of tabs causes a re-render, which can
  reset the currently selected tab.

The fixes involved removing defaultTab from each tab configuration,
as it is no longer respected anyway. Also, instead of letting Tabs
be uncontrolled and allowing it to set its own selected, which
would result in the first tab automatically being selected on
Tabs re-render, use Tabs a controlled prop to dicate which
tab is selected; this is accomplished by specifying a selected
prop.
2018-09-14 14:50:08 -05:00
Leonard Kim 7b71482b03 feat(deps): update atlaskit/dropdown-menu to 6.1.12
This is a pre-requisite to updating atlaskit/tabs to 8.0.8.
Without updating, clicking a dropdown menu within a tab
component within a modal, such as the language selector in
the settings dialog, will lock the browser.
2018-09-14 14:50:08 -05:00
Leonard Kim 514175b1af chore(deps): update most atlaskit dependencies
Update the following to the latest:
avatar
button
checkbox
field-text
field-text-area
icon
inline-message
layer-manager
lozenge
modal-dialog (one version before breaking changes)
multi-select
spinner
theme
tooltip

The following were not updated:
- droplist was removed because usage could not be found
- flag was not updated due to regressions with stacking animations
- inline-dialog was not updated because it requires (likely simple)
  fixing of position props
2018-09-11 10:27:00 -05:00
paweldomas 22803f36e9 chore(package.json): bump react-native-callstats to 3.53.4 2018-09-07 20:16:06 -05:00
Bettenbuk Zoltan d10d61fb7a [RN] Add Google Sign In to live streaming 2018-09-05 23:09:56 +02:00
Saúl Ibarra Corretgé a327a5d804 [RN] Drop the react-native-permissions dependency
It causes false positives when submitting the app to the Store. Use the new
permissions API in react-native-webrtc instead.
2018-09-05 14:56:00 -05:00
Saúl Ibarra Corretgé 288bb59f71 deps: update react-native-webrtc dependency
It includes a W3C-ish permissions API which we will leverage.
2018-09-05 14:56:00 -05:00
Lyubo Marinov 79bd5cce00 react-native-webrtc: "android: prevent crash when checking camera facing mode (#37)" 2018-08-31 16:27:51 -05:00
virtuacoplenny 72776e3a23
chore(deps): update lib for duplicate device list event fix (#3413) 2018-08-30 19:35:11 -07:00
Saúl Ibarra Corretgé 8addf0f436 deps: update react-native-fast-image (#3411)
Fixes a memory leak in Android: https://github.com/DylanVann/react-native-fast-image/pull/214

We are using our fork which is 4.0.14 + the leak fix because the last version
(5.0.3 at the time of this writing) contains a bug that prevents us for using
it: https://github.com/DylanVann/react-native-fast-image/issues/208
2018-08-30 18:19:04 -05:00
Saúl Ibarra Corretgé 8d6e1b1872 deps: update lib-jitsi-meet
Required due to API changes for promises support.
2018-08-29 09:22:28 -05:00
Saúl Ibarra Corretgé 80dadd0218 [RN] Update react-native-webrtc for promises support 2018-08-29 09:22:28 -05:00
Saúl Ibarra Corretgé 3ca704d81d [RN] Update react-native-webrtc and remove no longer needed polyfills 2018-08-29 09:22:28 -05:00
Lyubo Marinov 3ad27961e5 [iOS] Fix Jitsi Meet v1.18.x "Missing Purpose String in Info.plist File" issues reported by App Store Connect
App Store Connect reported the following issues in (and rejected the binary
of) Jitsi Meet 1.18.x:

NSBluetoothPeripheralUsageDescription
NSAppleMusicUsageDescription
NSMotionUsageDescription
NSSpeechRecognitionUsageDescription

Starting spring 2019, all apps submitted to the App Store that access user
data will be required to include a purpose string for the following:

NSLocationAlwaysUsageDescription
NSLocationWhenInUseUsageDescription
2018-08-28 10:00:55 +02:00
Lyubo Marinov d62974b433 [RN] Update react-native-calendar-events (continued)
PR https://github.com/wmcmahan/react-native-calendar-events/pull/186 has
been merged upstream.
2018-08-26 21:53:42 -05:00
Saúl Ibarra Corretgé 8ff33684f7 [RN] Update react-native-calendar-events
Fixes a crash on Android. Upstream PR: https://github.com/wmcmahan/react-native-calendar-events/pull/186
2018-08-26 20:30:30 -05:00
Hristo Terezov 99d285519d chore(lib-jitsi-meet): Update version. (#3381) 2018-08-16 16:58:54 -07:00
hristoterezov df0e107ea6 feat(recording): Implement dropbox integration 2018-08-16 13:53:43 -05:00
Дамян Минков 7eda31315f Google & Microsoft calendar API integration (#3340)
* Refactor calendar-sync feature to be loaded on web.

For the web part it just adds new property to enable/disable calendar web integration, disabled by default.

* Initial implementation of retrieving google calendar events.

* Initial implementation of retrieving microsoft calendar events.

* Fixes comments.

* Rework to use the promise part of microsoft-graph-client api.

* Moves dispatching some actions, fixing comments.

* Makes sure we do not initializeClient google-api client multiple times.

* Do not try to login when fetching calendar entries.

The case where there is a calendar type google selected, but not logged in, trying to login on loading welcome page will show a warning that it tried to open a popup, which was denied by browser.

* Updates profile display data on sign in.

* Propagate google-api state to calendar-sync only if we use google cal.

* Adds sign out action.

* Clears the event listener when the popup closes.

* Clears calendarIntegrationInstance on signOut.

* WIP: UI for calendar settings, refactor auth flows

* Clean up some unused constants, functions and exports.

* break circular dependency of function and constant

* Exports only isCalendarEnabled from functions.

* Checks isSignedIn when doing fetchCalendarEntries on web.

* address comments

List microsoftApiApplicationClientID in undocument config.

remove unused SET_CALENDAR_TYPE action

use helper for calendar enabled in bootstrap

reorder actions

reorder imports

change order of signin -> set type -> update profile

add logging for signout error

reword setting dialog desc to avoid redundancy

add jsdoc to microsoft button props

reorder calendar constants

move default state to reducer (not reused anywhere)

update comment about calendar-sync due to removal of getCalendarState

update comment for getCalendarIntegration

remove vague comment

alpha order reducer, return default state on reset

alpha order persistence registry

remove unnecessary getType from apis

update comments in microsoftCalendar

alpha order google-api exports, use api.get in loadGoogleAPI

set jsdoc for google signin props

alpha order googleapi methods

fix calendartab docs

* Moves fetching calendar from APP_WILL_MOUNT to SET_CONFIG.

The web part needs configuration in order to refresh tokens (Microsoft).

* Fixes storing token expire time and refreshing tokens in Microsoft impl.

* Address comments

updateProfile changed to getCurrentEmail

rename result to results

stop storing integration in redux, store if ready for use

use existing helpers to parse redirect url

* update jsdocs, get google app id from redux

* clear integration instead of actual sign out
2018-08-15 13:11:54 -07:00
Ritwik Heda 1d99abc4a4 removes need for `eslint-disable-next-line react/jsx-wrap-multilines` and `eslint-diable-line no extra-parens` 2018-08-12 17:06:35 -05:00
Lyubo Marinov 9aed4df6d2 react-native-webrtc: android: pass correct constraints map to VideoCaptureController 2018-08-11 18:03:05 -05:00
Saúl Ibarra Corretgé d92b720704 [RN] Update calendar-events dependency
Includes a fix for not running expensive operations on the main thread.
2018-08-10 15:11:37 +02:00
Boris Grozev 195462a1a8 Merge branch 'master' into pr/3223 2018-08-08 15:35:40 -05:00
bgrozev 9c03e95bf1
npm: Updates lib-jitsi-meet to 4a28a196160411d657518022de8bded7c02ad679. (#3357) 2018-08-08 14:42:32 -05:00
Radium Zheng 0827e02de9 use official repo for libflac.js 2018-08-08 09:19:53 +10:00
Radium Zheng 5daa91ec1b update libflac.js to 4 and use proper fork 2018-08-08 09:19:28 +10:00
Radium Zheng 07bc70c2f5 Implement local recording
index.js of local recording

local-recording(ui): recording button

local-recording(encoding): flac support with libflac.js

Fixes in RecordingController; integration with UI

local-recording(controller): coordinate recording on different clients

local-recording(controller): allow recording on remote participants

local-recording(controller): global singleton

local-recording(controller): use middleware to init LocalRecording

cleanup and documentation in RecordingController

local-recording(refactor): "Delegate" -> "Adapter"

code style

stop eslint and flow from complaining

temp save: client status

fix linter issues

fix some docs; remove global LocalRecording instance

use node.js packaging for libflac.js; remove vendor/ folder

code style: flacEncodeWorker.js

use moment.js to do time diff

remove the use of console.log

code style: flac related files

remove excessive empty lines; and more docs

remove the use of clockTick for UI updates

initalize flacEncodeWorker properly, to avoid premature audio data transmission

move the realization of recordingController events
from LocalRecordingButton to middleware

i18n strings

minor markup changes in LocalRecordingInfoDialog

fix documentation
2018-08-08 09:18:16 +10:00
bgrozev 2ee1bf9351 feat: Displays the E2E RTT in the connection stats table. (#3344)
* feat: Displays the E2E RTT in the connection stats table.

* fix: Whitelists the ping config properties.

* ref: Addresses feedback.

* npm: Updates lib-jitsi-meet to e097a1189ed99838605d90b959e129155bc0e50a.

* ref: Moves the e2ertt and region to the existing stats object.
2018-08-07 11:31:51 -07:00
Saúl Ibarra Corretgé a1cc9bce91 [RN] Drop no longer needed polyfills
They were required only on Android because of its old JSC version. With the JSC
version bump they are no longer required.
2018-08-05 17:04:19 -05:00
Saúl Ibarra Corretgé 8d3cecad86 [Android] Update JSC version
The JSC version used by React Native is about 3 years old, and doesn't implement
things like Symbol or Typed Arrays, which require polyfills. These polyfills are
sometimes a los less performant, as is the case for Typed Arrays.

Bumping an updated JSC version makes both platforms consistent when it comes to
the JavaScript platform.
2018-08-05 17:04:16 -05:00
Ritwik Heda 046b06e436 added recent list 2018-08-03 11:25:03 -05:00
Saúl Ibarra Corretgé 27021ea271 [RN] Replace cached image implementation
Use react-native-fastimage, which uses 2 full-native image impleentations using
well known and mature (native) libraries.

This gets us rid of 2 libraries which were observerd as a source of bugs and
created trouble with dependencies: react-native-fetch-blob and
react-native-img-cache. They are also no longer well maintained.
2018-07-31 14:07:17 -05:00
Saúl Ibarra Corretgé 3d6e18394e deps: update url-polyfill dependency
The previous location no longer exists. This is a fork of the original package,
which is actively maintained.

Fixes: #3304
2018-07-25 11:27:54 -05:00
virtuacoplenny b54a9e2bf7
chore(deps): update lib for selecting participants and maxFrameHeight caching (#3291) 2018-07-23 14:20:30 -07:00
Boris Grozev acda279111 npm: Updates lib-jitsi-meet. 2018-07-19 17:10:28 -05:00
Daniel Ornelas ccf9e2a362 deps: update react-native-webrtc
This version uses a worker queue for all WebRTC operations in iOS.
2018-07-19 18:35:56 +02:00
Saúl Ibarra Corretgé 3154c6f936 [RN] Don't request camera permission on first launch
It will only be requested if a user joins a meeting or flips the switch from
video to audio and back, but never as the first thing when the welcome page is
mounted.
2018-07-19 09:03:22 -05:00
Saúl Ibarra Corretgé ea22d12581 [Android] Introduce IncomingCallView
It's a separate view (on the native side) and app (on the JavaScript side) so
applications can use it independently.

Co-authored-by: Shuai Li <sli@atlassian.com>
Co-authored-by: Pawel Domas <pawel.domas@jitsi.org>
2018-07-18 22:47:18 -05:00
Lyubo Marinov 9c4da125c8 lib-jitsi-meet "core: refactor initialization not to return a Promise (continued)" 2018-07-12 00:05:40 -05:00
Saúl Ibarra Corretgé 453c4b99dc cleanup: drop polyfills which were required for IE11 2018-07-11 17:53:32 +02:00
damencho baa2c217de Syncs with latest lib-jitsi-meet (98acf13).
Detects msid changes and signals them, part of fixing start A/V muted using Firefox.
2018-07-02 22:41:00 -05:00
bgrozev cc319ad5e9
chore: Updates the callstats lib. (#3207) 2018-06-28 17:40:33 +01:00
Saúl Ibarra Corretgé 75b2eb0f99 deps: update lib-jitsi-meet dependency 2018-06-28 13:55:12 +02:00
Lyubo Marinov 342a00a6af lib-jitsi-meet M67 2018-06-26 01:36:50 -05:00
Lyubo Marinov bf14e66142 react-native-webrtc M67 2018-06-26 00:08:58 -05:00
virtuacoplenny 942d7d7e56
chore(deps): update lib for recording refactoring and no display name escaping (#3169) 2018-06-21 15:47:25 -07:00
Hristo Terezov 1f8fa3b6d4 Refactor settings modal (#3121)
* feat(settings): setting dialog

- Move device selection, profile edit, language select, moderator
  options, and server auth into one modal with tabs.
- Remove side panel profile and settings and logic used to update
  them.
- Pipe server auth status into redux to display in the settings
  dialog.
- Change filmstrip only device selection popup to use the new
  stateless settings dialog component.

* squash: do not show profile tab if not guest

* squash: profile button not clickable if no profile to show

* squash: nits

* ref: Settings dialog.
2018-06-20 13:19:53 -07:00
paweldomas 85fbaac9b2 chore(deps): update LJM to 1bd6ee4b1207e6fd57f5b7c15cc17e0a6087f26d
Updates lib-jitsi-meet to have the getConnection getter in
JitsiConference.
2018-06-20 15:52:45 +02:00
virtuacoplenny e06ad6cea9
chore(deps): update lib to get bridge migration fix (#3141) 2018-06-15 11:22:01 -07:00
virtuacoplenny 259066e2c6 chore(deps): update lib to e7b81910 for layer suspension (#3130) 2018-06-13 10:48:43 -07:00
Saúl Ibarra Corretgé 89eacd6982 feat(eslint): use new eslint-config-jitsi
It contains all the rules we use, minus the react-native specific ones, which we
are keeping here.
2018-06-13 11:27:39 +02:00
Bettenbuk Zoltan 4a9fdb8a10 Update npm version and package-lock 2018-06-13 11:23:59 +02:00
Saúl Ibarra Corretgé c7fc26d864 [iOS] Fix crash on startup when fetching calendar entries
Turns out sometimes a calendar is missing the tile and it crashes because nil is
inserted into a NSDictionary. Fix it by applying this pending PR:
https://github.com/wmcmahan/react-native-calendar-events/pull/164
2018-06-12 20:38:50 -05:00
Дамян Минков 31011b24c2 Syncs with latest lib-jitsi-meet (d0cb2b2). (#3125) 2018-06-12 09:27:03 -07:00
Saúl Ibarra Corretgé bda1d7fdab [RN] Update react-native-locale-detector dependency
Fixes the issue / warning about non-UI thread initialization.
2018-06-09 12:05:27 +02:00
Saúl Ibarra Corretgé d35a1d60a0 [RN] Update react-native-fetch-blob dependency
Maintainership changed, and in addition, they fixed the issue / warning about
non-UI thread initialization.
2018-06-09 12:05:24 +02:00
damencho 89160e55f0 Updates react-native-callstats to 3.50.4. 2018-06-08 11:41:29 +02:00
Saúl Ibarra Corretgé 2c0ef822ae deps: update react-native-webrtc and lib-jitsi-meet 2018-06-05 15:40:37 +02:00
Lyubo Marinov f30bdb3dd9 lib-jitsi-meet: Upgrade NPM dependencies/packages: react-native 0.55 (continued) 2018-06-04 16:41:34 -05:00
Saúl Ibarra Corretgé 2b7976380e [RN] Update react-native to 0.55.4
Also bump React to 16.3.2, since it's required.
2018-06-04 16:05:33 -05:00
hristoterezov ce69ee60ca chore(lib-jitsi-meet): Update. 2018-05-30 16:21:07 -05:00
Дамян Минков 5b4a16cf6b Updates lib-jitsi-meet that uses strophe.js 1.2.15. (#3020) 2018-05-23 11:08:47 -07:00
Lyubo Marinov 6b3da4a4a4 redux 4.0.0, react-redux 5.0.7 2018-05-23 08:48:13 -05:00
virtuacoplenny ee74f11c3d
feat(recording): frontend logic can support live streaming and recording (#2952)
* feat(recording): frontend logic can support live streaming and recording

Instead of either live streaming or recording, now both can live together. The
changes to facilitate such include the following:
- Killing the state storing in Recording.js. Instead state is stored in the lib
  and updated in redux for labels to display the necessary state updates.
- Creating a new container, Labels, for recording labels. Previously labels were
  manually created and positioned. The container can create a reasonable number
  of labels and only the container itself needs to be positioned with CSS. The
  VideoQualityLabel has been shoved into the container as well because it moves
  along with the recording labels.
- The action for updating recording state has been modified to enable updating
  an array of recording sessions to support having multiple sessions.
- Confirmation dialogs for stopping and starting a file recording session have
  been created, as they previously were jquery modals opened by Recording.js.
- Toolbox.web displays live streaming and recording buttons based on
  configuration instead of recording availability.
- VideoQualityLabel and RecordingLabel have been simplified to remove any
  positioning logic, as the Labels container handles such.
- Previous recording state update logic has been moved into the RecordingLabel
  component. Each RecordingLabel is in charge of displaying state for a
  recording session. The display UX has been left alone.
- Sipgw availability is no longer broadcast so remove logic depending on its
  state. Some moving around of code was necessary to get around linting errors
  about the existing code being too deeply nested (even though I didn't touch
  it).

* work around lib-jitsi-meet circular dependency issues

* refactor labels to use html base

* pass in translation keys to video quality label

* add video quality classnames for torture tests

* break up, rearrange recorder session update listener

* add comment about disabling startup resize animation

* rename session to sessionData

* chore(deps): update to latest lib for recording changes
2018-05-16 07:00:16 -07:00
Saúl Ibarra Corretgé 362486cbea deps: update react-native-locale-detector
Includes a fix for compatibility with RN >= 0.47.
2018-05-15 13:48:34 -05:00
hristoterezov bcd9163284 chore(package.json): Update lib-jitsi-meet version. 2018-05-04 17:05:54 -05:00
virtuacoplenny c2e40f975e chore(deps): update lib to hide error on extension install cancel (#2911) 2018-05-03 16:56:44 -07:00
virtuacoplenny f450756337 chore(deps): update lib-jitsi-meet for getting youtube url (#2902) 2018-05-01 15:14:44 -07:00
Shuai Li ff9820a61b [react-native-webrtc] ios: fix build when using `use_frameworks!` 2018-04-19 16:32:42 -05:00
zbettenbuk 1ab107b238 [react-native-calendar-events] Null check empty cursor 2018-04-19 15:35:57 -05:00
Дамян Минков 172342cac3 Updates lib-jitsi-meet to 3077772. (#2845)
Fixes custom callstats script param name.
2018-04-19 09:18:19 -07:00
Leonard Kim 8828525511 chore(deps): update @atlaskit/tooltip to 9.1.1
Issues with tooltips not getting repositioned to display on
screen have been addressed.
2018-04-12 15:17:59 -05:00
paweldomas 27a1be1e1c chore: update lib-jitsi-meet to 39eea17e7e2f8ff4cc273239a6e73f2a149b96e2 2018-04-10 16:43:12 -05:00
Leonard Kim 3f99e80358 chore(deps): update Tooltip, InlineDialog, and InlineMessage 2018-04-10 16:42:46 -05:00
paweldomas 8b2ce21e1a fix(RN): bundle sound files in release build
On Android the files will be copied to the assets/sounds directory of
the SDK bundle on build time. To play the "asset:/" prefix has to be
used to locate the files correctly.

On iOS each sound file must be added to the SDK's Xcode project in order
to be bundled correctly. To playback we need to know the path of the SDK
bundle which is now exposed by the AppInfo iOS module.
2018-04-10 10:59:52 +02:00
Дамян Минков 60fde5efb8 deps: update node-sass to 4.8.3
Fixes #2762 #2237
2018-04-10 09:24:06 +02:00
Daniel Ornelas 84e5e657a0 [iOS] Fix RNFetchBlob calling UI API on a background thread
Update RNFetchBlob to use a commit that fixes issues with calling UI API
on a background thread. Note: The commit used is from a forked repo that
is not yet merged on the new source for this RN component, eventually we
should be consuming from this repo instead
https://github.com/joltup/react-native-fetch-blob
2018-04-09 16:27:06 -05:00
Guus der Kinderen b2efcadeb8 deps: update react-native-webrtc 2018-04-09 12:08:57 +02:00
Leonard Kim 58d1b69148 chore(deps): update lib-jitsi-meet to 7ab5434a 2018-04-06 15:17:50 -05:00
Leonard Kim 1b85442dba chore(deps): update lib-jitsi-meet to 6282e7a8
This update is explicitly for FF screenshare and
gum retry fixes.
2018-04-02 16:13:35 -05:00
virtuacoplenny b353b8fffb chore(deps): update lib-jitsi-meet to ef0e14b (#2679) 2018-03-29 13:42:42 +02:00
Boris Grozev 8492aad7d6 npm: Updates lib-jitsi-meet to cab2fabd56e9591148997c78a82da433ecf28dec. 2018-03-28 16:08:54 -05:00
virtuacoplenny a39da15c94 ref(invite): remove unused nuclear-js dep (#2642) 2018-03-22 16:22:26 -07:00
Leonard Kim 134ff71c78 feat(modals): use dark theme 2018-03-20 16:06:50 -05:00
virtuacoplenny 2eafbacdd4 chore(deps): update lib-jitsi-meet to 0503ec4d for edge p2p progress (#2631) 2018-03-20 11:34:57 -07:00
zbettenbuk bba480f329 Add calendar-sync feature 2018-03-13 18:04:14 -05:00
paweldomas 60e03e3dec feat: add join/leave sounds on mobile
Adds base/sounds feature which allows other features to register a sound
source under specified id. A new SoundsCollection component will then
render corresponding HTMLAudioElement for each such sound. Once "setRef"
callback is called by the HTMLAudioElement, this element will be added
to the Redux store. When that happens sound can be played through the
new 'playSound' action which will call play() method on the stored
HTMLAudioElement instance.
2018-03-13 16:57:28 -05:00
damencho d218abfd97 Updates lib-jitsi-meet to d4b78721.
Implements the promised based getStats. Enables them for Safari and FF.
2018-03-09 12:03:01 -06:00
paweldomas 9e0fee6c7d fix(android): do not require java 8 target
Updates react-native-webrtc to get rid of Java 8 requirement for
the Android app.
2018-03-08 15:47:05 -06:00
damencho 5dca9e08f4 Bumps uglifyjs-webpack-plugin and its dependencies.
Solves a GitHub warning in lib-jitsi-meet about a vulnerability in a
uglifyjs-webpack-plugin dependency.
2018-03-08 15:12:15 -06:00
Lyubo Marinov d3a1f7d4f7 [iOS] Fix uncaught NSInvalidArgumentException in RTCPeerConnection's createAnswer
WebRTC used to report createAnswer (and createOffer) NSError with key
"error". But now the key's called "NSLocalizedDescription".

Additionally, NSMutableDictionary doesn't accept nil.
2018-03-07 15:23:20 -06:00
Saúl Ibarra Corretgé 8b35ea8ad5 deps: update jquery version (#2441)
* deps: update jquery version

* squash: resize thumbnails after appending shared thumb

This forces jquery animate to show the thumbnail somehow...
Remote thumbnails basically work this way (append to filmstrip
and then resize filmstrip thumbnails) so I just copied that
implementation. ... So I admit I lost this fight because
even after looking at jquery I couldn't understand why
it doesn't work on the first resize but does on the second.
Plus I'm being put on a strict timebox to update jquery.

* squash: getJSON no longer supports .success
2018-03-02 21:20:47 -06:00
hristoterezov e05f2a9027 chore(package.json): Update lib-jitsi-meet. 2018-03-02 21:19:16 -06:00
George Politis 0d5cc8898d chore(lib-jitsi-meet): Update version. 2018-03-02 16:33:04 -06:00
hristoterezov b3431ab3e7 chore(lib-jitsi-meet): Update version. 2018-02-23 13:38:41 -06:00
virtuacoplenny 59d046dca9 feat(info): new dialog design (#2452)
* feat(info): new dialog design

- Add display of a dial in number.
- Add a static page to show a full list of dial in numbers.
- Add password management.
- Invite modal will be changed soon to remove password and
  dial-in.

* squash: add classes for torture tests

* squash: class for local lock for torture tests

* squash: more classes for torture tests

* squash: more classes, work around linter

* squash: remove unused string?

* squash: work around linter and avoid react warnings

* squash: pixel push, add bold

* squash: font size bump

* squash: NumbersTable -> NumbersList

* squash: document response from fetching numbers

* squash: showEdit -> editEnabled, pixel push padding for alignment

* squash: pin -> conferenceID

* squash: prepare to receive defaultCountry from api
2018-02-13 13:46:47 -06:00
damencho 990b1eddf2 Adds strophe.js and plugin-disco as a dependency to fix build problem.
Bumps lib-jitsi-meet to latest. There was a problem that jitsi-meet build fail if anybody touches package.json (including PR testing), this happen after start using custom strophe.js from github:jitsi/strophejs.
The error:
    ERROR in ../strophejs-plugin-disco/lib/strophe.disco.js
    Module not found: Error: Can't resolve 'strophe.js' in '/Users/dminkov/dev/jitsi-meet/node_modules/strophejs-plugin-disco/lib'
     @ ../strophejs-plugin-disco/lib/strophe.disco.js 4:126-147 4:196-227
     @ ./modules/xmpp/xmpp.js
     @ ./JitsiConnection.js
     @ ./JitsiMeetJS.js
     @ ./index.js

Without strophejs-plugin-disco jitsi-meet builds but on runtime loading fail with:
Error: Missing strophe-plugins (disco plugin is required)!

FIXME: We should remove this once strophe.js releases new version and we are back to the official one inside lib-jitsi-meet.
2018-02-08 23:50:45 -06:00
damencho abbfd3de9a Adds strophe.js as a dependency to fix build problem.
Bumps lib-jitsi-meet to latest. There was a problem that jitsi-meet build fail if anybody touches package.json (including PR testing), this happen after start using custom strophe.js from github:jitsi/strophejs.
The error:
    ERROR in ../strophejs-plugin-disco/lib/strophe.disco.js
    Module not found: Error: Can't resolve 'strophe.js' in '/Users/dminkov/dev/jitsi-meet/node_modules/strophejs-plugin-disco/lib'
     @ ../strophejs-plugin-disco/lib/strophe.disco.js 4:126-147 4:196-227
     @ ./modules/xmpp/xmpp.js
     @ ./JitsiConnection.js
     @ ./JitsiMeetJS.js
     @ ./index.js

FIXME: We should remove this once strophe.js releases new version and we are back to the official one inside lib-jitsi-meet.
2018-02-08 22:48:25 -06:00
bgrozev d481c6f736 chore: Updates lib-jitsi-meet to 5f8c0a662af086e7bcc19c010f1129afc9b6… (#2460)
* chore: Updates lib-jitsi-meet to 5f8c0a662af086e7bcc19c010f1129afc9b6d650

* squash: revert changes to package-lock.json except for the lib-jitsi-meet version change.
2018-02-06 21:21:39 -07:00
Дамян Минков ba94ba30c5 Handles connection failed event details (passing them to analytics). (#2432)
* Handles connection failed event details (passing them to analytics).

* Fixing comments.

* Updates depending versions to be able to test.

* Fixing comments.

* Fixes wrong jsdoc.
2018-02-06 14:54:21 -08:00
virtuacoplenny c4468cb7b8 chore(deps): update lib-jitsi-meet for connection quality logging (#2436) 2018-01-30 14:52:25 -08:00
Leonard Kim 80c4205fb8 chore(deps): update lib-jitsi-meet for ie11 browser caps fix 2018-01-29 16:16:21 -06:00
hristoterezov dda0ea0ba9 chore(lib-jitsi-meet): Update the version. 2018-01-27 13:02:46 -06:00
Lyubo Marinov b52e584327 "feat(TPC): append TPC ID to stream IDs" & "fix(RTC): protect from counter overflow" 2018-01-25 11:21:40 -06:00
Boris Grozev f5f341ca9e npm: Updates lib-jitsi-meet to e895c9b86f57a288f644dcc61f81771034b932da. 2018-01-24 14:15:52 -06:00
Lyubo Marinov f29fbb6757 [iOS] WebRTC 63 with 2 backports to fix a crash 2018-01-24 13:37:54 -06:00
virtuacoplenny 12ec982067
Merge pull request #2400 from jitsi/browser_caps2
fix(lib-jitsi-meet): RTCBrowserType -> browser.
2018-01-22 13:57:50 -08:00
hristoterezov c9e3e5052d fix(lib-jitsi-meet): RTCBrowserType -> browser. 2018-01-22 15:56:06 -06:00
Lyubo Marinov fc36759114 [RN] WebRTC 63 2018-01-19 14:56:58 -06:00
Saúl Ibarra Corretgé 41aa704e1f [RN] Update React Native to version 0.51.0 2018-01-11 11:04:28 -06:00
hristoterezov a357b0cf14 feat(notification): Add suboptimal browser exp notification. 2018-01-04 15:57:17 -06:00
bbaldino 871ef9ff0e change TPC logs to info by default 2018-01-04 08:14:40 -06:00
bgrozev 090f2f9ccb Restructures the analytics events (#2333)
* ref: Restructures the pinned/unpinned events.

* ref: Refactors the "audio only disabled" event.

* ref: Refactors the "stream switch delay" event.

* ref: Refactors the "select participant failed" event.

* ref: Refactors the "initially muted" events.

* ref: Refactors the screen sharing started/stopped events.

* ref: Restructures the "device list changed" events.

* ref: Restructures the "shared video" events.

* ref: Restructures the "start muted" events.

* ref: Restructures the "start audio only" event.

* ref: Restructures the "sync track state" event.

* ref: Restructures the "callkit" events.

* ref: Restructures the "replace track".

* ref: Restructures keyboard shortcuts events.

* ref: Restructures most of the toolbar events.

* ref: Refactors the API events.

* ref: Restructures the video quality, profile button and invite dialog events.

* ref: Refactors the "device changed" events.

* ref: Refactors the page reload event.

* ref: Removes an unused function.

* ref: Removes a method which is needlessly exposed under a different name.

* ref: Refactors the events from the remote video menu.

* ref: Refactors the events from the profile pane.

* ref: Restructures the recording-related events.

Removes events fired when recording with something other than jibri
(which isn't currently supported anyway).

* ref: Cleans up AnalyticsEvents.js.

* ref: Removes an unused function and adds documentation.

* feat: Adds events for all API calls.

* fix: Addresses feedback.

* fix: Brings back mistakenly removed code.

* fix: Simplifies code and fixes a bug in toggleFilmstrip

when the 'visible' parameter is defined.

* feat: Removes the resolution change application log.

* ref: Uses consistent naming for events' attributes.

Uses "_" as a separator instead of camel case or ".".

* ref: Don't add the user agent and conference name

as permanent properties. The library does this on its own now.

* ref: Adapts the GA handler to changes in lib-jitsi-meet.

* ref: Removes unused fields from the analytics handler initializaiton.

* ref: Renames the google analytics file and add docs.

* fix: Fixes the push-to-talk events and logs.

* npm: Updates lib-jitsi-meet to 515374c8d383cb17df8ed76427e6f0fb5ea6ff1e.

* fix: Fixes a recently introduced bug in the google analytics handler.

* ref: Uses "value" instead of "delay" since this is friendlier to GA.
2018-01-03 13:24:07 -08:00
Leonard Kim 0680c086df chore(deps): update lib-jitsi-meet for ie11 stringify failure 2017-12-28 14:26:35 -06:00
Zoltan Bettenbuk 45c405de0e [RN] Add recent-list feature 2017-12-19 18:35:51 -06:00
damencho 9a42b866ba Updates to latest lib-jitsi-meet f71ff66.
Updates also to latest react-callstats 3.27.0 as lib-jitsi-meet already updated to it.
2017-12-15 15:24:58 -06:00
Saúl Ibarra Corretgé 4a0e55b1f4 deps: update lib-jitsi-meet dependency 2017-12-13 11:11:06 -06:00
Lyubo Marinov 73cc9a68c7 Full commit hash 2017-12-13 10:15:48 -06:00
Saúl Ibarra Corretgé 57206cc36a [RN] Build react-native-locale-detector
Upstream lacked a CocoaPods podspec file, PR:
https://github.com/DylanVann/react-native-locale-detector/pull/3
2017-12-13 10:17:05 +01:00
Дамян Минков e28b847fb0 Updates config feature and whitelists options that can be overridden. (#2282)
* Removes unused config logic.

* Whitelists config options that can be overridden using the URL.

* Recorder login with credentials, not supported by externalconnect.

Jibri uses xmpp credentials to login, which is not supported by externalconnect, so we want to skip it till that is supported.

* Whitelist only config.js

* Extracts whitelisting in separate function.
2017-12-12 11:16:55 -08:00
Lyubo Marinov 6f0b828512 Fix crash caused by "[Android] Handle disposed VideoTrack in WebRTCView" 2017-12-11 14:24:17 -06:00
Saúl Ibarra Corretgé 15bf6b9e30 deps: update React to 16.2.0 2017-12-05 14:38:57 -06:00
Leonard Kim b258a9fc5e ref(css): move aui css to jitsi-meet 2017-12-05 08:50:13 -06:00
Leonard Kim 6b8b929d92 ref(build): remove aui javascript from imports 2017-12-04 16:19:18 -06:00
Lyubo Marinov 569b3547c8 Upgrade NPM dependencies/packages: react-native 0.50 2017-12-04 00:45:18 -06:00
Lyubo Marinov d8bc26a8ea Upgrade NPM dependencies/packages: ESLint 2017-12-04 00:21:01 -06:00
Lyubo Marinov 61e653a510 Upgrade NPM dependencies/packages 2017-12-04 00:17:35 -06:00
Lyubo Marinov ac3a74c47e Fix(Android): peerconnection removeStream is not working 2017-11-30 16:49:36 -06:00
Lyubo Marinov d88b57d35c webpack & UglifyJS w/ cache & parallel 2017-11-29 13:41:57 -06:00
Дамян Минков 345fcefa7d On adding participant show the initial status text if any. (#2220)
* On adding participant show the initial status text if any.

When participant joins and there is an initial status we show it, instead of the connected notification. If initial status is missing proceed with the default user connected notification.

* Updates to latest lib-jitsi-meet (365bd886ee).

* Adds a fixme comment.

* Updates to latest lib-jitsi-meet (365bd886ee).
2017-11-27 15:05:53 -08:00
damencho 09a952c390 Updates to latest lib-jitsi-meet (1c743d65ee). 2017-11-22 16:09:12 -06:00
George Politis 045a922482 npm: Updates lib-jitsi-meet to dc3397b18b3c3c41ee8d17224f9af9318b844c43. 2017-11-22 10:39:43 -06:00
Дамян Минков 7b1b873b6e VideoSIPGW updates (#2201)
* Adds initial documentation for sipgw jibri.

Also explains enabling the people search service and the request/response that are made around sipgw jibri service.

* Fixes add people dialog to invite users and rooms.

No invitation is sent when there is nobody to invite.

* Reuse some recording strings, by using arguments.

* Make sure web also dispatches CONFERENCE_WILL_JOIN.

* Introduces new feature videosipgw.

* Fixes lint errors.

* Renames methods to use people, chatRooms and videoRooms.

* Updates to latest lib-jitsi-meet (dc3397b18b).
2017-11-21 14:45:14 -08:00
Leonard Kim ef813fbf71 ref(notifications): replace NotificationWithToggle with Notification
It was decided along with the mute participant dialog reactification
that these types of warning messages should not be toggleable--that
they should simply always display because there is no undo action.
As such, the component NotificationWithToggle is no longer needed.
2017-11-21 11:55:45 -06:00
Saúl Ibarra Corretgé 0aa377fcfc [RN] Ignore mute error if track is disposed
Refs: https://github.com/jitsi/lib-jitsi-meet/pull/648

It's possible for a track to be disposed but still on the redux store, before
the reducer removed it.
2017-11-21 11:13:35 -06:00
bgrozev 8f59b6f215 npm: Updates lib-jitsi-meet. (#2199) 2017-11-20 13:46:29 -08:00
Leonard Kim 917fdcaa10 ref(deps): remove jquery-ui
After looking at the jquery-ui documentation, I believe it
is being used only in one place, when toggling the smiley
menu. That toggling has been quickly replaced with a normal
jquery call.

Note: @atlassian/aui also uses jquery-ui but killing that
off will be more difficult due to its CSS being used.
2017-11-17 16:49:10 -06:00
Lyubo Marinov 3f350be805 [Android] Handle disposed VideoTrack in WebRTCView 2017-11-17 14:23:11 -06:00
Lyubo Marinov 18d677e2f5 npm update 2017-11-16 13:26:40 -06:00
Leonard Kim ea2abc1102 chore(deps): upgrade lib-jitsi-meet to 41959be 2017-11-14 09:54:35 -08:00
Leonard Kim c2901808ca fix(button-group): use ButtonGroup from the Button package
That standalone ButtonGroup package has been deprecated.
The deprecation warning says to use the ButtonGroup component
from the Button package.
2017-11-13 16:59:44 -06:00
virtuacoplenny dc26b17d8b feat(keyboard-shortcuts): show help in a react dialog (#2148)
* feat(keyboard-shortcuts): show help in a react dialog

- Move shortcut help dom declaration to a react component
- Let open/close logic be handled by AtlasKit Dialog
- Remove static html for help from index.html
- Consolidate keyboard shortcut css

* squash: use lozenge for key styling

* squash: use different iteration style

* squash: update package-lock for lozenge
2017-11-13 16:58:00 -06:00
damencho f3798cc2b6 chore(deps): update lib-jitsi-meet to 6b12dc 2017-11-13 16:06:44 -06:00
Leonard Kim 0f9e22380d chore(deps): update lib-jitsi-meet to 50c956 2017-11-13 12:16:15 -06:00
Boris Grozev c4239ad7f9 npm: Updates lib-jitsi-meet to 9eaf57f1571f369c7b1432b97f58f5c77bf59aa1. 2017-11-08 10:35:51 -06:00
hristoterezov c3efa4f088 Add package-lock.json and lock lib-jitsi-meet 2017-11-02 19:17:40 -05:00
paweldomas b74bede0e7 feat(web/RN): update React to v16 and React Native to 0.49 2017-11-02 14:32:35 +01:00
Lyubo Marinov 34f7e39148 Coding style: consistency
It seems to me that npm 5 starting adding github: as the protocol of
dependencies in package.json which are from GitHub. I personally don't
know which npm version supports these and whether we care about such a
support. Anyway, having some use github: and most not is not consistent.
2017-10-30 13:56:28 -05:00
hristoterezov bade2ae719 chore(babel): Use babel-preset-env instead of babel-preset-es2015. 2017-10-30 13:41:05 -05:00
Saúl Ibarra Corretgé 4845f80dc8 misc: fix order in package.json 2017-10-30 14:35:29 +01:00
bbaldino e2b812a7bc use central jitsi eslint config (#2108) 2017-10-25 16:02:14 -07:00
hristoterezov a4e7f3d992 ref(strophe): Remove and cleanup all strophe related code.
Everything strophe related is now handled in lib-jitsi-meet project.
2017-10-23 16:27:30 -05:00
yanas e09949be9f feat(dark-theme): Applies dark theme on inline-dialogs, tooltips, flags and more 2017-10-20 15:29:16 -05:00
hristoterezov c0162dcd81 chore(deps): remove unused. 2017-10-17 15:11:59 -05:00
Lyubo Marinov cb514b90e9 Update NPM dependencies/packages 2017-10-03 20:45:43 -05:00
Lyubo Marinov dfebd692f3 eslint 4.8.0
ESLint 4.8.0 discovers a lot of error related to formatting. While I
tried to fix as many of them as possible, a portion of them actually go
against our coding style. In such a case, I've disabled the indent rule
which effectively leaves it as it was before ESLint 4.8.0.

Additionally, remove jshint because it's becoming a nuisance with its
lack of understanding of ES2015+.
2017-10-02 18:12:38 -05:00
Lyubo Marinov d280f90676 Update NPM dependencies/packages 2017-10-02 18:12:37 -05:00
Saúl Ibarra Corretgé 8d11b3024e [iOS] Add initial CallKit support
This commit adds initial support for CallKit on supported platforms: iOS >= 10.

Since the call flow in Jitsi Meet is basically making outgoing calls, only
outgoing call support is currently handled via CallKit.

Features:
 - "Green bar" when in a call.
 - Native CallKit view when tapping on the call label on the lock screen.
 - Support for audio muting from the native CallKit view.
 - Support for recent calls (audio-only calls logged as Audio calls, others show
   as Video calls).
 - Call display name is room name.
 - Graceful downgrade on systems without CallKit support.

Limitations:
 - Native CallKit view cannot be shown for audio-only calls (this is a CallKit
   limitaion).
 - The video button in the CallKit view will start a new video call to the same
   room, and terminate the previous one.
 - No support for call hold.
2017-09-28 16:36:39 -05:00
Lyubo Marinov 354fa36f44 Update npm dependencies/package versions 2017-09-07 20:11:45 -05:00
Lyubo Marinov 8d81f1d69f Update npm dependencies/package versions 2017-08-31 20:08:12 -05:00
Saúl Ibarra Corretgé 8eebfcad72 [RN] Add support for callstats on mobile
The global.performance.now polyfill is removed since it's polyfilled by
react-native-callstats.
2017-08-29 18:47:35 -05:00
Saúl Ibarra Corretgé 4e3d033ff2 deps: use latest jsSHA
callstats no longer depends on it and it doesn't break when we use the latest.
2017-08-28 18:52:51 -05:00
Leonard Kim 28b4595561 ref(tooltips): remove old tooltips 2017-08-21 15:16:09 -05:00
Lyubo Marinov 571958cf26 Start the switch to prop-types
As https://facebook.github.io/react/docs/typechecking-with-proptypes.html
says, React.PropTypes have moved into the npm package prop-types since
React v15.5. I've already failed to update certain devDependencies
because they mandate the use of prop-types so I'd rather we (gradually
at least) move to prop-types rather than face a lot of work later on.
2017-08-15 17:32:37 -05:00
Lyubo Marinov 4a39a630a4 Update npm dependencies 2017-08-15 17:32:37 -05:00
Saúl Ibarra Corretgé 122ebe48c7 [RN] Cache avatars and provide a default in case load fails
Avatars are cached to the filesystem and loaded from there when requested again.
The cache is cleaned after a conference ends and on application startup
(defensive move).

In addition, implement a fully local avatar system, which is used as a fallback
when loading a remote avatar fails. It can also be forced using a prop.

The fully local avatars use a user icon as a mask and apply a background color
qhich is picked by hashing the URI passed to the avatar. If no URI is passed a
random color is chosen.

A grace period of 1 second is also implemented so a default local avatar will be
rendered if an Avatar component is mounted but has no URI. If a URI is specified
later on, it will be loaded and displayed. In case loading the remote avatar
fails, the locally generated one will be used.
2017-08-03 13:45:41 -05:00
Leonard Kim 74ddae4a6a feat(device-errors): move device error dialogs to notifications
- Create a notification component for displaying a toggle.
- Create an action for showing the component if allowed by
  the local storage setting and for saving the setting to
  local storage.
- Remove all notifications having a timeout by default so the
  device error notification must be dismissed manually.
- Split the camera and mic error dialog into two separate
  notifications.
2017-08-01 16:33:00 -07:00
virtuacoplenny da1c760abf feat(notifications): implement a react/redux notification system (#1786)
* feat(notifications): implement a react/redux notification system

* squash into impl explicit timeout, style

* ref(notifications): convert toastr notifications to use react

* ref(toastr): remove library

* squash into conversion: pass timeout

* squash into clean remove from debian patch
2017-07-28 12:56:49 -05:00
Saúl Ibarra Corretgé 1fae0ee780 [RN] Update react-native-background-timer dependency
Our fixes have been applied upstream and a release has been made.
2017-07-27 11:50:01 +02:00
Lyubo Marinov e5e7b59f43 Upgrade NPM dependencies/packages 2017-07-26 12:08:20 -05:00
Lyubo Marinov 9a295723cf Consistent formatting 2017-07-16 02:25:26 -05:00
yanas 4ccd5c6072 Fix(AddPeopleDialog): Close dialog on submit (#1761)
* Fix(AddPeopleDialog): Fixes error state and close dialog

* (to-squash) Addresses comments
2017-07-12 08:35:00 -07:00
Saúl Ibarra Corretgé e78c70e53d misc: set supported Node version to >= 6 2017-07-10 17:45:25 -05:00
yanas f5d443d194 User Picker Implementation 2017-07-10 09:56:38 -07:00
Saúl Ibarra Corretgé 4e4a9012c2 [RN] Fix iOS lockups / resprings
Apparently iOS doesn't like dangling background tasks very much, so update the
background timers plugin with a version which fixes this.

https://github.com/ocetnik/react-native-background-timer/pull/38

Also accomodate for the API changes upstream.

Credits to @lyubomir for finding the needle in the haystack.
2017-07-05 16:34:06 -05:00
Lyubo Marinov f200b17a33 webpack 2 2017-06-15 10:09:48 -05:00
damencho bf7415e6b5 Updates field-text dependency version and add autofocus prop. 2017-06-07 17:06:48 -05:00
Lyubo Marinov 8882d9c3b6 Upgrade NPM dependencies/packages 2017-05-31 00:53:53 -05:00
Lyubo Marinov db59b45076 Upgrade NPM dependencies/packages 2017-05-17 16:41:52 -05:00
Ilya Daynatovich ab5c2e9ded Add jwt module to react 2017-05-09 00:21:14 -05:00
Lyubo Marinov 7836fd1990 Introduce features/base/logging
The functionality around logging including logging_config.js i.e.
loggingConfig and the other classes and/or functions that initialize
loggers for Jits Meet truly deserves a feature of its own. Start getting
in that direction on both Web and mobile by introducing
features/base/logging and bringing loggingConfig to mobile.
2017-04-23 23:30:53 -05:00
Lyubo Marinov 1f16233afa Upgrade NPM dependencies/packages 2017-04-22 17:27:16 -05:00
Leonard Kim 17fc28b020 fix(device-selection): convert trigger element to a div
AtlasKit Dropdown was recently updated to support fitting the
width of its container. However, AtlasKit Button, the trigger
element currently used for the dropdowns, does not fit the width
of AtlasKit Dropdown and stll has text overflowing out of its
button when there is an iconBefore prop passed in. Instead of
using AtlasKit Button, use a div and mimic the button look. This
allows the "button" to fit the container width and can display
ellipsized text within itself.
2017-04-20 19:34:02 -07:00
Leonard Kim 3e518e8040 feat: convert device selection modal to use AtlasKit Dropdown
Instead of using AtlasKit Single-Select, use Dropdown. Dropdown
differs in that an icon can be specified for the trigger element,
whereas Single-Select currently supports icons for all elements,
and Dropdown can show all options incuding the already-selected
option.

This change does introduce the issue of the trigger element not
taking up 100% width of the parent. Supporting such would involve
overriding AtlasKit CSS. The compromise made here was to do a
generic override of max-width so the trigger elements at least
stay within the parent and aligning the trigger elements to the
right.
2017-04-18 16:08:03 -05:00
Saúl Ibarra Corretgé ef41e32af5 deps: fix ordering in package.json 2017-04-12 16:31:07 +02:00
Leonard Kim 2f994b1227 feat: new device selection modal with previews
The Device Selection modal consists of:
- DeviceSelection, an overly smart component responsible for
  triggering stream creation and cleanup.
- DeviceSelector for selector elements.
- VideoInputPreview for displaying a video preview.
- AudioInputPreview for displaying a volume meter.
- AudioOutputPreview for a test sound output link.

Store changes include is primarily storing the list of
available devices in redux. Other app state has been left
alone for future refactoring.
2017-04-10 13:30:00 -07:00
Lyubo Marinov 9cf7f2b83d Update NPM dependencies/packages 2017-04-09 21:10:39 -05:00
Leonard Kim 986939e501 deps: re-add babel-polyfill as a dependency
babel does not modify existing builtins by default. That means
some newer methods, such as Array.prototype.includes, may not
be available unless babel-polyfill is used.
2017-04-04 16:54:59 -05:00
yanas 3daae94bca Merge pull request #1379 from jitsi/base-react-dialogs-2
Password required dialog (web&native) and native room lock using basic react dialogs.
2017-04-03 10:52:33 -05:00
Saúl Ibarra Corretgé 673dc6e873 build: drop dependency on babel-pollyfill
It's no longer needed for building since Node >= 6 already has the minimum
required ES6 syntax. In addition, drop it from app.js since we use Webpack with
the Babel loader to transpile ES5 to ES6.
2017-04-03 09:48:44 +02:00
Leonard Kim 2b4db6c3bf deps: include styled-components package for @atlaskit components
@atlaskit components will all require styled-components in the
future. Including it now will remove the unmet peer
dependency warning during npm install and prevent future build
breakages that might occur from using a new @atlaskit component
that requires it.

Pull Request #1449
2017-03-30 14:05:01 -07:00
damencho 61470c0d24 Moves web password required dialog to react. 2017-03-30 14:21:05 -05:00
virtuacoplenny 24ee8eb16a electron: add desktop picker
#1411
2017-03-30 17:58:31 +01:00
Lyubo Marinov 57065bb274 Update NPM dependencies/packages 2017-03-30 09:11:02 -05:00
Lyubo Marinov d1050d6b02 Update NPM dependencies/packages 2017-03-21 09:22:53 -05:00
damencho 51f0c8a388 Adds base dialog implementation. 2017-03-15 16:33:04 -05:00
Lyubo Marinov 45e09af692 react-native 0.42.0 2017-03-07 15:09:39 -06:00
Lyubo Marinov 290e7baead Stick to the exact package versions for the direct dependencies 2017-03-02 21:46:43 -06:00
Lyubo Marinov acd83ede2f [RN] Third-party ES6 Symbol ponyfill 2017-03-01 21:31:43 -06:00
Lyubo Marinov bd51613e62 [RN] Support the for...of statement in lib-jitsi-meet 2017-03-01 21:30:21 -06:00
Lyubo Marinov 18368fefaa Comply w/ coding style 2017-02-28 23:22:02 -06:00
damencho c361e1e31a Translate react strings.
Split language detectors to be web/native dependent. Take care of strings that contain html.
2017-02-28 13:16:42 -06:00
damencho e3d4152e32 Adds react-i18next and its provider to react.
Adds translate function with default namespaces and options.
2017-02-28 13:13:47 -06:00
damencho d861ba1876 Moves translation to react and use i18next language detectors. 2017-02-28 13:13:47 -06:00
Lyubomir Marinov 0e2a07f8d7 Stick to react-native-background-timer 1.0.0
Recently expose-loader broke us when it updated from 0.7.1 to 0.7.2 and
we decided to stick to exact versions.
2017-02-15 13:18:20 -06:00
Saúl Ibarra Corretgé 36f5b0218d [RN] Fix running timers in the background
Turns out React Native's timers (setTimeout / setInterval) don't run while the
app is in the background: https://github.com/facebook/react-native/issues/167

This patch replaces the global timer functions with those from the
react-native-background-timer package, which work in the background.

These timers won't magically make an application work in the background, but
they will run if an application already happens to run in the background. That's
our case while in a conference, so these timers will run, allowing XMPP pings to
be sent and the conference to stay up as long as the user desires.
2017-02-15 11:50:54 -06:00
Lyubomir Marinov f7dcd1ba2c Stick to expose-loader 0.7.1
0.7.2 causes a ReferenceError: jQuery is not defined in autosize.
2017-02-14 08:07:49 -06:00
Lyubomir Marinov 2ad869a036 Comply w/ coding style
- Use 1 name for 1 abstraction. Instead of useFullScreen and enabled use
  fullScreen.
- Comments are correct English sentences so no double spaces between
  senteces, no capitalization of the work On midsentence.
- Write as little source code as possible if readability is preserved.
- Utilize Facebook's Flow.
- The name of a private function must start with _ and the jsdoc should
  state that the function is private.
2017-02-06 15:32:03 -06:00
Saúl Ibarra Corretgé 7a8c84e990 [RN] Implement full screen mode while in a conference
The implementation varies across platforms, with the same goal: allow the app to
use the entire screen real state while in a conference.

On Android we use immersive mode, which  will hide the status and navigation bars.

https://developer.android.com/training/system-ui/immersive.html

On iOS the status bar is hidden, with a slide effect.
2017-02-06 13:51:17 -06:00
Lyubomir Marinov 0de01e93dd react-native 0.41.2 2017-02-06 12:24:38 -06:00
Lyubomir Marinov 6fa93e5b44 file-loader 0.10.0 2017-02-06 12:24:38 -06:00
Lyubomir Marinov 2144ec1e3f eslint 3.15.0 2017-02-06 12:24:38 -06:00
Lyubomir Marinov 8ed47f9d99 [flow] Lint with Flow (in addition to JSHint and ESLint) 2017-02-03 16:36:14 -06:00
Lyubomir Marinov 5de1a74429 [flow] Take advantage of flow-typed 2017-02-03 16:36:14 -06:00
Lyubomir Marinov 2063ad467d flow-typed 2017-02-03 16:36:14 -06:00
Lyubomir Marinov 9e033deb7b Remove unnecessary source code 2017-02-02 09:42:14 -06:00
Lyubomir Marinov 63fd263890 flow 0.36.0
The first step towards enabling Facbook's flow in the project. The flow
configuration is pristine as generated by react-native upgrade.
2017-02-01 13:38:37 -06:00
Lyubomir Marinov 99a9fc054f eslint 3.14.1 2017-01-26 09:39:47 -06:00
Lyubomir Marinov 967dcfc3d2 react-native-keep-awake 2.0.2 2017-01-26 09:39:20 -06:00
damencho be8860080c Fixes build.
Starting version 4.x clean-css is split into two packages and we should depend on clean-css-cli for versions 4 and above. Tested it and we have currently some problem with it like fonts and images got referenced under css folder. So sticking version to 3.x for now.
2017-01-23 14:35:26 -06:00
Lyubomir Marinov ae726cfdc0 react-native 0.40.0 2017-01-22 12:32:08 -06:00
Saúl Ibarra Corretgé acbfe5cb09 [RN] Keep device screen on while in a conference 2017-01-16 19:12:43 -06:00
Lyubomir Marinov ba3d65c01f Fix d17cc9fa
A bug was discovered in d17cc9fa which would raise a failure to push
into the browser's history if a base href was defined. Fix the failure
by removing react-router. Anyway, the usage of react-router was
incorrect because the app must hit the server infrastructure when it
enters a room because the server will choose the very app version then.
2017-01-15 18:28:02 -06:00
Lyubomir Marinov 1f995cffe9 eslint 3.13.1, react 15.4.1, react-redux 5.0.2 2017-01-12 11:01:12 -06:00
hristoterezov 41f0069a22 fix(caps): remove strophe-caps dependancy 2016-12-19 14:58:18 -06:00
Lyubomir Marinov 891bd7f346 react-redux 5.0.1, babel-loader 6.2.10, eslint 3.12.2, eslint-plugin-react-native 2.2.1 2016-12-15 21:01:44 -06:00
Lyubomir Marinov a09b8ce56e React Native 0.39.2 2016-12-11 22:21:51 -06:00
Lyubomir Marinov 7ecafb1e69 [RN] Join password-protected rooms 2016-12-11 22:21:51 -06:00
Illia Daynatovich 1cc2b388a2 webpack-dev-server 2016-12-08 19:21:29 -06:00
Lyubomir Marinov 7487684301 React Native 0.39.0 2016-12-06 15:52:53 -06:00
Lyubomir Marinov 4a8eca2020 Reduce the impact of aui, aui-experimental, and jQuery-Impromptu on the size of the minimized app bundle 2016-12-03 19:26:19 -06:00
Lyubomir Marinov 683fc84a28 Webpack's loaders are devDependencies 2016-12-02 10:11:47 -06:00
paweldomas 2352811c20 chore(package.json): use fixed version of Strophe
There was functionality added to lib-jitsi-meet that depends on
particular version of Strophe. It could be possibly broken without
testing the update.
2016-12-01 11:38:44 -06:00
Lyubomir Marinov 0db33bb45c React propTypes as static class properties 2016-11-30 19:53:40 -06:00
hristoterezov 8745efb81f Merge pull request #1158 from jitsi/log_collector
Log collector
2016-11-30 13:07:18 -06:00
Lyubomir Marinov 111b6e1c27 React Native 0.38.0, React 15.4.1 2016-11-28 20:07:10 -06:00
Ilya Daynatovich c3428e8213 Split React components out of index.html 2016-11-24 02:21:02 -06:00
paweldomas b58f1cdd16 use logger instead of console 2016-11-23 11:32:55 -06:00
Ilya Daynatovich 766eb94c7d Prepare for React: Use Haste resolver for Web
In preparation for and as another early step in rewriting the Web
version of jitsi-meet using React, use Haste resolver which is able to
distinguish among platform-independent files, Web-specific and
mobile-specific ones.

Additionally, (1) make sure that Babel is capable of understanding React
files and (2) introduce React as a dependency.

The purpose is to repeatedly take small steps towards our goal and merge
them before they get in conflict with the separate ongoing advancement
of the Web version of jitsi-meet.
2016-11-21 20:26:50 -06:00
Lyubomir Marinov 7a37d70fb6 React Native 0.37.0 2016-11-11 11:57:25 -06:00
yanas cf38fde207 Updates to >= to match versions of 3+ 2016-11-10 14:20:30 -06:00
Boris Grozev 16a2b0377a chore: Only uses jslint 3+
because older versions don't work with our .jslintrc file
2016-11-03 13:18:56 -05:00
damencho 1f200b63a7 Updates i18next and bundles default translations. 2016-11-01 15:05:23 -05:00
Lyubomir Marinov 9f10a059ef React Native 0.36.0, React 15.3.2 2016-10-25 14:57:18 -05:00
Lyubomir Marinov 7f3ff13c18 Merge jitsi-meet-react's mobile support
As a step toward merging jitsi-meet-react with jitsi-meet to share as
much source code as possible between mobile and Web, merge the part of
jitsi-meet-react's source tree which supports mobile inside the
jitsi-meet source tree and leave jitsi-meet-react's Web support in the
source code revision history but don't have it in master anymore because
it's different from jitsi-meet's Web support. In other words, the two
projects are mechanically merged at the file level and don't really
share source code between mobile and Web.
2016-10-12 10:31:52 -05:00
Lyubomir Marinov 1edebf83ae Remove .babelrc to simplify React Native support
React Native's module bundler (aka packager) has its default Babel
preset - react-native/babel-preset - which it uses in the absence of a
custom .babelrc. Unfortunately, the default may be tripped by the
presence of a .babelrc in dependencies. Additionally, if the default
does not get tripped, the npm install of lib-jitsi-meet as a dependency
may fall into a recursion in which Babel attempts to transpile
react-native/babel-preset. To reduce the risks of stumbling upon such
problems, move Babel's configuration inside the Webpack configuration
file.
2016-10-12 10:31:52 -05:00
Lyubomir Marinov a2b076985a ESLint
Enable ESLint on jitsi-meet with the same configuration and the same
goals as in lib-jitsi-meet.
2016-10-03 11:12:27 -05:00
Lyubomir Marinov 92f1061db8 Fix babel-preset-es2015's version
The latest version of babel-preset-es2015 6.16.0 fails with 'Unsupported
preset format: undefined.' Use the previous one then.
2016-09-30 11:16:51 -05:00
Lyubomir Marinov c8f79dbd2d Switch from Browserify to Webpack 2016-09-29 11:31:28 -05:00
Lyubomir Marinov 1ceb3f0129 Switch lib-jitsi-meet from Browserify to Webpack
Since the library lib-jitsi-meet does not publish its binaries, it is
always been necessary to produce the binaries i.e. lib-jitsi-meet.js and
lib-jitsi-meet.js as part of the npm install step. Which means that any
modifications to the devDependencies of lib-jitsi-meet's package.json
always have to be reflected in jitsi-meet's package.json. Because
Webpack replaced Browserify in lib-jitsi-meet, Webpack has to become a
devDependency of jitsi-meet.
2016-09-29 11:31:28 -05:00
hristoterezov c7cd771de2 Revert "Switch from Browserify to Webpack" 2016-09-28 16:37:24 -05:00
Lyubomir Marinov f6662745d1 Switch from Browserify to Webpack 2016-09-28 13:57:53 -05:00
Lyubomir Marinov 4289df1681 Switch lib-jitsi-meet from Browserify to Webpack
Since the library lib-jitsi-meet does not publish its binaries, it is
always been necessary to produce the binaries i.e. lib-jitsi-meet.js and
lib-jitsi-meet.js as part of the npm install step. Which means that any
modifications to the devDependencies of lib-jitsi-meet's package.json
always have to be reflected in jitsi-meet's package.json. Because
Webpack replaced Browserify in lib-jitsi-meet, Webpack has to become a
devDependency of jitsi-meet.
2016-09-28 13:57:53 -05:00
yanas 96bbf0419c Adds tooltips 2016-09-16 00:04:19 -05:00
yanas 0013745783 Video thumbnails redesign 2016-09-14 21:20:54 -05:00
damencho 62c4ff719e Fixes build. 2016-09-08 11:26:57 -05:00
Ilya Daynatovich e28f646cef Fixed styles for unsupported browser page 2016-09-08 11:15:17 -05:00
Ilya Daynatovich 4044e11da2 Set up SASS and change base font 2016-09-02 12:55:33 +03:00
Michael Bell 85d0c62c1d Change reference to lib-jitsi-meet to use full github url
This resolves issue #694
2016-07-14 11:23:47 -04:00
damencho e240b15d61 Match the exact version of jquery-ui.
Using "compatible version" as ^... matches latest version 1.12.0 and not 1.10.5 (matches >=1.10.5 < 2.0.0) and this prevents it building from source with latest nodejs on clean environment.
2016-07-08 14:41:25 -05:00
hristoterezov 661795fd51 Fixes accidentally changed value of strophejs-plugins property in package.json 2016-06-14 13:36:46 -05:00
hristoterezov 8deb003ef6 JWT client support 2016-06-13 16:11:44 -05:00
hristoterezov c3338d3bf2 Implements custom context menu to flip the local video 2016-05-06 20:50:37 -05:00
damencho e3b518cb91 Uses lib-jitsi-meet from git repo and deploy it on make. 2016-01-28 15:06:09 -06:00
damencho 2ef96d21e9 Updates package.json with some changes from master. 2016-01-21 13:27:55 -06:00
isymchych ff6ec2ec6b use babel 2015-12-17 17:31:56 +02:00
damencho 1c19f977ad Converts ssltcp candidate to tcp one on FF. 2015-12-02 17:15:55 -06:00
George Politis 9f1e953e8a Bumps sdp-simulcast@0.1.2. 2015-11-17 18:16:19 +00:00
Boris Grozev f4da678465 Fixes the bootstrap version to 3.1.1, because using the current (3.3.5)
causes UI problems (tooltips not dissapearing).
2015-10-06 16:14:46 -05:00
Boris Grozev d0b254ca15 Merges css files. 2015-10-06 15:19:01 -05:00
Devin Wilson b1760fad12 Pull deps from npm 2015-10-05 13:51:38 -06:00
George Politis 13d6245684 Updates the sdp-interop version. 2015-09-23 09:42:17 -05:00
Boris Grozev 2702fa0175 Uses source maps to the actual source files (i.e. modules/), removes the separate debug targets, uglify before deploy. 2015-09-17 16:40:02 -05:00
George Politis 1bb6e72855 Adds jshint as a dev dependency and uses the local installtion. 2015-09-15 20:27:48 -05:00
George Politis e3adafa44e Makes browserify a dev dependency. 2015-09-15 20:24:31 -05:00
Boris Grozev c7b6cb5b94 Updates the sdp-interop version. 2015-09-15 09:16:03 -05:00
Boris Grozev 5b1f7b1204 Minimizes app.bundle.js by default. 2015-09-14 15:42:48 -05:00
mksh 9138ed692e Use valid SPDX license identifier for Jitsi-Meet to avoid warnings during installing npm dependencies 2015-09-14 18:08:24 +03:00
Boris Grozev dff4666bc6 Merge branch 'master' into lint 2015-09-14 09:26:16 -05:00
Boris Grozev 711d4ab634 Updates sdp-interop to 0.1.8 (fixes issues when 2 or more endpoints in a conference are running on firefox). 2015-09-11 16:32:12 -05:00
Boris Grozev 6bab3b2c86 Moves precommit-hook to devDependencies. 2015-09-11 10:52:53 -05:00
Boris Grozev a4c844f169 Adds precommit-hook as an npm dependency. Automatically runs jshint before a commit. 2015-09-10 22:27:18 -05:00
Boris Grozev fee8482bae Updates sdp-transform to 1.4.1. 2015-08-14 10:48:21 -05:00
Devin Wilson 7c1ba9242b Change the comment to fix npm install 2015-08-13 08:31:50 -06:00
Boris Grozev 59033aab28 Adds what will hopefully be treated as a comment by all npm versions to package.json. 2015-08-12 21:52:49 +02:00
Boris Grozev 7f1eb617c3 Uses npm packeges for socket.io and jsSHA. 2015-08-12 21:50:42 +02:00
bgrozev c149b22ac2 Updates the license in package.json 2015-07-21 13:57:31 -05:00
George Politis 5f48e4cf9d Revert "Updates the license headers."
This reverts commit 93648f361b.
2015-06-18 18:59:41 +02:00
George Politis 93648f361b Updates the license headers. 2015-06-18 16:17:09 +02:00
George Politis 23f1dc174e Refactors simulcast support. 2015-06-10 13:35:05 +02:00
George Politis bf99a129bd Depend on sdp-interop@0.1.4 2015-05-20 16:20:31 +02:00
George Politis ee6fd63c25 Depend on sdp-interop@0.1.3 2015-05-20 14:03:13 +02:00
George Politis 1ce22fb8c9 Depend on sdp-interop@0.1.2, sdp-transform@1.4.0 2015-05-15 13:08:04 +02:00
George Politis e0cba855a6 Implements fault tolerant connect (closes #268). 2015-04-22 23:11:25 +02:00
Mike Keesey 0fdf5e0102 Fix stream end/start race condition
We need to queue attempts to call modifySources to prevent errors in
setLocalDescription, et al. We need to let the asynchronous function
flow in modifySources finish before we kick off another set.
2015-04-15 08:46:27 -06:00
George Politis 80c5779de9 Adds an SDP transform module. 2015-04-03 13:18:09 +02:00
paweldomas f3274ea42e Fixes broken translation after i18next-client update to 1.8.0. 2015-03-17 09:25:26 +01:00
George Politis 3747251821 Adds dependency to specific commit for sdp-interop. 2015-03-09 16:21:53 +01:00
George Politis 05bbfda5bb Adds support for FF/multistream. 2015-03-04 21:33:06 +01:00
hristoterezov 3032ea7684 Implements basic multi language support. 2015-02-06 17:46:50 +02:00
Boris Grozev 0063461858 Uses pako from npm. 2015-01-21 17:13:22 +02:00
hristoterezov 4a991f7187 Adds package.json files for our browserify modules. 2014-12-22 15:46:24 +02:00
Philipp Hancke 67e34e1a10 add jshint + precommit-hook 2014-04-13 14:25:47 +02:00