Commit Graph

1409 Commits

Author SHA1 Message Date
damencho cd77a9176c Make sure we do only one replacement, not one over another for messages. 2018-10-18 23:37:07 +02:00
Saúl Ibarra Corretgé 9407f562f6 [iOS] Simplify dynamically loading fonts 2018-10-16 14:33:48 +02:00
Saúl Ibarra Corretgé 5ff1ce5a60 [iOS] Don't show google signin button on iOS <= 10
It doesn't seem to work properly.
2018-10-12 13:17:29 -05:00
Saúl Ibarra Corretgé 843f08f38e [RN] Don't show a beta label for recordings 2018-10-12 12:03:32 -05:00
Saúl Ibarra Corretgé 418575136f [RN] Don't use webClientId on mobile
That is only required if we'd want our backend to authenticate on behalf of our
users. If the app is to authenticate directly it's not needed.
2018-10-12 13:08:20 +02:00
Saúl Ibarra Corretgé 7162080d00 feat(flow): tame the beast 2018-10-10 18:07:36 +02:00
Saúl Ibarra Corretgé 2ae2f04f0a feat(eslint): tame the beast 2018-10-10 18:07:36 +02:00
Saúl Ibarra Corretgé d290d28248 feat(Audio): fix react warning 2018-10-10 18:07:36 +02:00
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
Bettenbuk Zoltan e164a23cf0 [RN] Fix start recording dialog after dropbox changes 2018-10-04 12:10:28 -05:00
Bettenbuk Zoltan 61456b0d99 Handle all day events in calendar 2018-10-04 16:21:51 +02:00
damencho df55448a2c Fixes chat image links to reflect html base. 2018-10-03 14:44:33 -05:00
Bettenbuk Zoltan 6953569629 Fix sticky recording labels 2018-10-03 12:52:21 +02:00
hristoterezov 4d2614660c fix(recording): Show the button when the dropbox integration is disabled 2018-10-02 13:50:05 -05:00
Bettenbuk Zoltan 60f7ba7301 [RN] Remove mobile notifications 2018-10-02 20:47:41 +02:00
Bettenbuk Zoltan e5cc732b72 [RN] Add ExpandedLabel 2018-10-02 20:47:41 +02:00
Bettenbuk Zoltan d604cdfe27 Turn TranscribingLabel a self-containing component 2018-10-02 20:47:41 +02:00
Lars Spaenij dc90800e50 Removed unnecessary string wrapping (#3490)
* Removed unnecessary string wrapping
2018-10-01 22:39:16 -05:00
hristoterezov 60decf7692 ref(dropbox): Consistency for the naming around the app key. 2018-09-27 01:42:59 -05:00
hristoterezov af37141e3d feat(dropbox): For mobile.
This involves redesign of the web recording dialog in order to look the
same as the mobile one.
2018-09-27 01:42:59 -05:00
hristoterezov ae7a882188 feat(Switch): Implement 2018-09-27 01:42:59 -05:00
hristoterezov a49e590e7c feat(LoadingIndicator): Implementation for web. 2018-09-27 01:42:59 -05:00
hristoterezov 1928efda11 fix(web/Text): p->span 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
Zoltan Bettenbuk 8adc8a090a [RN] Fix duplicated notifications (#3479) 2018-09-26 11:06:26 -05:00
Bettenbuk Zoltan 2cbe7922f6 [RN] Dialogs: Replace legacy common style with common container 2018-09-21 15:22:27 +02:00
Saúl Ibarra Corretgé b673c4a11a feat(permissions): adjust to changes in permissions checking 2018-09-21 11:35:16 +02: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
bgrozev 2339f232a5
Merge pull request #3435 from jitsi/recording_analytics
feat(recording): Add analytics.
2018-09-14 14:45:33 -05:00
Leonard Kim 3bb3b4500d provide the exact classname match the tests are looking for 2018-09-14 14:40:41 -05:00
Leonard Kim 0fca0f392d feat(filmstrip): reactify the filmstrip toggle button 2018-09-14 14:40:41 -05:00
virtuacoplenny c25d6eb9a8 [RN] Implement tile view
* feat(tile-view): initial implementation for mobile

- Create a tile view component for displaying thumbnails in a
  two-dimensional grid.
- Update the existing TileViewButton so it shows a label in the
  overflow menu.
- Modify conference so it can display TileView while hiding
  Filmstrip.
- Modify Thumbnail so its width/height can be set and to prevent
  pinning while in tile view mode.

* use style array for thumbnail styles

* change ternary to math.min for expressiveness

* use dimensiondetector

* pass explicit disableTint prop

* use makeAspectRatioAware instead of aspectRatio prop

* update docs

* fix docs again (fix laziest copy/paste job I've ever done)

* large-video: rename onPress prop to onClick

* change forEach to for...of

* use truthy check fallthrough logic instead of explicit if

* put tile view button second to last in menu

* move spacer to a constant

* the magical incantation to make flow shut up
2018-09-13 17:20:22 +02:00
virtuacoplenny 37ff77cd5b
Merge pull request #3416 from zbettenbuk/calendar-invite
[RN] Add calendar invite
2018-09-12 10:03:27 -07:00
Дамян Минков fd30481ac2 Disable buttons only when token features is enabled. Fixes #3355. (#3443)
* Disable buttons only when token features is enabled. Fixes #3355.

* squash: update disabled check.

* squash: update disabled and disabledByFeatures.
2018-09-11 15:33:45 -07:00
Bettenbuk Zoltan 2d87757aaa [RN] Add invite function to calendar 2018-09-11 23:27:11 +02:00
Bettenbuk Zoltan 126e2d6e14 Move DialogContainer to BaseApp to have dialogs on the welcome screen too 2018-09-11 23:27:11 +02:00
virtuacoplenny 32fbcb17b9
Merge pull request #3442 from virtuacoplenny/lenny/subtitles-blown-away
fix(subtitles): fix typo that was blowing away subtitles on update
2018-09-11 13:41:34 -07:00
hristoterezov d3bf0b7862 feat(recording): Add analytics. 2018-09-11 13:35:38 -05:00
virtuacoplenny e63cd8c81b feat(tile-view): exit tile view on pin (#3430)
* feat(tile-view): exit tile view on pin

* Try out this other ux impl
2018-09-11 13:09:07 -05:00
Leonard Kim 282e66b2dc fix(subtitles): fix typo that was blowing away subtitles on update 2018-09-11 11:08:15 -07: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
Lyubo Marinov 1d128e027a Coding style: utilize default values
Since they are a language feature, they make the source code more easily
comprehensible than `if (typeof XXX === 'undefined') { XXX = ...; }`.
2018-09-07 16:48:16 -05:00
paweldomas ee9f304345 fix(RN): show the CC button only when transcribing is available 2018-09-07 16:48:16 -05:00
Leonard Kim f148b50100 fix(calendar): join button goes to meeting 2018-09-06 15:21:14 -05:00
paweldomas 95785a9585 ref(Notification.native): remove unnecessary View
The styles.actionColumn does not exist. It looks the same without the
extra View.
2018-09-05 18:43:49 -05:00
paweldomas 26d906fa46 feat(RN): displays transcription subtitles 2018-09-05 18:43:49 -05:00
paweldomas eac069c930 ref(Conference.native): move notifications container
Moves NotificationContainer to the toolbox and filmstrip container, so
that there's no need to manually calculate the positions.
2018-09-05 18:43:49 -05:00
paweldomas 5119f41af6 ref(NotificationsContainer.native): simplify
The outer container is not necessary if 'justifyContent: flex-end' is
used with the absolute fill on the main container.
2018-09-05 18:43:49 -05:00
paweldomas e2771b53bb feat(transcriptions): add ClosedCaptionButton.native 2018-09-05 18:43:49 -05:00
paweldomas 008fb868a6 feat(transcriptions): add TranscribingLabel.native 2018-09-05 18:43:49 -05:00
paweldomas 6dea107bcd ref(conference.js): unify "user joined/left" handling on web and RN
Extracts methods which share the common logic. There are still some
leftovers on the web side left which are not used on RN. But this can be
a first step.
2018-09-05 18:43:49 -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
Lyubo Marinov 024671165a [RN] No VideoQualityLabel in Picture-in-Picture 2018-09-05 00:22:19 -05:00
Lyubo Marinov aba0912abf [RN] No upcoming-meeting notification in Picture-in-Picture 2018-09-05 00:22:19 -05:00
Lyubo Marinov e446acb045 Coding style: consistency, documentation comments, formatting 2018-09-05 00:22:19 -05:00
yanas 31cc63b757 Add join button to calendar events. (#3408)
* Add joing button to the calendar events.

* Add space between calendar lines.

* Adjust recent list name.

* Fixes test failure.

* Restyle mobile recent list message.

* Add analytics events.

* Addressing PR review comments.
2018-08-31 18:03:35 -07:00
virtuacoplenny fe7652ec90 feat(tile-view): persist setting in local storage (#3379)
* feat(tile-view): persist setting in local storage

* comment
2018-08-31 10:36:01 -05:00
Saúl Ibarra Corretgé 955e0a3382 [RN] Simplify RTCPeerConnection.setRemoteDescription override 2018-08-29 09:22:28 -05:00
Saúl Ibarra Corretgé 1354731fc5 [RN] Update WebRTC polyfills 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
yanas 86caf52d08 Welcome page calendar ui improvements (#3405)
* Welcome page calendar ui improvements

* Addressing PR review comments.
2018-08-27 17:56:17 -07:00
yanas f2cb15ba44
[WiP] Calendar integration ui (#3395)
Calendar integration ui
2018-08-27 10:13:59 -05:00
bgrozev b8179102c5
Merge pull request #3396 from nikvaessen/pr_independend_subtitles_cherry
independently display subtitles based on participants choice
2018-08-24 12:38:11 -05:00
linkmauve c23c798f7a Display the correct display name in the menu (#3388)
The current code was splitting it on a space, which made nicknames such as “Link Mauve” appear as “Link”, whereas it gets displayed correctly everywhere else in the UI.
2018-08-22 12:35:48 -07:00
Nik 3c27d2ee54 independently display subtitles based on participants choice 2018-08-22 19:49:58 +02: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
Saúl Ibarra Corretgé dba7f2d429 [RN] Remove no longer needed polyfills (#3377)
- navigator.{platform,plugins} were needed by the no longer existing screenshare
  adapter
- document.implementation is already polyfilled by xmldom
2018-08-16 23:03:53 -05:00
Saúl Ibarra Corretgé a896d8f076 [RN] Fix normalizing BOSH URLs (#3376)
If a relative BOSH URL is found (as docker-jitsi-meet does) construct a full URL
based on the location URL and context root.

Also remove some default options since we need the config file anyway, so I see
no point in doing the extra work.
2018-08-16 23:03:15 -05:00
hristoterezov 2704b2f822 fix(dropbox): Address code review comments. 2018-08-16 13:53:43 -05:00
hristoterezov 62544188bd feat(recording): Add analytics event and logging. 2018-08-16 13:53:43 -05:00
hristoterezov df0e107ea6 feat(recording): Implement dropbox integration 2018-08-16 13:53:43 -05:00
Saúl Ibarra Corretgé f10d42f8e4 Fix processing context root
Yours truly refactored routing in https://github.com/jitsi/jitsi-meet/pull/3222
and broke it. When a bare room is entered the pathname was not updated when
applying the default URL.
2018-08-16 12:02:14 +02: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
virtuacoplenny 87c010a9bd
fix(subtitles): adjust styling for tile view (#3365)
- Increase z-index so the subtitles display over tiles.
- Add a background to the subtitle text.
- In general make the subtitles narrower.
2018-08-14 17:44:21 -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
Boris Grozev 195462a1a8 Merge branch 'master' into pr/3223 2018-08-08 15:35:40 -05:00
virtuacoplenny c353e9377f feat(tile-view): initial implementation for tile view (#3317)
* feat(tile-view): initial implementation for tile view

- Modify the classname on the app root so layout can adjust
  depending on the desired layout mode--vertical filmstrip,
  horizontal filmstrip, and tile view.
- Create a button for toggling tile view.
- Add a StateListenerRegistry to automatically update the
  selected participant and max receiver frame height on tile
  view toggle.
- Rezise thumbnails when switching in and out of tile view.
- Move the local video when switching in and out of tile view.
- Update reactified pieces of thumbnails when switching in and
  out of tile view.
- Cap the max receiver video quality in tile view based on tile
  size.
- Use CSS to hide UI components that should not display in tile
  view.
- Signal follow me changes.

* change local video id for tests

* change approach: leverage more css

* squash: fix some formatting

* squash: prevent pinning, hide pin border in tile view

* squash: change logic for maxReceiverQuality due to sidestepping resizing logic

* squash: fix typo, columns configurable, remove unused constants

* squash: resize with js again

* squash: use yana's math for calculating tile size
2018-08-08 13:48:23 -05:00
Radium Zheng 913c56c408 fix comments and docs 2018-08-08 11:58:38 +10:00
bgrozev 2f1223f721 fix: Handles the case of e2eRtt being undefined. (#3354) 2018-08-07 18:39:10 -07:00
Radium Zheng df6df1c6c3 refactor: AbstractAudioContextAdapter
move duplicate code from WavAdapter and FlacAdapter to a base class
2018-08-08 09:19:53 +10:00
Radium Zheng 1e804e552e fix: FlacAdapter get sampleRate 2018-08-08 09:19:53 +10:00
Radium Zheng b284f25fde Refactor how download works. Cleaner filenames. 2018-08-08 09:19:53 +10:00
Radium Zheng 49bdd53bee Fix issue on mobile platforms 2018-08-08 09:19:53 +10:00
Radium Zheng 0410af9e5e add guard before APP in middleware.js 2018-08-08 09:19:28 +10:00
Radium Zheng 5a051024e6 clean up WavAdapter 2018-08-08 09:19:28 +10:00
Radium Zheng e2def5f88b simplify Promise chaining in FlacAdapter 2018-08-08 09:19:28 +10:00
Radium Zheng dda7568a48 UI: refine LocalRecordingInfoDialog 2018-08-08 09:19:28 +10:00
Radium Zheng 4550848eac fix comments in flac-related codebase 2018-08-08 09:19:28 +10:00
Radium Zheng 7822831b1e UI: add a "Local Recording" label 2018-08-08 09:19:28 +10:00
Radium Zheng e03126e422 fix sampleRate issues in flac and wav 2018-08-08 09:19:28 +10:00
Radium Zheng 61652c69b3 SessionManager 2018-08-08 09:19:28 +10:00
Radium Zheng b6e1a49d33 Switching microphone on the fly: flac and wav support 2018-08-08 09:19:28 +10:00
Radium Zheng 65c76dcde5 Muting support
fix Promise in setMuted
2018-08-08 09:19:28 +10:00
Radium Zheng 5daa91ec1b update libflac.js to 4 and use proper fork 2018-08-08 09:19:28 +10:00
Radium Zheng 473ba28171 feature flag 2018-08-08 09:18:16 +10:00
Radium Zheng 52b55d65a0 change LocalRecordingInfoDialog 2018-08-08 09:18:16 +10:00
Radium Zheng 8ebf2b7e47 analytics: keyboard shortcut 2018-08-08 09:18:16 +10:00