Commit Graph

1338 Commits

Author SHA1 Message Date
Jesús Espino 400c86ad5e
Adding responsive to jitsi logo, buttons and hiding some part of the interface (#7380)
* Adding responsive to jitsi logo, buttons and hiding some part of the interface
* moving media types thresholds to variables and apply only to screen
* hide chrome extension banner on very small view
* Hide filmstrip only on desktop narrow windows
2020-07-31 07:53:19 -04:00
Saúl Ibarra Corretgé a67d0fbf6c chore: remove some cycles 2020-07-29 09:31:38 +02:00
Bettenbuk Zoltan 240b033e76 feat: auto tile view 2020-07-24 11:06:34 +02:00
Mihai Uscat 5f5468995f feat(chat): Make chat push content to the side in large view 2020-07-17 10:04:56 +03:00
Saúl Ibarra Corretgé b91d6b97a9 deps: jitsi/js-utils@1.0.0 2020-07-10 10:38:49 +02:00
Jaya Allamsetty 07cad2a98f cleanup: Remove obsolete code related to SS extension
- Remove external install dialogs and fix related screensharing error handling.
- Remove obsolete options from config.js and from configWhitelist.js
2020-06-20 08:49:19 -04:00
Saúl Ibarra Corretgé 6e679f952f redux: refactor loading of middlewares and reducers
Up until now we relied on implicit loading of middlewares and reducers, through
having imports in each feature's index.js.

This leads to many complex import cycles which result in (sometimes) hard to fix
bugs in addition to (often) breaking mobile because a web-only feature gets
imported on mobile too, thanks to the implicit loading.

This PR changes that to make the process explicit. Both middlewares and reducers
are imported in a single place, the app entrypoint. They have been divided into
3 categories: any, web and native, which represent each of the platforms
  respectively.

Ideally no feature should have an index.js exporting actions, action types and
components, but that's a larger ordeal, so this is just the first step in
getting there. In order to both set example and avoid large cycles the app
feature has been refactored to not have an idex.js itself.
2020-06-16 11:24:15 +02:00
Jaya Allamsetty b7b861259b fix(UI): add playsinline attr for video element
> playinline attr needs to be set to true to stop local video from playing in full screen mode in Safari on iOS.
> This applies to the local video thumbnails and the camera previews from the device selection menu and video preview button
2020-06-12 09:30:46 -04:00
Vlad Piersec 8758c222c6 feat(branding): Add ability to customize logo & background 2020-06-10 14:58:27 +02:00
Bettenbuk Zoltan 475a2ae596 feat: lobby feature
The lobby feature adds the possibility to lock a meeting and only allow people in after virtually knocking and going through formal approval
2020-06-09 18:10:43 +02:00
Saúl Ibarra Corretgé 3bf82b573c
shared-video: use a more recent video by default 2020-06-03 11:27:08 +02:00
Bettenbuk Zoltan 0598e7369b ref: eslint-config-jitsi@1.0.3 2020-05-20 17:14:29 +02:00
Hristo Terezov 1ffd75c0a6 fix(localStorage): exception when disabled. 2020-05-01 14:48:08 -05:00
Hristo Terezov 851976ebdf fix(RemoteVideo): .oncanplay -> addEventListener
Replaces the .oncanplay listener with addEventListener('canplay', ...).
This is needed because third party libraries (for example callstats)
are brutally overriding the .oncanplay property and replacing our
listener.
2020-04-24 16:04:32 -05:00
Hristo Terezov 4fda428be1 fix(largeVideo): update don't depend on thumbnails 2020-04-17 15:33:13 -05:00
Hristo Terezov f972ebfe9e fix(thumbnail): videos on safari. 2020-04-17 13:15:25 -05:00
Jaya Allamsetty b7eda8df7a fix(safari): set playsInline attribute to true on the video element
The playsInline attribute needs to be set to true for video to be rendered on Safari on iOS
2020-04-14 12:28:09 -04:00
Jaya Allamsetty 7af88e5c4f fix(safari): Update the check for Safari
In preparation for the lib-jitsi-meet PR for Safari support, isSafariWithWebrtc() will no longer be available
2020-04-08 15:06:29 -04:00
Ruben Kerkhof 06ae1861ee
log: fix showing verbatim %s
So turn 'hover in %s 1a5cd940' into 'hover in 1a5cd940'
2020-04-03 15:41:30 +02:00
paweldomas fb23aa54e8 ref(VideoLayout): log participant name on feature discovery failure 2020-03-12 13:21:05 -07:00
Hristo Terezov 809ac42e4c fix(largeVideo-bg):render canvas only when visible 2020-03-03 09:28:23 +00:00
Hristo Terezov a7ac7790a8 fix(avatars): optimise 2020-02-26 14:32:37 +00:00
Hristo Terezov bbf1927c70
fix(thumbnail): Optimize status bar moderator icon (#5076)
* fix(thumbnail): Optimize status bar moderator icon

Moved all moderator functionality to react to optimize the number of
status bar updates.

* fix(RemoteVideoMenuTriggerButton): Use nullish coalescing

Co-Authored-By: Saúl Ibarra Corretgé <saghul@jitsi.org>

* ref(StatusBar): rename to StatusIndicators

* fix(RemoteVideoMenu): isModerator value.

* fix(notification): mobile.

Co-authored-by: Saúl Ibarra Corretgé <s@saghul.net>
2020-02-18 16:31:04 +00:00
Hristo Terezov 06fa175a6c fix(large-video): Resize calculations.
Since the verical filmstrip doesn't set its width explicitly anymore,
calculating the available area for the large video based on the
filmstrip width retrieved from the HTML element was wrong
in the cases when the rendering and cleanup of the filmstrip hasn't
finish yet. For example when switching from tile view to stage view.
2020-02-10 20:23:37 +02:00
paweldomas 18536cb14c ref: remove grayscale filter from participants thumbnails 2020-02-06 07:54:09 -06:00
paweldomas 01e36e1c56 ref: remove connectivity issues indication for remote participants
It's been considered too disruptive and will often misfire especially
if there are issues with the data channels.
2020-02-06 07:54:09 -06:00
damencho a425e9c92e Disable status change notifications when join/leave notifications are disabled. 2020-02-04 17:26:27 +00:00
Paweł Domas 97e8a6c3f3
Remove UI for local connectivity issues (#5016)
* ref(web): removes video blur when ICE is disconnected.

Removes the blur effect from the large video and stops showing
the network connectivity issues message when ICE disconnects.

The feature has been considered too disruptive and there's a plan to
have it replaced with a more subtle indication.

* remove RECONNECTING key from main.json
2020-02-04 08:25:13 +01:00
damencho 775c531fe7 Enables all recording/livestreaming notifications in sip gw mode. 2020-01-27 16:20:32 +00:00
Hristo Terezov 31d9fb12c8
ref(Filmstrip): Optimize resizes. (#4992)
* ref(Filmstrip): Optimize resizes.

* fix(thumbnails): resize.

* fix(thumbnails): Issue with height 0, width 0.

* doc(Filmstrip): Improve JSDoc.
2020-01-24 16:28:47 +00:00
Hristo Terezov 42b71fc4b9 feat(horizontal-filmstrip): scroll 2019-12-19 19:17:04 +00:00
Hristo Terezov 1333fd1975 fix(thumbnails): es6 support & cleanup. 2019-12-16 16:51:59 +00:00
Leonard Kim 70f14be50f fix(large-video): center dominant speaker avatar using css
The vertical alignment was being set with javascript.
Recent changes might make the setting of alignment exit
early due to height 0 video. As position can be set
declaratively with css, use css to set position.
2019-11-15 07:51:59 -08:00
Hristo Terezov d65e241056 fix(remote-status-message): position 2019-11-15 12:33:01 +00:00
Hristo Terezov f3f936c196 fix(large-video): missing video. 2019-11-14 06:29:27 -08:00
Hristo Terezov 99de9d0bfa fix(remoteVideo): Attaching video stream. 2019-10-11 04:58:01 -07:00
Saúl Ibarra Corretgé 98698ba89a etherpad: refactor to share code with mobile
- simplify initialization procedure
- set user display name as the Etherpad name\
- use SharedDocumentButton
2019-10-10 11:19:38 +02:00
George Politis d210f2f2e7
Adds a noAutoPlayVideo configuration option (used in testing). (#4714)
This adds an option to disable video autoplay that will be used mostly with maleus (our selenium-based load testing tool for testing the new bridge). Disabling video rendering lowers the resource utilisation of the selenium nodes.
2019-10-08 11:34:25 +02:00
Leonard Kim 8c0f942ae1 add more logging around attaching videos to thumbnails 2019-09-19 10:46:36 +02:00
George Politis 2a7c6681ad ref: Changes how isVideoPlayable is computed.
This commit changes how the SmallVideo.isVideoPlayable method works.

1st we remove the check on the video stream muted field (materialized with the
!this.videoStream.isMuted() guard). This check is redundant as it is
already materialized in the !this.isVideoMuted check (the isVideoMuted
field is updated with the return value of the videoStream.isMuted()
method).

2nd we return false if we're in audio only mode, because it's
(obviously) undesirable to have a playable video when in audio only
mode.
2019-09-17 18:18:44 +02:00
George Politis 324a9eba91 minor change in debug log wording 2019-09-17 18:18:44 +02:00
George Politis fb1ed22c6c ref: Tweak logging logic for thumbnail display mode and tile view. 2019-09-17 18:18:44 +02:00
Saúl Ibarra Corretgé c1f7bf75c1 thumbnail: don't render dominant speaker indicator on 1-1 calls 2019-09-13 17:37:23 +02:00
Bettenbuk Zoltan c1598b7376 feat: make display name prompt platform independent 2019-08-26 22:20:22 +02:00
Leonard Kim 7af081ea99 fix(avatars): re-render avatar on any resize 2019-08-12 12:41:57 -07:00
Hristo Terezov c3e52f32f9 feat: Add logging for thumbnail display mode and tile view. 2019-08-09 01:08:19 -07:00
Saúl Ibarra Corretgé fd0ca76255 web,avatar: fix setting avatar size
Use the width of its container as the size, so the font icons can be rendered at
a good size.
2019-08-07 20:16:13 +02:00
Saúl Ibarra Corretgé f3e7952e51 audio-only: implement initial "low bandwidth mode"
It's an evolution of audio-only mode, where we also allow for receiving a remote
screen-share.

Diving deeper: this basically sets last N to 1 or 0 depending on the
availability of a screen-share.
2019-08-07 20:16:13 +02:00
Matthias Herzog e0c8b6b3c0 fix welcome page title fixes #4273 2019-07-12 14:25:26 +01:00
Leonard Kim b86df7a8e3 fix(remote-control): do not assume failed query is missing support
Multiple requests for checkUserRemoteControlSupport can be in
flight simultaneously. Order of promise resolution is not
guaranteed. It is possible for Request A and Request B to be
in flight and then Request B's promise chain resolves first.
Request A could have encountered errors and then resolve. Then
what could happen is checkUserRemoteControlSupport returns true
for remote control support due to Request B and the UI updates.
But then checkUserRemoteControlSupport returns false for
remote control support due to Request A's error and the UI
updates to hide remote control.
2019-07-11 07:25:08 +01:00