Commit Graph

206 Commits

Author SHA1 Message Date
Bettenbuk Zoltan 0598e7369b ref: eslint-config-jitsi@1.0.3 2020-05-20 17:14:29 +02:00
Mihai Uscat 75c836c70c feat(AddPeopleDialog): Update design; feat(SecurityDialog): Implement 2020-05-20 16:14:47 +02:00
Hristo Terezov d388a7bd3c feat(reload): Preserve local track mute state. 2020-05-07 18:18:21 -05:00
Saúl Ibarra Corretgé e5b563ba46 rn,flags: add more feature flags to toggle specific behavior
- Invite funcionality (altogether)
- Recording
- Live streaming
- Meeting name
- Meeting password
2020-04-29 10:19:17 +02:00
Bettenbuk Zoltan 39d789a088 feat: add url params: config.disableInviteFunctions, config.doNotStoreRoom and userInfo.displayName 2020-04-09 17:14:16 +02:00
Bettenbuk Zoltan 0f4369a9a9 ref: AddPeopleDialog to JitsiModal 2020-04-07 11:18:50 +02:00
Bettenbuk Zoltan 0c2e13a453 ref: DialInSummary to JitsiModal 2020-04-07 11:18:50 +02:00
Tim Ruffing b8963629bf Pass upper case country codes to i18n-iso-countries
Related to #5697.
2020-04-06 22:17:27 -05:00
Saúl Ibarra Corretgé c5e693f14a rn,invite: use custom clear button also on iOS
Otherwise it won't be visible if Dark Mode is enabled.
2020-04-02 11:46:29 +02:00
Saúl Ibarra Corretgé a9da047d3a rn,invite: fix bottom padding on AddPeopleDialog on Android 2020-04-02 11:46:29 +02:00
Saúl Ibarra Corretgé de6c7e0117 rn,invite: add share button to add people dialog 2020-04-01 15:26:29 +02:00
Saúl Ibarra Corretgé cdc14586de invite: remove duplicated code
Add ability to invite users which will use the share sheet or dialog
dynamically.
2020-03-24 14:28:26 +01:00
Saúl Ibarra Corretgé 8cd881945a invite: merge InviteButton and InfoDialogButton on mobile 2020-03-24 14:28:26 +01:00
Hristo Terezov bd8a7edbd2
fix(optimise): mapStateToProps for some components (#5085) 2020-02-25 15:09:52 +00:00
Saúl Ibarra Corretgé 8fd0f56be7 info-dialog: don't show when a SIP gateway joins alone 2020-02-25 15:45:41 +01:00
Andrei Gavrilescu ed5351d250
Add dial-in link to no audio notification (#5026)
* Add dial-in link to no audio notification

* refactor react link component

* fix tests
2020-02-05 18:10:57 +00:00
Saúl Ibarra Corretgé 01abc4e8a8 lint: fix warning 2020-02-05 15:04:23 +01:00
Vlad Piersec ab5627212d Add ability to invite contact by phone number 2020-01-30 13:34:06 +00:00
horymury a9767eda72
Fix chrome extension banner (#5011)
* Fix chrome extension banner

* Address reviews
2020-01-29 12:30:17 +00:00
Bettenbuk Zoltan e683d70a18 Add support for avatar status badge (presence) 2019-12-09 11:58:23 +01:00
Bettenbuk Zoltan 5429b8568e feat: feature flag for invite functionalities 2019-10-29 11:27:25 +01:00
damencho 3e1a008399 Adds copy icon next to the meeting url in info dialog. 2019-10-16 17:52:24 +01:00
Saúl Ibarra Corretgé c5cd4f534c dial-in-summary: center the loading indicator 2019-10-10 11:19:38 +02:00
Bettenbuk Zoltan c472537ecf update RN to 61 2019-09-25 17:31:52 +02:00
Bettenbuk Zoltan 8a3ddd8596 feat: SVG icons 2019-09-13 14:07:53 +02:00
Saúl Ibarra Corretgé 2aea24ffad dial-in-info: fix bundle bloat
The direct import sidesteps many chained-effect imports, halving the bundle
size.
2019-09-06 16:29:23 +02:00
Bettenbuk Zoltan a93bd422d3 feat: new invite layout 2019-08-28 13:57:33 +02:00
Saúl Ibarra Corretgé 5a934c071a logging: use individual, names loggers
React Native doesn't define __filename nor __dirname so do it artisanally. In
addition, this helps with centralizing the configuration passed to loggers.
2019-08-23 10:57:38 +02:00
Saúl Ibarra Corretgé dd23ed09ad deps: react-native@0.60 2019-08-21 11:12:56 +02:00
damencho 21fb225726 Adds a retry logic when fetching conference numbers and pin. 2019-08-13 19:00:18 +03:00
damencho 75ab890707 Uses the wrapped fetch from base/util. 2019-08-13 19:00:18 +03:00
Bettenbuk Zoltan 0a76eebca7 feat: central back button registry 2019-07-11 16:14:08 +02:00
Bettenbuk Zoltan 5b25e02e26 feat: use dialog instead of alert when inviting 2019-07-10 20:50:14 +02:00
virtuacoplenny 249dd7b8b8
fix(invite): decode the meeting name (#4411)
* fix(invite): decode the meeting name

* squash: try to make mobile join same encoded meeting name as web

* Decodes and generated texts for share and copy meeting info.

Decodes in all cases except when it contains a space, as it will generate wrong links when pasted/shared in external applications.
2019-07-10 10:27:11 -07:00
Bettenbuk Zoltan 42814eac7d feat: add icon based avatar and icon for pstn 2019-07-08 16:53:30 +02:00
Дамян Минков 625d268373
Room lock update (#4394)
* Adds a notification when remote lock happens.

* Updates translations.

Removes unused strings and extracts room password to separate translation, to be able to change it when deployment uses only digits.

* Formats the conference pin when showing it.

* Removes member from translation in favour of participant.

* Updates formatting of the pin.

* Adds a notification when password is remotely removed.
2019-07-02 14:14:58 +01:00
Saúl Ibarra Corretgé 1baa85b649 rn: hide invite button if the functionality is not available 2019-07-02 12:30:50 +02:00
Bettenbuk Zoltan 72137a2811 feat: initial based avatars 2019-07-01 23:59:16 +02:00
Bettenbuk Zoltan d7483f07e3 feat: add possibility to clear invite search field 2019-06-27 18:17:37 +02:00
Дамян Минков 08c4933c1b
Fixes inviting more than one participant (#4352)
* Fixes inviting more than one participant.

* Shows a notification when participants are invited.

* Adds support for both .id and .user_id props for people query results.
2019-06-21 13:17:47 +01:00
Дамян Минков 64eb4b5609
Updates start silent, turning on startWithAudioMuted and few UI tweaks. (#4314)
* Updates start silent, turning on startWithAudioMuted and few UI tweaks.

Disabled mic unmute button and removes remote participants volume slider.

* Adds analytics for start silent.

* Removes extra semi colon.

* Updates lib-jitsi-meet and updates meeting info text.
2019-06-14 12:16:08 +01:00
Bettenbuk Zoltan ce6f7308ad fix: avoid keyboard with search results list 2019-06-11 19:14:15 +02:00
Bettenbuk Zoltan bf99051885 fix: invite search result sorting 2019-06-11 17:55:44 +02:00
Bettenbuk Zoltan 7234ca69c8 feat: invite field autofocus 2019-06-11 17:55:44 +02:00
Bettenbuk Zoltan ae965877f3 fix: invite list needs double tap to select 2019-06-11 17:55:44 +02:00
Bettenbuk Zoltan def22b01bb fix: set explicit color for search field to avoid theme override 2019-05-23 12:06:50 +02:00
Дамян Минков d16e10baec room-lock: adds ability to allow only digits for room locking 2019-05-22 09:43:17 +02:00
Дамян Минков f5ac18da18 Add option to allow guest(moderators) to add a room password 2019-05-09 13:30:38 +02:00
damencho 9bde673397 Updates copy info with parltcipant name info if available. 2019-05-09 10:33:55 +01:00
Bettenbuk Zoltan 86d0d4fc22 rn: add DialInSummary 2019-05-07 18:02:14 +02:00
Bettenbuk Zoltan 3eca67e1ad rn: add HeaderWithNavigation component 2019-05-07 18:02:14 +02:00
damencho 0ec4e6a805 Makes numbers clickable on the more numbers page when opened on mobile. 2019-05-03 16:55:22 +01:00
damencho dd5233d31b Update copy invite text. 2019-04-29 15:06:36 +01:00
Leonard Kim b76b261cab fix(invite): show telephone icon 2019-04-26 07:46:41 -07:00
Bettenbuk Zoltan e98c169c2f [RN] Fix iOS keyboard bug on invite search dialog 2019-04-24 11:48:09 +02:00
Bettenbuk Zoltan 4d9dcf5d43 [RN] Add InfoDialogButton 2019-04-02 16:18:09 +02:00
Bettenbuk Zoltan 2a5adfc601 Remove some Flow annotations 2019-03-25 13:53:08 +01:00
damencho 6894de00cc Fixes a typo of getting default number. 2019-03-23 09:59:25 +00:00
Saúl Ibarra Corretgé c025c7e132 flow: tame the beast
🔥🔥🔥
2019-03-21 14:47:55 +01:00
Bettenbuk Zoltan ebdcbe122a Change dialog button property keys 2019-03-07 01:09:03 +01:00
Hristo Terezov a9d82a79ea fix(toolbar): Move buttons to overflow menu when the space isn't enough 2019-03-06 17:51:31 +00:00
damencho 40f03fedc2 Replaces emoji flags with flag from a png.
Seems like windows does not have emojis for flags.
2019-02-27 16:45:26 +00:00
Bettenbuk Zoltan b6e2701991 [RN] Add invite screen 2019-02-27 13:26:21 +01:00
Дамян Минков ea4d49f2a0
Adds new format of phoneList service and re-design dial in numbers page. (#3903)
* Adds new format of phoneList service and re-design dial in numbers page.

Adds flags and country names (with translations) for the numbers if using the new format.

* Fixes tests and fixes get default number.

* Updates swagger with new format.

* Moves html back yo table.

Fixes displaying on mobile and also the tel: URI generation. The tel: URI is tested on Android and iOS and seems to work (Android was not interpreting 'p', but both seems to like ',').

* Fixes a wrong return statement.

* Small fixes.
2019-02-26 13:32:46 +00:00
Saúl Ibarra Corretgé 5f7a515610 rn: drop {AddPeople,Invite}Controller
We are going to implement the invite dialog *inside* the SDK, so there is no
need to have all this machinery anymore.
2019-02-08 09:02:15 +01:00
Aaron van Meerten b9a14acd3c adds conference to lookup of dial in numbers (#3859) 2019-02-01 19:10:34 -08:00
Bettenbuk Zoltan e960002c45 [RN] Fix InviteButton translation 2019-01-10 16:31:03 +01:00
Saúl Ibarra Corretgé fc75adc6ff feat(DialInInfo): fix webpack warning 2019-01-02 09:26:05 +01:00
Leonard Kim 3c4907ee0a fix(dial-in): update jsdoc 2019-01-02 09:22:58 +01:00
Leonard Kim e0cbb838be ref(info): derive when to clear the entered password state 2018-11-21 08:08:45 -08:00
Leonard Kim 280178f5d1 ref(info-dialog): derive when to autoshow or autohide 2018-11-21 08:08:45 -08:00
Leonard Kim e9b2518f8a ref(info): use getDerivedStateFromProps to update state 2018-11-21 08:08:45 -08:00
Leonard Kim 486e8e35d9 ref: move all prop type declaration to flow
For the most part the changes are taking the "static propTypes" declaration off
of components and declaring them as Flow types. Sometimes to support flow some
method signatures had to be added. There are some exceptions in which more had
to be done to tame the beast:
- AbstractVideoTrack: put in additional truthy checks for videoTrack.
- Video: add truthy checks for the _videoElement ref.
- shouldRenderVideoTrack function: Some component could pass null for the
  videoTrack argument and Flow wanted that called out explicitly.
- DisplayName: Add a truthy check for the input ref before acting on it.
- NumbersList: Move array checks inline for Flow to comprehend array methods
  could be called. Add type checks in the Object.entries loop as the value is
  assumed to be a mixed type by Flow.
- AbstractToolbarButton: add additional truthy check for passed in type.
2018-11-07 17:38:10 +01:00
Дамян Минков 7674e90d4d
Adds dial in default number and pin to the text for calendar/share. (#3421)
* Adds dial in default number and pin to the text for calendar/share.

* Handles fail to fetch numbers or conference id.
2018-09-07 17:48:58 -05:00
Дамян Минков 7267f386dc Implements calendar entries edit. (#3382)
* Implements calendar entries edit.

Share text generation between calendar-sync and the share-room feature.

* Fixing comments.

* Clone the event element we modify on update.
2018-08-17 12:34:41 -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
hristoterezov 9331b0870b fix(presence-label):styles 2018-07-09 20:22:43 -05:00
hristoterezov 769e782c6f feat(callee-info): Redesign. 2018-07-09 20:22:43 -05:00
virtuacoplenny 7ee63a44c5 ref(info): use conference existence as trigger for autoshowing dialog (#3083)
* ref(info): use conference existence as trigger for autoshowing dialog

* squash: combine maybeShow checks, inheritdoc

* squash: flow type tweaks
2018-06-21 12:38:53 -05:00
Дамян Минков ac834326e7
Token based features (#3075)
* Adds an option to disable features based on token data.

Reverts changes from b84e910086, removes disableDesktopSharing option and an interface_config option.

* Disable recording button based on token features data.

Hide recording if local participant isGuest and roles based on token.
When enableUserRolesBasedOnToken is enabled we were not hiding the record button for guests.

* Adds filtering of jibri iqs and rayo based on features.

Moves feature checking in separate utility function.
Renames utility method.

* Adds a footer text when outbound-call is not feature enabled.

* Fixes comments.
2018-06-15 13:10:22 -05:00
Guus der Kinderen ccf0c8a363 fix(i18n) Accessiblity labels translations (#3071)
* fix(toolbar): accessibilityLabel should be translatable.

This commit adds a helper property to get the accessibilityLabel of an item,
providing a translation if one is available. This mimics the behavior of
label and tooltip.

* fix(toolbar) 'hangup' button accessibilityLabel i18n

* fix(toolbar) 'mute' button accessibilityLabel i18n

* fix(toolbar) 'videomute' button accessibilityLabel i18n

* fix(toolbar) 'moreActions' button accessibilityLabel i18n

* fix(toolbar) 'shareRoom' button accessibilityLabel i18n

* fix(toolbar) 'audioRoute' button accessibilityLabel i18n

* fix(toolbar) 'toggleCamera' button accessibilityLabel i18n

* fix(toolbar) 'audioOnly' button accessibilityLabel i18n

* fix(toolbar) 'roomLock' button accessibilityLabel i18n

* fix(toolbar) 'pip' button accessibilityLabel i18n

* fix(toolbar) 'invite' button accessibilityLabel i18n

* fix(toolbar) 'raiseHand' button accessibilityLabel i18n

* fix(toolbar) 'chat' button accessibilityLabel i18n

* fix(toolbar) 'shareYourScreen' button accessibilityLabel i18n

* fix(toolbar) 'fullScreen' button accessibilityLabel i18n

* fix(toolbar) 'sharedvideo' button accessibilityLabel i18n

* fix(toolbar) 'document' button accessibilityLabel i18n

* fix(toolbar) 'speakerStats' button accessibilityLabel i18n

* fix(toolbar) 'feedback' button accessibilityLabel i18n

* fix(toolbar) 'shortcuts' button accessibilityLabel i18n

* fix(toolbar) 'recording' button accessibilityLabel i18n

* fix(toolbar) 'settings' button accessibilityLabel i18n

* fix(welcomepage) accessibilityLabels i18n

* fix(toolbar) 'info' button accessibilityLabel i18n

* fix(i18n): Add translation to various aria-label property values.

* fix(i18n): Differentiate between overflow menu and button.
2018-06-07 13:32:18 -07:00
Saúl Ibarra Corretgé 0817482b9c flow: tame the beast 2018-06-04 16:05:48 -05:00
Lyubo Marinov 8cd2bd272b Reduce direct read access to the features/base/participants redux state
As part of the work on fixing the problem with the multiplying
thumbnails, we've associated remote participant w/ JitsiConference.
However, there are periods of time when multiple JitsiConferences are in
the redux state (and that period is going to be shorted by
StateListenerRegistry). In order to give more control to the feature
base/participants, reduce the occurrences of direct access to the
features/base/participants redux state and utilize the feature's
existing read access functions. Which will allow us in the future to
enhance these functions to access participants which are relevant to the
current conference of interest to the user only.
2018-05-23 09:46:15 -05:00
Zoltan Bettenbuk b57dad576a feat(participants): add isLocalParticipantModerator utility method 2018-05-18 13:18:24 -05:00
Lyubo Marinov df8eb36d0e Coding style: comments 2018-05-16 16:49:03 -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
Lyubo Marinov 7fe421aeba Removes unnecessary source code 2018-05-15 14:12:38 -05:00
Lyubo Marinov 3aff4967f1 Keep buttons in their associated features
Contributing all buttons in one place goes against the designs that we
set out at the beginning of the project's rewrite and that multiple of
us have been following since then.
2018-05-15 14:12:38 -05:00
Saúl Ibarra Corretgé a2834a2495 [RN] Refactor Toolbox
Create standalone components for each feature and move all state to them.
Toolbars are now dummy containers.
2018-05-15 14:12:38 -05:00
Lyubo Marinov 7ffdaf59c7 [RN] Add an example how to consume the public SDK invite API 2018-05-07 00:38:49 -05:00
Lyubo Marinov 520bb8bd22 Coding style/naming: invite & invitee(s)
Hristo Terezov, Chris Cordle, and I/Lyubomir Marinov agreed that we'd
try to use "invite" & "invitee(s)" in Web/React's iframe API,
mobile/react-native's SDK invite API, and internally for the purposes of
consistency, ease of understanding, etc.
2018-05-03 10:31:15 +02:00
hristoterezov d1af11c67e ref(sendInvitesForItems): convert to action. 2018-05-03 10:31:15 +02:00
Lyubo Marinov effd3728b6 [RN] add support for inviting participants during a call on mobile (2) 2018-05-02 12:54:02 +02:00
paweldomas 81fc961998 fix(invite): check Toolbox render method error
The app will crash for me with react complaining about not a component
being passed.
2018-04-26 15:12:03 -05:00
virtuacoplenny ed395036b7 fix(info): change jsdoc to avoid linting warning (#2881) 2018-04-26 10:10:24 -07:00
Ryan Peck f64c13d4b7 [RN] add support for inviting participants during a call on mobile
* Button conditionally shown based on if the feature is enabled and available
* Hooks for launching the invite UI (delegates to the native layer)
* Hooks for using the search and dial out checks from the native layer (calls back into JS)
* Hooks for handling sending invites and passing any failures back to the native layer
* Android and iOS handling for those hooks

Author: Ryan Peck <rpeck@atlassian.com>
Author: Eric Brynsvold <ebrynsvold@atlassian.com>
2018-04-25 18:58:06 +02:00
virtuacoplenny 2c4a3b0f60 Show the YouTube live stream URL (#2837)
* feat(recording): show the YouTube live stream URL

- From the start live stream dialog, push up the broadcast ID
  of the chosen broadcast. It is assumed the ID can be used to
  create the YouTube link.
- Listen for lib-jitsi-meet to emit updates of the known live
  stream URL, shove it into redux, and have InfoDialog display
  it.

* ref(info): pass in dial in and live stream url

Passing these values in should trigger AtlasKit InlineDialog
to re-render and reposition itself.

* ref(info): use conference existence as trigger for autoshowing dialog

* feat(info): add live stream link to invite copy

* Revert "ref(info): use conference existence as trigger for autoshowing dialog"

This reverts commit 1072102267.

* hidden -> url

* _onClickHiddenURL -> _onClickURLText
2018-04-20 10:28:16 -07:00
Leonard Kim 1e69dc93d6 ref(toolbar): kill Stateless Toolbar and Invite, Feedback, Profile buttons 2018-04-17 20:22:00 +02:00
virtuacoplenny 4bd94fc94c
fix(invite): tweak invite modal copy and avatar sizes (#2818) 2018-04-16 13:58:20 -07:00
hristoterezov eb19f94598 Deeplinking (#2760)
* feat(Deeplinking): Implement for web.

* ref(unsupported_browser): Move the mobile version to deeplinking feature

* feat(deeplinking_mobile): Redesign.

* fix(deeplinking): Use interface.NATIVE_APP_NAME.

* feat(dial_in_summary): Add the PIN to the number link.

* fix(deep_linking): Handle use case when there isn't deep linking image.

* fix(deep_linking): css

* fix(deep_linking): deeplink -> "deep linking"

* fix(deeplinking_css): Remove position: fixed

* docs(deeplinking): Add comment for the openWebApp action.
2018-04-13 17:00:40 -07:00