Commit Graph

146 Commits

Author SHA1 Message Date
Titus Moldovan b428ce2dcd fix(pip) make PiP disabled by default
This reverts commit c84c3c61e2c24014b43023316627f7747bbca7a6.
2022-06-21 10:36:21 +03:00
Saúl Ibarra Corretgé 6ad279f029
fix(rn, bottomsheet) fix not rendering above presentation sheets
Move all sheets to render in a new container which uses FullWindowOverlay, which allows rendering above presentation controllers on iOS.
2022-06-20 16:53:19 +02:00
Calinteodor 4d8f29d4fe
feat(rn,dynamic-brandind) added background image url to prejoin and lobby 2022-06-18 21:59:10 +02:00
Horatiu Muresan 38abca8a65 fix(carmode) Force potrait mode, add connection indicator 2022-06-17 12:54:51 +02:00
Calinteodor fbf693b2dc
feat(mobile/navigation) updated screens that have footer
* feat(mobile/navigation) updated screens that have footer

* feat(chat/native) reverted style change

* feat(chat/native) reverted changes and added input vertical padding

* feat(base/modal) replaced headerHeight with top safe area inset

* feat(carmode/native) removed unused import and fixed linter

* feat(chat/polls/native) reverted style changes

* feat(base/modal) added isModalPresentation default prop

* feat(base/modal) made isModalPresentation optional

* feat(base/modal) headerHeight based on top notch devices

* feat(polls) updated styles

* feat(base/modal) updated comment
2022-06-16 11:49:53 +02:00
Calin Chitu 79e648867d feat(mobile/navigation) - removed stack dependency and updated animation options 2022-06-09 15:14:54 +02:00
Calinteodor f3f9cd3d05
feat(dynamic-branding) add initial mobile SDK customization
* feat(dynamic-branding) sdk customization

* feat(dynamic-branding) unsetDynamicBranding when we disconnect

* feat(dynamic-branding) added branding colors to conference

* feat(dynamic-branding) extracted logger to its own file

* feat(dynamic-branding) reverted style change

* feat(dynamic-branding) unset branding if connection failed

* feat(dynamic-branding) removed index.js, updated imports, added ImageBackground component

* feat(dynamic-branding) created logger feature object

* feat(dynamic-branding) moved brandingStyles to mapStateToProps, used SvGUri

* feat(dynamic-branding) created BrandingImageBackground component, fixed styles

* feat(dynamic-branding) moved BrandingImageBackground to dynamic-branding feature

* feat(dynamic-branding) fixed linter

* feat(dynamic-branding) added style comment
2022-05-23 17:02:14 +02:00
Horatiu Muresan 61abf0d882
feat(carmode) Add carmode screen
- opens as a modal
- lastn is 0, mutes local video while open
- long press to talk
- and more
2022-05-06 13:14:10 +03:00
Calin Chitu 3e004811e0 feat(lobby/native) LobbyScreen and LobbyChatScreen 2022-04-26 14:55:15 +03:00
Calin Chitu ec78cf2784 feat(conference/native) - hide label in one to one meeting 2022-04-07 10:43:37 +02:00
Saúl Ibarra Corretgé 26b3eb34f0 fix(android,back-button) rework back button handling on Android
We used to have a registry which registered a single handlerwith RN.
THis was registered really early in the app.

When React Navigation was introduced we ddidn't realize it interacts
with the back button. In a stack nagigator it will navigate to the
previous screen. This meant our back button handling was broken.

This commit removes our previous registry and uses the RN back button
handler directly in the 2 components that use it: the conference and
bottom sheets.

Since these handlers are registered after navigation, our handlers are
going to run first so we cna implement the behavior we need, namely to
dismiss an open botom sheet or set the conference in PiP mode.
2022-03-29 14:33:25 +02:00
Gabriel Borlea 85c505a29d
add(highlights): mobile flow (#11168)
* add(highlight): mobile initial flow

* fix(hightlight): get meeting fqn on mobile

* fix(dynamic-branding): extract fqn on mobile

* fix(highlights): remove local fqn extraction and grounp dispatches in batch

* fix(dynamic-branding): check if state is defined in extract fqn
2022-03-18 16:16:56 +02:00
Calin Chitu 34d8843a35 fix(mobile-ui) ui fixes 2022-02-23 16:56:41 +02:00
Calin Chitu eb720d5ddc feat(navigation) two actions screen header buttons ui updates 2022-02-11 12:06:56 +02:00
Robert Pintilii b21beecbea
fix(title-bar) Fix native titlebar (#10882) 2022-01-31 11:47:53 +02:00
Calinteodor b9433368ee
feat(rn,app) unified navigators 2022-01-25 13:55:57 +01:00
Tudor D. Pop 28f5ddc81d
feat(lobby,notifications) refactor lobby notifications 2022-01-20 15:26:03 +01:00
Robert Pintilii eb010061e0
feat(title-bar) Updated title bar (#10752)
Only display Picture-in-Picture button when feature is available
Moved conference timer before title
Created new always-on container for labels
Moved recording labels to always-on
Updated expanded label to support new always-on labels
Added raised hands counter label
Added speaker - earpiece toggle button
Lifted state up
2022-01-13 14:15:53 +02:00
Saúl Ibarra Corretgé 61ae909ed5 chore(deps,rn) update navigation librarries to their latest versions
React Navigation v6.
2022-01-10 19:21:51 +01:00
Saúl Ibarra Corretgé 90321ca016 feat(rn) update React Native to version 0.63
I'm updating to RN 0.63 instead of the latest (0.66 at the time of this writing)
so we can update the navigation related libraries to their latest versions, and
then proceed with the larger leap towards the latest RN.
2022-01-10 19:21:51 +01:00
Calin Chitu db37cd37c8 feat(conference) centered header navigation button 2022-01-07 17:42:38 +02:00
Robert Pintilii 56883f0a65
fix(theme) Update colors (#10649) 2021-12-17 15:05:12 +02:00
Calinteodor bf3cc65f4c
feat(security) created SecurityOptions React Navigation screen (#10509)
* feat(security) Security Options screen
2021-12-10 18:23:27 +02:00
Vlad Piersec bfc0567e32 fix(rn,chat): Fix chat and polls title 2021-12-07 11:13:25 +01:00
Saúl Ibarra Corretgé 4401ea8818 fix(rn,navbar) fix invalid boolean check
`startTimestamp` is not a boolean, so make sure we return one.
2021-12-03 08:38:58 +01:00
Saúl Ibarra Corretgé 322ec107cd fix(rn,conference) hide timer until it has started
It may never start if the component is not deployed.
2021-12-02 16:04:45 +01:00
Andrei Oltean 70b8ccc097 feat: (speaker-stats) add speaker stats feature to native 2021-11-25 20:17:49 +02:00
Calinteodor cc63ff1c3c
feat(conference) UI updates for mobile navigation bar (#10437)
* feat(conference) updated native navigation bar and toolbox styles
2021-11-25 18:41:03 +02:00
Werner Fleischer b5faf9f62a feat(breakout-rooms) add breakout-rooms
- implement breakout-rooms
- integrated into the participants panel
- managed by moderators
- moderators can send participants to breakout-rooms
- participants can join breakout rooms by themselve
- participants can leave breakout rooms anytime

Co-authored-by: Robert Pintilii <robert.pin9@gmail.com>
Co-authored-by: Saúl Ibarra Corretgé <saghul@jitsi.org>
2021-11-19 10:27:34 +01:00
Calin Chitu e42db3c9c2 feat(welcome) added WelcomePage React Nav bottom tabs 2021-11-17 15:42:06 +02:00
Calinteodor 4e2fea1e12
feat(rn,welcome) React Navigation drawer 2021-11-11 15:32:56 +01:00
Saúl Ibarra Corretgé 162a67fe8b chore(lint) tame the (uppdated) linter 2021-11-09 09:43:55 +01:00
Calinteodor 9df59b4a6f
feat(conference) added React Navigation
Introduce navigation for all in-conference screens.
2021-10-20 21:29:21 +02:00
Saúl Ibarra Corretgé 07da5940a5 fix(rn,conference) show underlay when tapping navbar buttons 2021-09-15 13:35:33 +02:00
Saúl Ibarra Corretgé 0833f8c867 feat(rn,conference) show invite button on the top navbar 2021-09-14 15:03:24 +02:00
Saúl Ibarra Corretgé 3bf9c41f08 fix(rn,conference) count fake participants when checking if lonely meeting
A shared video participant counts, so the lonely meeting invite options can
disappear.
2021-09-14 12:50:22 +02:00
Avram Tudor 1ad9046a38
Improve premeeting screens ux (#9726)
* feat(prejoin) move invite to toolbar section

* feat(premeeting) redesign prejoin and lobby screens

* code review changes

* fix prejoin flicker and avatar id

* fix password error message and native lobby dialog close position
2021-08-20 11:53:11 +03:00
Calin Chitu c6e50ad439 feat(native-participants-pane) implemented review remarks pt. 1 2021-07-21 12:32:10 -05:00
Calin Chitu b332fb474b feat(native-participants-pane) Updated comments 2021-07-21 12:32:10 -05:00
Calin Chitu a12ad99ecf feat(native-participants-pane) participants pane open/close fixed 2021-07-21 12:32:10 -05:00
Vlad Piersec 9fd8491d04 fix(RN, Toolbox): Show full participant thumbnails in tile view 2021-05-08 00:25:40 +02:00
Vlad Piersec 79939f108c fix(rn, Labels): Place picture-in-picture button on the left 2021-05-05 09:16:48 +03:00
Vlad Piersec b135e2a06a feat(Labels): Redesign labels on mobile & web 2021-04-08 11:57:15 +02:00
luz paz d3680bbebd fix(misc) follow-up typos
Found via `codespell -q 3 -S ./lang`
2021-03-22 10:41:41 +01:00
Saúl Ibarra Corretgé 3c94a5ccfd feat(rn,ui) update in-meeting colors 2021-03-19 11:32:00 +01:00
Saúl Ibarra Corretgé 78d4af6bf2 feat(rn,conference) new UI for conference name duration 2021-03-19 11:32:00 +01:00
Saúl Ibarra Corretgé 33fc3833f9 fix(rn,labels) don't add extra margin in tile view
There is no need to skip the filmstrip, since it's not there.
2021-03-19 11:32:00 +01:00
Saúl Ibarra Corretgé b179542c39 fix(rn,labels) top-align with room name field 2021-03-19 11:32:00 +01:00
Saúl Ibarra Corretgé 57ecdff9eb fix(rn,conference) remove no longer needed margin
We are using a safe area view now.
2021-03-19 11:32:00 +01:00
Saúl Ibarra Corretgé 9d4e49a5af fix(rn,toolbox) fill gap underneath Toolbox
This is for devices without the home button.
2021-03-19 11:32:00 +01:00
Saúl Ibarra Corretgé 6b4d25c0d3 fix(rn,ui) move top labels to navbar component 2021-03-19 11:32:00 +01:00
Saúl Ibarra Corretgé 2f5ab2757f feat(rn,ui) get rid of the gradients 2021-03-19 11:32:00 +01:00
Vlad Piersec c508572cc5 feat(toolbox): Redesign mobile toolbox 2021-03-11 12:38:37 +01:00
Jean-François Alarie 407021e258
feat(rn,flags) add fullscreen.enabled flag 2021-03-08 22:11:39 +01:00
Tudor-Ovidiu Avram d49c5a6d8c feat(jaas) add config for displaying participants stats and conference subject 2021-01-08 10:21:07 +02:00
Hristo Terezov 5cae5985c0 feat(ConferenceTimer): Add config option to hide. 2020-12-03 17:00:33 -06:00
Saúl Ibarra Corretgé a67d0fbf6c chore: remove some cycles 2020-07-29 09:31:38 +02:00
Saúl Ibarra Corretgé 76e4929add rn,tile-view: render display name on top of participant view
Makes the tiles consistent as the participant view is equally sized and the
avatar is always centered in the tile.
2020-07-21 13:18:48 +02:00
Saúl Ibarra Corretgé 36d95ed51f rn,conference: show lonely experience only after joining
Showing the modal earlier is weird because it will be closed as soon as we
connect. Also, we don't know if we are going to be alone until we join.
2020-07-15 15:32:34 +02:00
NicolasD 41ba55a6a9
rn,flags: add feature flag to enable / disable conference timer 2020-07-15 10:22:35 +02: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
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é d740752522 rn,responsive-ui: refactor dimensions detection
Use a dimensions detecting root component. The Dimensions module does not
measure the app's view size, but the Window, which may not be the same, for
example on iOS when PiP is used.

Also refactor the aspect ratio wrap component since it can be taken directly
from the store.

Last, remove the use of DimensionsDetector on LargeVideo and TileView since they
occupy the full-screen anyway.

Fixes PiP mode on iOS.
2020-06-02 16:54:28 +02:00
Bettenbuk Zoltan 0598e7369b ref: eslint-config-jitsi@1.0.3 2020-05-20 17:14:29 +02:00
Bettenbuk Zoltan c08638da51 feat: insecure room name warning 2020-05-18 17:59:07 +02: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 678ed605d7 ref: change JitsiModal to better fit to needs 2020-04-07 11:18:50 +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
Zoltan Bettenbuk 8d3b59a0d0
rn: lonely meeting experience 2020-03-20 18:30:46 +01:00
theunafraid c2cf09a2ca Add conference timer (#4958) 2020-01-13 17:12:25 +00:00
Bettenbuk Zoltan 3ff658a13b fix: respect safe area in conference on ios 2019-11-07 12:26:54 +01:00
Saúl Ibarra Corretgé f7a526f488 rn: fix rendering unnecessary stuff when in PiP mode 2019-10-11 17:17:53 +02:00
Saúl Ibarra Corretgé 19d1e3829d rn: add shared document support using Etherpad 2019-10-10 11:19:38 +02:00
Saúl Ibarra Corretgé 64897b9c91 rn,toolbox: simplify logic for showing Toolbox on mobile 2019-08-20 20:04:27 +02:00
Bettenbuk Zoltan ec30af2844 feat: always show labels 2019-07-16 17:32:58 +02:00
Bettenbuk Zoltan 1993ad10eb feat: apply color brand guidelines 2019-07-12 20:48:49 +02:00
Bettenbuk Zoltan a25a504a59 feat: add bottom gradient 2019-07-12 20:48:49 +02:00
Bettenbuk Zoltan 0a76eebca7 feat: central back button registry 2019-07-11 16:14:08 +02:00
Bettenbuk Zoltan 4c3ed190f3 feat: add ability to toggle toolbox from tile view 2019-06-20 11:05:34 +02:00
Saúl Ibarra Corretgé 97e0303065 feature-flags: add flag for enabling calendar integration 2019-06-11 13:37:50 +00:00
Saúl Ibarra Corretgé cf7b10d53d feature-flags: initial implementation
The welcomePageEnabled and pictureInPictureEnabled props on mobile have been
converted to feature flags.
2019-06-11 13:37:50 +00:00
Saúl Ibarra Corretgé 9a8a070c62 rn: show conference subject if set 2019-05-29 14:48:02 +02:00
Saúl Ibarra Corretgé cb3419ba2a android: enter PiP mode when pressing back button
When in a conference, try to enter PiP when pressing the back button. If this is
not possible (because it's unsupported, not enabled, etc.) fall back to the
previous behavior of simply hanging up.
2019-05-23 16:00:12 +02:00
Saúl Ibarra Corretgé a4cf79c161 rn: fix losing audio if call is hangup too quickly
This PR changes the logic for connecting / disconnecting conferences. Instead of
doing it in mount / unmount events from the Conference component, it moves the
logic to the appNavigatee action.

This fixes a regression introduced in 774c5ecd when trying to make sure the
conference terminated event is always sent.

By moving the logic to appNavigate we no longer depend on side-effects for
connecting / disconnecting, and the code should be more maintainable moving
forward.

An improvement to this is the concept of sessions, which, while not tackled
here, was taken into consideration.
2019-05-23 15:16:31 +02:00
Saúl Ibarra Corretgé 774c5ecd18 rn: ensure the conference terminated event is always sent
Dear reader, I'm not proud at all of what you are about to read, but sometimes
life just gives you lemons, so enjoy some lemonade!

Joining a conference implies first creating the XMPP connection and then joining
the MUC. It's very possible the XMPP connection was made but there was no chance
for the conference to be created.

This patch fixes this case by artificially genrating a conference terminated
event in such case. In order to have all the necessary knowledge for this event
to be sent the connection now keeps track of the conference that runs it.

In addition, there is an even more obscure corner case: it's not impossible to
try to disconnect when there is not even a connection. This was fixed by
creating a fake disconnect event. Alas the location URL is lost at this point,
but it's better than nothing I guess.
2019-04-25 14:04:26 +02:00
Bettenbuk Zoltan e5caca9cfd [RN] Add display name label to tile view 2019-04-15 18:58:15 +02:00
Bettenbuk Zoltan 42c85c22a9 [RN] rearrange display-name files for later refactor 2019-04-15 18:58:15 +02:00
Bettenbuk Zoltan 2a5adfc601 Remove some Flow annotations 2019-03-25 13:53:08 +01:00
paweldomas c7979a3944 feat(mobile): add 1 liner notifications
Adds 1 liner notifications to mobile. Only the title is displayed. In
case the title is missing there's a fallback to the description.
2019-03-21 15:47:14 +01:00
paweldomas 15fd27543a ref(Conference): extract AbstractConference 2019-03-21 15:47:14 +01:00
Saúl Ibarra Corretgé c025c7e132 flow: tame the beast
🔥🔥🔥
2019-03-21 14:47:55 +01:00
Bettenbuk Zoltan b6e2701991 [RN] Add invite screen 2019-02-27 13:26:21 +01:00
Bettenbuk Zoltan 9f3ef43daa [RN] Add conference navigation bar 2019-02-06 14:27:25 +01:00
Bettenbuk Zoltan 46713cab3b Move Labels to Conference 2019-02-06 14:27:25 +01:00
Bettenbuk Zoltan d7d9bc4eeb Reorganize conference feature files 2019-02-06 14:27:25 +01:00