Compare commits

...

1060 Commits

Author SHA1 Message Date
xenia 4bd73cc368 jiti modifications >:3 2023-03-08 22:19:23 -08:00
Boris Grozev e12999d44f chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1588.0.0+04e906cc...v1589.0.0+d43c349d
2023-03-08 11:16:05 -05:00
Robert Pintilii 8982f17ce1
feat(virtual-background) Move dialog to SettingsDialog tab (#13005)
Implement redesign
2023-03-08 13:15:07 +02:00
Robert Pintilii c8f1690057
ref(feedback-dialog) Update design (#12926)
Convert file to TS
Move styles from SCSS to JSS
2023-03-08 12:46:10 +02:00
Robert Pintilii aa57309057
ref(more-tab) Update design on SettingsDialog More tab (#13006) 2023-03-08 10:40:40 +02:00
damencho fb81619fc5 fix: Fixes muc rate limit to fire occupant-pre-join.
If any handler returns a value (that isn't nil) then processing will halt and that value will be returned.
2023-03-07 18:54:06 -06:00
Hristo Terezov 5a5656020b fix(e2ee): enabled/supported flags calculation. 2023-03-07 15:36:47 -06:00
Hristo Terezov 0ff44a2f22 fix(participants-reducer):old particpant selection 2023-03-07 15:36:47 -06:00
Hristo Terezov 4d04ea325e fix(everyoneIsModerator): Optimize. 2023-03-07 15:36:47 -06:00
Hristo Terezov 42ce6dcc58 fix(e2ee): Optimize. 2023-03-07 15:36:47 -06:00
Hristo Terezov b033d0268a fix(speaker-stats): dispatch action only on change 2023-03-07 15:36:47 -06:00
Hristo Terezov 4aea40d34f fix: Batch actions. 2023-03-07 15:36:47 -06:00
Hristo Terezov e5a170fb28 fix(Filmstrip): Use id for localScreenShare. 2023-03-07 15:36:47 -06:00
Hristo Terezov d1cf5578fc fix(avatar): Remove unnecessary code. 2023-03-07 15:36:47 -06:00
Hristo Terezov 4b29af6b5f fix(lastN): Update only if neccessary. 2023-03-07 15:36:47 -06:00
bgrozev f3481576ff
doc: Document new bridgeChannel options. (#13010) 2023-03-07 14:21:41 -06:00
bgrozev 455a91a5c6
chore(deps) lib-jitsi-meet@latest (#13009)
https://github.com/jitsi/lib-jitsi-meet/compare/v1586.0.0+df2c3096...v1588.0.0+04e906cc
2023-03-07 13:44:42 -06:00
Gabriel Borlea 297ab194a8
fix(dialog-portal): set z-index to high value (#13004) 2023-03-07 16:39:27 +02:00
Christoph Settgast 077a88a803
lang: update German translation (#13000) 2023-03-07 08:17:41 +01:00
Gabriel Borlea 02c232440e
fix(av-moderation): buttons for participants pane (#12977)
* fix(av): buttons for participants pane

* fix tests

* fix lint

* rename cliked from participant pane
2023-03-06 11:05:26 -06:00
Emmanuel Pelletier f727b9295f
Use tabs ARIA design pattern when using tabbed UI (#12994)
feat(a11y): use tabs ARIA design pattern when using tabbed UI
2023-03-06 17:13:29 +02:00
Robert Pintilii 0d0bec3aad
feat(device-selection) Separate Devices into Audio and Video in Settings (#12987)
Create separate tabs for Audio and Video in the Settings Dialog
Move some settings from the More tab to Audio/ Video tab
Implement redesign
Convert some files to TS
Move some styles from SCSS to JSS
Enable device selection on welcome page
2023-03-06 15:14:52 +02:00
Emmanuel Pelletier cfb8589bef
Use focus-visible for some focus styles to fix a11y issues (#12968)
feat(a11y): fix-focus-styles
2023-03-06 12:39:46 +02:00
japm48 65730e256e fix(lang) update Spanish translation 2023-03-04 15:41:39 +01:00
Robert Pintilii 7b8b911fee
feat(shortcuts) Update dialog (#12993)
Create Shortcuts tab in Settings Dialog
Move keyboard shortcut option from More to this tab
Move shortcuts info from KeyboardShortcuts dialog to this tab
Remove KeyboardShortcuts dialog
2023-03-03 13:48:17 +02:00
Robert Pintilii 036286a1d6
feat(notification-settings) Update Sounds tab in Settings Dialog (#12990)
Rename from Sounds to Notifications
Move Notifications settings from More tab to this tab
2023-03-03 12:53:39 +02:00
Robert Pintilii d550254f31
ref(moderator-settings) Update Moderator tab in Settings Dialog (#12991)
Update design
2023-03-03 11:48:00 +02:00
Robert Pintilii b1a71d55d7
feat(profile-tab) Update Profile tab in Settings Dialog (#12992)
Implement redesign
Move some options from More to this tab
2023-03-03 10:42:59 +02:00
George Politis 17ed45799c feat: Sends the statisticsDisplayName to rtcstats. 2023-03-02 19:34:25 +01:00
Jaya Allamsetty e5681382b0 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1585.0.0+362d1b2c...v1586.0.0+df2c3096
2023-03-01 20:58:55 -05:00
Robert Pintilii c27cb25afe
chore(deps) Upgrade eslint (#12981) 2023-03-01 13:30:43 +02:00
Avram Tudor baf5aa14e8
feat(devices) scroll overflow devices texts on hover (#12974) 2023-03-01 09:38:26 +02:00
Horatiu Muresan 29b6ce7721 fix(numbers-list) Re-add sip svg 2023-02-28 11:53:26 -06:00
Mihaela Dumitru 4f95c45e50
fix(ui) change streaming icon background + add tooltip (#12973) 2023-02-28 16:52:33 +02:00
Emmanuel Pelletier 72dd609247
feat(a11y) add headings across the app for easier screen reader nav (#12427)
feat(a11y): added headings across the app for easier screen reader nav
2023-02-28 16:52:06 +02:00
Horatiu Muresan fed74afffe
fix(sound-settings) Disable checkbox for disabled sounds (#12976) 2023-02-28 16:47:00 +02:00
Mihaela Dumitru 204f34cccb
fix(pinning) Fix whiteboard pinning behavior when stage filmstrip is enabled (#12966) 2023-02-28 14:44:37 +02:00
Emmanuel Pelletier c81777a475
Make (most) UI elements reachable via keyboard (#12657)
feat(a11y): make (most) UI elements reachable via keyboard
2023-02-28 12:21:15 +02:00
Horatiu Muresan 778bca3031
fix(always-on-top) Show participant`s avatar (#12967) 2023-02-27 16:20:40 +02:00
Avram Tudor 336fa304ce
feat(notifications) trigger iframe api event when a notification occurs (#12952)
* feat(notifications) trigger iframe api event when a notification occurs

* remove useless comment

* fix typo
2023-02-27 15:31:54 +02:00
damencho f14b69166c fix: Fixes visitors count when the data is missing. 2023-02-24 11:44:31 -06:00
Calin-Teodor e405595a11 feat(notifications): moved notifications to the bottom of the screen 2023-02-24 17:22:55 +02:00
zobadaniel cabe48d66a
lang: Add lower sorbian translation (#12947)
* add lower sorbian translation

* adjustments after using update-translation.js

* adjustments after running lint

* add translation into language list
2023-02-24 09:04:06 -06:00
Duduman Bogdan Vlad 8d7f46024b
feat(webhid) - add integration webhid telephony device (#12904) 2023-02-24 16:37:30 +02:00
damencho d7f6c2bbf0 feat: Introduces iAmVisitor mode. 2023-02-24 07:51:47 -06:00
damencho 3c69645169 feat(mobile): Adds visitors count. 2023-02-24 07:51:47 -06:00
damencho abe2fa4dd4 feat: Adds visitors count in conference info. 2023-02-24 07:51:47 -06:00
damencho 863fd12488 feat: Hide self-view and buttons in visitors mode. 2023-02-24 07:51:47 -06:00
damencho 50c4748d40 feat: Adds visitors count in participants pane. 2023-02-24 07:51:47 -06:00
damencho f83840a3bc feat: Adds initial impl of visitors feature. 2023-02-24 07:51:47 -06:00
damencho 1466d7d149 fix: Always normalizes bosh config. 2023-02-24 07:51:47 -06:00
Calinteodor d0fe034db5
feat(base/dialog): visibility control for PageReloadDialog (#12961)
* feat(base/dialog): visibility control for  PageReloadDialog
2023-02-24 13:51:27 +02:00
Дамян Минков 8225f5e363
feat: Drops external connect optimization. (#12958)
* feat: Drops external connect optimization.

A bosh only optimization which is no longer used and does not bring any significant value when measured.

* squash: Updates ljm.
2023-02-24 08:59:00 +01:00
Saúl Ibarra Corretgé c641835d0f fix(virtual-background) don't disable uploads
Even when images are provided via dyamic branding.

Fixes: https://github.com/jitsi/jitsi-meet/issues/12941
2023-02-23 16:41:27 +01:00
Horatiu Muresan 35ee92869f
feat(deeplinking) Refactor deeplinking (#12950)
- redesign deeplinking mobile page, desktop page and dial in number page
- now dial in number page is an entry point in app.bundle.
2023-02-23 17:01:55 +02:00
Stefan Plücken 9b7a5ffdd1 fix(reservations): fixes errors not being displayed when reservation system returns error. removed translations applied twice. (#11144) 2023-02-23 08:52:54 -06:00
Calin-Teodor 581c2e621c feat(notifications): fix width for notifications on all devices 2023-02-23 16:39:19 +02:00
Mihaela Dumitru f3117f3037
fix(video-layout) get pinned participant from payload to determine pinning behavior (#12951) 2023-02-23 14:41:29 +02:00
Saúl Ibarra Corretgé 877ef58dfb deps(rn) react-native-webrtc@106.0.6
Fixes to SDP negotiation and transceiver lifetime.
2023-02-23 13:08:49 +01:00
Calinteodor 19e61747b8
feat(notifications): small ui updates (#12943)
* feat(notifications): small ui updates
2023-02-23 11:49:26 +02:00
Calinteodor b4bf363237
feat(lobby): deleted knocking participant api event (#12940)
feat(lobby): make sure that that the knocking participant event is always fired
2023-02-21 13:55:03 +02:00
Calinteodor f8af9c4fae
feat(notifications): native UI updates (#12798)
* feat(notifications): native notifications UI updates
2023-02-21 11:26:04 +02:00
Nitish Kumar 9fa426d97f
fix(ParticipantsCounter)fixup badge style 2023-02-21 10:17:22 +01:00
Yash-Ambekar e3c95e376a
fix(toolbar) Removed width from toolbar (#12935) 2023-02-20 20:29:57 +02:00
Calinteodor 00ed794c50
feat(mobile/navigation): reload now navigates to conference (#12919)
* feat(mobile/navigation): navigate back to same room when reload now is initiated
2023-02-17 17:40:01 +02:00
Saúl Ibarra Corretgé b52d5629e2 chore(deps) remove unused dependencies 2023-02-17 15:03:55 +01:00
Horatiu Muresan 9d8e646d4e
fix(lobby) Fix lobby inputs (#12930) 2023-02-17 15:34:45 +02:00
Horatiu Muresan 850c0b97e4
chore(recording-notif) Show sticky notif for copy recording link (#12928) 2023-02-17 14:24:39 +02:00
Robert Pintilii 87035d0812
ref(deps) Remove atlaskit/tabs (#12927) 2023-02-17 13:36:00 +02:00
Robert Pintilii ef0168c9ff
ref(dialog) Remove atlaskit dialog (#12925) 2023-02-17 12:53:14 +02:00
Robert Pintilii df1a5a25d4
ref(desktop-picker) Replace atlaskit tabs with our component (#12910)
Fixes wrong focus on desktop picker dialog
2023-02-17 11:34:47 +02:00
Robert Pintilii c424884201
ref(settings-dialog) Update to use new Dialog component (#12912)
* ref(settings-dialog) Update to use new Dialog component

Created new DialogWithTabs component
Refactored Dialog into Dialog and BaseDialog
Updated dialog functionality on mobile
2023-02-17 11:34:30 +02:00
Дамян Минков 0a464a5223
feat: Avoids joining participants before jicofo is in the room. (#12923)
* feat: Avoids joining participants before jicofo is in the room.

* squash: Move away from global hook to be able to use it per muc component.
2023-02-16 18:16:43 -06:00
Horatiu Muresan 8cd62bc132
fix(external-api) Unpin all participants when participant id is null (#12921) 2023-02-16 18:14:10 +02:00
Jaya Allamsetty 123a74b38b fix(video-quality) Add pinned participants to selectedSources.
When mulltiple videos are pinned to the stage filmstrip, the expectation is that the bridge will forward all the videos even if they are of lower quality. For this, the video sources need to be added to selectedSources instead of onStageSources.
2023-02-16 10:36:22 -05:00
Christoph Settgast dbeca806bb lang: update German translation 2023-02-15 14:03:20 -06:00
Jaya Allamsetty f790d3e3ed chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1582.0.0+829f5ac0...v1583.0.0+931ca368
2023-02-15 13:59:05 -05:00
Horatiu Muresan a12f7fc4d2
fix(follow-me-pinning) Fix pin/unpin when follow-me (#12911) 2023-02-15 19:08:08 +02:00
Gabriel Borlea 456ce38a10 fix(context-menu): set height for context menu when it does not have enough space at top 2023-02-15 19:06:57 +02:00
Gabriel Borlea 72ef1668f2 fix(video-background): set dialog add button margin to right size 2023-02-15 19:06:57 +02:00
Jaya Allamsetty fce8f52574 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1578.0.0+5855ca72...v1582.0.0+829f5ac0
2023-02-15 09:15:01 -05:00
Titus Moldovan 8fcfd7a308 fix(rn) makes the preferedCode vp8 and enabled p2p 2023-02-14 16:40:38 +01:00
Saúl Ibarra Corretgé 04a41395c8 fix(notifications) remove dead code 2023-02-14 11:51:47 +01:00
Robert Pintilii 18e8201167
fix(participants-counter) Style fix (#12907) 2023-02-14 12:40:29 +02:00
Robert Pintilii 27b8794d8c
feat(video-picker) Redesign (#12902)
Convert some files to TS
Implement redesign
Add Virtual background and Flip video to picker menu
2023-02-14 12:15:37 +02:00
Calinteodor 3cb0df579c
feat(overlay): native page reload dialog (#12667)
feat(overlay): native feature removal + replaced PageReloadOverlay with PageReloadDialog
2023-02-14 11:50:46 +02:00
Robert Pintilii 22ded30b61
feat(audio-menu) Redesign audio picker menu (#12899)
Convert some files to TS
Remove unnecessary files
Implement redesign
Add noise suppression to picker menu
Fix Popover placement on browser resize
2023-02-13 16:01:08 +02:00
Robert Pintilii 533deea5fd
ref(password-required) Update component to use new Dialog (#12900)
Convert component to TS
2023-02-13 15:47:42 +02:00
Saúl Ibarra Corretgé 46c6d1057d fix(ios) avoid getting duplicated SDK events
UIView has 2 designated initializers: initWithFrame and initWithCoder,
which means either of them is going to be called, whatever the
constructor.

THus overriding init will cause creating new (and unnecessary)
observers.

Ref: https://community.jitsi.org/t/duplicate-delegate-calls/121051/6
Fixes: https://github.com/jitsi/jitsi-meet/issues/12892
2023-02-13 14:20:44 +01:00
Titus Moldovan 45aa53b1a6 chore(rn) updates react-native-gesture-handler 2023-02-13 15:11:31 +02:00
damencho 7d65123495 fix: Drop unused dependency. 2023-02-13 06:48:53 +01:00
Maria Mironova e1ac000cd1
fix(chat) keep avatar width inside flex container (#12891)
Co-authored-by: Maria Mironova <maria@example.com>
2023-02-10 14:31:11 +02:00
Saúl Ibarra Corretgé f98036efa1 fixup! 2023-02-09 16:38:03 +01:00
Saúl Ibarra Corretgé 23aeafcc93 fixup! 2023-02-09 16:38:03 +01:00
Saúl Ibarra Corretgé 0ffe2c2c87 fixup! 2023-02-09 16:38:03 +01:00
Saúl Ibarra Corretgé dec58afe46 feat(icons) add new moderator icon 2023-02-09 16:38:03 +01:00
Mihaela Dumitru 2aa770e532
feat(config) add flag to disable lobby password & group lobby config flags (#12793) 2023-02-09 14:46:25 +02:00
Gabriel Borlea 1a113ba733
feat: add custom buttons for participant menu and toolbar via config (#12832)
* add custom remote menu button

* add config for custom buttons

* whitelist custom buttons flag

* add toolbox custom button

* fix notify toolbox buttons

* whitelist toolbar custom buttons

* rename and fix notify

* rename participant remote menu

* revert some flag wrong changes

* fix some formatings

* add undefined type to custom buttons toolbox

* code review

* code review 2

* fix linting issue
2023-02-09 13:12:00 +02:00
dependabot[bot] 3a5833829c chore(deps): bump @sideway/formula from 3.0.0 to 3.0.1
Bumps [@sideway/formula](https://github.com/sideway/formula) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/sideway/formula/releases)
- [Commits](https://github.com/sideway/formula/compare/v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: "@sideway/formula"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-09 10:36:48 +01:00
Priyanshu Sharma e6d1f039d2
fix(participant-count) Fix mobile style (#12880) 2023-02-09 10:10:16 +02:00
Horatiu Muresan fef78152e1
fix(remote-control) Add some missing key codes for numpad (#12879) 2023-02-07 17:00:59 +02:00
Mihaela Dumitru 84221c5c13
feat(dialout) check appId for permission to call outbound destination (#12871) 2023-02-07 16:18:27 +02:00
Calinteodor 3e59359563
feat(base/icon): removed burger icon (#12876)
* feat(base/icons): removed unused icon
2023-02-07 13:02:15 +02:00
Calin-Teodor e69db9b878 feat(participants-pane): removed unused action 2023-02-07 12:40:35 +02:00
Robert Pintilii ae7e441e21
fix(context-menu) Minor style fixes (#12874) 2023-02-07 12:05:46 +02:00
Robert Pintilii 6b8afbcceb
fix(filmstrip) Minor style fixes (#12870) 2023-02-07 10:10:28 +02:00
José Luís Andrade d712a565f8
lang: Update Portuguese translation (#12647)
* Update Portuguese translation

* Small fix in the translation

* Add new update

* feat(audioOnly) translation

* chore(welcome-page) translation

* translate "noMicPermission"
2023-02-03 11:41:11 -06:00
Saúl Ibarra Corretgé 36bfbeb81d fix(etherpad) avoid using deprecated property 2023-02-03 15:52:26 +01:00
Saúl Ibarra Corretgé e7b16b0daf fix(etherpad) fix CORS issues
Avoid modifying the iframe. We don't really need to bubble up mouse
events anymore since the Etherpad frame won't overlap with the toolbar
or filmstrip, so when the user moves over those areas it will just show
up.
2023-02-03 15:52:26 +01:00
Saúl Ibarra Corretgé 92a891e7d3 chore(rn,deps) react-native-webrtc@latest
Brings back Metal rendering and other SDP negotiation improvements.
2023-02-03 13:34:10 +01:00
Robert Pintilii 09e4696c60
feat(title-bar) Update design (#12851)
Convert some files to TS
Move some styles from SCSS to JSS
Update design
2023-02-03 13:31:00 +02:00
Robert Pintilii a594aac078
fix(toolbar) Fix styles (#12863) 2023-02-03 13:30:38 +02:00
Saúl Ibarra Corretgé 9409e64066 fix(deps) remove nunused dependencies 2023-02-03 11:57:22 +02:00
Robert Pintilii 12318db4c7
fix(local-rec) Handle no mic permission (#12862) 2023-02-03 11:34:07 +02:00
Shawn 749c26b74c fix(toolbox): consistent color of hangup buttons 2023-02-02 15:55:17 +01:00
Robert10B babe62eb6d
fix(lang) updated Dutch translation 2023-02-02 13:50:25 +01:00
Robert Pintilii fbc0a502e7
ref(TS) Improve TS (#12656) 2023-02-02 13:12:31 +02:00
Shawn ab262ec8b1 fix(toolbox): do not show hangup menu for non-moderators 2023-02-02 10:50:15 +01:00
Maciej Zakrzewski cced41665d
fix(local-recording) after IFrame sandboxing
Fix local recording saving not working after IFrame sanbox introduciton. The allow-downloads flag was missing.
2023-02-02 10:45:48 +01:00
Mihaela Dumitru f95e167779 feat(giphy) add sample resource for giphy-proxy 2023-02-02 10:30:40 +01:00
damencho bf1b7cc856 fix: Fixes follow-me on the side that is screen sharing. 2023-02-01 07:12:15 -06:00
damencho 091e3f69dc fix: Fixes follow-me when there is a screenshare. 2023-01-31 08:40:56 -06:00
Horatiu Muresan 42868c9ec2
fix(context-menu) Fit the overflow menu on small heights (#12848) 2023-01-31 15:19:01 +02:00
Robert Pintilii 0d5dae7ab9
feat(prejoin) Update design (#12844) 2023-01-30 13:34:56 +02:00
Calin-Teodor 992bf47850 feat(polls/native): changed remove option button color to match web 2023-01-30 13:09:52 +02:00
Robert Pintilii 4f34a576d0
feat(polls) Redesign (#12838)
Convert files to TS
Move styles from SCSS to JSS
Implement redesign
2023-01-30 11:35:21 +02:00
Robert Pintilii 921f3ee8cd
fix(chat) Break long text in multiple lines (#12842) 2023-01-30 10:48:17 +02:00
Horatiu Muresan 42838e756c
fix(self-view) Hide self view when alone in meet as well (#12831) 2023-01-27 16:30:47 +02:00
Werner Fleischer e6eba3536a feat(ci): using .luacheckrc 2023-01-27 10:59:07 +01:00
Gabriel Borlea 74bdb7bc3f
fix(face-landmarks): set session id for webhook using method (#12834) 2023-01-26 23:00:25 +02:00
Mihaela Dumitru 192187db32
feat(config/giphy) add proxyUrl config for giphy requests (#12816) 2023-01-26 16:12:12 +02:00
Saúl Ibarra Corretgé 5dce74e21d fix(external-api) fix sending forms after introduction of sandbox
Ref: https://github.com/jitsi/jitsi-meet-electron/issues/837
2023-01-26 11:36:58 +01:00
Hristo Terezov fd7b6f457e fix(Thumbnail):limit the size of the avatar to 200 2023-01-26 09:18:25 +02:00
Kirat 2bf3089dbf
Fixed overflow of popover (#12814) 2023-01-25 19:09:55 +01:00
Calin-Teodor d396727e39 feat(base/lib-jitsi-meet): fixed build failing from bad import 2023-01-25 17:30:13 +02:00
Horatiu Muresan 3e58cd8af3
feat(narrow-layout) Use drawer menus on desktop narrow mode (#12799) 2023-01-25 17:02:26 +02:00
Robert Pintilii cf7e692186
fix(recording-dialog) Fix switch UI (#12826) 2023-01-25 10:45:40 +02:00
Jaya Allamsetty 5e90e72562
Feat ssrc rewriting (#12408)
Use a fixed set of remote tracks for a call based on the ssrc-limit set in jvb config. When this feature is enabled, JVB will signal the audio and video SSRCs and their owner/endpoint info using a bridge channel message. For audio, the mappings are determined based on the energy rankings on the audio sources present in the call and for video, the mappings are calculated based on the video sources the client requests through the video receiver constraints.
Remote tracks are then created/remapped by the client based on these mappings.

* Added track_owner_changed action
* Skip track-based large-video selection in rewriting mode.
* Register OWNER_CHANGED handler at track level.
* feat(participants) Add source info to participants in redux.
With ssrc-rewriting, the receiver constraints need to be generated using the source info received in presence. Currently they are generated from the track info in redux but with ssrc-rewriting, remote sources are not signaled and therefore created until they are being requested through receiver constraints.

Co-authored-by: James A <jqdrqgnq@users.noreply.github.com>
2023-01-24 13:58:58 -05:00
Jaya Allamsetty cbae997eda chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1577.0.0+5713cb0d...v1578.0.0+5855ca72
2023-01-24 13:51:03 -05:00
Jaya Allamsetty 6bd9a6bd15 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1574.0.0+4d6873c2...v1577.0.0+5713cb0d
2023-01-24 10:18:43 -05:00
Werner Fleischer e8bd75b2d1 fix(breakout-room, rn): joining room 2023-01-24 15:02:23 +01:00
emrah 46f1cb7b4b
feat(ci) add luacheck 2023-01-24 14:58:43 +01:00
Christian Tietze 60dd26c13b
fix(conferendce-timer) use "monospace" digits 2023-01-24 14:58:02 +01:00
robertpin 8e1d96cc48 feat(chat) Redesign chat
Move some styles from SCSS to JSS
Convert some files to TS
Implement redesign
2023-01-24 14:56:27 +01:00
Matthieu D e3166e6faa
fix(lang) updated Esperanto 2023-01-24 14:47:08 +01:00
robertpin 6de306e46e feat(participants) Add count badge to toolbar button
Update title bar button: ParticipantsCountLabel -> SpeakerStatsLabel. Only show button when speaker stats is enabled
Add badge to the participants pane button to show participants count
2023-01-24 14:46:33 +01:00
W0olFy 8e91851a2f
fix(authentication) don't hide the dialog until auth has completed 2023-01-24 14:41:37 +01:00
Calin-Teodor 0251201e93 feat(settings/native): changed FormSectionAccordion.js to FormSection.tsx 2023-01-24 14:17:22 +01:00
Saúl Ibarra Corretgé 9775ad25ca feat(wifistats) drop support for WiFiStats 2023-01-23 19:39:24 +01:00
Saúl Ibarra Corretgé da5e19fa98 fix(external-api) fix no longer allowing popups
These are used by the Electron app to open links in the chat, for
example.
2023-01-23 19:06:51 +01:00
Robert Pintilii a5ddcab084
fix(local-rec) Reset max size on recording stop (#12815) 2023-01-23 11:15:28 +02:00
Robert Pintilii 2c59b44df5
fix(external-api) Don't check recording service for live streaming (#12807) 2023-01-20 11:44:29 +02:00
Horatiu Muresan 507d883503
fix(dialog) Make sure dialog fits in the available height (#12803) 2023-01-19 15:30:17 +02:00
Saúl Ibarra Corretgé a7b25d6d7b ref(external-api) set ifrma source last
Make sure the ifrme is fully configured before setting the source URL
and thus triggering the load.
2023-01-19 14:11:29 +01:00
Saúl Ibarra Corretgé 43b91b16da feat(external-api) sandbox the iframe
Give it the minimum amount of permissions necessary to run.
2023-01-19 14:11:29 +01:00
Saúl Ibarra Corretgé 726fd3f8a1 fix(config,debian) fix multistream backwards compatibility
Fixes: https://github.com/jitsi/jitsi-meet/issues/12788
2023-01-17 08:41:03 -06:00
Saúl Ibarra Corretgé 817a05cf7b fix(deep-linking) drop broken an unused setting
The showImage setting has been broken for about 2 years since the asset
is not there.

Fixes: https://github.com/jitsi/jitsi-meet/issues/5409
Ref: https://community.jitsi.org/t/error-nginx-usr-share-jitsi-meet-images-deep-linking-image-png-failed/120418
2023-01-16 20:07:01 +01:00
Horatiu Muresan 6048279eb2
fix(welcome-page) Fix narrow mode (#12781)
- enable calendar card and footer on narrow mode
2023-01-16 11:50:37 +02:00
Jaya Allamsetty 43b3db11e0 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1573.0.0+10acace6...v1574.0.0+4d6873c2
2023-01-13 12:33:02 -05:00
Calinteodor 77e75815dc
feat(polls): removed platform check and fixed button arrangement (#12780)
* feat(polls): removed platform check and fixed button arrangement
2023-01-13 16:04:39 +02:00
Saúl Ibarra Corretgé e1485fc253 feat(rn,deps) update react-native-webrtc to 106.0.4 2023-01-13 10:06:02 +01:00
damencho d6d71ab412 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1572.0.0+2028cce3...v1573.0.0+10acace6
2023-01-12 16:56:14 -06:00
Jaya Allamsetty 59c47a0575 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1569.0.0+5f8d02c9...v1572.0.0+2028cce3
2023-01-12 13:59:03 -05:00
damencho 8793d67f0b fix: Drops jicofo-authuser as we use hardcoded value. 2023-01-12 08:54:37 -06:00
Saúl Ibarra Corretgé d6888fa2d8 chore(deps) run npm audit fix 2023-01-12 15:36:13 +01:00
Saúl Ibarra Corretgé 222021f3bc feat(rn,deps) update react-native-webrtc to 106.0.3 2023-01-12 15:36:13 +01:00
Calin-Teodor 14c24a8851 feat(polls): added marginTop 2023-01-12 15:48:16 +02:00
Calinteodor 246a2d6bbf
feat(share-room): created getInviteOthersControl helper (#12769)
* feat(participants-pane/share-room): getInviteOthersControl helper
2023-01-12 15:47:44 +02:00
Calinteodor 838b26f770
ref(dep): updated react navigation dependencies (#12768)
* updated react navigation dependencies to latest
2023-01-12 15:47:03 +02:00
bgrozev bc88ebe443
fix: Fix appending URL params. (#12763)
* fix: Fix appending URL params.

* squash: Lint.
2023-01-12 07:37:54 -06:00
Saúl Ibarra Corretgé 7f54fa4ed8 feat(rn,deps) update react-native-webrtc to 106.0.2 2023-01-12 14:12:52 +01:00
Calinteodor 361428d245
chore(deps): update rn-safe-area-context to latest (#12760)
chore(deps): update rn-safe-area-context
2023-01-12 12:14:55 +02:00
Calinteodor 7ad57e6baf
chore(deps): update rn-gesture-handler to latest (#12759)
chore(deps): updated rn-gesture-handler
2023-01-12 12:14:25 +02:00
Calinteodor a59ab3b0d9
feat(share-room): disable Invite Others button when Share is visible (#12765)
* feat(share-room): disable/enable Invite Others button
2023-01-12 12:13:18 +02:00
Calinteodor c50111a57d
feat(ui/polls/security/native): style fixes and updates (#12761)
* feat(base/ui/native): button fixes and ui updates
2023-01-12 12:11:27 +02:00
Horatiu Muresan 9422f48536
fix(deeplinking) Consider deprecated config (#12758) 2023-01-12 11:04:45 +02:00
Jaya Allamsetty 122e80dcf1 fix(audio-only) Fix an issue where 'startAudioOnly' in config is not applied to web clients. 2023-01-11 10:31:50 -05:00
Robert Pintilii 2dbb3c10e2
fix(local-rec) Stop recording properly on size exceeded (#12757) 2023-01-11 11:57:34 +02:00
damencho 265d8c4b29 fix: Fixes using s2s for visitors. 2023-01-10 21:50:23 +01:00
bgrozev e8e05c21ab
chore(deps) lib-jitsi-meet@latest (#12754)
https://github.com/jitsi/lib-jitsi-meet/compare/v1564.0.0+e2aa3700...v1569.0.0+5f8d02c9
2023-01-10 13:21:01 -06:00
bgrozev b0591ed968
feat: Append ?room= to conferenceRequestUrl. (#12753)
* feat: Append ?room= to conferenceRequestUrl.

* Declare conferenceRequestUrl in IConfig.
2023-01-10 13:20:48 -06:00
Narendiran Arthanarieswaran 84fe52491f
feat(android) created Monochrome Icon 2023-01-10 15:50:37 +02:00
Calinteodor 450da1a6df
feat(base/media): SS mobile align (#12743)
* feat(base/media/native): updated styles and converted VideoTransform.js to tsx
2023-01-10 15:31:57 +02:00
Oana Emilia Ianc 720d4555ab
jaas: pass the jitsi installation type at provisioning (#12750) 2023-01-10 12:10:47 +02:00
Calinteodor c764397994
Update react native paper dependency to latest (#12740)
* Update react-native-paper to latest
2023-01-10 11:18:03 +02:00
Jaya Allamsetty 0ad7b3db55 fix(config) Delete deprecated config.
Client (receiver constraints)  and bridge use the new b/w allocation strategy by default.
2023-01-09 10:35:40 -05:00
Jaya Allamsetty 7e30053d51 fix(config): Remove unused config values.
capScreenshareBitrate and setScreenSharingResolutionConstraints are no longer valid.
2023-01-04 10:41:19 -05:00
Horatiu Muresan 0ad52a06ce
feat(prejoin) Disable join buttons during joining
- use new `Button` component for drop down buttons
2023-01-04 14:22:51 +02:00
bgrozev 82fd465819
Re-use existing flags for visitor functioonality. (#12703)
* Fix documentation.

* Re-use existing flags instead for visitor functionality.

* Make the linter happy.

* Declare the disableFocus flag in configType.ts

* chore(deps) lib-jitsi-meet@latest

https://github.com/jitsi/lib-jitsi-meet/compare/v1561.0.0+2d4cd935...v1564.0.0+e2aa3700
2023-01-03 16:03:42 -06:00
Jaya Allamsetty 561d0c9a10 ref(participants) Remove sortedRemoteScreenshares used by legacy SS. 2023-01-03 10:08:48 -05:00
Hristo Terezov 3b8ad78a62
fix(audio-only):Don't disable on SS started. (#12733)
Implementing this on mobile in order to match the web implementation.
2023-01-03 11:28:50 +02:00
Christoph Settgast 77e02a0994
chore(ci): update to checkout@v3 to fix node12 warnings (#12722)
Warning is: Node.js 12 actions are deprecated. For more information
see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/.
Please update the following actions to use Node.js 16: actions/checkout@v2
2022-12-22 21:31:24 +01:00
Christoph Settgast 965e7dc41d
ci: move jsonlint to npm run script (#12721)
easier local execution than looking through GH actions
2022-12-22 21:31:07 +01:00
Christoph Settgast ad0ad31df9
fix(lang) update German translation (#12720) 2022-12-22 21:30:43 +01:00
Horatiu Muresan 2bb2a68e01
chore(welcome-page) Welcome page redesign (#12717) 2022-12-22 15:18:06 +02:00
Horatiu Muresan c441e8abca
fix(welcome-page) Fix error before joining a meeting from welcome page (#12718) 2022-12-22 15:15:38 +02:00
Hristo Terezov 27754c8874 fix(filmstrip): scroll
Add SS tiles to the number of participants in scroll calculations. This
fixes an issue where the scroll is not displayed if there is a SS tile
and only part of 1 tile is overflowing.
2022-12-21 21:54:10 -06:00
dependabot[bot] 580f56010a chore(deps): bump loader-utils from 1.4.1 to 1.4.2
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.4.1 to 1.4.2.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v1.4.2/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v1.4.1...v1.4.2)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-21 20:23:39 +01:00
Jaya Allamsetty 4bad63e484 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1560.0.0+92a5738b...v1561.0.0+2d4cd935
2022-12-21 13:57:48 -05:00
Hristo Terezov 9cc41469d2 ref(setScreenshareMuted): remove mediaType 2022-12-21 11:02:02 -06:00
Hristo Terezov 5077a33fcb ref(setVideoMuted): remove mediaType param. 2022-12-21 11:02:02 -06:00
Jaya Allamsetty e7078786e6 fix(config) Remove code related to deprecated configs 'preferH264' and 'disableH264'. 2022-12-21 10:58:38 -05:00
Gabriel Borlea 291370a263
fix(face-landmarks): check for track state only if image capture is not polyfill (#12711) 2022-12-21 15:34:40 +02:00
Horatiu Muresan 32dbdf2e5c
feat(deeplinking) Move deeplinking to config.js (#12704) 2022-12-20 19:03:57 +02:00
Hristo Terezov 17b5009e63 feat(audioOnly): do not disable when SS starts 2022-12-20 09:57:45 -06:00
Saúl Ibarra Corretgé d91f49ec88 fix(rn) temporarily disable P2P
We're getting some no-video problems after the migration to Unified Plan
(before it was only working for same plan clients FWIW).

It was already disabled on Android, so the same in iOS while we figure
this out.
2022-12-20 16:09:19 +01:00
PO-jfiniel 7187530430
fix(android,config) allow to override integer config
This commit allow to override integer configuration like this one:

JitsiMeetConferenceOptions options =
    new JitsiMeetConferenceOptions.Builder()
    .setConfigOverride("resolution", 1080)
    .build();
2022-12-20 13:30:17 +01:00
Saúl Ibarra Corretgé d3d442e4d2 fix(rn,polyfills) simplify WebRTC polyfills
Use the polyfiller provided by react-native-webrtc.

Drop the permissions API polyfill since we no longer use it in the app
and lib-jitsi-meet already works without it.
2022-12-16 17:55:53 +01:00
Saúl Ibarra Corretgé 294d2c9f6e fix(rn,config) make sure VP9 is never selected 2022-12-16 17:55:53 +01:00
Saúl Ibarra Corretgé 12c002e015 deps(rn) react-native-webrtc@106.0.1
Fixes fps selection during gUM and fliping the active flag in sender
encodings.
2022-12-16 17:55:53 +01:00
Saúl Ibarra Corretgé 9720b4858c chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1557.0.0+8df33524...v1560.0.0+92a5738b
2022-12-16 17:54:33 +01:00
tmoldovan8x8 9fae488070
fix(rn) removes settings dialog webviews and opens urls in browser 2022-12-16 13:30:37 +01:00
Mihaela Dumitru 0e47f72b5f
fix(invite-dialog) adjust dial in limit display condition and styling (#12654) 2022-12-16 09:50:48 +02:00
Jaya Allamsetty 298c4bd1e3 fix(conference) Fixes an issue where first unmute with disableInitialGUM=true was resulting in user staying muted.
When device list changes, create a new track with the preferred device only if the user is unmuted. If the user is audio/video muted, remove the existing track from conference. A new track will be created and replaced automatically when the user unmutes. Also since screensharing is a separate source, always check for updated camera devices.
2022-12-15 17:39:25 -05:00
Gabriel Borlea 955367a157
fix(config): cleanup config function (#12690)
* fix(config): avoid cleaning analytics config

* fix cleanup function
2022-12-15 18:00:22 +02:00
Saúl Ibarra Corretgé c30d1e7479 fix(rn,dynamic-branding) fix handling bogus response from the backend 2022-12-15 12:19:17 +01:00
Avram Tudor cbbe58a1ec
fix(prejoin) fix prejoin app dialogs not being visible (#12689) 2022-12-15 11:29:08 +02:00
Robert Pintilii aef5328aeb
ref(TS) Convert some features to TS (#12651) 2022-12-14 14:23:07 +02:00
Gabriel Borlea f5ac1b6271
chore(deps) lib-jitsi-meet@latest (#12684)
https://github.com/jitsi/lib-jitsi-meet/compare/v1556.0.0+d9ee8f59...v1557.0.0+8df33524
2022-12-14 12:12:45 +02:00
Titus Moldovan ca9f0a6788 fix(rn,screenshare) rework the logic for unified-plan with multi-stream 2022-12-14 08:35:33 +01:00
Saúl Ibarra Corretgé e7c5ae5936 fix(rn,config) don't disable multi-stream sending on RN
We don't plan to send both (camera and screen) streams at once, but we
do plan to align with web and have both streams at the same time, with
the camera being muted when we start screen sharing.
2022-12-14 08:35:33 +01:00
Saúl Ibarra Corretgé c43a319576 feat(deps,rn) update react-native-webrtc@106
Brings in Unified Plan support!
2022-12-14 08:35:33 +01:00
Saúl Ibarra Corretgé 585c9aa0d2 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1554.0.0+a25023e7...v1556.0.0+d9ee8f59
2022-12-14 08:34:36 +01:00
Horatiu Muresan 768f10d966 feat(route) Redirect to a custom welcome page 2022-12-13 22:04:11 +02:00
Horatiu Muresan 704740969b fix(prejoin) Fix missing lib error 2022-12-13 22:04:11 +02:00
damencho d444a45f00 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1553.0.0+57646337...v1554.0.0+a25023e7
2022-12-13 10:18:31 -06:00
Дамян Минков 9fbbe05d6c
feat: Adds docs, config and scripts around the visitor mode. (#12658)
* feat: Moves handle of vnode from conferenceIQ stanza error to result.

* feat: Handles redirected to visitor node event.

* feat: Adds README and configurations.

* squash: Drop comment.

* copy edits

* image fix

* fix background for dark mode

* fix the background

* feat: Update s2soutinjection.

* Update README commands formatting.

* Update doc/extra-large-conference/README.md

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

* squash: Creates a generateVisitorConfig helper.

* squash: Moves the folder from doc.

* squash: Update example.

* squash: Drop config.

* squash: Rename var to look like template.

* squash: Fix plugins path.

* squash: Fix sort order of import.

* squash: Fix lint errors.

Co-authored-by: scott boone <scott.e.boone@gmail.com>
Co-authored-by: Scott Boone <scott.boone@8x8.com>
Co-authored-by: Saúl Ibarra Corretgé <saghul@jitsi.org>
2022-12-13 08:26:22 -06:00
Gabriel Borlea 3445c513ba chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1549.0.0+877c4546...v1553.0.0+57646337
2022-12-13 15:14:01 +01:00
Mihaela Dumitru 6a4276b4c8
fix(salesforce) require selected records + styling (#12669) 2022-12-12 19:15:45 +02:00
damencho 338b02a6b6 feat: Prints the error on problem sharing YouTube video. 2022-12-12 09:39:25 -06:00
damencho ef2631e95a fix: Error in patching config.js 2022-12-12 09:14:16 -06:00
damencho 226ef9f33d fix: Fixes undefined error in some cases after patching config.js. 2022-12-12 08:46:42 -06:00
tmoldovan8x8 91ec5307ab
fix(android) adds default notification icons 2022-12-12 15:12:05 +02:00
Nils Ohlmeier fe0b7d3acc
chore(deps): bumped rtcstats 9.5.0 -> 9.5.1 (#12664) 2022-12-09 21:14:00 -08:00
Saúl Ibarra Corretgé 9533650594 fix(e2ee) avoid running middleware when there is no conference
When hanging up, the conference transitions to undefined, so we should
skip all processing related to setting up listeners for a new
conference.
2022-12-09 14:44:18 +01:00
Avram Tudor d7bedb2e07
ref(misc) remove unused code for dock / undock (#12661)
* ref(misc) remove unused code for dock / undock

* remove translations
2022-12-09 15:19:57 +02:00
Mihaela Dumitru 33e4da32e2
feat(giphy) disable feature from dynamic branding (#12620) 2022-12-08 16:02:31 +02:00
bgrozev 9a8a8ef7ad
Bump js-utils to 2.0.5 (filter room names). (#12625)
* Bump js-utils to 2.0.5 (filter room names).
2022-12-07 10:35:42 -06:00
Calin-Teodor 703ed731c8 feat(base/redux): fixed local storage on native 2022-12-07 18:16:53 +02:00
William Liang 83dfb67f23 fix(video-mute) prevent multiple camera track creation 2022-12-07 10:23:20 -05:00
Robert Pintilii 51bdf67cf2
fix(dialog) Fix Dialog on mobile (#12650)
Use JitsiPortal on mobile
2022-12-07 11:27:55 +02:00
damencho 3adbda791c chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1548.0.0+8acdeb1d...v1549.0.0+877c4546
2022-12-06 19:10:02 -06:00
Jaya Allamsetty 924bb0e7ff chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1545.0.0+f8e587f7...v1548.0.0+8acdeb1d
2022-12-06 16:31:06 -06:00
tmoldovan8x8 4c9bfe3d4d
feat(E2EE) add initial SAS verification UI 2022-12-06 18:29:33 +01:00
Jaya Allamsetty 1139311809 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1543.0.0+c57ac97e...v1545.0.0+f8e587f7
2022-12-06 10:53:20 -05:00
Calinteodor 2ad2e6ff0e
feat(polls/web): removed sort options from polls (#12641)
* feat(polls/web): removed sort options from polls
2022-12-05 15:18:24 +02:00
damencho 46cc2e37ae feat: Update lib-jitsi-meet.
Fixes version of binary ljm.
2022-12-02 15:31:33 -06:00
Saúl Ibarra Corretgé 0ebac2ac6d fixup! 2022-12-02 19:05:47 +01:00
Saúl Ibarra Corretgé 90e33ee799 fixup devcontainer 2022-12-02 19:05:47 +01:00
Saúl Ibarra Corretgé be982ae996 fix(build) use http for GitHub codespaces 2022-12-02 19:05:47 +01:00
Saúl Ibarra Corretgé 56114fe863 Create devcontainer.json 2022-12-02 19:05:47 +01:00
Saúl Ibarra Corretgé a2e8a7f28f fix(toolbox) hide drawer after toggling camera
Fixes: https://github.com/jitsi/jitsi-meet/issues/12628
2022-12-02 15:31:44 +01:00
Pawel Domas af072c3070 fix: get the current conference
state['features/base/conference'].conference is not the right way to get the current conference.
See getCurrentConference selector - it accounts for joining and other states.
2022-12-01 16:02:35 -05:00
Jaya Allamsetty f42772ec5b chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1539.0.0+eb4873d2...v1541.0.0+9b34e0f7
2022-11-29 15:28:51 -05:00
Gabriel Borlea 2556a7ab77
fix(face-landmarks): assign empty array to facelandmarks in speakerstats if undefined 2022-11-29 19:12:43 +01:00
Charles Zablit 3cbf160f2b
fix: always display transcription (#12325)
* feat: always display transcription

* fix: unused import
2022-11-29 09:50:19 -06:00
Дамян Минков 744960bb1a
feat: Several module optimizations to avoid constant parsing of jids. (#12594)
* feat: Several module optimizations to avoid constant parsing of jids.

Caches the parsed values in a rotating table with limited size.
Skips constant creating of a stanza with never changing values - create it once and then just clone it.

* squash: Fixes extract_subdomain multiple values.

* squash: Fix table values when there is a nil element.

* squash: Fix skipping the roomless IQs.

* squash: Fix comments.
2022-11-28 14:18:59 -06:00
Дамян Минков 76471a0ea9
feat: Modules for implementing visitor nodes. (#12593)
* feat: Modules for implementing visitor nodes.

Still WIP, uses visitor nodes prosodies where we create the main participants and forward the visitors to watch. Used for huge conferences.

* squash: Fix comments.
2022-11-28 14:18:33 -06:00
Robert Pintilii 0ba033e07d
ref(TS) Improve TS (#12612)
Remove unnecessary @ts-ignores
Remove unnecessary eslint-disable
2022-11-28 12:52:45 +02:00
Robert Pintilii cb3fb3ada9
ref(TS) Convert some features to TS (#12611) 2022-11-28 12:52:24 +02:00
Calinteodor 48a6472b3b
feat(lobby/prejoin/native): style updates (#12615)
feat(lobby/prejoin/native): style updates (#12615)
2022-11-25 13:59:45 +02:00
Roberto Vieira 691e92b7ec
fix(ios) make initialPositionInSuperView a variable
Fixes: https://github.com/jitsi/jitsi-meet/issues/12446
2022-11-25 10:44:27 +01:00
Calin-Teodor 6e36340a83 feat(conference): fixed padding 2022-11-24 19:41:56 +02:00
Mihaela Dumitru ae424c95de
chore(whiteboard): bump excalidraw version (#12614) 2022-11-24 17:43:08 +02:00
Mihaela Dumitru 95b2979eb3
feat(whiteboard): use jitsi room name for socket io connection (#12610) 2022-11-24 14:20:40 +02:00
_norbert a0c130568b
fix(lang) update Hungarian translation 2022-11-23 19:33:13 +01:00
Robert Pintilii 643cc2db81
ref(TS) Convert some features to TS (#12591) 2022-11-23 11:12:26 +02:00
Calinteodor 6bce0bc917
fix: Native styles fixes (#12606)
* feat(conference/native): update indicator styles

* feat(prejoin/native): removed unnecessary styles

* feat(mobile/navigation): fixed header buttons style

* feat(mobile/navigation): fixed linter
2022-11-22 21:50:16 +02:00
Calinteodor 93566e313e
feat(native): Last mobile release UI fixes (#12603)
* feat(base/modal): order props alphabetically

* feat(base/ui): added ripple color for tertiary button

* feat(prejoin): removed autoFocus from input and adjusted content

* feat(conference): adjusted RaisedHandCountLabel and added extra code spaces

* feat(prejoin): fixed content to fit tablets

* feat(conference): moved header button styles to navigation styles

* feat(mobile/navigation): updated header navigation button styles

* feat(prejoin): updated elements width, removed left inset
2022-11-22 18:13:36 +02:00
Gabriel Borlea a7c653bc30
chore(deps) lib-jitsi-meet@latest (#12604)
https://github.com/jitsi/lib-jitsi-meet/compare/v1538.0.0+871968af...v1539.0.0+eb4873d2
2022-11-22 16:19:34 +02:00
Gabriel Borlea 4b969cf4ab
feat(face-landmarks): add face landmarks timeline (#12561)
* feat(face-landmarks): add face landmarks timeline

fixes after rebase

* fixes after rebase compiling and linting

* fix: change keyboard shorcut for participants stats

* fix: label for emotions switch

* fix: linting issues

* code review changes

* fix linting issues

* code review changes 2

* fix typo
2022-11-22 15:56:37 +02:00
Saúl Ibarra Corretgé 3081b41d0d fix(android) temporarily disable P2P
For some reason one of the users gets a black screen when doing Android
to Android calls. If iOS is involved things Just Work (TM).

It seems to be related to the use of H.264, but since it works with iOS
there must be something else to it.
2022-11-22 14:00:47 +01:00
Saúl Ibarra Corretgé 30e5d213cb fix(android) sort codecs in the same order as iOS 2022-11-22 14:00:47 +01:00
Saúl Ibarra Corretgé 752da71387 feat(android) set compile and target SDKs to 32 2022-11-22 11:37:08 +01:00
Saúl Ibarra Corretgé 645609974a deps(android) update native dependencies 2022-11-22 11:37:08 +01:00
Saúl Ibarra Corretgé 4f2f6df2bb chore(deps) update xmldom to version 0.79 2022-11-22 11:37:08 +01:00
Jaya Allamsetty e93c480e7c fix(conference) Remove the check for multi-stream mode for web client. 2022-11-21 14:40:25 -05:00
Calinteodor a795e0797a
feat(native): New mobile release UI fixes (#12592) 2022-11-21 16:07:27 +02:00
Andrei Gavrilescu 94ec2c720d
feat(rtcstats): report pc connection failure (#12560)
* report pc connection failure

* typos

* code review / update rtcstats

* check for undefined APP
2022-11-21 15:32:18 +02:00
Abdullah Kerem Öğe b11e14ea34 feat(deps,rn) update React Native to version 0.68.5 2022-11-21 10:37:48 +01:00
Robert Pintilii f5f55c4f23
fix(dialog) Improvements (#12590)
Remove focus outline for the close icon
Increase max height
2022-11-21 11:09:03 +02:00
Duduman Bogdan Vlad 243a330318
feat(thumbnail,filmstrip) show blackend thumbnail for participant on stage 2022-11-21 10:03:03 +01:00
_norbert 98bc87ea18
lang: fixing typo in a hungarian lang file (#12559)
* fixing typo in a hungarian lang file

* revert end of line

Co-authored-by: bartuczns <bartucz.norbertsandor@nisz.hu>
2022-11-19 15:35:43 -06:00
Saúl Ibarra Corretgé f7926c9cfb fixup! 2022-11-18 19:56:36 +01:00
Saúl Ibarra Corretgé 533501deb6 fixup! 2022-11-18 19:56:36 +01:00
Saúl Ibarra Corretgé f38c9f5450 feat(notification,external-api) notify bridge channel failures 2022-11-18 19:56:36 +01:00
Jaya Allamsetty 55b80c948f chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1535.0.0+e6263e7c...v1538.0.0+871968af
2022-11-18 13:38:37 -05:00
Calinteodor 971fe0481f
feat(chat/polls/native) Update chat and polls UI (#12550)
* feat(chat/polls/native): update ui
2022-11-18 14:46:54 +02:00
Calin-Teodor 1259e54d46 fix(conference/native): apply width and height only on the connection indicator 2022-11-18 13:22:55 +01:00
Calin-Teodor 0cb95f1dd6 fix(conference/native): video quality label ui updates 2022-11-18 13:22:55 +01:00
Calin-Teodor 5cde9a138b fix(conference/native): fixed title bar indicators style 2022-11-18 13:22:55 +01:00
robertpin 867c488e10 fix(dialog) Update max height 2022-11-18 13:22:43 +01:00
Calin-Teodor 7d9c13a618 feat(prejoin): updated styles 2022-11-18 11:02:05 +02:00
Hristo Terezov 48ed3b7dc6 fix(dialog): cancel hide timeout on openDialog
Since we unmount the dialog after a timeout because of an animation we
need to cancel the timeout in case we need to render new dialog.
Otherwise the actual hiding can be executed after we render the new
dialog.
2022-11-17 17:00:02 -06:00
Hristo Terezov 04abfe1a3b feat(dialog): add disableAutoHideOnSubmit prop
Needed for shared video dialog.
2022-11-17 17:00:02 -06:00
Alex Bumbu d45decc393
Update JitsiMeet.h (#12574) 2022-11-17 16:31:37 +02:00
Saúl Ibarra Corretgé 88f8f48465 fix(participants) don't treat Jigasi like a fake participant
We only really want to know if a participant is Jigasi for displaying a
specific icon, for all other intents and purposes it's a normal
participant.
2022-11-17 15:13:54 +01:00
Saúl Ibarra Corretgé 8127ea2479 feat(redux) throw exception in case invalid listeners are registered
This allows catching mistakes early.
2022-11-17 11:07:57 +01:00
Saúl Ibarra Corretgé b22915c169 fix(rn,filmstrip) fix invalid selector registered as state listener 2022-11-17 11:07:57 +01:00
Saúl Ibarra Corretgé 14fcd153e5 fix(rn,connection-indicator) align rendering with web
Use the same way for calculating que perceived quality and display it.
2022-11-17 11:07:57 +01:00
Robert Pintilii 48efe36cdf
fix(dial-in) Fix warning (#12571)
Only show warning if the feature is enabled
2022-11-16 12:14:58 +02:00
Saúl Ibarra Corretgé 0c373e105b ref(StageFilmstrip) mark as experimental
THere are a bunch of unhandled corner cases involving virtual
screen-sharing participants.
2022-11-15 10:34:58 -06:00
Shawn e57c7f92a8 refactor(end-conference): distinguish between component vs host module logic 2022-11-15 10:34:40 -06:00
Jaya Allamsetty 70fa44f85f chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1533.0.0+7b257686...v1535.0.0+e6263e7c
2022-11-15 11:08:37 -05:00
rinenweb bcc5beb73d
fix(lang) fixup main-el.json
Missing "{" in line 74 and name is not displayed at all when {name} is used in line 520.
2022-11-15 09:41:43 +01:00
Joseph Garrone 4ef4e45ee4
fix(styles) Remove Theme type annotation (#12544)
* tss-react doesn't need a type anotation for the Theme

* Update tss-react to 4.4.4
2022-11-15 09:50:22 +02:00
TTG c9ff0bb75f
lang: Remove Indonesian & Norwegian translations (#12554)
* Remove Indonesian translation

* Remove Norwegian translation
2022-11-13 21:38:42 -06:00
chipechop 282817db28
lang: Update main-it.json (#12541)
refining
2022-11-11 16:37:54 -06:00
Shawn 93ab7725e7 feat(toolbox) notify click for hangup-menu and end-meeting menu button 2022-11-11 16:06:53 -06:00
Calin-Teodor 53ccb97d34 fix(welcome/native): removed unused constant 2022-11-11 18:11:41 +01:00
Calin-Teodor 6346d99d0e fix(welcome/native): placeholder fix 2022-11-11 18:11:41 +01:00
Saúl Ibarra Corretgé 79c4cabbad feat(rn) make status bar visible at all times 2022-11-11 17:25:28 +01:00
Robert Pintilii 7a9f51b01b
ref(TS) Convert some features to TS (#12546) 2022-11-11 10:20:33 +02:00
Robert Pintilii a884a6b232
fix(ui) Fix new icons issues (#12545) 2022-11-11 09:58:55 +02:00
Jaya Allamsetty b00a17c1c3 fix(connection-stats) Do not display max enabled resolution on SS tile. 2022-11-10 17:00:34 -05:00
bgrozev 99955df5c8
Cleanup sounds (switch to mp3, encode at lower bitrate).' (#12507)
* Reencode mp3 sounds at lower bitrate, mono.
* Encode wav sounds as mp3.
* Remove unused sound file.
* Add opus encoded sounds.
* Add a script to encode sounds.
2022-11-10 10:06:40 -06:00
Calin-Teodor c0f0803f01 feat(base/modal): addBottomPadding default prop for extra padding on JitsiScreen 2022-11-10 17:22:36 +02:00
dependabot[bot] b2c864cbba chore(deps): bump loader-utils from 1.4.0 to 1.4.1
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v1.4.1/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v1.4.0...v1.4.1)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-10 11:30:02 +01:00
Saúl Ibarra Corretgé 31957d4085 chore(fonts) drop no longer used font 2022-11-10 11:16:22 +01:00
Saúl Ibarra Corretgé 4f83fc2a6d fix(ios) fix uploading symbols to Crashlytics
Since we no longer use bitcode we need to upload them when we build the
app.
2022-11-10 11:16:06 +01:00
Robert Pintilii 4bd27730ce
ref(TS) Convert some features to TS (#12523) 2022-11-10 10:45:56 +02:00
Robert Pintilii 817d7f0c0d
fix(thumbnail) Fix top indicators sizes (#12539)
Fix sizes after icon update
2022-11-10 10:22:57 +02:00
Robert Pintilii 19a9b17425
fix(recording) Fix local recording (#12531)
Starting chrome 107, the recorder does not record any data if the audio stream has no tracks
To fix this we create a track for the local user (muted track)
2022-11-10 10:22:42 +02:00
Robert Pintilii cc33930259
fix(thumbnail) Open native video context menu (#12532) 2022-11-10 09:20:42 +02:00
Jaya Allamsetty 6223e16ca5 ref(config) Cleanup unused flags related to multi-stream mode. 2022-11-09 15:23:30 -05:00
José Luís Andrade 99385ae3d7
fix(config) add "whiteboard" to toolbarButtons 2022-11-09 17:37:51 +01:00
Shawn 17cace070e feat(external-api) Add endConference command 2022-11-09 16:00:17 +01:00
Calin-Teodor cdb2436b73 feat(base/ui): updated BUTTON_TYPES imports based upon native or web 2022-11-09 16:35:08 +02:00
Calin-Teodor 10db5ecf1f feat(welcome/native): improved ui 2022-11-09 14:52:26 +02:00
Robert Pintilii cbb8b5f620
fix(dialog) Fix initial focus (#12509)
Don't focus on the close button if there's another focusable element
2022-11-09 12:07:37 +02:00
Jaya Allamsetty f3e4c57036
Remove legacy signaling and legacy SS mode. (#12499)
* fix(connection-status): remove unused participant connectionStatus.
Always use trackStreamingStatus now that legacy endpoint based signaling has been removed.

* remove the check for source-name signaling.
Default to source-name signaling always.

* Remove the check for multi-stream mode.
Make that the default mode and remove the support for legacy SS mode.

* Remove presenter mode.

* update latest@lib-jitsi-meet
2022-11-08 14:15:49 -05:00
Calinteodor 1731d5188d
feat(prejoin/native): updated UI (#12528) 2022-11-08 19:14:29 +02:00
Calinteodor 2c7dc5e40e
feat(base/ui/native): Use new Input component (#12526)
feat(base/ui/native): replaced react native TextInput component with our native Input component
2022-11-08 17:46:46 +02:00
Calinteodor 74cd486232
feat(chat/native): moved ChatAndPollsNavigator to mobile/navigation (#12527)
* feat(chat/native): moved ChatAndPollsNavigator to mobile/navigation
2022-11-08 17:43:02 +02:00
Alexey Matveev 30f3bac217
feat(ios) add ability to go PiP while screen sharing 2022-11-08 16:25:36 +01:00
Vadim A. Misbakh-Soloviov 84fc4dd63f (feat) OpenResty Support
Signed-off-by: Vadim A. Misbakh-Soloviov <git@mva.name>
2022-11-08 08:53:50 -06:00
Robert Pintilii 936a1a6b0e
ref(design) Update icons (#12489)
Remove unused icons
Remove fill none from icons
Rename some icons
2022-11-08 12:24:32 +02:00
Gabriel Borlea f4e8f860b1
feat(rtc-stats): send camera off and on events (#12522)
* feat(rtc-stats): send camera off and on events

* code review
2022-11-08 11:41:53 +02:00
Nils Ohlmeier ee544d25f8
chore(deps) @jitsi/rtcstats 9.4.1 (#12512)
* chore(deps) @jitsi/rtcstats 9.4.1

* squash: Fix missing package-lock change.

Co-authored-by: damencho <damencho@jitsi.org>
2022-11-07 09:59:35 -06:00
Alexey Matveev c32866f6a2
flag to hide settings button in overflow menu (#12515)
* flag to hide settings button in overflow menu
2022-11-07 14:00:46 +02:00
Alexey Matveev 215c2825de
fix(rn) fix hangup all action
Co-authored-by: Alexey Matveev <malex@1forma.ru>
2022-11-07 10:30:08 +01:00
Christoph Settgast edb614783b fix(lang) update German translation
Signed-off-by: Christoph Settgast <csett86@web.de>
2022-11-05 14:18:16 -05:00
Alexey Matveev 0e19bc9cd6 ru-localization minors 2022-11-04 13:46:41 -05:00
Johan Bernhardsson caff0c64af
lang: Update Swedish 100% translation (#12511)
* first Swedish update

* 100% swedish

* Update main-sv.json

* Updated Swedish translation

* Updated Swedish translation dropped product name

Co-authored-by: Johan Bernhardsson <johan@kafait.se>
2022-11-04 13:45:15 -05:00
Petr Ferschmann fcb1845e2a
lang: Updated Czech Translation (#12388)
* Translation to czech language

* Updated czech translation

* Updated czech translation

Co-authored-by: Дамян Минков <damencho@jitsi.org>
2022-11-03 16:01:31 -05:00
Suleyman BİLGİN 977295bd87
lang: Update Turkish translation (#12348)
* Turkish translations that were missing were added, and certain terms were changed to sound pleasant.

* squash: new line

Co-authored-by: Suleyman Bilgin <suleymanbilgin@thy.com>
Co-authored-by: Дамян Минков <damencho@jitsi.org>
2022-11-03 16:01:12 -05:00
apetrus20 ed139f53ca
fix(polls) refactor storage of poll data 2022-11-03 16:08:20 +01:00
Alexey Matveev 5692c3cb4d
fix(lang) update Russian translation 2022-11-03 14:24:58 +01:00
TTG ed62409ad5
fix(lang) update translations 2022-11-03 10:53:25 +01:00
Robert Pintilii b52b4c2a78
ref(TS ) Improve TS (#12491)
Remove global variables from files
Change type to interface
2022-11-03 10:35:51 +02:00
Duduman Bogdan Vlad 36bef94c3c
Remove logic show toolbar on new message received (#12488) 2022-11-03 09:18:21 +02:00
Hristo Terezov a995b33753 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1528.0.0+23644901...v1530.0.0+f2af389e
2022-11-03 07:28:05 +01:00
Nils Ohlmeier bfb15a2523 chore(deps) @jitsi/rtcstats 9.4.0 2022-11-03 07:26:14 +01:00
TTG 1d59c8122d
fix(lang) update Chinese translations (#12344)
* Update Simplified Chinese translation

* Update Traditional Chinese translation

* Update translations

* Updated translation for #12391

* Updated translation for 12371
2022-11-02 16:41:26 -05:00
Hristo Terezov 31766c891b
Fix get rooms info (#12492)
* Include local participant; filter out hidden participants for getRoomsInfo

* Review fixes: include ts changes and types

Co-authored-by: Bogdan Duduman <bogdan.duduman@8x8.com>
2022-11-02 12:06:45 -05:00
Robert Pintilii 7a3b8d6ac4
fix(recording-dialog) Fix broken dialog content (#12490) 2022-11-02 12:49:30 +02:00
Saúl Ibarra Corretgé edf5e1c094 fix(ts) fix mysterious linting errors
We have a rule that should apply here, but somehow it doesn't...
2022-11-02 09:03:14 +01:00
Saúl Ibarra Corretgé 7cd39b7983 feat(ts) make tsc happy 2022-11-02 09:03:14 +01:00
Hristo Terezov 49bcf5c179 fix(iframeAPI): pinParticipant & setLargeVideo
Add the ability to specify video type when in multistream mode.
2022-11-01 18:33:09 -05:00
Filip Rejmus 2b3989e5e6
ref(features/base) remove no sound for id warn 2022-11-01 19:05:22 +01:00
Saúl Ibarra Corretgé 9b1e662a93 fix(connection-indicator) use SSRCs to match tiles to stats 2022-11-01 16:21:29 +01:00
Saúl Ibarra Corretgé 73160de3b7 fix(connection-stats) make local / remote layout consistent
Move region information and server count to the "More" section on both
types of tiles.
2022-11-01 16:21:29 +01:00
Saúl Ibarra Corretgé f5fc524030 fix(connection-stats) fix rendering codec information
Ref: https://github.com/jitsi/lib-jitsi-meet/pull/2143
2022-11-01 16:21:29 +01:00
Saúl Ibarra Corretgé 6e3b3879cc chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1522.0.0+28436e57...v1528.0.0+23644901
2022-11-01 16:21:07 +01:00
Filip Rejmus c9f9708166
ref(remove ReactInstanceHolder from AudioModule 2022-11-01 12:45:13 +01:00
Calinteodor 7a8350356a
feat(base/react): removed old web Switch component and exports (#12481)
* feat(base/react): removed old Switch component and exports
2022-11-01 11:42:36 +02:00
Saúl Ibarra Corretgé 2596c463fe fix(ts) make tsc (almost) not cry on native
Co-authored-by: Calinteodor <calin.chitu@8x8.com>
Co-authored-by: Robert Pintilii <robert.pin9@gmail.com>
2022-11-01 10:07:10 +01:00
Saúl Ibarra Corretgé 2de0520835 chore(deps) eslint-config-jitsi@latest 2022-11-01 10:07:10 +01:00
JohnProv c276c204ac
lang: Update main-nl.json (#12479)
Fix name
2022-10-31 12:20:02 -05:00
Calinteodor 67cf6e6d18
feat(base/ui/native): removed unused files and updated imports (#12477)
* feat(base/ui/native): removed unused files and updated imports
2022-10-31 16:34:26 +02:00
Robert Pintilii b321cf3639
ref(add-people-dialog) Update design (#12468)
Convert some files to TS
2022-10-31 09:56:26 +02:00
TTG 8e54a69160
feat: Adjust language list to be shown in native language (#12475)
* Remove language lists

* Replace with native language

* Remove languages resource
2022-10-29 09:20:50 -05:00
Milo Ivir 93e5e48648
lang: Update Croatian translation (#12441)
* Update Croatian translation

- update according to the current "main.json" file

* Update main-hr.json

- added the comma at line 486
I hope that solves the issue.
2022-10-28 11:22:25 -05:00
polfernandez c945b9cc5e Misspelling. Update main-ca.json
There is a misspelling in the "joiningTitle" label. "S'està demanat per a entrar a la reunió...", should be "S'ha demanat per a entrar a la reunió..."
2022-10-28 09:33:39 -05:00
Robert Pintilii 7c3d2010e4
ref(TS) Convert some features to TS (#12471) 2022-10-28 11:53:24 +03:00
José Luís Andrade 894c5cd788
fix(lang) update Portuguese translation 2022-10-28 10:05:09 +02:00
chipechop 1c7e457879
fix(lang) update Italian translation 2022-10-28 10:04:30 +02:00
chipechop b6b536962d
fix(lang) update Italian language list 2022-10-28 10:03:35 +02:00
nomadbyte b625b7b0ec
fix(lang) update Ukrainian translation 2022-10-28 10:00:14 +02:00
Saúl Ibarra Corretgé eb59949dfa fix(dialog,web) fix opening dialogs in succession
If onSubmit opens a new dialog, we'd be hiding it otherwise.
2022-10-28 08:57:56 +02:00
Robert Pintilii 69f4b116a9
ref(TS) Convert some features to TS (#12469) 2022-10-28 09:41:12 +03:00
Robert Pintilii 75d7c4b160
ref(dialog) Update some dialogs' styles (#12467) 2022-10-27 11:36:50 +03:00
Robert Pintilii b5065306e5
ref(audio-popup) Replace InlineDialog with Popover (#12466) 2022-10-27 11:03:28 +03:00
Robert Pintilii 9f5a56bbc7
ref(TS) Convert some features to TS (#12462) 2022-10-27 10:33:11 +03:00
Mihaela Dumitru b4809fe083
feat(gif) Support rating config + show display name over gif tile (#12461) 2022-10-26 16:23:39 +03:00
Robert Pintilii 6dedc7fb1a
ref(TS) Convert some features to TS (#12454) 2022-10-26 09:59:21 +03:00
Robert Pintilii a780051720
fix(input) Fix background color (#12452)
Use theme background on autofill Firefox
2022-10-26 09:09:58 +03:00
Armel Chesnais 51ac3ef64a
fix(noise-suppression) exit out early if no input data to Worklet
Disconnecting the input node to the worklet causes the worklet to crash. Adding a guard clause for empty input prevents this.
2022-10-25 21:55:47 +02:00
Filip Rejmus a915238b49
chore(deps) @react-native-async-storage 1.17.3 2022-10-25 21:49:59 +02:00
Robert Pintilii 687837310a
ref(components) Replace some InlineDialogs with Popover (#12453)
Remove comments referencing InlineDialog
2022-10-25 16:11:55 +03:00
Robert Pintilii 7f879d2154
ref(SCSS) Remove some unused SASS variables (#12451) 2022-10-25 11:01:53 +03:00
Robert Pintilii faec46dd17
ref(popover) Update Popover to support click trigger (#12447)
Convert Popover to TS
Update OverflowMenu to use Popover instead of InlineDialog
2022-10-24 12:51:18 +03:00
Saúl Ibarra Corretgé 33ec975e19 fix(rn,config) fix forcing VP8 for bridge calls 2022-10-24 10:28:38 +02:00
Saúl Ibarra Corretgé db6165209b feat(rn) use H.264 (HW codec) for P2P calls
This requires a custom video encoder / decoder factory which uses the
hardware codec only for H.264 and the software implementations for the rest.
2022-10-24 10:28:38 +02:00
Robert Pintilii 27775de48d
fix(label) Fix Participants Count label color (#12445) 2022-10-24 10:44:41 +03:00
Saúl Ibarra Corretgé 8818f4f4e6 fix(rn,filmstrip) fix dropping tiles on conference join 2022-10-21 18:45:56 +02:00
Jaya Allamsetty aebe4885bb ref(filmstrip) Remove the option to disable thumbnail re-ordering. 2022-10-21 09:17:17 -04:00
Saúl Ibarra Corretgé 146cc2f9c9 fix(deps) update xmldom@0.7.6 2022-10-21 14:21:31 +02:00
Saúl Ibarra Corretgé 3b5878d078 fix(ios) also bump the lite SDK version when bumping versions 2022-10-21 13:34:30 +02:00
Robert Pintilii 6ab996568b
ref(TS, rn) Fix some TS errors on tsconfig.native (#12432) 2022-10-21 14:09:15 +03:00
Robert Pintilii 4755f5a031
fix(dialog) Wrap dialog in FocusLock (#12431)
Improve accessibility by not allowing the user to navigate outside the dialog
2022-10-21 10:42:00 +03:00
Robert Pintilii 0b48e55a35
ref(TS) Convert some features to TS (#12425) 2022-10-21 10:33:10 +03:00
Hristo Terezov 9e1ac3bea6 fix(recording): recording link.
Show the start recording notification on jicofo update only. This way
the initiator will be available and we will be able to fetch and display
recording link and send iframe API event.
2022-10-20 20:09:50 -05:00
Shawn 7249406960 fix(persistent_lobby): properly destroy main room when empty 2022-10-20 12:15:56 -05:00
Saúl Ibarra Corretgé a9f5829e58 fix(rn,filmstrip) clear participants cache when changing conferences 2022-10-20 17:03:30 +02:00
Saúl Ibarra Corretgé 4bb1697115 fix(filmstrip) prevent duplicated participants 2022-10-20 17:03:30 +02:00
Robert Pintilii 2938d1f2dc
ref(TS) Require interfaces to start with I (#12424) 2022-10-20 12:11:27 +03:00
Robert Pintilii 10d202439b
ref: Update npm scripts (#12422) 2022-10-20 11:17:57 +03:00
Robert Pintilii af0715dc17
ref(keyboard-avoider) Don't use styled components (#12420) 2022-10-20 10:31:27 +03:00
Дамян Минков 601e21ffcd
fix: Drops participants count white background. (#12416)
* fix: Drops participants count white background.

Currently, it is white background with white icon.

* squash: Drop unused import.
2022-10-19 11:42:28 -05:00
Robert Pintilii ff29196f3a
ref(participants-pane) Change to function component (#12410)
Use makeStyles instead of withStyles
2022-10-19 14:38:54 +03:00
Robert Pintilii 748b66b04a
ref(toolbox) Convert feature to TS (#12413) 2022-10-19 14:38:38 +03:00
Robert Pintilii ca4db54e6e
ref(overflow-menu-button) Change to function component (#12411)
Use makeStyles instead of withStyles
2022-10-19 11:43:10 +03:00
Robert Pintilii 3eecf8063f
ref(TS) Remove unnecessary ts-ignores (#12412)
Remove ts-ignores that are no longer needed because of tsconfig.web.json
Change ts-ignore to ts-expect-error for files outside react/features
2022-10-19 11:42:54 +03:00
Robert Pintilii 440339dea8
ref(display-name) Change to function component (#12402)
Use makeStyles instead of withStyles
2022-10-19 10:19:40 +03:00
Jaya Allamsetty dbb0a953c6 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1519.0.0+eb623e75...v1522.0.0+28436e57
2022-10-18 17:41:21 -04:00
Robert Pintilii 442ae6c3cb
chore(TS): Create web tsconfig (#12381)
* fix(ts,connection) avoid mixing web and native code

* chore(ts) split config

The mobile part is still WIP.

* Remove default tsconfig

* Fix ts-loader - use web tsconfig

* Fix tsconfig

Use noEmit only on npm scripts (for type checking), but don't use it in webpack

* Fix

* Fix import

* Fix

Co-authored-by: Saúl Ibarra Corretgé <saghul@jitsi.org>
2022-10-18 11:21:48 -05:00
tamasdomokos 30051d2b0e
feat(translation): add description for source language (#12371) 2022-10-18 14:42:51 +03:00
Robert Pintilii 9ae236a010
ref(keyboard-shortcuts) Change Dialog to function component (#12403)
Use makeStyles instead of withStyles
Fix style
2022-10-18 13:56:26 +03:00
Robert Pintilii 6f209a8139
ref(salesforce) Use new Dialog component (#12400) 2022-10-18 13:56:08 +03:00
Jaya Allamsetty 69567fb371 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1508.0.0+238dd7b2...v1519.0.0+eb623e75
2022-10-17 20:16:33 -04:00
Jaya Allamsetty 66cddddd3e fix(video-layout) Fix auto-pinning latest screenshare. 2022-10-17 16:53:27 -04:00
bogdandarie 485c875ee5
feat(config) add ability to hide speaker stats 2022-10-17 22:40:13 +02:00
Horatiu Muresan ceb1cd9673 fix(screenshare-jwt) Disable screen share based on jwt 2022-10-17 11:01:56 -05:00
Calinteodor 4d817af060
feat(settings/native): fixed scroll inside screen (#12395)
* feat(settings): fixed scroll, bottom insets and bounce
2022-10-17 18:14:40 +03:00
Дамян Минков a082a3fb0f
feat: Updates deb install texts. (#12394)
* fix: Changes dialog txt for deb install.

* squash: Adjust jaas account creation txt.

* squash: Small update.

* squash: Small update2.
2022-10-17 09:18:31 -05:00
Robert Pintilii 2a321d6b1f
ref(TS) Convert some files to TS (#12364) 2022-10-17 14:28:01 +03:00
Robert Pintilii dd6478b3cf
ref(ui-components) Use new Dialog (#12363)
Convert some files to TS
Improve Dialog component
2022-10-17 14:27:48 +03:00
Saúl Ibarra Corretgé 6274299d49 chore(ios) sync project file 2022-10-17 12:51:30 +02:00
Alex Bumbu d77d2f0c5b
fix(iOS, layout): fix iOS 16 layout
This (partially) reverts commit ddab27e292.

We're reverting this to fix the iOS 16 layout problems caused by the interaction between the app rootViewControoler and JitsiMeetViewController, with the downside that using any RN components based on native view controllers will most likely be faulty. The solution for this would be to change the SDK's entry point to a view controller, instead of JitsiMeetView.
2022-10-17 12:33:44 +02:00
Janitz 33be0dc32e
fix(lang) add chat.sendButton translation 2022-10-17 12:05:59 +02:00
Robert Pintilii 44c8b31187
ref(styles) Change some withStyles to makeStyles (#12373)
Convert PreMeetingScreen to TS and transform it to function component
2022-10-17 12:28:04 +03:00
bogdandarie 1279c5b0da
fix(jaas) redirect to about blank when close meeting opened in iframe 2022-10-17 09:32:18 +02:00
bogdandarie 495957104c
fix(notifications) don't show self view notifications if already one is active 2022-10-17 09:03:06 +02:00
Calinteodor b558d7936c
feat(chat): fixed chat counter (#12385)
* feat(chat): fixed chat counter and updated new messages button web styles
2022-10-14 17:09:42 +03:00
Calin-Teodor 1fe2a9193f feat(conference/native): adjusted carmode ui 2022-10-14 16:13:54 +03:00
Calin-Teodor e8e6beabab feat(prejoin/native): adjusted room name margins 2022-10-14 16:00:44 +03:00
Saúl Ibarra Corretgé 3e31e1816d fix(ios) fix mute "ping-pong" 2022-10-14 14:32:09 +02:00
kerem eb1c3d8c56
feat(deps,rn) update React Native to version 0.68.4 (#12376)
* BREAKING: update rn to 0.68.4
2022-10-14 14:37:10 +03:00
Saúl Ibarra Corretgé 4a54f4bedc fix(rn,large-video) don't render video for the local SS 2022-10-13 19:14:40 +02:00
Calinteodor 4d84123c71
feat(prejoin/native): clear notifications when joining (#12361)
* feat(prejoin/native): clear notifications when joining
2022-10-13 17:05:21 +03:00
Saúl Ibarra Corretgé 4018e8875f fix(rn,screensharing) fix build 2022-10-13 15:19:24 +02:00
Calinteodor be93fbd512
feat(toolbox/conference/audio-mode/chat/native): UI fixes and updates (#12375)
feat(toolbox/conference/audio-mode/chat/native): UI fixes and updates
2022-10-13 16:13:00 +03:00
Robert Pintilii 51bbc3f87f
ref(ui-components) Use new Button on prejoin (#12372) 2022-10-13 13:42:39 +03:00
Robert Pintilii f5fb402784
ref(TS) Convert some features to TS (#12366) 2022-10-13 11:26:28 +03:00
Robert Pintilii 70503d2518
ref(label) Convert to function component (#12370)
Fixes issue where Label styles would take precedence over parent styles (raised hand counter would be gray instead of yellow)
2022-10-13 10:46:00 +03:00
Дамян Минков 40e1f28fc2
fix: Fix log messages in end_conference module. (#12369)
* fix: Fix log message.

From `general error No muc_component specified` to `endconference.meet.damencho.net:end_conference error No muc_component specified`

* squash: more.
2022-10-12 13:31:06 -05:00
Calinteodor 935f95a3d5
feat(prejoin/native): ui updates (#12368)
* feat(prejoin/native): ui updates
2022-10-12 15:43:11 +03:00
Hristo Terezov 53e4f584f9 fix(remote-control): when multistream is enabled 2022-10-11 15:48:24 -05:00
Saúl Ibarra Corretgé e218c0d3af fix(conference) fix Spot wireless screen sharing
Make sure we use the same screen-sharing flow which takes multi-stream
into consideration.
2022-10-11 18:09:50 +02:00
Robert Pintilii 6c3206e4d4
ref: TS Improvements (#12358)
Remove unnecessary ts-ignores
Remove unnecessary eslint-disable
Fix type errors
Change Dispatch type to IStore['dispatch']
2022-10-11 13:47:54 +03:00
Saúl Ibarra Corretgé 6365b699c1 chore(deps) make sure all deps are pinned to exact versions 2022-10-11 11:16:00 +02:00
Saúl Ibarra Corretgé 768cca6162 fix(android) fix crash in Android < 10
Activity.registerActivityLifecycleCallbacks is only available in API level 29.

Ref: https://developer.android.com/reference/android/app/Activity.html#registerActivityLifecycleCallbacks(android.app.Application.ActivityLifecycleCallbacks)
2022-10-11 11:16:00 +02:00
Calinteodor abdc5123eb
feat(base/ui): fixed native button active style (#12353)
* feat(base/ui): fixed native button active style
2022-10-11 11:26:09 +03:00
Robert Pintilii 6423ed8fb5
ref(ui-components) Use new Dialog component (#12351)
Convert some files to TS
2022-10-11 11:24:11 +03:00
Robert Pintilii b858496adb
ref(ui-components) Use new Dialog component (#12349)
Convert some files to TS
Refactor MuteEveryone and MuteEveryonesVideo dialogs. Move shared code to abstract components. Remove unnecessary code
2022-10-10 12:12:02 +03:00
Jaya Allamsetty 68f79e52e7 fix(virtual-background) Remove unused action type VIRTUAL_BACKGROUND_TRACK_CHANGED. 2022-10-07 19:22:54 -04:00
Jaya Allamsetty 3f78de2d34 fix(virtual-backgroud) Remove desktop share as virtual background.
Its no longer supported in multi-stream mode.
2022-10-07 19:22:54 -04:00
Shawn 2029db5a59 fix(reservations): skip reservations check for breakout rooms 2022-10-07 17:07:28 -05:00
Jaya Allamsetty 6ede5c478f fix(external-api) Remove muted SS tracks from the list of participants currently screensharing.
Fixes an issue where 'contentSharingParticipantsChanged' event and 'getContentSharingParticipants' API continue to list IDs of the participants that have already stopped their screenshares.
2022-10-07 11:25:01 -04:00
Duduman Bogdan Vlad 2ba7b3acb7
fix(large-view) fix selection if local SS auto-select is true 2022-10-07 17:06:25 +02:00
robertpin ebcd1d85f2 fix(local-recording) don't use tab audio
We have observed that participant audio is distant and garbled, so we
added the tracks individually to the mixer.

In addition, using tab audio prevents us from using preferCurrentTab due
to: https://bugs.chromium.org/p/chromium/issues/detail?id=1317964 so
losing audio effects but having better participant audio quality (in
addition to better UX) is not a bad compromise.
2022-10-07 17:04:31 +02:00
Saúl Ibarra Corretgé 4857664f15 fix(rn,display-name) fix displaying for virtual SS 2022-10-07 15:30:11 +02:00
Saúl Ibarra Corretgé 0f84b0b9fe fix(rn,thumbnail) fix not rendering indicators for virtual SS 2022-10-07 15:30:11 +02:00
Saúl Ibarra Corretgé eda3e620d3 fix(rn,participants) fix not rendering connection info messages
Also move shouldRenderParticipantVideo to the only place it's used.
2022-10-07 15:30:11 +02:00
Saúl Ibarra Corretgé e8df8f75a8 fix(rn,participants) fix rendering screen-sharing 2022-10-07 15:30:11 +02:00
Calin-Teodor f2b2b02029 feat(base/modal): enable scroll for jitsi screen component 2022-10-07 16:27:40 +03:00
Avram Tudor 66769136ed
fix(prejoin) show subject in prejoin if available (#12338) 2022-10-07 15:14:53 +03:00
Calin-Teodor 179647c93c feat(base/ui/native): centered button label 2022-10-07 12:21:25 +03:00
Robert Pintilii 25bd824621
ref(ui-components) Use new Dialog component (#12306)
Convert some files to TS
2022-10-07 12:16:41 +03:00
Robert Pintilii be25ad855f
ref(TS) Convert some files to TS (#12307) 2022-10-07 11:39:18 +03:00
Jaya Allamsetty b1931de7b0 fix(screenshare): Pass _desktopSharingSourceDevice as shareOptions when available.
Fixes an issue when external cam as screensharing source fails on Spot with multi-stream enabled.
2022-10-07 07:38:21 +02:00
Horatiu Muresan 02da4a1c42
fix(hide-buttons-on-jwt) Fix getting disabled buttons (#12326) 2022-10-06 18:01:53 +03:00
damencho 5c2ec5df54 fix: Switches by default mutli-stream and through config.js.
We need that for mobile clients that are not updated.
2022-10-06 09:43:05 -05:00
Mihaela Dumitru e30b0306f9
fix(whiteboard) account for moderation rights (#12323) 2022-10-06 16:01:45 +03:00
Mihaela Dumitru 11e13e1849
fix(whiteboard) use randomly generated room id for collaboration (#12321) 2022-10-06 15:22:48 +03:00
Calinteodor 0f7aa5a084
feat(mobile/navigation): disabled bottom tab navigator backBehavior (#12320)
* feat(mobile/navigation): disabled backBehavior in bottom tab navigator
2022-10-06 14:55:44 +03:00
Calinteodor ad4707c660
feat(settings/native): start car mode in low bandwidth mode (#12286)
* feat(settings/native): start car mode in low bandwidth mode
2022-10-06 14:29:39 +03:00
Mihaela Dumitru d0c22806ec
ref(participants) use enum type to store fake participants (#12316) 2022-10-06 14:12:57 +03:00
tmoldovan8x8 be7f2643df
fix(rn) disables joinButton while navigating 2022-10-06 13:33:26 +03:00
Robert Pintilii 6c9441fa7b
ref(ui-components) Update ContextMenu and move it to base/ui (#12318) 2022-10-06 13:09:40 +03:00
Saúl Ibarra Corretgé a2d39ca5b1 fix(rn,util) avoid 'clipboard-copy' being bundled in native
The copyText wrapper is used in the `showStartedRecordingNotification`
action, which is common for web and native. Provide a native
implementation so the right one is bundled.
2022-10-06 11:24:20 +02:00
Saúl Ibarra Corretgé d2a36ea3a8 fix(doc) update README 2022-10-06 07:06:06 +02:00
Дамян Минков e52c9043a5 feat: Adds some compatibility for building on windows. 2022-10-05 10:49:51 -05:00
Дамян Минков ee5817539b
fix: Fixes cert choice when pre-set in automations. (#12312)
* fix: Fixes cert choice when pre-set in automations.

* squash: fix
2022-10-05 10:49:21 -05:00
Jaya Allamsetty da9b5a9156 fix(multi-stream): Set mediaType to screenshare on SS tracks.
Fixes an issue where camera video doesn't get requested by RN clients when the remote ep starts SS first before turning on their camera.
2022-10-05 09:50:57 -04:00
Дамян Минков bb84c47e78 feat: Updates prosody dependency to be at least 0.11.7. 2022-10-05 08:16:43 -05:00
Дамян Минков 13f4da7855 fix: Workaround failure to install jitsi-meet-prosody Fixes #12300 2022-10-05 06:56:25 -05:00
Saúl Ibarra Corretgé f935b29629 feat(rn,config) default to VP8 on mobile
VP9 is too resource intensive.

H.264 might be coming back for P2P but we need to fix support for
Android first, since it's not available with the default software codec
factory.
2022-10-04 22:43:51 +02:00
mbondarenko f5f689c53d Added config option for enabling Opus DTX flag which used for reduction in the audio traffic, when a participant is silent then the audio packet won’t be transmitted. 2022-10-04 16:05:35 -04:00
Saúl Ibarra Corretgé af4ba32803 chore(deps) react-native-webrtc@1.106.1
Last to support Plan B.

The method to embed WebRTC has changed to use CocoaPods.
2022-10-04 22:02:19 +02:00
kerem 9e11bc302b
feat(deps,rn) update React Native to version 0.68.3 (#12293)
* feat(deps,rn) update React Native to version 0.68.3

Co-authored-by: keremoge <kerem.oge@albarakatech.com>
2022-10-04 19:29:23 +03:00
Saúl Ibarra Corretgé 438b3924d7 fix(ios,callkit) make sure the start call action is fulfilled 2022-10-04 16:32:46 +02:00
Horatiu Muresan a2d0492007
feat(toolbar-buttons) Hide buttons disabled through JWT (#12261) 2022-10-04 16:02:49 +03:00
Robert Pintilii c35d1d8d4b
ref(polls) Convert files to TS (#12296) 2022-10-04 15:06:02 +03:00
Robert Pintilii 7d7bf987a1
fix(lobby) Make password hidden by default (#12295) 2022-10-04 13:52:37 +03:00
Robert Pintilii 3e744c5ffe
ref(TS) Convert some files to TS (#12289) 2022-10-04 13:52:09 +03:00
Robert Pintilii f4f8808d95
ref(ui-components) Update some dialogs to use the new component (#12288)
Improve Dialog component to auto close on cancel or on submit
Change logic to determine whether a dialog is using the new component
Convert some files to TS
2022-10-04 12:44:48 +03:00
Robert Pintilii 21bcbdc12f
feat(local-recording) Change tab title to help identifying it (#12294) 2022-10-04 11:59:19 +03:00
Saúl Ibarra Corretgé 090433b6e8 feat(ci) cache npm package data
Ref: https://github.com/actions/setup-node#caching-global-packages-data
2022-10-03 13:13:53 +02:00
Saúl Ibarra Corretgé 230cbfac1e feat(ci) move linting to its own step
This allows it to run in parallel, and should make the overall run
faster.
2022-10-03 13:13:53 +02:00
Horatiu Muresan c56c5bd145 fix(polls) Fix autoscroll for polls causing layout issues 2022-10-03 12:39:08 +03:00
Tamas Domokos f5a4fd4bc2 fix (translation) remove unused i18n import 2022-10-03 11:15:12 +02:00
Calin-Teodor cb881311e7 feat(mobile/navigation): updated translations for screen headers 2022-10-03 12:04:06 +03:00
Nakorn ac2698f829 12272 2022-10-01 07:16:37 +02:00
Nakorn 5fafb5d29e Update Chinese translations 2022-10-01 07:16:37 +02:00
Saúl Ibarra Corretgé fbcdb250f4 fix(ts) fix build on macOS
Why this line fails is a mystery, but it's only reproducible on macOS.
2022-09-30 15:43:40 -05:00
Saúl Ibarra Corretgé ba8529d72b feat(ci) run GHA also on macOS 2022-09-30 15:43:40 -05:00
Mihaela Dumitru 1230cebde2
fix(avatar) support icons alongside cors avatars (#12280) 2022-09-30 17:51:16 +03:00
Mihaela Dumitru 93406bb12c
feat(whiteboard) add initial implementation (#12185) 2022-09-30 17:50:45 +03:00
dependabot[bot] d43eea91cf chore(deps): bump nth-check and @svgr/webpack
Bumps [nth-check](https://github.com/fb55/nth-check) to 2.1.1 and updates ancestor dependency [@svgr/webpack](https://github.com/gregberge/svgr). These dependencies need to be updated together.


Updates `nth-check` from 1.0.2 to 2.1.1
- [Release notes](https://github.com/fb55/nth-check/releases)
- [Commits](https://github.com/fb55/nth-check/compare/v1.0.2...v2.1.1)

Updates `@svgr/webpack` from 4.3.2 to 6.3.1
- [Release notes](https://github.com/gregberge/svgr/releases)
- [Changelog](https://github.com/gregberge/svgr/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gregberge/svgr/compare/v4.3.2...v6.3.1)

---
updated-dependencies:
- dependency-name: nth-check
  dependency-type: indirect
- dependency-name: "@svgr/webpack"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-30 11:08:45 +02:00
Robert Pintilii 7364c7f27b
ref(TS) Remove unnecessary ts-ignores 2022-09-30 11:08:03 +02:00
Calinteodor 2de2500080
feat(mobile/navigation/welcome): welcome page tabs translations 2022-09-30 11:07:00 +02:00
TTG 349e4bfb57
fix(lang) update Chinese translations & fix typo 2022-09-30 09:08:34 +02:00
Christoph Settgast 4f92811263
fix(lang) update German translation (#12277) 2022-09-29 22:10:01 +02:00
abora8x8 a4e35f81cf
fix(polls) refactor message handling 2022-09-29 19:28:24 +02:00
Alexandru Petrus 7aefc3b94a feat(invite-dialog) Add limit message for invite dialog 2022-09-29 19:06:14 +03:00
Avram Tudor 3c180d3932
ref(join) remove overlay shown for a slow gUM flow (#12268) 2022-09-29 16:55:31 +03:00
Saúl Ibarra Corretgé c523c07cb7 fix(config) drop debug lefover 2022-09-29 13:47:43 +02:00
Robert Pintilii 5c77f61037
ref(gifs) Convert feature to TS (#12264) 2022-09-29 14:45:34 +03:00
tamasdomokos 8162ae4dbe
fix(translation) translation button visibility for users, add missing languages 2022-09-29 13:44:59 +02:00
Calin-Teodor 69e0a37529 feat(base/ui): added autofocus prop 2022-09-29 13:31:20 +03:00
Robert Pintilii bfa88f13dc
feat(ui-components) Add Dialog Component (#12260) 2022-09-29 13:26:34 +03:00
Robert Pintilii 0d917df1fb
ref(feedback) Use new Input component (#12265)
Remove @atlaskit/field-text-area dep
2022-09-29 12:40:16 +03:00
Jaya Allamsetty 95a3a8de0b fix(face-landmarks): Check mute state from redux before starting detection. 2022-09-28 11:48:13 -04:00
Bogdan Duduman f4985d8028 increase heap node for build 2022-09-28 06:27:31 -05:00
William Liang 5d6aec3f3c
fix(speaker-stats) decouple sort order from speaker stats (#12197) 2022-09-28 10:51:53 +03:00
Shawn Chin 2e6f14f872
feat(reservations) start lobby and set password from reservation (#12215)
* feat(reservations) support enabling lobby and password based on reservations data

* Add warning about unhandled use case

* feat(lobby) Support automated activation of lobby
2022-09-27 14:59:30 -05:00
TTG 90b17046f6
fix(lang) remove non-existent languages (#12258)
* Remove Thai from all language.json

* Remove Azerbaijani from all language.json
2022-09-27 14:50:37 -05:00
Saúl Ibarra Corretgé 86ab2be65e chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1506.0.0+3fc03265...v1508.0.0+238dd7b2
2022-09-27 21:43:58 +02:00
Saúl Ibarra Corretgé 11f138d28f feat(room-metadata) add module for generic room metadata storage 2022-09-27 20:50:41 +02:00
damencho e163d6438b chore(deps) update js-utils
Updates dict.
2022-09-27 12:44:53 -05:00
TTG 24cb07b830
lang: Update Chinese translations (#12104)
* lang: Update Chinese translation

* lang: Remove nonexistent language

* Update main-zhTW.json

* Update main-zhCN.json

* Update main-zhTW.json

* Update languages-zhTW.json

* Delete languages.json

* Revert "Delete languages.json"

This reverts commit 7f96a19ba7.

* Update languages.json

* Update languages-zhCN.json

* Update languages-zhTW.json

* Add newline at end of file

* Update languages.json

* Update languages-zhCN.json
2022-09-27 12:44:34 -05:00
Bogdan Duduman 53df3a7b55 fix: fix copyText import 2022-09-27 11:43:29 -05:00
Horatiu Muresan ca54533153
fix(audio-configs) Fix startWithAudioMuted overrriding startSilent (#12251) 2022-09-27 15:56:59 +03:00
Saúl Ibarra Corretgé 02f5987187 feat(rn,conference) show participants pane in the top bar
Replace the invite button, which is accessible within the participants
pane.

Show the screen-sharing button in the toolbox when space allows, and fix
it so it's rendered when outside the overflow menu.
2022-09-27 13:21:08 +02:00
Horatiu Muresan ce96b71bfa fix(config) Update link to to UI tokens 2022-09-27 13:32:32 +03:00
Saúl Ibarra Corretgé a32d237d54 chore(deps,eslint) update eslint-config-jitsi to 4.1.4 2022-09-27 11:22:36 +02:00
Bogdan Duduman 48db099134 feat: include sort members eslint changes 2022-09-27 10:25:20 +02:00
Robert Pintilii 1106a86ba7
ref(connection-indicator) Convert to TS (#12239) 2022-09-27 10:42:30 +03:00
Jaya Allamsetty 54346c065d feat(large-video) Show SS on large-video instead of camera tile.
This is helpful in live streaming scenarios when AUTO_PIN_LATEST_SCREEN_SHARE is disabled and multi-stream is enabled. Dominant speaker's SS tile (if available) will be on stage instead of their camera tile. Fixes https://github.com/jitsi/jitsi-meet/issues/10869.
2022-09-26 16:57:11 -04:00
Filip Rejmus c3ebde18df
fix(helpers) move copyText function to web.js file
It gets bundled on mobile for no reason otherwise.
2022-09-26 19:31:06 +02:00
José Luís Andrade c613082ce1
lang: Update Portuguese translation (#12241) 2022-09-26 11:26:49 -05:00
Saúl Ibarra Corretgé eee096e0c0 fix(ts,build) fix TS error in web build 2022-09-26 09:47:35 -05:00
Robert Pintilii 9c6119606f
ref(chat) Convert some files to TS (#12238) 2022-09-26 12:54:22 +03:00
Robert Pintilii 077afecdba
fix(external-api) Fix pin function (#12236)
Make pin function work with stage filmstrip
2022-09-26 12:13:32 +03:00
Дамян Минков 1b4bbcba3d
fix: Fixes jaas and cert choice when package configure is reordered. (#12234)
* fix: Fixes jaas and cert choice when package configure is reordered.

* squash: Checks for jaas-choice before asking.
2022-09-24 08:24:18 -05:00
Jaya Allamsetty 32b8c62ec9 fix(face-landmarks) Do not start detection on muted tracks 2022-09-23 14:26:40 -04:00
Дамян Минков a9bc83db03
feat: Set LE as default choice when installing. (#12232)
* feat: Set LE as default choice when installing.

* squash: Text updates.
2022-09-23 13:10:06 -05:00
Horatiu Muresan 90bcbebedb fix(carmode) Don`t show rec/live labels after rec/ls finished 2022-09-23 15:26:33 +03:00
Robert Pintilii c06d456ae6
fix(external-api) Fix start recording (#12227)
Check recording is enabled before start
2022-09-23 13:22:37 +03:00
Saúl Ibarra Corretgé fe0c804cc0 feat(android) add logcat helper script 2022-09-23 11:56:49 +02:00
Robert Pintilii 4ee77b1f65
ref(TS) Convert some base files to TS (#12226) 2022-09-23 12:03:25 +03:00
Shawn Chin 7cbb377a66
feat(external-api) start/stop local recording (#12210) 2022-09-23 11:46:54 +03:00
Robert Pintilii 0bccda2c9e
ref(TS) Convert more base files to TS (#12222) 2022-09-23 11:13:32 +03:00
Robert Pintilii 3426960d5a
ref(TS) Convert base/tracks to TS (#12219) 2022-09-23 10:48:20 +03:00
Horatiu Muresan fb2cfaa204 fix(carmode) Force portrait when in carmode 2022-09-22 17:17:19 +03:00
Дамян Минков d61d47fae3
fix: Fixes LE script on existing cert. (#12223)
* fix: Fixes LE script on existing cert.

Updates jaas shown message.

* squash: Make sure .well-known folder exists.

* squash: Fix LE when running apt commands with sudo.

Forces acme.sh to work when it detects sudo.

* squash: Change jaas message on install.

* squash: Uses issue return code to check for existing cert.
2022-09-22 09:08:32 -05:00
Gabriel Borlea 2cb9596536
feat(rtc-stats): send face landmarks detection off timestamp to service (#12183)
* feat(rtc-stats): send camera off timestamp to service

* code review

* improve error handling

* improve rtcstats middleware and complete typescript types
2022-09-22 13:06:31 +03:00
Robert Pintilii 62a10e6587
fix(giphy) Allow space in input (#12221)
Fixes: space closes gif menu
2022-09-22 11:34:46 +03:00
damencho e38f9a293b fix: Fixes postinst after pull/12213. 2022-09-21 17:28:02 -04:00
Дамян Минков eba7cfcec5
feat: Adds automatic jaas account creation. (#12213)
* feat: Adds automatic jaas account creation.

* squash: Prints return data if any.

* squash: Moves jitsi-challenge.txt to /usr/share/jitsi-meet/.well-known.
2022-09-21 13:57:30 -05:00
Jaya Allamsetty ae70370a38 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1505.0.0+f49afde5...v1506.0.0+3fc03265
2022-09-21 14:00:48 -04:00
Jaya Allamsetty 45c67142e9 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1504.0.0+85fb01c0...v1505.0.0+f49afde5
2022-09-21 10:43:18 -04:00
Jaya Allamsetty 6a03e49b9e update config.js 2022-09-21 10:15:38 -04:00
Jaya Allamsetty 25e7b79237 feat(multi-stream) Enable multi-stream by default (if not disabled explicitly). 2022-09-21 10:15:38 -04:00
Robert Pintilii 779ecd6da6
feat(ui-components) Add Tabs component (#12199) 2022-09-21 14:57:59 +03:00
Robert Pintilii dd4d49a591
fix(filmstrip) Fix stage filmstrip (#12209)
Use new settings action to determine when max has been reduced
2022-09-21 14:57:40 +03:00
Robert Pintilii 63b6b5a72d
ref(TS) Convert some files to TS (#12204) 2022-09-21 11:32:50 +03:00
George Politis df9185f92a ref(callstats): Removes redundant config.js option. 2022-09-20 16:54:25 +03:00
Saúl Ibarra Corretgé 9bb0decb30 fix(build) speed up webpack dev build by 4x
Skip type checking, only do it in prod builds (the CI will check those).

Main bundle build times:

- Before: 255101ms
- After: 58463ms
2022-09-20 08:40:34 +02:00
Saúl Ibarra Corretgé e18240cfc6 chore(build) rename option for clarity 2022-09-20 08:40:34 +02:00
Jaya Allamsetty 1703ed8b23 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1502.0.0+62b0e5c4...v1504.0.0+85fb01c0
2022-09-19 12:43:05 -04:00
Saúl Ibarra Corretgé 945eda680c chore(ios) sync Podfile.lock 2022-09-19 15:39:32 +02:00
Saúl Ibarra Corretgé a378ba7827 feat(ios) Xcode 14 compatibility
Bitcode is no longer supported, so remove it. The M106 WebRTC version no
longer contains bitcode either, but it embeds dSYMs.
2022-09-19 15:01:47 +02:00
Saúl Ibarra Corretgé 73ab43ac0c feat(android) disable volume logger thread 2022-09-19 15:01:47 +02:00
Saúl Ibarra Corretgé 3f5fa1e663 feat(rn,deps) update WebRTC to M106 2022-09-19 15:01:47 +02:00
Robert Pintilii e05ad18ee4
fix(prejoin) Remove no longer needed hack 2022-09-19 14:57:57 +02:00
Robert Pintilii 6dd04136de
ref(TS Convert some files to TS (#12191) 2022-09-19 10:40:03 +03:00
Jaya Allamsetty ffe005ba0a chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1500.0.0+d96dad72...v1502.0.0+62b0e5c4
2022-09-16 15:30:41 -04:00
Jaya Allamsetty 7393c20ed8 fix(testing): Fixes for multi-stream torture tests to work. 2022-09-16 14:31:41 -04:00
tmoldovan8x8 7509b520f3
fix(e2ee) check if e2ee is supported before playing the sound 2022-09-16 14:28:36 +03:00
Robert Pintilii 4c9f3d287a
fix(prejoin) Fix focus stealing in settings (#12188)
Remove ref focus from InputField component
Replace input component in GifsMenu and add ref focus
2022-09-16 13:05:15 +03:00
TTG fef562d767
fix(lang) remove unused language lists 2022-09-16 10:58:28 +02:00
Saúl Ibarra Corretgé d9bbf35466 fix(settings) fix not storing maxStageParticipants 2022-09-15 23:30:44 +02:00
Saúl Ibarra Corretgé 1cd80a33c6 fix(config) fix check for filmstrip property
The whole object might be undefined.
2022-09-15 19:43:33 +02:00
Robert Pintilii 2d6e181a13
feat(ui-components) Add Select component (#12182)
Remove @atlaskit/dropdown
Convert some files to TS
2022-09-15 15:20:11 +03:00
Robert Pintilii f5e60a7ca4
fix(filmstrip) Save stage filmstrip in settings (#12170)
Add config for stage participants number
Enable stage filmstrip by default
2022-09-15 10:57:48 +03:00
Hristo Terezov f0a45a9976 feat: Handle dominant speaker silence 2022-09-14 12:13:41 -05:00
Hristo Terezov 81f5e68382 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1498.0.0+bc3aae02...v1500.0.0+d96dad72
2022-09-14 12:13:16 -05:00
Alex Bumbu e68ede65e1
feat(iOS): callkit objc implementation 2022-09-14 18:52:39 +02:00
damencho 8c0de928ab fix: Set default choice for jaas, keeps old behavior. 2022-09-14 10:15:49 -05:00
Horatiu Muresan 9d57c8e058 fix(external-api) Add email to local participant info 2022-09-14 17:57:08 +03:00
Horatiu Muresan 35442c6094 fix(external-api) Fix notify audio muted/audio available 2022-09-14 16:39:03 +03:00
Gabriel Borlea d6f3c2a0f4
ref(face-landmarks): convert to typescript and add detector class (#12144)
* fix(face-landmarks): stop recognition when imageCapture error

* ref(face-landmarks): convert files in typescript

fix: lint issues

* code review

* ref(face-landmarks): move detection part to a class

* ref(face-landmarks): make FaceLandmarksDetector singleton

* fix typo and ts-ignore problematic types

* fix linting issues
2022-09-14 15:42:46 +03:00
tmoldovan8x8 b83c55e9c4
fix(rn) fixes typo in functions.native 2022-09-14 14:49:13 +03:00
Robert Pintilii a1d20dc188
ref(TS) Convert some features to TS (#12149)
Convert AV Moderation and Breakout Rooms to TS
2022-09-14 14:32:58 +03:00
Robert Pintilii 95084e1004
ref(TS) Convert some base features to TS (#12138) 2022-09-14 10:54:56 +03:00
Saúl Ibarra Corretgé 5502601fb3 fix(subtitles) web components must not be used in generic action files 2022-09-13 16:17:10 +02:00
Saúl Ibarra Corretgé 3fa72c99bc fix(rn,conference) fix mobile build
Looks like Metro is confused by these imports.
2022-09-13 16:17:10 +02:00
Дамян Минков 079a2a505d
feat: Adds LE choice when installing debian package. (#12154)
* feat: Adds LE choice when installing debian package.

* Update debian/jitsi-meet-web-config.templates

Co-authored-by: raluca8x8 <raluca.tocmag@8x8.com>

* squash: Print in the console the JaaS link everytime.

* squash: Note that JaaS does not support self-signed certs.

* squash: Fix message.

* squash: Moves acme.sh stuff into a script, so it is easy to re-run.

Co-authored-by: raluca8x8 <raluca.tocmag@8x8.com>
2022-09-13 07:55:00 -05:00
Robert Pintilii 139884fbe7
ref(dep) Upgrade MUI (#12089) 2022-09-13 10:36:00 +03:00
Misha 3ef3233242
ref(conn-indicator): remove E2E RTT (#12139)
There was a fundamental change in how e2e pings work in lib-jitsi-meet where it does few pings at the beginning, pushes metrics and shuts the whole thing down, so there are no more e2ertt updates after that. Plus it's disabled by default. @paweldomas have decided with @bgrozev to remove that instead of trying to adjust. Even if e2e pings are enabled the data is not feed correctly to the indicators, what's wrong there is as soon as the pings stop going the new data does not arrive and then all you get is N/A if the UI component is recreated.
2022-09-12 15:57:15 -05:00
JohnProv 443f4e4feb
fix(lang) update Dutch translation 2022-09-12 19:28:25 +02:00
Alexandru Petrus 21a1d52753 fix(large-video) disable screen-sharing placeholder on Spot
Temporary hack, this should likely be configurable.
2022-09-12 18:00:02 +02:00
Bogdan Duduman 0f63e560b0 feat(external_api) add adbility to resize the filmstrip 2022-09-12 14:08:55 +02:00
Horatiu Muresan 43bea201e6 fix(prejoin) Hide conference name based on config 2022-09-12 10:35:37 +03:00
Horatiu Muresan 6e1e6df952
fix(prejoin) Fix roomname showing for 3rd party prejoin app (#12155)
* fix(prejoin) Fix roomname showing for 3rd party prejoin app

* fix: Do not convert roomName to string when undefined.

Co-authored-by: damencho <damencho@jitsi.org>
2022-09-09 12:10:50 -05:00
Saúl Ibarra Corretgé 8ce1423373 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1496.0.0+e1ca2f5a...v1498.0.0+bc3aae02
2022-09-09 16:57:08 +02:00
Saúl Ibarra Corretgé ede97584f2 fix(ios) fix lite SDK release process 2022-09-09 13:37:08 +02:00
Robert Pintilii 247c54b6c6
ref(TS) Convert constants tiles to TS (#12148)
Remove unnecessary ts-ignores
2022-09-09 12:22:30 +03:00
Robert Pintilii 10bb186c13
ref(eslint) Use new TypeScript ESlint config (#12143)
Use new TS config from @jitsi/eslint
Fix all lint errors
2022-09-08 12:52:36 +03:00
Artur Shepilko e296008d95 lang: update Ukrainian translation 2022-09-07 18:33:00 -05:00
Jaya Allamsetty 01001d6438 fix(large-video) Update large-video when the streamingStatus of the attached track changes.
This fixes an issue where screenshare appears on the thumbnail but not on the large-video.
2022-09-07 18:31:23 -04:00
damencho fce15b491d feat: Adds jaas choice when installing. 2022-09-07 08:21:12 -05:00
damencho cf37ba8771 feat: Drops prosody 0.10 checks. 2022-09-07 08:21:12 -05:00
damencho 0350f18e68 feat: Drops migration from jetty deployments. 2022-09-07 08:21:12 -05:00
Robert Pintilii c9bbc6c762
ref(TS) Remove unnecessary ts-ignores (#12136) 2022-09-07 11:20:05 +03:00
Christoph Settgast fa942e9f3b
fix(lang) update German translation (#12122)
Signed-off-by: Christoph Settgast <csett86@web.de>
2022-09-07 09:13:19 +02:00
Robert Pintilii fd67fb652b
fix(analytics) Fix lint error (#12135) 2022-09-07 09:54:31 +03:00
Ali Alhaidary a87d4f4a1d
fix(lang) updated Arabic translation 2022-09-06 19:32:47 +02:00
Robert Pintilii efb69d5382
ref: Improve TS files (#12130)
Remove unnecessary ts-ignores
Change any to actual types
Fix eslint rule
2022-09-06 20:32:20 +03:00
Flying-Light db988f6e62
fix(lang) improve Arabic translation
Modify some translations for their difficulty for the user.
Add some missing translations like "ask to unmute"
2022-09-06 19:27:44 +02:00
Robert Pintilii f4b46128bc
ref(analytics) Convert to TS (#12099) 2022-09-06 15:51:50 +03:00
Gabriel Borlea 9323b86e3c
feat(rtc-stats): support for react native and breakout rooms (#11835)
* feat(rtc-stats): mobile flow

* fix(rtc-stats): create websocket connection event

* feat(rtc-stats): separate middlewares and filter callstats pcs

* fix: linting problems

* fix: linting problems 2

* fix(rtc-stats): middlewares

* ref(rtc-stats): rewrite in typescript

* remove blank line and flow tag

* fix: linting problems

* remove redundant comment

* remove index file

* fix: sort interface keys

* feat(rtc-stats): support for breakout rooms

* ref(rtc-stats): send isBreakoutRoom flag when connecting to rtc stats

* code review

* fix(rtc-stats): rebase issues

* remove empty lines

* chore(rtc-stats): update rtc-stats to latest version

* fix: linting issues
2022-09-06 10:42:59 +03:00
Saúl Ibarra Corretgé 06842c724a fix(rn,video-layout) fix mobile
In adcd9a501b a call to getCurrentLayout
was introduced, which is not mobile-friendly :-(
2022-09-06 09:27:47 +02:00
Duduman Bogdan Vlad 5f62acc67c
fix(external_api): Fix number of participants in meeting (#12052) 2022-09-06 09:51:38 +03:00
Robert Pintilii 17008237dc
ref: Improve TS state (#12125)
Create IStateful interface
Use IState interface everywhere
Remove unnecessary @ts-ignore
2022-09-05 14:24:13 +03:00
Robert Pintilii 271ea8315b
ref: Improve reducers TS (#12123) 2022-09-05 12:05:07 +03:00
Alexey Matveev f18f8c1061
fix(lang) update Russian translation 2022-09-05 10:22:13 +02:00
Saúl Ibarra Corretgé b535b8c583 fix(lobby) fix opening lobby chat after API change 2022-09-01 14:21:32 -05:00
Hristo Terezov adcd9a501b ref(receiver-constraints): Refactor and fixes. 2022-09-01 13:22:09 -05:00
Saúl Ibarra Corretgé cfb1fef162 fix(breakout-rooms) fix broadcast timer 2022-09-01 18:19:29 +02:00
Saúl Ibarra Corretgé 8b4f2495dc fixup! 2022-09-01 17:13:33 +02:00
Saúl Ibarra Corretgé 7e7107d45a feat(build,ljm) don't expose jquery
lib-jitsi-meet no longer requires it.
2022-09-01 17:13:33 +02:00
Saúl Ibarra Corretgé 45c0597aff chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1494.0.0+c9be46e2...v1496.0.0+e1ca2f5a
2022-09-01 17:12:50 +02:00
Calinteodor c77e2c8301
feat(settings/native): fixes and updates (#12094)
feat(settings/native): fixes and updates
2022-09-01 15:05:14 +03:00
Robert Pintilii 3403d7bec2
ref: Convert reducers to TS (#12101) 2022-09-01 14:00:49 +03:00
Robert Pintilii c4557c66aa
chore(dep) Update caniuse-lite (#12109) 2022-09-01 11:32:11 +03:00
Robert Pintilii cfda02ee10
ref(shared-video) Merge web and native reducers (#12108)
Convert reducer to TS
2022-09-01 11:32:01 +03:00
JohnProv 575ab1f1cb
fix(lang) update Dutch translation 2022-09-01 09:19:29 +02:00
tamasdomokos b4f98e7386
feat(translation) enable cc translation (#12046)
* feat(translation) enable cc translation

* Refactor translation for ListItem.

* fix language file sorting

* fix translation order

* change import order
2022-08-31 10:57:31 -05:00
Calin-Teodor e8de9b4d66 feat(prejoin/native): update react-native-video dep and unmount LargeVideo is Prejoin is not focused 2022-08-31 12:55:02 +03:00
damencho 6fe353cfa4 fix: Fixes lua log lines.
When using directly log( the log lines come from `general` not from the module itself.
`Aug 29 19:38:08 general	info	Starting speakerstats for conference...`
2022-08-30 11:24:28 -05:00
Stefan Weil 882d343e8b
chore(typos) fix some typos 2022-08-30 16:21:58 +02:00
Hristo Terezov cc3a8b7b8d fix(stage-filmstrip): Pinning
Pinning participant was not working for stage filmstrip and
screen sharing filmstirp layouts
2022-08-30 08:41:38 -05:00
Saúl Ibarra Corretgé 104bfe7339 fix(rn,thumbnail) show SS indicator on the local thumbnail 2022-08-30 14:13:17 +02:00
Saúl Ibarra Corretgé fb9d35a991 fix(rn,tracks) fix muting local screenshare when remote is muted
A "is local" check was missing.
2022-08-30 14:13:17 +02:00
Saúl Ibarra Corretgé 8fabba1679 fix(shared-video) fix exception on mobile
Also use the "standardized" way of instantiating loggers.
2022-08-30 14:13:17 +02:00
Saúl Ibarra Corretgé 5fbf741278 fix(rn,filmstrip) avoid "red" screen sharing tile
Mobile does not render screen-shares in tiles for performance reasons.
This coincidentally fixes the "red" tile that was attempted to be
rendered when the local partitipant started screen-sharing.
2022-08-30 14:13:17 +02:00
Saúl Ibarra Corretgé bebcc8234f fix(rn,multi-stream) don't send multiple streams on mobile
Mobile does not do multiple local video streams for performance reasons,
so avoid creating the local fake participant.

WIP
2022-08-30 14:13:17 +02:00
Avram Tudor 1e9f599a35
ref(config) move defaultLogoUrl to config object (#12087)
* ref(config) move defaultLogoUrl to config object

* code review changes
2022-08-30 14:52:36 +03:00
Horatiu Muresan cc5a3e499f
feat(aot-prejoin) Add support for showing AOT on prejoin 2022-08-30 11:42:29 +03:00
Calin-Teodor dbcbafe088 feat(polls/native): fixed scroll inside screen 2022-08-29 17:09:50 +03:00
José Luís Andrade b034cf27cb
lang: Update Portuguese translation (#12081) 2022-08-29 08:08:14 -05:00
Calin-Teodor 126dba8070 feat(security/native): options available only if participant is moderator 2022-08-29 15:30:36 +03:00
Calin-Teodor a7c1aa4900 feat(settings/native): updated placeholder and placeholder text color 2022-08-29 15:21:50 +03:00
Saúl Ibarra Corretgé 206215c7c1 feat(ios) add generated Swift interface header
We need it for the RN module since it won't be (re)generated. It has not
changed in 4 years, so I guess it's safe to assume it'll stay that way.
2022-08-29 12:49:07 +02:00
Jaya Allamsetty f38c5f39d2 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1493.0.0+3cf3db1a...v1494.0.0+c9be46e2
2022-08-26 15:12:56 -04:00
wfleischer 09efaecc41
feat(conference) add end conference
Add the ability (for moderators) to end the meeting for everyone.
2022-08-26 20:25:04 +02:00
Saúl Ibarra Corretgé 3bb581c8d9 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1487.0.0+f3f922a8...v1493.0.0+3cf3db1a
2022-08-26 20:24:08 +02:00
Nils Ohlmeier 96099a06a8
feature(rtcstats): expose sendSdp as config option (#12072)
* feature(rtcstats): expose sendSdp as config option

* fixed linting error
2022-08-26 13:03:08 -05:00
Saúl Ibarra Corretgé 4ef5da6c82 fix(ts) fix build 2022-08-26 08:01:59 -05:00
George Politis 289ece42df feat(logging): Store JS console logs in RTCStats.
With this commit JS console logs can optionally be sent to the RTCstats server
for storage and processing.

The functionality is off by default and can be enabled by setting to `true` the
config.js option

    config.analytics.rtcstatsStoreLogs: false // off by default

Obviously, if rtcstats is disabled/not configured nothing will be sent to the
rtcstats backend, even if this setting is set to `true`.

This commit also adds a config.js option that can be used to disable sending the
logs back to callstats:

    config.callstatsStoreLogs: true // on by default

Obviously, if callstats is disabled nothing would be sent in the first place,
but if callstats is enabled and this new configuration parameter is set to
`false`, then callstats will be kept active but no logs will be sent to
callstats.
2022-08-26 14:19:48 +03:00
Saúl Ibarra Corretgé 7dba5f8a7e fix(prejoin) use the conference display name instead of the room name
The room name could be a UUID and the conference display name an actual
name, using the subject.
2022-08-26 12:21:01 +02:00
Robert Pintilii 1010955393
ref: Convert some reducers to TS (#12065) 2022-08-26 12:54:16 +03:00
Robert Pintilii 3bd3be4df0
ref: Convert files to TS (#12007)
Convert files that use material-ui to TS (needed for material-ui upgrade)
2022-08-26 12:54:03 +03:00
Duduman Bogdan Vlad fc60ab8383
feat(conference) send leave reasons on switching room and when errors occur 2022-08-26 11:53:32 +02:00
Rokixy 85d2123fac
fix(chore) fix typo 2022-08-26 10:11:08 +02:00
Дамян Минков 5790742d53
fix(debian) add missing dependency of lua-inspect 2022-08-26 09:31:11 +02:00
bogdandarie be1752c162
Feat (chat) add new message badge (#11987)
Change scroll to bottom when receive a new message with:
- scroll to bottom if scroll was at the bottom before getting a new message
- keep the scroll in his original position when the scroll position was not at the bottom
- scroll to bottom when open first time the chat
2022-08-26 09:21:41 +03:00
Gabriel Borlea b9aeb19379
fix(face-landmarks): not sending duplicate expressions when recognition stops (#12067)
fix(facelandmarks): do not perform stop recognition if it is not active
2022-08-25 16:52:03 +03:00
Jaya Allamsetty 7951dc3ce7
fix(audio-only) Do not enable video automatically when audio-only is disabled (#12056)
* fix(audio-only) Do not enable video automatically when audio-only is disabled.
2022-08-25 08:40:32 -04:00
Robert Pintilii dfb2a07cfa
ref: Convert material-ui files to TS (#12013)
Convert files that use material-ui to TS (needed for material-ui upgrade)
2022-08-25 14:35:19 +03:00
Calinteodor 94dc6309de
feat(base/native): Switch thumb track color (#12066)
* feat(base/native): Switch thumbColor and trackColor default props
2022-08-25 14:25:13 +03:00
Rokixy 3f2018a1de
fix(chore) fix typo 2022-08-25 11:30:39 +02:00
Calin-Teodor cd4ab8a5f1 feat(polls/native): added thumbColor for android 2022-08-25 10:57:34 +03:00
Hristo Terezov 594f9dfcdd fix(follow-me): SS not visible
The remote screen shares stored in redux were not updated when follow
me is active. Therefore the receiver constraints were not correct.
2022-08-24 16:42:51 -05:00
Robert Pintilii 8dd71a921b
ref(ui-components) Improve native and web Switch (#12061)
Bring Switch component more in line
Convert some files to TS
2022-08-24 12:46:22 +03:00
Calinteodor 6d39d13af7
feat(lobby/prejoin): added room name title (#12054)
* feat(lobby/prejoin): added room name title
2022-08-24 12:43:28 +03:00
Robert Pintilii 372c2cb0f9
fix(participant) Avoid unnecessary unpin calls (#12060) 2022-08-24 11:26:09 +03:00
Calin-Teodor 5b41d68d39 feat(settings): changed switch enabled track color 2022-08-24 11:10:26 +03:00
JohnProv 1b9870dade Update main-nl.json 2022-08-23 13:13:27 -05:00
Mariusz Krzaczkowski 38eff2ba24
lang: Update for Polish (#12053)
* [i18n] Update for Polish

* [i18n] Update for Polish

* [i18n] Update for Polish
2022-08-23 09:54:50 -05:00
apetrus20 11f6b442fe
feat (screen-share) Added logs and emit iframe event for video and audio sharing (#12051) 2022-08-23 15:17:18 +03:00
Calinteodor e458eed931
feat(recording): StartRecordingDialogContent web and native (#12009)
* feat(recording): StartRecordingDialogContent web and native
2022-08-23 11:56:02 +03:00
Avram Tudor f07bd4a0d6
feat(prejoin) add room name to premeeting screen (#12049) 2022-08-22 16:26:35 +03:00
Robert Pintilii 40637aa3dc
ref(ui-components) Improve Button component (#12015)
Bring web and native more in line
2022-08-22 12:40:59 +03:00
Jaya Allamsetty 2f10d80184 fix(logging) Add more info logs for device switching. 2022-08-18 21:59:03 -04:00
Artur Shepilko 739c060018 lang: add Ukrainian to more languages 2022-08-18 13:20:02 -05:00
damencho 41a6cbd3fc fix: Jwt context.features to work without context.user. Fixes #12005 2022-08-18 12:01:20 -05:00
Calin-Teodor 61df6f6794 feat(media): added extra percentage padding right to screen share view fit 2022-08-18 18:07:35 +03:00
Artur Shepilko d44cbb6d1e lang: update Ukrainian translation 2022-08-17 15:46:12 -05:00
Nils Ohlmeier 06ed0e43ad
update(rtcstats): fix one more left over comment around poll intervall (#12036) 2022-08-17 12:58:09 -07:00
Calin-Teodor eb911ec9b5 feat(participants-pane/native): fixed undefined error 2022-08-17 18:21:30 +03:00
Calin-Teodor e8cdf38fda native ui fixes 2022-08-17 15:45:23 +03:00
Saúl Ibarra Corretgé e578f6c30f
feat(logging) migrate logging to config.js 2022-08-17 14:32:40 +02:00
Saúl Ibarra Corretgé 77d687952d feat(jwt) deprecate and remove enableFeaturesBasedOnToken
The new behavior is as follows:

IF a user has a token and `features` is not set, we treat it as if the
feature was enabled.

IF a user has a token and `features` is set, we check if the feature
name has a value of "true".

`isJwtFeatureEnabled` also provides a way to specify the default value
in case there is no token.
2022-08-17 11:17:29 +02:00
Saúl Ibarra Corretgé bf222c5094 fix(highlight) check for JaaS features before opening the dialog 2022-08-17 11:17:14 +02:00
Saúl Ibarra Corretgé 08f9dc5e83 fix(participants-pane) fix button impport
Fixes: https://community.jitsi.org/t/navigation-link-in-participants-button-broken-after-usage-of-lobby-chat/116606
2022-08-17 10:34:33 +02:00
Nils Ohlmeier 9c83831b2c update(rtcstats): adjusted poll intervals in comments to match default value 2022-08-16 13:10:20 -05:00
Jaya Allamsetty 97bc41f644 fix(filmstrip) Push dominant speaker to the top of the active speaker list.
The active speaker list in redux is alpha sorted, we need to ensure dominant speaker is at the top otherwise it can get truncated based on the available number of visible slots in the filmstrip.
2022-08-16 14:05:48 -04:00
Nils Ohlmeier f70ed9cb8a
fix(rtcstats): Fix rtcstats poll interval typo and increase default value (#12024)
* fix(rtcstats): fixed typo in rtcstats pollInterval

* fix(rtcstats): set rtcstats default poll interval value to 10s
2022-08-16 10:37:04 -07:00
Saúl Ibarra Corretgé 123ab32e75 chore(config,known-domains) remove legacy code 2022-08-16 17:18:04 +02:00
Saúl Ibarra Corretgé 3c370eb6ca chore(recent-list) remove legacy compatibility code 2022-08-16 17:18:04 +02:00
Saúl Ibarra Corretgé 3e6c988c30 chore(redux) remove legacy compatibility code 2022-08-16 17:18:04 +02:00
Saúl Ibarra Corretgé 649ace1f44 chore(config) remove legacy comment 2022-08-16 17:18:04 +02:00
Saúl Ibarra Corretgé 57f27b4234 chore(analytics) remove lagacy backwards compatibility code 2022-08-16 17:18:04 +02:00
Saúl Ibarra Corretgé 2ae4ba3875 feat(ios) add lite SDK target 2022-08-16 09:58:37 +02:00
Saúl Ibarra Corretgé 0bfa1027a9 fix(virtual-backgrounds) cache loaded model
There is no need to fetch and apply the model every time we want to
createe the effect since it doesn't change.
2022-08-16 08:20:58 +02:00
emrah f412ff7f11
fix(config) add a missing comma in json list 2022-08-14 11:25:20 +02:00
Jaya Allamsetty 3975db7a68 fix(fimstrip): Do not re-sort the active speakers if dominant speaker is visible.
Fixes a case where re-sorting doesn't happen even when dominant speaker is currently not visible.
2022-08-12 14:18:37 -04:00
Werner Fleischer 02e4d2b902 fix(participants-pane): leave breakout room button appearance 2022-08-12 13:08:49 +02:00
Jaya Allamsetty ca095240b9 fix(audio-only-ss): Attach a track stopped handler to the audioDesktop track only for audio-only sharing case.
There will be an audio desktop track for regular screensahring when a tab is selected. We do not have to toggle screensharing again when that track is killed.
2022-08-11 16:59:57 -04:00
Jaya Allamsetty 3d60773963 Add debugging for SS streaming issues 2022-08-11 16:59:57 -04:00
Saúl Ibarra Corretgé 895ce56e8d chore(deps) style-loader@3.3.1 2022-08-11 17:54:16 +02:00
Saúl Ibarra Corretgé d12860082c chore(deps) run npm audit fix 2022-08-11 17:54:16 +02:00
Saúl Ibarra Corretgé 4e03f20a51 chore(deps) update react-native-svg@12.4.3 2022-08-11 17:54:16 +02:00
Robert Pintilii 0435c3cc64
ref(ui-components) Use new input and button in chat (#12000) 2022-08-11 16:32:44 +03:00
Alex Bumbu ea4be6cb30 fix(iOS): script for enabling multitasking camera access for release build 2022-08-11 14:34:20 +02:00
damencho fa39c10766 feat: Updates the local stats to match remote for 'connected to'. 2022-08-10 21:13:12 -05:00
tmoldovan8x8 82c047707f
fix(mobile externalApi) suppress participant joined and left events for virtual screenshare 2022-08-10 16:34:18 +03:00
Robert Pintilii 00221b7482
ref: Convert some reducers to TS (#12002) 2022-08-10 12:56:24 +03:00
Hristo Terezov 8266d55cb9 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1484.0.0+6d5ca18b...v1487.0.0+f3f922a8
2022-08-10 11:48:42 +03:00
Robert Pintilii b2396ff809
ref(ui-components) Replace livestream input (#11997) 2022-08-10 10:22:24 +03:00
Robert Pintilii fb20786b65
ref(ui-components) Replace inputs with new component (#11964) 2022-08-10 09:25:31 +03:00
Saúl Ibarra Corretgé f5649efa49 fix(dropbox) fix signing out when switching rec providers 2022-08-09 10:23:05 -05:00
Saúl Ibarra Corretgé 7b361b3e23 fix(dropbox) fix incorrect button labels and click on web
The web and mobile Button components are not implemented the same way
and this came to bite us.

This is a stopgap fix, the real fix needs to be to make them have
exactly the same shared props and behavior.
2022-08-09 08:25:44 -05:00
Robert Pintilii 05fdd5f31f
ref: Convert some reducers to TS (#11994) 2022-08-09 15:22:18 +03:00
Дамян Минков 5c52ee97ed fix: Adds missing notification in example config.
Add missing 'notify.videoMutedRemotelyTitle'.
2022-08-08 15:58:50 -05:00
Дамян Минков 3626e51c24 feat: Adds a jaas reference when installing. 2022-08-08 10:50:02 -05:00
Saúl Ibarra Corretgé ef748c576d fix(face-landmarks) fix createImageBitMap polyfill on Safari 14
The polyfill returns an Image object instead of an ImageBitmap. The
latter has a close method, however, which we call.

Make sure we provide a dummy close method to avoid errors.
2022-08-08 17:03:48 +02:00
Saúl Ibarra Corretgé dd044ad252 fix(settings) fix not showing the more tab
It used to only contain 3 sets of options, so we'd check if any of them
were set before showing it, but it now contains more options, so always
show it if the user requested it.
2022-08-08 14:26:04 +02:00
Robert Pintilii 5f04c5ba64
ref: Convert some reducers to TS (#11988) 2022-08-08 14:06:29 +03:00
Robert Pintilii 8f5eabe1f2
ref(TS) Remove ts-ignores (#11979) 2022-08-08 12:36:06 +03:00
Robert Pintilii 43578474a0
ref: Convert base/participants to TS (#11978)
Remove unnecessary ts-ignores
2022-08-08 11:12:22 +03:00
José Luís Andrade 6dbf283f3d Update Portuguese translation 2022-08-07 12:07:39 +02:00
Jaya Allamsetty a1e0a46bad fix(audio-only SS) Stop audio-only SS when user stops share from the browser's share in progress window. 2022-08-05 14:30:49 -04:00
Hristo Terezov 627027b167 fix(remote-control): when multistream is enabled
The remote control controller events were sent for the camera
participant instead of the screen sharing one.
2022-08-05 19:04:52 +03:00
Jaya Allamsetty 4d41d36020 fix(remote-control): fix remote-control when multi-stream is enabled. 2022-08-05 09:35:52 -04:00
Robert Pintilii 0f57c37d6a
feat(ui-components) Add clickable icon component (#11976) 2022-08-05 15:07:44 +03:00
Robert Pintilii 5b34068435
ref(ui-components) Use new input component (#11965) 2022-08-05 15:07:28 +03:00
apetrus20 52ce9a86ed
feat(large-video/web) Add screen share placeholder (#11971)
* feat(large-video/web) new ScreenSharePlaceholder component
2022-08-05 12:11:09 +03:00
Andrei Gavrilescu bdff92397b
fix(noise-suppression): remove no track warning on share audio flow (#11966)
* remove no track warning on share audio flow

* remove unused import
2022-08-04 16:51:13 +03:00
Andrei Gavrilescu 1abc6b1e4a
feat(noise-suppression): add toggle noise-suppression API (#11968)
* add toggle noise-suppression API

* switch NS API from toggle to set
2022-08-04 15:47:49 +03:00
Дамян Минков ca259287be fix: Applies AV moderation checks on screen sharing with multistream on.
Guests trying to screenshare see the notification but also the dialog for choosing content.
2022-08-04 14:28:43 +03:00
Robert Pintilii 5601a62b60
ref(ui-components) Use new Button component (#11969)
Remove atlaskit deps
2022-08-04 13:39:22 +03:00
Robert Pintilii d3c7b074d4
ref: Convert some files to TS (#11947) 2022-08-04 11:51:33 +03:00
Robert Pintilii 0fa0e99ffa
ref(ui-components) Replace Recording dialog switch with new component (#11963)
The additional component is needed because the dialog is shared between native and web
2022-08-04 11:32:00 +03:00
Robert Pintilii 002d0fed42
ref(security-dialog) Use new input component for password (#11946) 2022-08-04 11:26:13 +03:00
Jaya Allamsetty 873cdbb404 fix(external-api) Fix toggleShareScreen in multi-stream mode.
Fixes https://github.com/jitsi/jitsi-meet/issues/11916.
2022-08-03 11:28:09 -04:00
Filip Rejmus 91cbeb0b3f
fix(ios) use the RN logger in RN modules
The eventual RN SDK doesn't need to depend on our logger. When the native SDK i used the RN logger is diverted to ours anyway.
2022-08-03 15:16:43 +02:00
Robert Pintilii 3a87282e26
ref(ui-components) Replace Switch with new components (#11956) 2022-08-03 14:24:44 +03:00
Дамян Минков fa5ee32720 fix: Fixes tenants in default configuration. 2022-08-03 14:06:38 +03:00
Дамян Минков 03c91de5c1 fix(breakout): Do not load token_verification for breakout rooms.
The token verification is not needed for the breakout muc component as we verify the token for the main room and there are other checks for breakoutrooms.
2022-08-03 14:06:38 +03:00
Robert Pintilii 2ec82c371c fix(polls) Fix CSS 2022-08-03 12:57:24 +02:00
Robert Pintilii abc9d36c4c
ref(ui-components) Replace all Checkboxes with new component (#11948)
Remove atlaskit/checkbox dependency
2022-08-03 11:41:26 +03:00
Robert Pintilii efa0a132c4
fix(config) Fix recording config backwards compatibility (#11953)
Overwrite the new flag with the old one only if the new one is not set
Fix hideStorageWarning config
2022-08-03 10:31:00 +03:00
Jaya Allamsetty 083b009eba chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1481.0.0+7ed3be3b...v1484.0.0+6d5ca18b
2022-08-02 15:10:51 -04:00
Calin-Teodor f0ba37e605 feat(recording/native): added new Button component 2022-08-02 18:19:52 +03:00
Saúl Ibarra Corretgé a2c3bdf05f fix(lobby) fix not being able to type password
Autoofocus Strikes Back...
2022-08-02 17:30:16 +03:00
Robert Pintilii 22a52dafca
fix(i18n) Fix translate Typescript (#11949) 2022-08-02 14:41:12 +03:00
Robert Pintilii 3960b59765
feat(ui-components) Add Checkbox component (#11927)
Replace all checkboxes in the Settings Dialog
Convert some dialog tabs to TS
2022-08-02 13:51:42 +03:00
Robert Pintilii db54c45b13
feat(ui-components) Add toggle component (#11933) 2022-08-02 13:31:11 +03:00
Saúl Ibarra Corretgé 3e66e0009d fix(ios) add missing entitlement 2022-08-02 10:59:24 +02:00
Ali Alhaidary d091881851
fix(lang) update Arabic translation 2022-08-02 10:49:17 +02:00
Calin-Teodor de44c53482 feat(base/media): fixed linter 2022-08-02 11:30:36 +03:00
Calin-Teodor 64fef80f31 feat(base/media): removed max offset value for wide view screen sharing 2022-08-02 11:30:36 +03:00
Steffen Kolmer 87f6d27fb2
feat(liveStreamting) add configuration to customize streaming dialog 2022-08-02 10:27:18 +02:00
Saúl Ibarra Corretgé 3f0e50a9cd fix(base) drop old button implementation 2022-08-02 08:34:14 +02:00
Jaya Allamsetty d63e0c5ab6 fix(audio-share): Fix audio-only SS in multi-stream mode.
ShareAudioDialog passes undefined when the user hits continue in the share audio demo modal. Toggle state of audio-share based on the current state of audio share in that case.
2022-08-01 22:12:18 -04:00
Jaya Allamsetty 9b9fbc0bc9 fix(participants-pane): Get the correct participantCount for multi-stream.
Do not add virtual screenshare participants to participantCount.
2022-08-01 13:58:21 -04:00
Jaya Allamsetty 5505f01cd9 fix(screenshot-capture): Impl screenshot capture in multi-stream mode. 2022-08-01 13:58:21 -04:00
Saúl Ibarra Corretgé 7e7d3c0cc7 fix(config) add recordingService to the whitelist
Fixes: https://github.com/jitsi/jitsi-meet/issues/11760#issuecomment-1201049861
2022-08-01 19:11:00 +02:00
Hristo Terezov 1f99ce3457 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1474.0.0+5ae3b47c...v1481.0.0+7ed3be3b
2022-08-01 18:29:55 +03:00
Shawn Chin 94074836ec
feat(external-api) Add command to show custom in-meeting notification (#11897)
* feat(external-api) Add command to show custom in-meeting notification

* fix lint

* added uid to showNotifications, added hideNotifications
2022-08-01 13:37:41 +03:00
Calin-Teodor ccba7e8f75 feat(base/modal): renamed prop and fixed scroll inside webview 2022-08-01 13:12:14 +03:00
José Luís Andrade 727b6dab9e
fix(config) add 'noisesuppression' to 'toolbarButtons' 2022-08-01 11:35:17 +02:00
Andrei Gavrilescu 0f1bf09c69
fix(noise-suppression): fix muted state, update icons (#11936) 2022-08-01 11:58:37 +03:00
Robert Pintilii a6f93db8e3
ref: Convert i18n to TS (#11934) 2022-08-01 10:14:54 +03:00
Robert Pintilii 8e0cb583af
ref(thumbnail) Use new button component for video menu trigger (#11921) 2022-08-01 10:05:17 +03:00
Robert Pintilii 30a0a624a2
ref(profile-settings) Use new input component (#11928) 2022-08-01 10:04:36 +03:00
Robert Pintilii 2cea6c7b98
ref: Convert Theme to TS (#11926) 2022-08-01 10:04:23 +03:00
Robert Pintilii 69365d7e1f
ref: Convert some files to TS (#11929) 2022-07-29 16:18:14 +03:00
Robert Pintilii 5783e8992a
fix(screenshare-filmstrip) Fix pin screenshare (#11892)
On click on a screenshare pin that to stage (allows users to choose between multiple screenshares)
2022-07-29 14:13:02 +03:00
Robert Pintilii dbc29a08ee
fix(dialog) Add key to buttons (#11925) 2022-07-29 11:30:57 +03:00
Robert Pintilii 6f4b858e35
ref: Convert reducer to TS (#11920) 2022-07-29 11:01:50 +03:00
Robert Pintilii ffef8f78ea
ref(polls) Use new button component (#11918) 2022-07-28 16:45:32 +03:00
Saúl Ibarra Corretgé 82b2e77747 chore(deps) react-native-watch-connectivity@latest
This fixes the Android build because the old version depended on fbjs
wiithout actually listing it as a dependency.
2022-07-28 16:13:22 +03:00
Robert Pintilii abc752635d
ref(dialog) Use new button component (#11922) 2022-07-28 16:09:38 +03:00
Calinteodor 5ec6581d2e
feat(welcome/native): settings updates (#11830)
feat(settings/native): feature updates
2022-07-28 10:28:29 +03:00
Robert Pintilii e139c6d32d
ref: Convert some reducers to TS (#11915) 2022-07-27 13:28:10 +03:00
Robert Pintilii 4e1af131fb
ref(typescript) Remove unnecessary ts-ignores (#11914) 2022-07-27 12:56:07 +03:00
Robert Pintilii 867d998d15
ref(participants-pane) Use new button component (#11913) 2022-07-27 12:33:50 +03:00
Robert Pintilii b1a9d68cf5
ref(ui-components) Move components to base/ui (#11912) 2022-07-27 11:40:34 +03:00
Jaya Allamsetty 8b4c7ebc03 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1468.0.0+634885b9...v1474.0.0+5ae3b47c
2022-07-27 08:08:29 +02:00
Filip Rejmus 63ea273b20
fix(prejoin) rename Prejoin.js to Prejoin.web.js 2022-07-26 17:13:48 +02:00
Robert Pintilii ca3bd9138c Revert "fix(html) add doctype and fix HTML errors"
This reverts commit 432d07c2ad.
2022-07-26 15:40:25 +02:00
Robert Pintilii c5115f99f0
feat(ui-components) Add Input Component (#11882) 2022-07-26 13:58:28 +03:00
Calin-Teodor 0a385c561d feat(prejoin-lobby): ui fixes 2022-07-26 13:36:22 +03:00
Robert Pintilii 44e5fa35af
ref: Convert some reducers to TS (#11904) 2022-07-26 13:20:39 +03:00
Bo Frederiksen 432d07c2ad
fix(html) add doctype and fix HTML errors
* Changed render mode to standard compliant and adjusted CSS accordantly.

* Fixed HTML errors, removed XHTML reminiscences and whitespace.

* Added doctype and fixed a few HTML errors.

* The input field speakerStatsSearch overflows the dialog box. Added missing box-sizing.

Co-authored-by: Bo Frederiksen <bo.frederiksen@semaphor.dk>
2022-07-26 11:07:19 +02:00
Milo Ivir 2f42af0b70
fix(lang) update Croatian translation 2022-07-25 10:26:47 +02:00
Hristo Terezov e9055df9e3 fix(externalStorage): Infinitely growing.
In certain scenarios(when the iframe's domain is the same as the parent page)
 the jitsiLocalStorage key from local storage is
included in the serialized local storage and then
propagaded to the parent page. This way we end up with recursion which
grows the localStorage infinitely.
2022-07-25 10:54:21 +03:00
Christoph Settgast cc7d3247ab fix(lang) update German translation
Signed-off-by: Christoph Settgast <csett86@web.de>
2022-07-25 09:29:10 +02:00
Ali Alhaidary fa8608eea0
fix(lang) update Arabic translation 2022-07-25 09:23:40 +02:00
Christoph Settgast 0d9c4318ba feat(old-client-notification) bump notice for anything older than 2022
Bumped to catch old macOS versions which were not signed and thus did
not have autoupdater working (ie. everything older than
https://github.com/jitsi/jitsi-meet-electron/releases/tag/v2021.11.2)

Signed-off-by: Christoph Settgast <csett86@web.de>
2022-07-25 07:47:33 +02:00
Jaya Allamsetty 2a5e169c2f fix(filmstrip): Remove SS ep from list of active speakers.
This fixes a case where duplicate SS tile appears when SS ep is the dominant speaker and all the active speakers are currently visisble.
2022-07-21 12:25:26 -04:00
Saúl Ibarra Corretgé 2def75db50 fix(android) exclude the Giphy SDK from the libre build
Fixes: https://github.com/jitsi/jitsi-meet/issues/11759
2022-07-21 12:51:43 +02:00
Saúl Ibarra Corretgé 53e05fdea9 feat(config) allow dangling comma
It has been supported in JS since ES5 and it helps users not make syntax
errors by uncommenting lines which are not comma terminated.
2022-07-21 12:39:06 +02:00
Jaya Allamsetty c727b603af
fix(filmstrip) Make dominant speaker visible at all times (#11874)
* fix(filmstrip) Make dominant speaker visible at all times.

* squash: address review comments.
2022-07-20 15:51:47 -04:00
Robert Pintilii 5dbb17bc81
fix(filmstrip) Fix pinning (#11889) 2022-07-20 18:34:46 +03:00
Robert Pintilii cb712eb4ab
fix(local-recording) Notify external api about local recording (#11887) 2022-07-20 18:08:52 +03:00
Robert Pintilii c1e9724bba
ref: Convert some reducers to TS (#11886) 2022-07-20 18:01:16 +03:00
dependabot[bot] 24b9f5d113 chore(deps): bump terser from 5.11.0 to 5.14.2
Bumps [terser](https://github.com/terser/terser) from 5.11.0 to 5.14.2.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/commits)

---
updated-dependencies:
- dependency-name: terser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-20 15:25:36 +02:00
Calin-Teodor 4ef88aa90e feat(base-chat): conditioned should set responder 2022-07-20 15:54:14 +03:00
Andrei Gavrilescu 06491e2406
feat(noise-suppression): Add noise suppression effect. (#11547)
* add denoise effect

* denoise prototype

* improve rnnoise / add comments

* revert some unnecessary changes

* Add noise suppressor worklet

* Send notification on failure

* address code review

* additional comments

* additional comments

* update package-lock

* fix rebase changes

* update rnnoise npm package

* sort lang

* adjust webpack performance hint

* address code review

* address code review

* switch ns files to typescript

* fix null-loader version, lang sort

* fix lint

* missing import

* fix lint / address code review

* use single action for ns state

* move activation to thunk

* increase node heap

* copy noise-suppressor to deploy

* fix ts lint
2022-07-20 15:31:17 +03:00
Milo Ivir 9ce52b237e
fix(lang) update Croatian translation 2022-07-20 14:27:29 +02:00
Robert Pintilii ac2af79807
ref(TS) Alpha sort interfaces (#11883) 2022-07-20 11:47:01 +03:00
Robert Pintilii 4a8c8899a9
feat(tokens) Add new tokens (#11881) 2022-07-20 09:58:51 +03:00
Robert Pintilii b08ed3ade4
feat(ui-components) Add button component (#11868) 2022-07-20 09:19:59 +03:00
Robert Pintilii 718d32990d
feat(theme) Add TS interface for Theme (#11877)
Update typography Tokens
Use new Theme interface
2022-07-19 13:36:02 +03:00
Mihaela Dumitru 009588a3d8
fix(hangup) - redirect after hangup in tenant meetings (#11876) 2022-07-19 12:21:18 +03:00
Robert Pintilii 449d52f26b
ref: Convert some reducers to TS (#11875) 2022-07-19 10:58:56 +03:00
bgrozev 5a4ffea9aa
feat: Always enable receiveMultipleVideoStreams. (#11871) 2022-07-18 11:23:40 -05:00
Robert Pintilii d8b435ad16
fix(typescript) Make TS parse tsx files (#11866) 2022-07-18 16:16:08 +03:00
Robert Pintilii b259757c79
fix(lobby) Fix buttons colors (#11867) 2022-07-18 11:40:16 +03:00
Robert Pintilii 7995c7ed00
ref: Convert registries to TS (#11865) 2022-07-15 15:33:09 +03:00
Robert Pintilii 08173ac1df
fix(screensharing-pinning) Clear pin on tile view (#11864) 2022-07-15 15:03:45 +03:00
BinaryWizard904 e33b65da36
fix(debian) add mime.type mapping for wav files
Add mime.type mapping for wav files so Firefox supports playback of these sounds.
2022-07-14 21:53:00 +02:00
Robert Pintilii defd0d2aaf
ref: Convert some reducers to TS (#11862) 2022-07-14 12:38:09 +03:00
luzpaz c7f96de787
fix(misc) fix typos
Found via `codespell -q 3 -S ./lang -L miliseconds`
2022-07-14 09:10:08 +02:00
José Luís Andrade 29669d88dc
fix(lang) update Portuguese translation 2022-07-13 18:13:56 +02:00
William Liang 131eed0f62 fix(screenshare) disable sound when presenter stops sharing 2022-07-13 09:13:40 -04:00
Saúl Ibarra Corretgé 77da65b8ea chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1466.0.0+2682b4ec...v1468.0.0+634885b9
2022-07-13 10:41:12 +02:00
Saúl Ibarra Corretgé 989b8d9c2b fix(dynamic-branding) fix loading on web
The configuration is not stored in Redux by the time we try to fetch it,
so use the global on Window, which will.
2022-07-13 10:22:56 +02:00
Robert Pintilii eb20e85166
fix(local-recording) Improvements (#11854)
Add config option for self recording
Add Beta label
2022-07-13 10:42:06 +03:00
Дамян Минков d981acb94a
fix(breakout-rooms): Stop previous leave timers if any. (#11842)
* fix(breakout-rooms): Stop previous leave timers if any.

* squash: Rename field.
2022-07-12 16:31:43 +03:00
Horatiu Muresan 155a14b351
fix(virtual-background) Fix virtual backgrounds list (#11833) 2022-07-12 16:18:07 +03:00
Robert Pintilii 139fa9b3f2
fix(theme) Fix tokens (#11822)
Fix elements to use correct tokens
2022-07-12 15:28:20 +03:00
Robert Pintilii f31a7f31e6
ref: Convert files to TS (#11840) 2022-07-12 14:41:26 +03:00
Robert Pintilii df887d24a2
fix(local-recording) Fixes (#11834)
Allow service change when only Dropbox and Local recording are enabled
Add space between REC indicator and meeting title
Hide Recording button if the feature is enabled but not supported
Don't play Stop recording sound on self recording
2022-07-12 14:25:56 +03:00
Avram Tudor 6286c76904
fix(more-tab) fix crash when quickly selecting settings more tab (#11837) 2022-07-12 14:11:44 +03:00
Saúl Ibarra Corretgé 780019a711 fix(etherpad) close menu when opening / closing document
Specially when we oopen it, mouse tracking will no longer work, so it
would remain open.
2022-07-12 10:45:46 +02:00
Дамян Минков 4d51aedde0
feat: Adds room info http endpoint jwt protected. (#11738)
* feat: Adds room info http endpoint jwt protected.

Used from dialplan from jigasi for handling passwords in IVR.

* squash: Fixes comments.

* squash: nginx api/rom-info

* fix: Skips tenant checks when enableDomainVerification is false.

* squash: Drops duplicate code and supports multi-shards.

By adding room= parameter in query and tenant prefix for the api we add support for multi-shards setup.

* feat: Enable domain verification by default.

This is used when verifying room access with token_verification module.

* squash: Update docs.
2022-07-12 09:51:13 +03:00
Calin-Teodor 058c82a704 feat(toolbox/conference): review remarks 2022-07-11 18:21:14 +03:00
Calin-Teodor 7e2f3f7d68 feat(toolbox/conference): button places updates 2022-07-11 18:21:14 +03:00
Calin-Teodor 30b0bb7bd6 feat(conference): removed padding 2022-07-11 18:18:33 +03:00
Greg 'Gosha' Galperin f02a75bc9d
fix(lang) update Russian translation 2022-07-11 16:01:05 +02:00
Дамян Минков 6b5a821696 feat: Moves to use jitsi-anonymous by default.
jitsi-anonymous adds by default handling of previd url param, which allows websocket resumption.
2022-07-11 16:17:12 +03:00
Дамян Минков ad46df0a1a fix: Fixes tokens debian package configuration. Fixes #11702. 2022-07-11 15:33:36 +03:00
Saúl Ibarra Corretgé b0deb9ec0c
fix(lint) make sure eslint also runs on TypeScript files (#11777)
Co-authored-by: robertpin <robert.pin9@gmail.com>
Co-authored-by: Gabriel Borlea <gabriel.borlea@8x8.com>
2022-07-11 15:30:37 +03:00
zobadaniel 61a6ce2a2e
lang: add upper sorbian translation (#11610)
* add upper sorbian translation

* add missing entries

* sort files
2022-07-11 14:56:25 +03:00
dependabot[bot] bacdbeff21 chore(deps): bump moment from 2.29.2 to 2.29.4
Bumps [moment](https://github.com/moment/moment) from 2.29.2 to 2.29.4.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.29.2...2.29.4)

---
updated-dependencies:
- dependency-name: moment
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-11 13:00:38 +02:00
Ali Alhaidary 7fc9f6f515
fix(lang) update Arabic translation 2022-07-11 12:42:03 +02:00
Christoph Settgast d34aae4a4b fix(lang) update German translation
Signed-off-by: Christoph Settgast <csett86@web.de>
2022-07-11 09:27:48 +02:00
Calin-Teodor ab86d336fb feat(security/native): replaced security dialog buttons with new button 2022-07-08 19:21:12 +03:00
Calin-Teodor ffc412c18d feat(base): fixed height for buttons 2022-07-08 13:47:14 +03:00
Calin-Teodor 077901cd2b feat(conf/gifs/participants): created ParticipantsPaneFooter and updated comments 2022-07-08 13:47:00 +03:00
Calin-Teodor ba3cd53017 feat(base): TERTIARY type rework 2022-07-08 13:46:42 +03:00
Calinteodor 0d50f1867d
feat(mobile/navigation): revert to stack navigator (#11811)
* feat(mobile/navigation): replaced native stack with stack navigator and other ui fixes
2022-07-07 18:05:58 +03:00
Jaya Allamsetty e9cfa78aaf chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1464.0.0+28aab9fc...v1466.0.0+2682b4ec
2022-07-07 10:57:38 -04:00
Jaya Allamsetty 76f7f3943f fix(virtual-background) Do not allow desktop as virtual background when multi-stream is enabled. 2022-07-07 08:42:40 -04:00
Jaya Allamsetty b9b8090996 fix(Toolbox) Render the virtual background button in multi-stream mode.
In multi-stream mode, both camera and desktop streams are available at the same time. Virtual backgrounds can be applied to the camera stream while screensharing is in progress.
2022-07-07 08:42:40 -04:00
Calinteodor d42e18c7bb
feat(base/native): button abstractions (#11795)
* feat(base): created Button.tsx and IconButton.tsx
2022-07-07 15:29:18 +03:00
Mihaela Dumitru a685f096a0
fix(message/notification): use unique keys for url tokens (#11809) 2022-07-07 14:54:10 +03:00
Calin-Teodor 49357e3cd2 feat(gifs/native): fixed linter 2022-07-07 14:28:27 +03:00
Calin-Teodor 049a3eb7fb feat(gifs/native): created GifsMenuFooter 2022-07-07 14:28:27 +03:00
Calin-Teodor a31cc62c25 feat(conference/native): created CarModeFooter 2022-07-07 12:22:39 +03:00
Calin-Teodor 75ddf3e75f feat(base): removed PagedList because it is not used anymore 2022-07-07 10:36:48 +03:00
Calin-Teodor 40128277bc feat(etherpad): ui fixes 2022-07-06 23:55:14 +02:00
Saúl Ibarra Corretgé 7770d59c93 chore(rn,versions) set app and sdk versions for development
We'll bump them appropriately in release branches to avoid churn in
master.
2022-07-06 23:18:32 +02:00
Boris Grozev 2dd3c72473 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1461.0.0+96664436...v1464.0.0+28aab9fc
2022-07-06 14:40:59 -04:00
Calinteodor 4a4856f3de
feat(conference/native): disabled PiP on WelcomePage (#11801)
* feat(conference/native): disabled PiP on WelcomePage
2022-07-06 18:14:41 +03:00
Titus Moldovan 47bdf800e7 fix(ios) removes scope from sendEvent parameter in ExternalAPI 2022-07-06 17:11:55 +02:00
Robert Pintilii f6d088149c
fix(video-constraints) Fix video constraints for resizable top panel (#11794) 2022-07-05 17:23:01 +03:00
Saúl Ibarra Corretgé cbe3d6d505
feat(rn) remove use of externalAPIScope
Use the system broadcasting mechanism instead.

On Android I took the chance and removed the no longer needed
BaseReactView and implemented it on JitsiMeetView instead.
2022-07-05 11:40:03 +02:00
Calin-Teodor b41c71e80b feat(conference): fixed linter 2022-07-05 10:16:13 +03:00
Calin-Teodor a4b997362a feat(conference): disabled pip if we are not in conference room 2022-07-05 10:16:13 +03:00
Saúl Ibarra Corretgé a5da90ddaf fix(prejoin) don't hide during auth
Fix the focus issue by disabling autofocus in case an auth (login, ait
for owner or password) dialog is shown.

Fixes: https://github.com/jitsi/docker-jitsi-meet/issues/1336
2022-07-05 07:49:35 +02:00
Saúl Ibarra Corretgé dffa71666c fix(rn) fix mobile build
Looks like a transform error of some sort, it chokes on the ??=
shorthand syntax.
2022-07-04 21:09:32 +03:00
Calin-Teodor 892751154c feat(etherpad/native): fixed header left close button 2022-07-04 17:48:28 +03:00
Robert Pintilii 935e4d3261
ref(config) Convert config to TypeScript (#11774) 2022-07-04 14:12:12 +03:00
Saúl Ibarra Corretgé f115028961 fix(rn,dynamic-branding) fix extracting fqdn from URL
On mobile we don't want to look in window.location.
2022-07-04 10:52:13 +03:00
Robert Pintilii d910b9db57
fix(filmstrip) Fix screensharing filmstrip (#11775) 2022-07-04 10:32:59 +03:00
Robert Pintilii b2b576f6fb
ref(reducers) Convert some reducers to TS (#11768) 2022-07-01 12:33:03 +03:00
Robert Pintilii a39d9f283d
ref(reducers) Convert some reducers to TS (#11768) 2022-07-01 12:32:39 +03:00
Saúl Ibarra Corretgé 0913cf2c4f fix(android) make ongoing service public
Those using the view API may want to integrate iit in their own
Activity.
2022-07-01 11:58:18 +03:00
tmoldovan8x8 51f7b46628
fix(android) explicitly sets the theme for JitsiMeetActivity 2022-06-30 16:44:52 +02:00
George Politis d029045fda
fix: Do not send the videoType for audio tracks (#11742) 2022-06-30 16:21:42 +02:00
Alex Bumbu ddab27e292
fix(ios, pip): update view hierarchy to present the rn view with view controller 2022-06-29 17:57:51 +02:00
Calin-Teodor 6df2e4009c feat(dynamic-branding): get branding data from state 2022-06-29 18:47:38 +03:00
Robert Pintilii 21cf7f23c2
feat: Add screenshare filmstrip (#11714)
Add new screen share layout with resizable top panel
Only enable new layout in large meetings (min 50 participants - configurable)
2022-06-29 16:59:49 +03:00
Calin-Teodor bac1347961 feat(lobby/prejoin/native): display name input text color update 2022-06-29 15:56:03 +03:00
Robert Pintilii c4f39e9c34
feat(recording) Add config to hide storage warning (#11761) 2022-06-29 15:28:20 +03:00
Saúl Ibarra Corretgé ee266160f9 fix(external-api) fix error if setting some options too early
Specifically: display-name, email and avatar. These are the most common
ones, and the ones currently used by Spot for example.
2022-06-29 13:28:53 +03:00
Robert Pintilii 730d42cba1
fix(local-recording) Improvements (#11754)
Show Start rec button if local rec is enabled but fileRecordings is disabled
Add warning for users to stop the recording
2022-06-29 10:05:55 +03:00
Calin Chitu 3f795cd1ff feat(gifs/native): fixed gify search input 2022-06-28 18:23:14 +03:00
Robert Pintilii 252441da29
feat(transcription) Enable for all (#11739)
Move all transcription configs into new object
2022-06-28 14:11:26 +03:00
Saúl Ibarra Corretgé b89c470366 chore(deps) react-native-screens@3.13.1 2022-06-28 12:02:47 +03:00
nbeck.indy 6e32a146e3 feat(settings): add option to mute lobby knocking sounds 2022-06-28 08:32:43 +03:00
Alex Bumbu 6f02382472 fix(iOS) fixed running in simulator for apple silicon 2022-06-27 17:12:26 +03:00
Calinteodor de37c3e809
feat(polls/native): New polls screen (#11741)
* feat(polls/native) style updates
2022-06-27 16:53:52 +03:00
Robert Pintilii ec47f530bc
fix(tile-view, rn) Fix tile view in landscape (#11749)
Increase number of max columns to 4
2022-06-27 15:20:58 +03:00
Mihaela Dumitru 7b538fc3e9
fix(polls) Update limits (#11748) 2022-06-27 09:20:49 +03:00
Saúl Ibarra Corretgé d5146aaf2e chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1459.0.0+4cb919e0...v1461.0.0+96664436
2022-06-25 17:38:10 -05:00
apetrus20 efb46df3d9
fix(chat) fix scrolling chat in safari 2022-06-24 22:19:55 +02:00
Hristo Terezov 88e6aa3323 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1457.0.0+ad75454f...v1459.0.0+4cb919e0
2022-06-24 15:09:44 -05:00
Robert Pintilii a7c96e302f
feat(local-recording) Add self local recording (#11706)
Only record local participant audio/ video streams
2022-06-24 15:07:40 +03:00
Saúl Ibarra Corretgé b85da1e1bb fix(build,dev) disable circular dependency detector
It can be enabled with the env var, there are just too many positives at
the moment for it to be useful.
2022-06-24 11:57:04 +02:00
Saúl Ibarra Corretgé e7c5421e33 fix(build,dev) fix source map generation in development mode 2022-06-24 11:57:04 +02:00
Calinteodor 4b4caf5b1c
feat(prejoin/web): updated shouldAutoKnock helper (#11725)
* feat(prejoin) updated shouldAutoKnock helper
2022-06-23 17:39:10 +03:00
Mahdhi Rezvi 8f1fae79e4
feat(settings) add abilty to hide more tab under settings 2022-06-23 14:44:26 +02:00
tmoldovan8x8 9a99c517ab
fix(rn, pip) enables PiP on conference mounted 2022-06-23 14:42:41 +03:00
Robert Pintilii 40a6240444
feat(local-recording) Update config (#11731)
Enable feature by default
2022-06-23 14:03:21 +03:00
tmoldovan8x8 4d6ca4383f
fix(android) calls startForeground in onCreate
Call startForeground in onCreate to avoid android.app.RemoteServiceException thrown by the system.
2022-06-23 09:41:32 +02:00
Robert Pintilii ddce2e6bec
feat(breakout-rooms) add context menu to participants in other rooms 2022-06-23 09:40:11 +02:00
Robert Pintilii 7dca91a50a
fix(local-recording) Add notification config and style fixes (#11728)
Add analytics
2022-06-22 12:52:22 +03:00
Saúl Ibarra Corretgé 31348179d4 fix(auth) simplify auth-and-upgrade procedure
It's not necessary to perform a full join, sending a conference IQ is
enough.
2022-06-21 19:20:09 +02:00
Calinteodor e77679d025
feat(dynamic-branding): SVG branding image needs to cover the entire screen (#11724)
* feat(dynamic-branding) scale SVG branding image to cover entire screen
2022-06-21 17:51:25 +03:00
Titus Moldovan 44a9363f5b feat(mobile, external_api) exposes setClosedCaptionsEnabled 2022-06-21 16:18:31 +02:00
Calinteodor bb76090bce
feat(lobby/prejoin): updates
* feat(base/modal) added keyboard dismiss functionality

* feat(lobby) updated ui and start knocking if name is set

* feat(prejoin) updated ui and hide input if name is not required

* feat(prejoin) updated join button styles

* feat(prejoin) removed extra empty space

* feat(prejoin) updated disable join condition

* feat(base/modal) moved keaboard dismiss functionality

* feat(conference) updated auto knock condition

* feat(prejoin) updated button styles and disabling condition

* feat(lobby) updated styles

* feat(lobby/prejoin) updated styles for buttons and inputs

* feat(lobby/prejoin) updated contentContainer styles

* feat(lobby/prejoin) created shouldEnableAutoKnock helper
2022-06-21 16:16:38 +02:00
Robert Pintilii d0790736db
feat(external-api) Add participants pane toggled event (#11718) 2022-06-21 16:23:33 +03:00
Jaya Allamsetty 0308ba71b1 fix(audio-only) Do not unmute camera when SS is in progress.
If the audio-only mode is automatically disabled when user starts a screenshare while in audio-only mode, do not unmute the camera track.
2022-06-21 07:48:02 -04:00
Jaya Allamsetty f7d1a5ec80 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1455.0.0+f3a2f61e...v1457.0.0+ad75454f
2022-06-21 07:24:38 -04:00
Saúl Ibarra Corretgé d61fe58fcf fix(rn,styles) cleanup unused styles 2022-06-21 11:48:07 +02:00
Titus Moldovan b428ce2dcd fix(pip) make PiP disabled by default
This reverts commit c84c3c61e2c24014b43023316627f7747bbca7a6.
2022-06-21 10:36:21 +03:00
Titus Moldovan d1c9720033 fix(rn) add backhandler on Prejoin screen 2022-06-21 10:36:21 +03:00
Andrei Gavrilescu c29e8bbdd1
feat(analytics): obfuscate room name (#11587)
* obfuscate room name

* fixed js-sha version

* add comma

* check for room change
2022-06-21 09:53:07 +03:00
Horatiu Muresan 3fb3be9727
feat(invite) Consider SHARING_FEATURES on the email invites (#11711) 2022-06-20 23:18:06 +03:00
Saúl Ibarra Corretgé 517ec29d85 fix(rn,dialogs) fix displaying dialogs on top of modal screens
Render them together with bottom sheets in a FullWindowOverlay.
2022-06-20 18:37:28 +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
José Luís Andrade 0e98f90205
fix(lang) update Portuguese translation 2022-06-18 23:26:06 +02:00
Saúl Ibarra Corretgé 2c5b132483 fix(util) fix parsing strings in parseURLParams
After https://github.com/jitsi/jitsi-meet/pull/11607 we might call it
with a string. Be nice and accept that in addition to URL objects.
2022-06-18 23:17:55 +02:00
Calinteodor 4d8f29d4fe
feat(rn,dynamic-brandind) added background image url to prejoin and lobby 2022-06-18 21:59:10 +02:00
Ali Alhaidary 22be96d838
fix(lang) update Arabic translation 2022-06-18 20:54:51 +02:00
Дамян Минков ccc1157df5 fix: Fixes navigating back to welcome page after clicking cancel on login window.
It was handling just conference_failed with password required, but not connection failed with password required.
2022-06-17 15:19:06 +03:00
Дамян Минков f613126776 fix: Hides pre join screen in few login window cases.
In Firefox pre-join was grabbing the focus and yuo cannot type username and password after clicking I'm the host button.
2022-06-17 15:19:06 +03:00
Robert Pintilii 38b21e986d
fix(pinning) Fix pinning (#11693)
Hide Pin to Stage button while screensharing
Fix pin indicator while screensharing
2022-06-17 15:15:14 +03:00
Horatiu Muresan 38abca8a65 fix(carmode) Force potrait mode, add connection indicator 2022-06-17 12:54:51 +02:00
Дамян Минков f3c6b54ffa
fix: When adding a room param to urls check for previous params. (#11607)
* fix: When adding a room param to urls check for previous params.

* squash: Uses URL object to modify the url.

* squash: Use common connection options from base/connection.

Normalizes bosh url and for web.

* squash: Adds release param to external api and handles it.

* feat: Adds release handling for mobile(links in welcome page).

* squash: Fixes comments.
2022-06-16 15:27:41 +03:00
Gabriel Borlea 7dd85bb6ad
fix(face-landmarks): work only when one face is detected (#11661)
* fix(face-landmarks): work only when one face is detected

* fix: remove redundant check for detection

* fix(face-landmarks): re-center and stop when more faces detected

* fix: remove faceCount checking when sending message from worker

* fix: add again the faceCount

* fix: add comment

* code review
2022-06-16 14:50:31 +03:00
Gabriel Borlea 624f88e069
add(face-landmarks): flag for rtc stats (#11682)
* add(face-landmarks): flag for rtc stats

* fix: check is faceLandmarks is defined
2022-06-16 14:13:36 +03: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
Calinteodor dbf7bf4750
feat(prejoin) native prejoin screen and other navigation updates
* feat(prejoin) created native Prejoin screen

* feat(prejoin) fixed useState callback and updates warnings

* feat(prejoin) created styles file

* feat(prejoin) moved nav from middleware to appNavigate, created native DeviceStatus

* feat(prejoin) updated styles

* feat(prejoin) review remarks pt. 1

* feat(prejoin) removed unused styles

* feat(prejoin) review remarks pt. 2

* feat(prejoin) comment fix

* feat(prejoin) added header title

* feat(prejoin) review remarks

* feat(lobby) updated styles

* feat(prejoin) updated lobby screen header button functionality

* feat(prejoin) review remarks pt 3

* feat(welcome) removed VideoSwitch component

* feat(mobile/navigation) fixed linter

* feat(welcome) moved isWelcomePageEnabled to functions.ts

* feat(mobile/navigation) screen options and order updates

* feat(app) review remark

* feat(welcome) added translation for screen header title and fixed build

* feat(mobile/navigation) added screen title translation and created screen option

* feat(mobile/navigation) fixed screenOptions import

* feat(mobile/navigation) added DialInSummary title translation, fixed animation and close button

* feat(welcome) fixed build

* feat(welcome) removed extra check

* feat(prejoin) review remarks pt 4

* feat(prejoin) added Join in low bandwidth mode btn

* feat(welcome) changed welcome screen header title

* fixup lobby close
2022-06-16 11:49:07 +02:00
Titus Moldovan d31eb3b248 fix(android) parse initial isAudioMuted when starting JitsiMeetOngoingConferenceService 2022-06-16 11:54:25 +03:00
Titus Moldovan 9b75fc98c1 feat(rn) send isAudioMuted on conferenceEvent 2022-06-16 11:54:25 +03:00
hmuresan 1ee9f6a7e5 feat(extension-banner) Show edge extension when edge browser detected 2022-06-16 11:43:03 +03:00
Robert Pintilii 06d0cbd418
fix(local-recording) Don't use setCaptureHandle when in iframe (#11687) 2022-06-16 10:43:58 +03:00
Nils Ohlmeier 066dd71afb
feat(RTC): report conference start timestamp through rtcstats (#11646) 2022-06-15 15:22:15 -07:00
Hristo Terezov d573bd41b4 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1454.0.0+fd668c9d...v1455.0.0+f3a2f61e
2022-06-15 16:25:02 -05:00
Robert Pintilii d06d190229
fix(keyboard-shortcut) Fix error on number keypress (#11680)
Fix error when pressing a number bigger than the number of participants
Fix local recording issue
2022-06-15 14:04:06 +03:00
Shahab d3b650c741
refactor(prejoin) use jss instead of sass in DialOutDialog (#11361)
* refactor(premeeting): use jss instead of sass in DialOutDialog

* refactor(prejoin): move remaining prejoin-dialog styles to commonStyless
2022-06-15 10:34:09 +03:00
Saúl Ibarra Corretgé 4a04b8b5ee fix(rn,dynamic-branding) filter out gradients 2022-06-14 15:39:14 +02:00
Saúl Ibarra Corretgé 6718ba7423 feat(rn,dynamic-branding) add support for didPageUrl and inviteDomain 2022-06-14 15:39:14 +02:00
robertpin e662433c2a Add audio constraints 2022-06-14 15:11:00 +02:00
robertpin 08bb957672 fix(local-recording) Add framerate 2022-06-14 15:11:00 +02:00
Saúl Ibarra Corretgé 78d8176cc8 fix(rn,bottom-sheet) fix styling after refactor
I somehow missed all other usages of the ColorSchemeRegistry.
2022-06-14 13:38:45 +02:00
robertpin 59ee984e09 fix(tile-view, rn) Fix landscape mode tile view 2022-06-14 13:38:24 +02:00
Robert Pintilii f6fab051ce
chore(deps) lib-jitsi-meet@latest (#11671)
https://github.com/jitsi/lib-jitsi-meet/compare/v1450.0.0+462996fc...v1454.0.0+fd668c9d
2022-06-14 11:01:04 +03:00
Saúl Ibarra Corretgé f0ff6a9f1c fix(video-layout) fix usage of disableTileView
The documented behavior is that it would disable auto-switching to it,
but users would still be available to toggle it.

This change restores that behavior. If the user has selected a layout
that will be preferred before cheching for this setting.

Ref: https://community.jitsi.org/t/how-to-disable-titleview/115093
2022-06-13 14:35:30 +02:00
Calin Chitu dfa761b963 feat(mobile/navigation): added screen orientation based on Platform 2022-06-10 17:55:56 +02:00
Saúl Ibarra Corretgé ad8cdcd81b fix(rn,bottom-sheet) fix scroll
In the past we used a PanResponder to detect user gestures in the sheet
to show a reduced version or a full-height version of it, and also to
close it.

There is an obvious conflic between the gestures and scrolling, which
didn't work all that great, but we could live with it.

After reactions were introduced we no longer rendered the 2 different
heights, so that functionaligy stopped being used but the PanResponder
still remained there.

This commit removes it completely and sets a max height of 75% on any
BottomSheet, so any tap outside will close it.
2022-06-10 17:54:58 +02:00
Calin Chitu 98ef0e74d6 feat(welcome/native): updated settings name placeholder example text 2022-06-10 17:59:50 +03:00
Saúl Ibarra Corretgé 746fde7c10 fix(local-recordings) fix for browsers not supporting MediaRecorder 2022-06-10 16:15:03 +02:00
Calin Chitu bedddd4760 fix(lobby/native) removed nav button overwrite 2022-06-10 16:07:56 +03:00
Calin Chitu 7ea78e9845 fix(lobby/native) style updates and local video fix 2022-06-10 16:07:56 +03:00
Gabriel Borlea 9383942cb9
fix(face-landmarks): filter face detections based on detection score (#11658)
* fix(face-landmarks): filter face detections based on detection score

* fix: add blank line and semi column
2022-06-10 15:19:18 +03:00
Avram Tudor 2f1fe637ca
fix(prejoin) fix avatar centering (#11655) 2022-06-10 09:16:23 +03:00
abora8x8 15d453de1d
Fix: Speaker stats are not delivered for the breakout rooms (#11644)
* Send speaker stats for brk room

* Fix comments component loaded
2022-06-09 13:15:04 -05:00
Calin Chitu a272995b8c feat(navigation) style updates 2022-06-09 17:54:49 +03:00
Jaya Allamsetty 10b800e57f chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1448.0.0+3df2abec...v1450.0.0+462996fc
2022-06-09 10:42:14 -04:00
chipechop ca77563bf1 Update main-it.json
added car mode and polished many words
2022-06-09 09:22:44 -05:00
Calin Chitu 44ff1aac11 feat(mobile/navigation) - updated shared doc animation 2022-06-09 15:14:54 +02:00
Calin Chitu 79e648867d feat(mobile/navigation) - removed stack dependency and updated animation options 2022-06-09 15:14:54 +02:00
Calin Chitu fc725c07e9 feat(mobile/navigation) - updated to native stack navigators 2022-06-09 15:14:54 +02:00
Horatiu Muresan d49c86bd5f
feat(deployment-urls): Whitelist deploymentUrls; remove JaaS restriction 2022-06-09 16:00:41 +03:00
Hristo Terezov aee94ad6fb fix(presenter): Broken stop SS + presenter.
Fixes an issue - not able to stop the screen sharing in presenter
mode from the screen sharing button.
2022-06-08 12:28:57 -05:00
Gabriel Borlea 38011e537a
add(face-landmarks): max faces detected config and default value (#11625)
* fix(face-landmarks): set max detected faces up to 4

* add(face-landmarks): config for max faces detected

* fix(config.js): default value for capture interval face-landmarks

* add missing coma
2022-06-08 12:28:41 -05:00
Werner Fleischer 13194ddfba fix(lang): logout question asks to stop the conference
A minor wording change to prevent confusion: On logout one is asked
whether to stop the conference but the conference is only left by the
participant.
2022-06-08 12:28:13 -05:00
Alex Bumbu 7895abb9ea fix(ios, pip) make initialPositionInSuperView property public 2022-06-08 13:38:20 +02:00
Avram Tudor 9060bebca9
fix(prejoin) fix styling of avatar (#11629) 2022-06-08 13:19:08 +03:00
Robert Pintilii 38724458e3
ref(reactions) Re-write using TypeScript (#11603) 2022-06-08 10:44:47 +03:00
Дамян Минков 1bce1524db feat: Fix display name in prejoin stealing focus.
When there is a password and lobby enabled, participants cannot enter password as the display name is stealing the focus.
When there is just password set the same field steals the focus from the password prompt.
2022-06-07 15:53:36 -05:00
Werner Fleischer def3c76e10 fix(rn, chat): localize the chat button label 2022-06-07 17:14:22 +02:00
Ali Alhaidary 5be770cad1
fix(lang) update Arabic translation 2022-06-07 12:15:53 +02:00
Andrei Gavrilescu dd867b2a92 bump rtcstats to 9.2.0 2022-06-07 12:15:19 +02:00
Jaya Allamsetty 958ffb3076 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1439.0.0+42f5b4bf...v1448.0.0+3df2abec
2022-06-06 12:38:47 -04:00
Дамян Минков bab3c4abc4 feat: Fix luajwtjitsi deependencies.
As luajwtjitsi is in jitsi-meet-prosody move its dependencies.
2022-06-06 10:37:49 -05:00
Robert Pintilii 1f342b79a8
fix(local-recording) Fix native (#11622) 2022-06-06 15:25:36 +03:00
Saúl Ibarra Corretgé 3af782f894 chore(rn,versions) bump sdk and app versions 2022-06-03 14:04:06 +02:00
Robert Pintilii e27069447b
feat(local-video-recording) Allow users to record the meeting locally (#11338) 2022-06-03 14:45:27 +03:00
Saúl Ibarra Corretgé 7ac573d628 fix(android) fix incorrect colors on MIUI devices
They "force" a dark mode but we already have a dark palette, so avoid
the system overriding the base colors.

Fixes: https://github.com/jitsi/jitsi-meet/issues/9981
Fixes: https://github.com/jitsi/jitsi-meet/issues/8781
2022-06-03 13:03:53 +02:00
Saúl Ibarra Corretgé b3db9ce6cf feat(build) make sure we error out if patch-package fails
Ref: https://github.com/jitsi/jitsi-meet/issues/11611
2022-06-03 10:48:21 +02:00
Jaya Allamsetty 1397b9ac80
fix(multi-stream) RN Add listeners for track streaming status updates on large-video.
* fix(multi-stream) RN Add listeners for track streaming status updates on large-video.
Fixes an issue where video on large-video is not being rendered when there is no filmstrip, i.e., there is only 1 remote participant in the call with source-name signaling enabled. Also do not show the screensharing indicator on the camera thumbnail when a virtual SS tile is created for the local screenshare.

* squash: add a comment
2022-06-01 16:13:27 -04:00
Robert Pintilii de294cae92
fix(giphy-integration) Fix input issues (#11601)
Fix auto focus on menu open
Fix unable to use space in input
2022-05-31 11:58:25 +03:00
José Luís Andrade 5cef3dc1ba
fix(lang) update Portuguese translation 2022-05-30 21:23:08 +02:00
Saúl Ibarra Corretgé 1dce802031 fix(prejoin,config) move hidePrejoinDisplayName to the prejoin section 2022-05-30 16:19:27 +02:00
Gabriel Borlea 11d61d6d7d
fix(face-landmarks): human helper tensor disposal and async functions (#11596)
* fix(face-landmarks): human helper tensor disposal and async functions

* fix(face-landmarks): rename functions in interface
2022-05-30 16:04:20 +03:00
Saúl Ibarra Corretgé b5f3cd14c2 fix(ios) fix not using the loudspeaker by default
Fixes: https://github.com/jitsi/jitsi-meet/issues/11563
2022-05-30 14:04:05 +02:00
Calin Chitu f87ce0defe fix(recording/native) Button import missing 2022-05-30 10:28:19 +03:00
Joan Montané 201ff8f1da
fix(lang) update Catalan translation 2022-05-30 08:55:34 +02:00
Avram Tudor 0c44b9a478
feat(prejoin) allow disabling prejoin display name editing (#11575) 2022-05-26 15:38:38 +03:00
Robert Pintilii 9dba1d30b0
fix(raise-hand) Fix multiple raise hand from notification (#11586)
Only dispatch raise hand if hand was not already raised
2022-05-26 14:36:12 +03:00
Jaya Allamsetty ad70f12cb4
fix(filmstrip) Add handlers for track streaming status on RN. (#11584)
* fix(filmstrip) Add handlers for track streaming status on RN.
This is needed for switching between video and avatar when the track's streaming status changes in source-name signaling mode.

* squash: Add comment.
2022-05-24 21:37:08 -04:00
Hristo Terezov 6ea7ab2b46 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1438.0.0+b9aa0e59...v1439.0.0+42f5b4bf
2022-05-24 17:10:40 -04:00
Hristo Terezov 0ef71f4368 fix(deviceSelection):prejoin-update current device 2022-05-24 15:53:12 -05:00
Hristo Terezov ae565aaac6 fix(device-selection): Handle properly on prejoin
The device selection initialization on the prejoin use case was handled
like the welcome page. This was introducing issues with selecting the
stored devices and not the ones used, enabling the device selection when
it will fail and others.
2022-05-24 15:53:12 -05:00
Hristo Terezov 7e942173aa fix(device-selection): disable preview for ios 2022-05-24 12:23:48 -05:00
Дамян Минков e1b87c48bc
chore(deps) lib-jitsi-meet Updates backend release num to analytics. (#11574)
https://github.com/jitsi/lib-jitsi-meet/compare/v1437.0.0+966fcd93...v1438.0.0+b9aa0e59
2022-05-23 15:21:54 -05:00
Hristo Terezov 8cd259c43f fix(device-selection):iOS Safari disable previews
On iOS Safari when the tracks for the previews are created the old ones
are auto destroyed which leads many issues like stop sending media while
the devie selectioin is displayed, error messages, etc.
2022-05-23 22:19:50 +03:00
Saúl Ibarra Corretgé d2d2507e86 fix(app) fix broken import
Introduced in d9eedb0dad
2022-05-23 17: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
Avram Tudor 543f273792
feat(undock) expose buttons for docking / undocking iframe (#11560) 2022-05-23 15:42:25 +03:00
Saúl Ibarra Corretgé d9eedb0dad fix(recent-list) do not store room when inside an iframe
Due to local storage limitations we might end up making the URL huge
when we save the state there. Avoid the issue at the root by never
storing URLs in that case.

Closes: https://github.com/jitsi/jitsi-meet/issues/11567
2022-05-23 14:26:49 +02:00
Alex Bumbu 7f2fec756d
fix(ios) fix PiP resizing and positioning
Co-authored-by: Tobias Marschall <tobias.marschall@online.de>
2022-05-23 14:06:36 +02:00
Robert Pintilii 607021a890
fix(self-view) Add Show self view button in overflow menu (#11568) 2022-05-23 11:29:52 +03:00
Saúl Ibarra Corretgé b4febf728d feat(toolbox) drop MuteEveryoneButton and MuteEveryonesVideoButton
The functionality is still accessible in the participants pane, with all
moderation controls.
2022-05-20 21:43:05 +02:00
Robert Pintilii 769f0a8452
feat: Add name overwrite API (#11543) 2022-05-20 13:45:09 +03:00
Jaya Allamsetty f5004a2a0c ref(multi-stream) Use helper function to get the video track. 2022-05-19 17:05:36 -04:00
Jaya Allamsetty a707022d0b fix(multi-stream): Add a virtual SS tile on RN.
Add a second virtual SS tile on RN when a remote participant that has multi-stream mode enabled starts a screenshare.
2022-05-19 17:05:36 -04:00
Jaya Allamsetty 43b0118ff8 fix(mutli-stream): Use the default display name if none is available.
This fixes an issue where the virual SS tile is not created if the user sharing the screen doesn't have a display name set.
2022-05-19 17:05:36 -04:00
Jaya Allamsetty 97ca3fb622 fix(multi-stream): fix virtual screenshare participant's thumbnail.
Add a screenshare status indicator at the bottom.
Fix the font and size of the resolution/fps stats so that it matches with that of the other thumbnails.
2022-05-19 17:05:36 -04:00
Saúl Ibarra Corretgé ffa55cca1e fix(av-moderation,breakout-rooms) disable controls on breakout rooms
AV moderation does not work on brerakout rooms.

Since some of the options in the "breakoutRooms" config section no
longer apply, I moved the relevant ones to a new "participantsPane"
section.
2022-05-19 13:47:49 +02:00
Saúl Ibarra Corretgé 0098091a37 fix(participants-pane,video-menu) fix incorrect selector usage 2022-05-19 13:47:49 +02:00
Saúl Ibarra Corretgé 6c1cb5d4be fix(av-moderation) mark as unsupported while in a breakout room 2022-05-19 13:47:49 +02:00
Gabriel Borlea 8240c3703e ref(face-landmarks): move human logic into separate class 2022-05-19 11:36:27 +02:00
Дамян Минков 35572700bf
Enables sending release number from backend. (#11552)
* chore(deps) lib-jitsi-meet@latest

https://github.com/jitsi/lib-jitsi-meet/compare/v1436.0.0+d5c46952...v1437.0.0+966fcd93

* squash: Enables sending release number from backend.
2022-05-18 13:04:49 -05:00
Jaya Allamsetty 5df774c569 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1435.0.0+66080c68...v1436.0.0+d5c46952
2022-05-18 13:05:04 -04:00
Gabriel Borlea 8a503e7b40
fix(face-landmarks): dispose tensors to avoid memory leaks
Also send only expressions with score grater than 50%.
2022-05-18 13:41:51 +02:00
Calin Chitu 4f49cde73e feat(react) removed unused native components 2022-05-18 14:09:00 +03:00
Gabriel Borlea ea5ce3f72f
ref(rtc-stats) update faceLandmarks naming 2022-05-17 13:57:18 +02:00
Horatiu Muresan 5152638529 fix(native-notifications) Show notifications on max 2 lines 2022-05-16 17:26:15 +03:00
George Politis e4b50ba419
send video type to rtcstats (#11426) 2022-05-16 15:56:37 +02:00
Saúl Ibarra Corretgé 05127467c2 feat(notifications) add ability to disable specific notifications
This works together with the broader "notifications" config option. One
might choose to leave the existing option unespecified *thus allowing
all notifications) and then use this new one to be explicit about which
ones to disable.
2022-05-16 13:24:59 +02:00
Horatiu Muresan 420c7c87e3
fix(filmstrip) Do not render filmstrip on prejoin/lobby 2022-05-16 12:30:14 +03:00
Hristo Terezov c23d38807a fix(tile-view): scrollbar size.
The scrollbar size was changing while scrolling.
2022-05-13 18:27:34 +03:00
Calin Chitu fb6f38800b fix(chat/native) we need to dispatch close and open chat 2022-05-13 18:07:26 +03:00
Saúl Ibarra Corretgé 4fb698ea04 chore(deps) react-native-webrtc@1.100.1 2022-05-13 14:26:04 +02:00
Calin Chitu ebe81e2835 feat(mobile/navigation) changed navigation container background color 2022-05-12 16:42:04 +02:00
Gabriel Borlea c4106b8d89
fix(face-landmarks) set explicit model paths 2022-05-12 13:30:47 +02:00
Jaya Allamsetty 4a350df695 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1431.0.0+742232c9...v1435.0.0+66080c68
2022-05-11 10:30:30 -04:00
Nils Ohlmeier 0638d9d303
feat: enable audio settings menu for Firefox (#11522) 2022-05-11 09:51:00 -04:00
Calinteodor 0fe7383154
fix(chat/native) private message replies (#11521)
Fixes issue #11516
2022-05-10 18:28:23 +03:00
Calin Chitu 9d7b6cafc5 fix(video-menu/native) wrong import path 2022-05-10 15:07:22 +03:00
Hristo Terezov 39d30ea0b4 fix(stage-filmstrip): resize. 2022-05-09 18:17:53 -05:00
Дамян Минков 1400b6ff0a
feat: Moves luajwtjitsi in jitsi-meet. (#11501)
* feat: Moves luajwtjitsi in jitsi-meet.

* squash: Fix luajwtjitsi name to include lib.
2022-05-09 09:15:12 -05:00
pangrr 3fc3a217eb
fix(stats) split stats for camera and screenshare in multi-stream mode (#11475)
* no ssrc when sourceNameSignalingEnabled
* conditionally use source name for stats
* update doc
* always subscribe to participant id
2022-05-09 09:42:45 -04:00
Andrei Gavrilescu 6068a30488
fix(audio-share): mix newly created audio track with screen audio (#11325)
* mix newly created audio track with screen audio

* check both screen sharing flows
2022-05-09 12:37:50 +03:00
Mihaela Dumitru 36578696bb
feat(config) add gravatar config object (#11509) 2022-05-09 08:36:39 +03:00
Ali Alhaidary 64d44f0ac2
fix(lang) update Arabic translation 2022-05-07 13:28:59 +02:00
Ali Alhaidary 5f2147f40f
fix(lang) update main.json Syntax Correction (#11511) 2022-05-07 12:34:18 +02:00
Hristo Terezov 084f911699 fix(stage-tile-view): crash when pinning 2022-05-06 16:59:39 -05:00
Saúl Ibarra Corretgé 01bd18b86a fix(notifications) remove unused isDismissAllowed prop 2022-05-06 16:49:08 +02:00
Saúl Ibarra Corretgé e6ce5fd75f fix(rn,navigation) wait until the root navigator is initialized
There is a race condition in the root navigatior's initialization.

It's possible that it's initialized a touch too late and SDK users who
try to navigate to a conference end up stuck in the connecting screen
because the navigator is null.

This PR waits for it to be initilized by very unorthodox means, it's a
horrible hack which we need to undo, but for that we need to break
appart the inheritance relationship between App.{web,native},
AbstractApp and BaseApp because it's very inflexible.

The flags are now initialized very early so the naviggator sees if the
welcome page is enabled or not.
2022-05-06 15:05:37 +02:00
Gabriel Borlea 0c021868b5
feat(face-landmarks): integrate human library
It replaces face-api.

* feat(face-landmarks): integrate human library

* feat(face-landmarks): rewrite worker in typescript

* fix(face-landmarks): allow worker bundle size up to 2 mib

* fix: remove unwanted comment

* code review
2022-05-06 14:41:08 +02:00
Hristo Terezov adef5095da
feat(RN-filmtrip) stop reordering small meetings 2022-05-06 12:18:57 +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
Saúl Ibarra Corretgé e628d99544 fix(av-moderation) use a consistent UID for ask to unmute notifications
This way only one will be shown at a time.
2022-05-06 10:36:53 +02:00
Hristo Terezov f34dde3376 feat(tile-view): expand tiles from last row.
If we have enough space on the last row we expand the width of the tiles
up to 16:9 ratio.
2022-05-05 08:55:02 -05:00
2834 changed files with 141450 additions and 124384 deletions

View File

@ -0,0 +1,15 @@
{
"name": "Jitsi Meet Dev Container",
"image": "mcr.microsoft.com/devcontainers/universal:2",
"features": {
"ghcr.io/devcontainers/features/node:1": {
"version": "16"
}
},
"hostRequirements": {
"cpus": 4,
"memory": "8gb",
"storage": "32gb"
},
"postCreateCommand": "bash -i -c 'nvm use && npm install && cp tsconfig.web.json tsconfig.json'"
}

View File

@ -1,5 +1,6 @@
module.exports = {
'extends': [
'@jitsi/eslint-config'
]
],
'ignorePatterns': [ '*.d.ts' ]
};

25
.github/workflows/ci-lua.yml vendored Normal file
View File

@ -0,0 +1,25 @@
name: Lua CI
on: [pull_request]
jobs:
luacheck:
name: Luacheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install luarocks
run: sudo apt-get --install-recommends -y install luarocks
- name: Install luacheck
run: sudo luarocks install luacheck
- name: Check lua codes
run: |
set -o pipefail && luacheck . | awk -F: '
{
print $0
printf "::warning file=%s,line=%s,col=%s::%s\n", $1, $2, $3, $4
}
'

View File

@ -3,14 +3,15 @@ name: Simple CI
on: [pull_request]
jobs:
run-ci:
name: Build Frontend
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16.x'
node-version: 16
cache: 'npm'
- run: npm install
- name: Check git status
run: git status
@ -18,6 +19,26 @@ jobs:
run: npm run lang-sort
- name: Check if the git repository is clean
run: $(exit $(git status --porcelain --untracked-files=no | head -255 | wc -l)) || (echo "Dirty git tree"; git diff; exit 1)
- run: npm run lint
- run: for file in lang/*.json; do npx --yes jsonlint -q $file || exit 1; done
- run: npm run lint:ci
linux-build:
name: Build Frontend (Linux)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
cache: 'npm'
- run: npm install
- run: make
macos-ci:
name: Build Frontend (macOS)
runs-on: macOS-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
cache: 'npm'
- run: npm install
- run: make

1
.gitignore vendored
View File

@ -92,3 +92,4 @@ twa/*.apk
twa/*.aab
twa/assetlinks.json
tsconfig.json

8
.luacheckrc Normal file
View File

@ -0,0 +1,8 @@
global = false
unused = false
redefined = false
ignore = { "581" }
max_line_length = false
color = false
formatter = "plain"
quiet = 1

View File

@ -141,7 +141,7 @@ react/features/sample/
```
The middleware must be imported in `react/features/app/` specifically
in `middlewares.any`, `middlewares.native.js` or `middlewares.web.js` where appropriate.
in `middlewares.any.ts`, `middlewares.native.ts` or `middlewares.web.ts` where appropriate.
Likewise for the reducer.
An `index.js` file must not be provided for exporting actions, action types and

View File

@ -4,29 +4,37 @@ DEPLOY_DIR = libs
LIBJITSIMEET_DIR = node_modules/lib-jitsi-meet
OLM_DIR = node_modules/@matrix-org/olm
TF_WASM_DIR = node_modules/@tensorflow/tfjs-backend-wasm/dist/
RNNOISE_WASM_DIR = node_modules/rnnoise-wasm/dist
RNNOISE_WASM_DIR = node_modules/@jitsi/rnnoise-wasm/dist
EXCALIDRAW_DIR = node_modules/@jitsi/excalidraw/dist/excalidraw-assets
EXCALIDRAW_DIR_DEV = node_modules/@jitsi/excalidraw/dist/excalidraw-assets-dev
TFLITE_WASM = react/features/stream-effects/virtual-background/vendor/tflite
MEET_MODELS_DIR = react/features/stream-effects/virtual-background/vendor/models
FACE_MODELS_DIR = node_modules/@vladmandic/face-api/model
FACE_MODELS_DIR = node_modules/@vladmandic/human-models/models
NODE_SASS = ./node_modules/.bin/sass
NPM = npm
OUTPUT_DIR = .
STYLES_BUNDLE = css/all.bundle.css
STYLES_DESTINATION = css/all.css
STYLES_MAIN = css/main.scss
WEBPACK = ./node_modules/.bin/webpack
WEBPACK_DEV_SERVER = ./node_modules/.bin/webpack serve --mode development
ifeq ($(OS),Windows_NT)
WEBPACK = .\node_modules\.bin\webpack
WEBPACK_DEV_SERVER = .\node_modules\.bin\webpack serve --mode development
else
WEBPACK = ./node_modules/.bin/webpack
WEBPACK_DEV_SERVER = ./node_modules/.bin/webpack serve --mode development
endif
all: compile deploy clean
compile:
NODE_OPTIONS=--max-old-space-size=8192 \
$(WEBPACK)
clean:
rm -fr $(BUILD_DIR)
.NOTPARALLEL:
deploy: deploy-init deploy-appbundle deploy-rnnoise-binary deploy-tflite deploy-meet-models deploy-lib-jitsi-meet deploy-olm deploy-tf-wasm deploy-css deploy-local deploy-face-landmarks
deploy: deploy-init deploy-appbundle deploy-rnnoise-binary deploy-excalidraw deploy-tflite deploy-meet-models deploy-lib-jitsi-meet deploy-olm deploy-tf-wasm deploy-css deploy-local deploy-face-landmarks
deploy-init:
rm -fr $(DEPLOY_DIR)
@ -36,12 +44,8 @@ deploy-appbundle:
cp \
$(BUILD_DIR)/app.bundle.min.js \
$(BUILD_DIR)/app.bundle.min.js.map \
$(BUILD_DIR)/do_external_connect.min.js \
$(BUILD_DIR)/do_external_connect.min.js.map \
$(BUILD_DIR)/external_api.min.js \
$(BUILD_DIR)/external_api.min.js.map \
$(BUILD_DIR)/dial_in_info_bundle.min.js \
$(BUILD_DIR)/dial_in_info_bundle.min.js.map \
$(BUILD_DIR)/alwaysontop.min.js \
$(BUILD_DIR)/alwaysontop.min.js.map \
$(OUTPUT_DIR)/analytics-ga.js \
@ -49,6 +53,8 @@ deploy-appbundle:
$(BUILD_DIR)/analytics-ga.min.js.map \
$(BUILD_DIR)/face-landmarks-worker.min.js \
$(BUILD_DIR)/face-landmarks-worker.min.js.map \
$(BUILD_DIR)/noise-suppressor-worklet.min.js \
$(BUILD_DIR)/noise-suppressor-worklet.min.js.map \
$(DEPLOY_DIR)
cp \
$(BUILD_DIR)/close3.min.js \
@ -60,7 +66,6 @@ deploy-lib-jitsi-meet:
$(LIBJITSIMEET_DIR)/dist/umd/lib-jitsi-meet.min.js \
$(LIBJITSIMEET_DIR)/dist/umd/lib-jitsi-meet.min.map \
$(LIBJITSIMEET_DIR)/dist/umd/lib-jitsi-meet.e2ee-worker.js \
$(LIBJITSIMEET_DIR)/connection_optimization/external_connect.js \
$(LIBJITSIMEET_DIR)/modules/browser/capabilities.json \
$(DEPLOY_DIR)
@ -84,6 +89,16 @@ deploy-tflite:
$(TFLITE_WASM)/*.wasm \
$(DEPLOY_DIR)
deploy-excalidraw:
cp -R \
$(EXCALIDRAW_DIR) \
$(DEPLOY_DIR)/
deploy-excalidraw-dev:
cp -R \
$(EXCALIDRAW_DIR_DEV) \
$(DEPLOY_DIR)/
deploy-meet-models:
cp \
$(MEET_MODELS_DIR)/*.tflite \
@ -91,10 +106,10 @@ deploy-meet-models:
deploy-face-landmarks:
cp \
$(FACE_MODELS_DIR)/tiny_face_detector_model-weights_manifest.json \
$(FACE_MODELS_DIR)/tiny_face_detector_model.bin \
$(FACE_MODELS_DIR)/face_expression_model-weights_manifest.json \
$(FACE_MODELS_DIR)/face_expression_model.bin \
$(FACE_MODELS_DIR)/blazeface-front.bin \
$(FACE_MODELS_DIR)/blazeface-front.json \
$(FACE_MODELS_DIR)/emotion.bin \
$(FACE_MODELS_DIR)/emotion.json \
$(DEPLOY_DIR)
deploy-css:
@ -106,12 +121,12 @@ deploy-local:
([ ! -x deploy-local.sh ] || ./deploy-local.sh)
.NOTPARALLEL:
dev: deploy-init deploy-css deploy-rnnoise-binary deploy-tflite deploy-meet-models deploy-lib-jitsi-meet deploy-olm deploy-tf-wasm deploy-face-landmarks
dev: deploy-init deploy-css deploy-rnnoise-binary deploy-tflite deploy-meet-models deploy-lib-jitsi-meet deploy-olm deploy-tf-wasm deploy-excalidraw-dev deploy-face-landmarks
$(WEBPACK_DEV_SERVER)
source-package:
mkdir -p source_package/jitsi-meet/css && \
cp -r *.js *.html resources/*.txt connection_optimization favicon.ico fonts images libs static sounds LICENSE lang source_package/jitsi-meet && \
cp -r *.js *.html resources/*.txt favicon.ico fonts images libs static sounds LICENSE lang source_package/jitsi-meet && \
cp css/all.css source_package/jitsi-meet/css && \
(cd source_package ; tar cjf ../jitsi-meet.tar.bz2 jitsi-meet) && \
rm -rf source_package

View File

@ -18,7 +18,6 @@ Amongst others here are the main features Jitsi Meet offers:
* Web and native SDKs for integration
* HD audio and video
* Content sharing
* End-to-End Encryption
* Raise hand and reactions
* Chat with private conversations
* Polls

View File

@ -76,7 +76,7 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'androidx.appcompat:appcompat:1.5.1'
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7'

Binary file not shown.

Before

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 379 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 960 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1,70 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="262.91376dp"
android:height="262.91376dp"
android:viewportWidth="262.91376"
android:viewportHeight="262.91376">
<group android:scaleX="0.75" android:scaleY="0.75" android:translateX="35" android:translateY="35">
<clip-path
android:pathData="m0,0 l262.914,-0L262.914,262.914 0,262.914 0,0Z"/>
<path
android:pathData="m142.646,105.099c0.117,0.026 0.255,0.036 0.406,0.036 3.186,-0 10.297,-4.615 11.617,-6.721l0.1,-0.17 0.153,-0.135c0.451,-0.441 1.746,-2.773 2.374,-4.17 -6.751,-2.023 -7.49,-5.677 -8.153,-8.919 -0.069,-0.376 -0.138,-0.717 -0.204,-1.019 -0.074,-0.397 -0.153,-0.8 -0.226,-1.112C138.668,86.221 135.593,88.094 133.921,89.483 133.056,90.201 132.542,92.251 135.042,97.926 136.323,100.816 140.727,104.733 142.646,105.099"
android:fillColor="#ffffff"
android:strokeColor="#00000000"
android:fillType="nonZero"/>
<path
android:pathData="m115.413,146.042c5.934,-0 18.464,-3.543 26.748,-5.887 1.21,-0.336 2.33,-0.66 3.351,-0.944 0.166,-0.046 0.321,-0.091 0.472,-0.124 -0.463,-0.461 -1.239,-1.159 -2.497,-2.216 -5.521,-3.741 -10.736,-5.484 -16.403,-5.484 -1.237,-0 -2.522,0.071 -3.923,0.231 -4.801,0.55 -8.8,1.69 -10.722,2.237 -0.967,0.284 -1.263,0.366 -1.567,0.366 -0.58,-0 -1.079,-0.341 -1.273,-0.878 -0.194,-0.534 -0.027,-1.121 0.425,-1.507l0.024,-0.011c3.316,-2.784 9.489,-7.951 21.198,-10.256 2.027,-0.401 4.202,-0.605 6.454,-0.605 5.242,-0 10.67,1.086 16.125,3.219 7.436,2.899 12.521,6.625 16.602,9.62 2.199,1.609 4.105,3.007 5.755,3.771 0.421,0.2 0.637,0.255 0.746,0.265 0.074,-0.095 0.23,-0.365 0.474,-1.069 0.066,-0.185 0.529,-2.161 -2.806,-13.374 -1.931,-6.51 -4.264,-13.156 -5.479,-16.104 -2.356,-5.711 -1.778,-9.76 -1.051,-12.125 -1.999,0.735 -4.033,1.87 -6.174,3.446L161.758,98.711C160.694,99.506 159.599,100.404 158.426,101.454 151.517,107.64 146.344,110.864 143.035,111.04l-0.093,0.004 -0.093,-0.009c-2.912,-0.245 -7.324,-4.489 -9.133,-6.634 -0.373,-0.251 -0.8,-0.366 -1.366,-0.366 -0.564,-0 -1.202,0.116 -1.82,0.235C130.086,104.354 129.623,104.441 129.167,104.489 127.708,104.632 125.668,105.106 123.694,105.561 122.746,105.777 121.762,106.005 120.864,106.189 120.851,106.19 120.463,106.272 119.774,106.454 114.903,107.891 111.228,109.55 109.432,111.111 109.414,111.127 109.352,111.174 109.266,111.242 108.048,112.105 105.124,114.567 104.248,118.762L104.237,118.795C102.398,126.516 105.187,136.087 108.892,141.554 110.636,144.125 112.513,145.727 114.048,145.959 114.437,146.015 114.891,146.042 115.413,146.042"
android:fillColor="#ffffff"
android:strokeColor="#00000000"
android:fillType="nonZero"/>
<path
android:pathData="m90.093,173.175c-1.252,-1.472 -1.783,-3.324 -1.574,-5.521 0.884,-10.642 -0.329,-13.215 -0.891,-13.829 -0.131,-0.144 -0.207,-0.144 -0.265,-0.144 -0.022,-0 -0.041,0.003 -0.064,0.003 -1.044,0.248 -8.066,5.002 -9.615,19.171 -0.749,6.845 0.561,15.63 1.679,20.974 0.897,-3.155 2.314,-6.624 5.057,-10.204 2.556,-3.326 5.345,-5.955 8.801,-8.253C92.143,174.93 90.991,174.235 90.093,173.175"
android:fillColor="#ffffff"
android:strokeColor="#00000000"
android:fillType="nonZero"/>
<path
android:pathData="m94.906,156.389c-0.03,2.229 -0.326,4.36 -0.61,6.445 -0.151,1.119 -0.314,2.286 -0.434,3.46 -0.161,2.341 0.346,3.166 0.571,3.406 0.127,0.136 0.326,0.287 0.76,0.287 0.339,-0 0.741,-0.091 1.161,-0.268 4.202,-1.756 8.195,-4.815 10.115,-6.515C103.522,161.892 98.995,159.058 94.906,156.389"
android:fillColor="#ffffff"
android:strokeColor="#00000000"
android:fillType="nonZero"/>
<path
android:pathData="m154.002,81.595c-0.031,0.074 -0.065,0.148 -0.101,0.216 -0.821,2.403 0.306,5.664 2.419,6.898 0.561,0.327 1.106,0.526 1.624,0.596 0.072,0.006 0.148,0.009 0.219,0.009 1.645,-0 2.971,-1.199 3.961,-3.561C162.752,83.959 162.836,81.827 162.37,79.904 162.003,78.409 161.057,76.627 160.453,75.738 159.332,76.509 157.111,78.207 155.585,79.553 154.518,80.582 154.136,81.229 154.002,81.595"
android:fillColor="#ffffff"
android:strokeColor="#00000000"
android:fillType="nonZero"/>
<path
android:pathData="M148.97,77.699C153.957,73.194 156.988,65.754 158.253,61.334 153.915,65.513 148.633,67.758 145.25,69.198 144.084,69.695 143.08,70.124 142.477,70.476 142.224,70.623 141.965,70.77 141.708,70.919 139.654,72.109 136.55,73.905 136.1,75.011l-0.012,0.036 -0.012,0.034c-1.406,2.956 -2.199,7.401 -2.457,9.95 3.266,-1.99 6.625,-3.322 9.416,-4.42C145.628,79.585 147.863,78.703 148.97,77.699"
android:fillColor="#ffffff"
android:strokeColor="#00000000"
android:fillType="nonZero"/>
<path
android:pathData="m164.464,51.921c-0.84,5.539 -2.205,10.799 -4.751,16.347 2.781,-3.144 4.396,-6.568 4.941,-10.401C164.886,56.275 165.097,54.756 164.464,51.921"
android:fillColor="#ffffff"
android:strokeColor="#00000000"
android:fillType="nonZero"/>
<path
android:pathData="M148.749,142.639C148.718,142.598 148.684,142.56 148.658,142.519 148.523,142.539 148.307,142.584 147.972,142.683l-0.14,0.04c-1.726,0.644 -4.899,1.708 -8.556,2.946 -4.396,1.479 -9.365,3.154 -13.526,4.649 -5.297,1.975 -7.021,2.755 -7.557,3.024 -0.098,0.266 -0.203,0.599 -0.327,0.965 -1.254,3.816 -4.125,12.541 -18.276,18.653 2.928,2.956 9.289,8.27 21.809,8.27 1.082,-0 2.21,-0.036 3.341,-0.12 9.451,-0.666 18.342,-4.855 25.026,-11.78 6.087,-6.291 9.538,-14.136 9.585,-21.7C157.876,147.509 155.367,147.135 153.043,146.033 153.014,146.02 150.361,144.745 148.749,142.639"
android:fillColor="#ffffff"
android:strokeColor="#00000000"
android:fillType="nonZero"/>
<path
android:pathData="m189.478,117.853c-0.523,9.749 -2.122,18.424 -4.744,25.8 -2.128,5.988 -4.94,11.134 -8.356,15.316 -5.676,6.931 -11.555,9.256 -12.804,9.304 -0.866,-0 -1.313,-0.309 -3.046,-1.528 -0.17,-0.114 -0.37,-0.252 -0.581,-0.4 -3.313,5.953 -8.505,11.097 -15.065,14.959 -7.079,4.144 -15.297,6.423 -23.157,6.423 -9.078,-0 -17.13,-2.924 -23.341,-8.456 -7.467,4.799 -12.31,9.074 -16.267,27.005l-1.363,6.17 -2.971,-5.564c-0.424,-0.786 -1.929,-3.731 -3.332,-8.887 -1.934,-7.104 -2.86,-15.181 -2.758,-24.01 0.117,-10.049 3.154,-16.526 5.68,-20.186 2.98,-4.314 6.837,-6.994 10.076,-6.994 0.216,-0 0.428,0.006 0.616,0.035 5.159,0.575 8.435,2.75 14.396,6.686l1.899,1.252c2.059,1.344 4.481,2.7 5.259,2.989 0.54,-0.284 1.749,-2.3 2.155,-5.271l0.069,-0.451c0.005,-0.045 0.009,-0.091 0.014,-0.131 -0.036,-0.02 -0.065,-0.029 -0.094,-0.041 -4.008,-1.375 -9.539,-7.7 -12.364,-17.134 -2.684,-9.382 -2.129,-17.185 1.644,-23.193 6.12,-9.736 19.198,-11.974 23.466,-12.702 1.331,-0.266 2.716,-0.511 4.041,-0.717 0.255,-0.061 0.469,-0.121 0.642,-0.168 -0.031,-0.126 -0.071,-0.265 -0.114,-0.43 -0.108,-0.417 -0.23,-0.891 -0.354,-1.447 -1.345,-6.035 -0.664,-11.069 0.181,-15.193 0.928,-4.546 1.489,-7.287 3.747,-9.936 3.029,-4.165 8.319,-5.936 11.479,-6.991 0.746,-0.249 1.511,-0.509 1.894,-0.689 8.988,-4.31 11.82,-8.739 12.615,-11.694 0.656,-2.451 1.699,-8.884 1.251,-13.335 -0.085,-0.805 0.129,-1.521 0.621,-2.065 0.45,-0.505 1.101,-0.794 1.778,-0.794 1.515,-0 2.82,-0 7.511,14.598 2.481,7.698 0.645,14.903 -5.45,21.424l-0.226,0.231c0.024,0.044 0.049,0.09 0.08,0.144 2.57,4.236 3.963,9.54 3.553,13.51 -0.099,0.906 -0.265,1.775 -0.419,2.549 -0.003,0.01 -0.003,0.016 -0.004,0.029 0.516,-0.032 1.119,-0.055 1.775,-0.055 3.052,-0 7.435,0.474 10.989,2.735 2.135,1.352 4.845,3.439 6.835,7.615C189.223,102.942 190.076,109.575 189.478,117.853m4.77,-23.191c-2.916,-6.1 -6.989,-9.177 -9.793,-10.96 -2.355,-1.494 -5.064,-2.584 -8.077,-3.24l-0.676,-0.146 -0.111,-0.689c-0.339,-2.119 -0.918,-4.275 -1.715,-6.406l-0.185,-0.49 0.292,-0.434c5.095,-7.594 6.323,-16.17 3.54,-24.802 -2.191,-6.824 -3.895,-11.211 -5.341,-13.799 -2.954,-5.305 -7.006,-6.417 -9.891,-6.417 -2.964,-0 -5.8,1.261 -7.789,3.457 -2.043,2.254 -2.993,5.207 -2.678,8.31 0.316,3.134 -0.494,8.516 -1.014,10.439 -0.04,0.117 -0.975,2.929 -8.201,6.428 -0.162,0.056 -0.512,0.179 -1.053,0.359 -3.729,1.246 -10.666,3.571 -15.258,9.64 -3.465,4.205 -4.332,8.441 -5.338,13.346 -0.586,2.865 -1.236,6.744 -1.079,11.344l0.026,0.841 -0.824,0.188c-11.646,2.585 -20.025,7.835 -24.909,15.605 -5.054,8.04 -5.919,18.055 -2.543,29.853 0.063,0.204 0.126,0.407 0.189,0.615l0.527,1.608 -1.665,-0.286c-0.561,-0.101 -1.135,-0.18 -1.729,-0.241 -0.493,-0.06 -1.001,-0.082 -1.509,-0.082 -5.633,-0 -11.663,3.585 -16.128,9.592 -3.451,4.641 -7.588,12.849 -7.735,25.601 -0.114,9.573 0.906,18.401 3.038,26.228 1.581,5.795 3.326,9.329 4.004,10.577l13.306,24.94 6.096,-27.619c2.454,-11.09 4.864,-15.262 7.725,-18.111l0.561,-0.563 0.679,0.411c6.605,3.977 14.466,6.084 22.73,6.084 9.286,-0 18.965,-2.682 27.259,-7.551 5.38,-3.16 9.974,-7.036 13.649,-11.531l0.45,-0.369 0.85,-0.02c2.156,-0.068 5.16,-1.164 8.222,-3.004 2.6,-1.555 6.543,-4.428 10.501,-9.262 3.997,-4.884 7.274,-10.854 9.716,-17.734 2.876,-8.073 4.625,-17.489 5.204,-28.004 0.689,-9.668 -0.434,-17.641 -3.327,-23.704"
android:fillColor="#ffffff"
android:strokeColor="#00000000"
android:fillType="nonZero"/>
<path
android:pathData="m180.026,98.414c-1.67,-2.596 -3.771,-4.206 -5.475,-4.206 -0.313,-0 -0.613,0.051 -0.895,0.161 -0.911,0.361 -2.356,4.532 -1.714,7.566 0.434,2.066 2.938,9.04 4.151,12.394 0.456,1.281 0.68,1.91 0.754,2.142 0.064,0.183 0.145,0.448 0.256,0.774 0.97,2.971 3.467,10.586 4.206,16.761 1.549,-6.579 2.424,-14.512 2.085,-23.997C183.235,105.662 182.04,101.538 180.026,98.414"
android:fillColor="#ffffff"
android:strokeColor="#00000000"
android:fillType="nonZero"/>
<path
android:pathData="M168.088,142.604C169.896,142.111 171.33,141.705 172.398,141.395 170.213,139.874 167.689,137.979 164.247,135.304c-8.418,-6.546 -17.449,-9.87 -26.839,-9.87 -5.135,-0 -9.611,0.991 -13.156,2.186 0.882,-0.05 1.779,-0.079 2.7,-0.079 1.1,-0 2.247,0.04 3.411,0.119 3.652,0.246 13.061,1.901 21.565,12.047 1.714,2.039 3.559,3.73 8.794,3.73 1.873,-0 4.051,-0.207 6.662,-0.645C167.544,142.751 167.793,142.678 168.088,142.604"
android:fillColor="#ffffff"
android:strokeColor="#00000000"
android:fillType="nonZero"/>
<path
android:pathData="m164.3,147.583c-0.122,1.563 -0.376,4.509 -0.782,6.76 -0.495,2.719 -1.31,5.02 -1.791,6.226 0.85,0.786 1.694,1.553 2.247,2.043 2.214,-1.447 9.47,-6.96 14.483,-19.474C176.847,144.229 174.59,145.178 171.671,146.018 168.701,146.861 165.82,147.357 164.3,147.583"
android:fillColor="#ffffff"
android:strokeColor="#00000000"
android:fillType="nonZero"/>
</group>
</vector>

View File

@ -2,4 +2,5 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon>

View File

@ -2,4 +2,5 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#17A0DB</color>
<color name="colorPrimaryDark">#1081B2</color>
<color name="navigationBarColor">#161618</color>
</resources>

View File

@ -1,9 +1,8 @@
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="android:editTextBackground">@drawable/rn_edit_text_material</item>
<item name="android:navigationBarColor">@color/colorPrimaryDark</item>
<item name="android:forceDarkAllowed">false</item>
<item name="android:navigationBarColor">@color/navigationBarColor</item>
<item name="android:windowDisablePreview">true</item>
</style>
</resources>

View File

@ -1,5 +1,4 @@
import groovy.json.JsonSlurper
import org.apache.tools.ant.taskdefs.condition.Os
import org.gradle.util.VersionNumber
// Top-level build file where you can add configuration options common to all
@ -12,25 +11,21 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.4'
classpath 'com.google.gms:google-services:4.3.10'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1'
classpath 'com.google.gms:google-services:4.3.14'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2'
}
}
ext {
buildToolsVersion = "31.0.0"
compileSdkVersion = 31
compileSdkVersion = 32
minSdkVersion = 23
targetSdkVersion = 31
targetSdkVersion = 32
supportLibVersion = "28.0.0"
if (System.properties['os.arch'] == "aarch64") {
// For M1 Users we need to use the NDK 24 which added support for aarch64
ndkVersion = "24.0.8215888"
} else if (Os.isFamily(Os.FAMILY_WINDOWS)) {
// For Android Users, we need to use NDK 23, otherwise the build will
// fail due to paths longer than the OS limit
ndkVersion = "23.1.7779620"
} else {
// Otherwise we default to the side-by-side NDK version from AGP.
ndkVersion = "21.4.7075529"

View File

@ -26,5 +26,5 @@ android.useAndroidX=true
android.enableJetifier=true
android.bundle.enableUncompressedNativeLibs=false
appVersion=22.2.0
sdkVersion=5.1.0
appVersion=99.0.0
sdkVersion=99.0.0

11
android/scripts/logcat.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/bash
PKG_NAME=${1:-org.jitsi.meet}
APP_PID=$(adb shell ps | grep $PKG_NAME | awk '{print $2}')
if [[ -z "$APP_PID" ]]; then
echo "App is not running"
exit 1
fi
exec adb logcat --pid=$APP_PID

View File

@ -51,15 +51,10 @@ dependencies {
implementation 'com.google.code.gson:gson:2.8.6'
implementation "androidx.startup:startup-runtime:1.1.0"
if (rootProject.ext.libreBuild) {
implementation(project(':react-native-device-info')) {
exclude group: 'com.google.firebase'
exclude group: 'com.google.android.gms'
exclude group: 'com.android.installreferrer'
}
} else {
// Only add these packages if we are NOT doing a LIBRE_BUILD
if (!rootProject.ext.libreBuild) {
implementation project(':react-native-amplitude')
implementation project(':react-native-device-info')
implementation project(':react-native-giphy')
implementation(project(":react-native-google-signin")) {
exclude group: 'com.google.android.gms'
exclude group: 'androidx'
@ -72,15 +67,18 @@ dependencies {
implementation project(':react-native-community_clipboard')
implementation project(':react-native-community_netinfo')
implementation project(':react-native-default-preference')
implementation(project(':react-native-device-info')) {
exclude group: 'com.google.firebase'
exclude group: 'com.google.android.gms'
exclude group: 'com.android.installreferrer'
}
implementation project(':react-native-gesture-handler')
implementation project(':react-native-get-random-values')
implementation project(':react-native-giphy')
implementation project(':react-native-immersive')
implementation project(':react-native-keep-awake')
implementation project(':react-native-masked-view_masked-view')
implementation project(':react-native-orientation-locker')
implementation project(':react-native-pager-view')
implementation project(':react-native-performance')
implementation project(':react-native-reanimated')
implementation project(':react-native-safe-area-context')
implementation project(':react-native-screens')
implementation project(':react-native-slider')

View File

@ -32,6 +32,7 @@
android:name=".JitsiMeetActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode"
android:launchMode="singleTask"
android:theme="@style/JitsiMeetActivityStyle"
android:resizeableActivity="true"
android:supportsPictureInPicture="true"
android:windowSoftInputMode="adjustResize"/>

View File

@ -22,6 +22,8 @@ import android.os.Build;
import android.telecom.CallAudioState;
import androidx.annotation.RequiresApi;
import com.facebook.react.bridge.ReactContext;
import java.util.HashSet;
import java.util.Set;
@ -49,6 +51,8 @@ class AudioDeviceHandlerConnectionService implements
*/
private AudioModeModule module;
private RNConnectionService rcs;
/**
* Converts any of the "DEVICE_" constants into the corresponding
* {@link android.telecom.CallAudioState} "ROUTE_" number.
@ -141,8 +145,8 @@ class AudioDeviceHandlerConnectionService implements
JitsiMeetLogger.i("Using " + TAG + " as the audio device handler");
module = audioModeModule;
rcs = module.getContext().getNativeModule(RNConnectionService.class);
RNConnectionService rcs = ReactInstanceManagerHolder.getNativeModule(RNConnectionService.class);
if (rcs != null) {
rcs.setCallAudioStateListener(this);
} else {
@ -152,9 +156,9 @@ class AudioDeviceHandlerConnectionService implements
@Override
public void stop() {
RNConnectionService rcs = ReactInstanceManagerHolder.getNativeModule(RNConnectionService.class);
if (rcs != null) {
rcs.setCallAudioStateListener(null);
rcs = null;
} else {
JitsiMeetLogger.w(TAG + " Couldn't set call audio state listener, module is null");
}

View File

@ -26,10 +26,13 @@ import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.WritableArray;
import com.facebook.react.bridge.WritableMap;
import com.facebook.react.module.annotations.ReactModule;
import com.facebook.react.modules.core.DeviceEventManagerModule;
import org.jitsi.meet.sdk.log.JitsiMeetLogger;
@ -196,7 +199,7 @@ class AudioModeModule extends ReactContextBaseJavaModule {
deviceInfo.putBoolean("selected", device.equals(selectedDevice));
data.pushMap(deviceInfo);
}
ReactInstanceManagerHolder.emitEvent(DEVICE_CHANGE_EVENT, data);
getContext().getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class).emit(DEVICE_CHANGE_EVENT, data);
JitsiMeetLogger.i(TAG + " Updating audio device list");
}
});
@ -212,6 +215,10 @@ class AudioModeModule extends ReactContextBaseJavaModule {
return NAME;
}
public ReactContext getContext(){
return this.getReactApplicationContext();
}
/**
* Initializes the audio device handler module. This function is called *after* all Catalyst
* modules have been created, and that's why we use it, because {@link AudioDeviceHandlerConnectionService}

View File

@ -1,240 +0,0 @@
/*
* Copyright @ 2018-present 8x8, Inc.
* Copyright @ 2018 Atlassian Pty Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jitsi.meet.sdk;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.AttributeSet;
import android.widget.FrameLayout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.facebook.react.ReactRootView;
import com.facebook.react.bridge.ReadableMap;
import com.rnimmersive.RNImmersiveModule;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.WeakHashMap;
/**
* Base class for all views which are backed by a React Native view.
*/
public abstract class BaseReactView<ListenerT>
extends FrameLayout {
/**
* Background color used by {@code BaseReactView} and the React Native root
* view.
*/
protected static int BACKGROUND_COLOR = 0xFF111111;
/**
* The collection of all existing {@code BaseReactView}s. Used to find the
* {@code BaseReactView} when delivering events coming from
* {@link ExternalAPIModule}.
*/
static final Set<BaseReactView> views
= Collections.newSetFromMap(new WeakHashMap<BaseReactView, Boolean>());
/**
* Finds a {@code BaseReactView} which matches a specific external API
* scope.
*
* @param externalAPIScope - The external API scope associated with the
* {@code BaseReactView} to find.
* @return The {@code BaseReactView}, if any, associated with the specified
* {@code externalAPIScope}; otherwise, {@code null}.
*/
public static BaseReactView findViewByExternalAPIScope(
String externalAPIScope) {
synchronized (views) {
for (BaseReactView view : views) {
if (view.externalAPIScope.equals(externalAPIScope)) {
return view;
}
}
}
return null;
}
/**
* Gets all registered React views.
*
* @return An {@link ArrayList} containing all views currently held by React.
*/
static ArrayList<BaseReactView> getViews() {
return new ArrayList<>(views);
}
/**
* The unique identifier of this {@code BaseReactView} within the process
* for the purposes of {@link ExternalAPIModule}. The name scope was
* inspired by postis which we use on Web for the similar purposes of the
* iframe-based external API.
*/
protected String externalAPIScope;
/**
* The listener (e.g. {@link JitsiMeetViewListener}) instance for reporting
* events occurring in Jitsi Meet.
*/
@Deprecated
private ListenerT listener;
/**
* React Native root view.
*/
private ReactRootView reactRootView;
public BaseReactView(@NonNull Context context) {
super(context);
initialize((Activity)context);
}
public BaseReactView(Context context, AttributeSet attrs) {
super(context, attrs);
initialize((Activity)context);
}
public BaseReactView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
initialize((Activity)context);
}
/**
* Creates the {@code ReactRootView} for the given app name with the given
* props. Once created it's set as the view of this {@code FrameLayout}.
*
* @param appName - The name of the "app" (in React Native terms) to load.
* @param props - The React Component props to pass to the app.
*/
public void createReactRootView(String appName, @Nullable Bundle props) {
if (props == null) {
props = new Bundle();
}
props.putString("externalAPIScope", externalAPIScope);
if (reactRootView == null) {
reactRootView = new ReactRootView(getContext());
reactRootView.startReactApplication(
ReactInstanceManagerHolder.getReactInstanceManager(),
appName,
props);
reactRootView.setBackgroundColor(BACKGROUND_COLOR);
addView(reactRootView);
} else {
reactRootView.setAppProperties(props);
}
}
/**
* Releases the React resources (specifically the {@link ReactRootView})
* associated with this view.
*
* MUST be called when the {@link Activity} holding this view is destroyed,
* typically in the {@code onDestroy} method.
*/
public void dispose() {
if (reactRootView != null) {
removeView(reactRootView);
reactRootView.unmountReactApplication();
reactRootView = null;
}
}
/**
* Gets the listener set on this {@code BaseReactView}.
*
* @return The listener set on this {@code BaseReactView}.
*/
@Deprecated
public ListenerT getListener() {
return listener;
}
/**
* Abstract method called by {@link ExternalAPIModule} when an event is
* received for this view.
*
* @param name - The name of the event.
* @param data - The details of the event associated with/specific to the
* specified {@code name}.
*/
@Deprecated
protected abstract void onExternalAPIEvent(String name, ReadableMap data);
@Deprecated
protected void onExternalAPIEvent(
Map<String, Method> listenerMethods,
String name, ReadableMap data) {
ListenerT listener = getListener();
if (listener != null) {
ListenerUtils.runListenerMethod(
listener, listenerMethods, name, data);
}
}
/**
* Called when the window containing this view gains or loses focus.
*
* @param hasFocus If the window of this view now has focus, {@code true};
* otherwise, {@code false}.
*/
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
// https://github.com/mockingbot/react-native-immersive#restore-immersive-state
RNImmersiveModule immersive = RNImmersiveModule.getInstance();
if (hasFocus && immersive != null) {
immersive.emitImmersiveStateChangeEvent();
}
}
/**
* Sets a specific listener on this {@code BaseReactView}.
*
* @param listener The listener to set on this {@code BaseReactView}.
*/
@Deprecated
public void setListener(ListenerT listener) {
this.listener = listener;
}
private void initialize(Activity activity) {
setBackgroundColor(BACKGROUND_COLOR);
ReactInstanceManagerHolder.initReactInstanceManager(activity);
// Hook this BaseReactView into ExternalAPI.
externalAPIScope = UUID.randomUUID().toString();
synchronized (views) {
views.add(this);
}
}
}

View File

@ -76,7 +76,8 @@ public class BroadcastAction {
OPEN_CHAT("org.jitsi.meet.OPEN_CHAT"),
CLOSE_CHAT("org.jitsi.meet.CLOSE_CHAT"),
SEND_CHAT_MESSAGE("org.jitsi.meet.SEND_CHAT_MESSAGE"),
SET_VIDEO_MUTED("org.jitsi.meet.SET_VIDEO_MUTED");
SET_VIDEO_MUTED("org.jitsi.meet.SET_VIDEO_MUTED"),
SET_CLOSED_CAPTIONS_ENABLED("org.jitsi.meet.SET_CLOSED_CAPTIONS_ENABLED");
private final String action;

View File

@ -48,4 +48,10 @@ public class BroadcastIntentHelper {
intent.putExtra("muted", muted);
return intent;
}
public static Intent buildSetClosedCaptionsEnabledIntent(boolean enabled) {
Intent intent = new Intent(BroadcastAction.Type.SET_CLOSED_CAPTIONS_ENABLED.getAction());
intent.putExtra("enabled", enabled);
return intent;
}
}

View File

@ -95,37 +95,25 @@ class ExternalAPIModule extends ReactContextBaseJavaModule {
constants.put("CLOSE_CHAT", BroadcastAction.Type.CLOSE_CHAT.getAction());
constants.put("SEND_CHAT_MESSAGE", BroadcastAction.Type.SEND_CHAT_MESSAGE.getAction());
constants.put("SET_VIDEO_MUTED", BroadcastAction.Type.SET_VIDEO_MUTED.getAction());
constants.put("SET_CLOSED_CAPTIONS_ENABLED", BroadcastAction.Type.SET_CLOSED_CAPTIONS_ENABLED.getAction());
return constants;
}
/**
* Dispatches an event that occurred on the JavaScript side of the SDK to
* the specified {@link BaseReactView}'s listener.
* the native side.
*
* @param name The name of the event.
* @param data The details/specifics of the event to send determined
* by/associated with the specified {@code name}.
* @param scope
*/
@ReactMethod
public void sendEvent(String name, ReadableMap data, String scope) {
public void sendEvent(String name, ReadableMap data) {
// Keep track of the current ongoing conference.
OngoingConferenceTracker.getInstance().onExternalAPIEvent(name, data);
// The JavaScript App needs to provide uniquely identifying information
// to the native ExternalAPI module so that the latter may match the
// former to the native BaseReactView which hosts it.
BaseReactView view = BaseReactView.findViewByExternalAPIScope(scope);
if (view != null) {
JitsiMeetLogger.d(TAG + " Sending event: " + name + " with data: " + data);
try {
view.onExternalAPIEvent(name, data);
broadcastEmitter.sendBroadcast(name, data);
} catch (Exception e) {
JitsiMeetLogger.e(e, TAG + " onExternalAPIEvent: error sending event");
}
}
JitsiMeetLogger.d(TAG + " Sending event: " + name + " with data: " + data);
broadcastEmitter.sendBroadcast(name, data);
}
}

View File

@ -0,0 +1,46 @@
/*
* Copyright 2017 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
package org.jitsi.meet.sdk;
import org.webrtc.VideoCodecInfo;
import java.util.Map;
import java.util.HashMap;
/** Container for static helper functions related to dealing with H264 codecs. */
class H264Utils {
public static final String H264_FMTP_PROFILE_LEVEL_ID = "profile-level-id";
public static final String H264_FMTP_LEVEL_ASYMMETRY_ALLOWED = "level-asymmetry-allowed";
public static final String H264_FMTP_PACKETIZATION_MODE = "packetization-mode";
public static final String H264_PROFILE_CONSTRAINED_BASELINE = "42e0";
public static final String H264_PROFILE_CONSTRAINED_HIGH = "640c";
public static final String H264_LEVEL_3_1 = "1f"; // 31 in hex.
public static final String H264_CONSTRAINED_HIGH_3_1 =
H264_PROFILE_CONSTRAINED_HIGH + H264_LEVEL_3_1;
public static final String H264_CONSTRAINED_BASELINE_3_1 =
H264_PROFILE_CONSTRAINED_BASELINE + H264_LEVEL_3_1;
public static Map<String, String> getDefaultH264Params(boolean isHighProfile) {
final Map<String, String> params = new HashMap<>();
params.put(VideoCodecInfo.H264_FMTP_LEVEL_ASYMMETRY_ALLOWED, "1");
params.put(VideoCodecInfo.H264_FMTP_PACKETIZATION_MODE, "1");
params.put(VideoCodecInfo.H264_FMTP_PROFILE_LEVEL_ID,
isHighProfile ? VideoCodecInfo.H264_CONSTRAINED_HIGH_3_1
: VideoCodecInfo.H264_CONSTRAINED_BASELINE_3_1);
return params;
}
public static VideoCodecInfo DEFAULT_H264_BASELINE_PROFILE_CODEC =
new VideoCodecInfo("H264", getDefaultH264Params(/* isHighProfile= */ false));
public static VideoCodecInfo DEFAULT_H264_HIGH_PROFILE_CODEC =
new VideoCodecInfo("H264", getDefaultH264Params(/* isHighProfile= */ true));
}

View File

@ -15,6 +15,7 @@
*/
package org.jitsi.meet.sdk;
import android.app.Application;
import android.content.Context;
import android.util.Log;
@ -22,6 +23,7 @@ import androidx.annotation.NonNull;
import androidx.startup.Initializer;
import com.facebook.soloader.SoLoader;
import org.wonday.orientation.OrientationActivityLifecycle;
import java.util.Collections;
import java.util.List;
@ -37,6 +39,10 @@ public class JitsiInitializer implements Initializer<Boolean> {
// Register our uncaught exception handler.
JitsiMeetUncaughtExceptionHandler.register();
// Register activity lifecycle handler for the orientation locker module.
((Application) context).registerActivityLifecycleCallbacks(OrientationActivityLifecycle.getInstance());
return true;
}

View File

@ -21,6 +21,7 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Configuration;
import android.net.Uri;
import android.os.Bundle;
@ -86,6 +87,14 @@ public class JitsiMeetActivity extends AppCompatActivity
// Overrides
//
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Intent intent = new Intent("onConfigurationChanged");
intent.putExtra("newConfig", newConfig);
this.sendBroadcast(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@ -167,12 +176,9 @@ public class JitsiMeetActivity extends AppCompatActivity
}
}
public void leave() {
if (this.jitsiView != null) {
this.jitsiView .leave();
} else {
JitsiMeetLogger.w("Cannot leave, view is null");
}
protected void leave() {
Intent hangupBroadcastIntent = BroadcastIntentHelper.buildHangUpIntent();
LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(hangupBroadcastIntent);
}
private @Nullable
@ -213,7 +219,7 @@ public class JitsiMeetActivity extends AppCompatActivity
protected void onConferenceJoined(HashMap<String, Object> extraData) {
JitsiMeetLogger.i("Conference joined: " + extraData);
// Launch the service for the ongoing notification.
JitsiMeetOngoingConferenceService.launch(this);
JitsiMeetOngoingConferenceService.launch(this, extraData);
}
protected void onConferenceTerminated(HashMap<String, Object> extraData) {

View File

@ -1,82 +0,0 @@
/*
* Copyright @ 2019-present 8x8, Inc.
* Copyright @ 2017-2018 Atlassian Pty Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jitsi.meet.sdk;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/**
* Base {@link Fragment} for applications integrating Jitsi Meet at a higher level. It
* contains all the required wiring between the {@code JitsiMeetView} and
* the Fragment lifecycle methods already implemented.
*
* In this fragment we use a single {@code JitsiMeetView} instance. This
* instance gives us access to a view which displays the welcome page and the
* conference itself. All lifecycle methods associated with this Fragment are
* hooked to the React Native subsystem via proxy calls through the
* {@code JitsiMeetActivityDelegate} static methods.
*
* @deprecated use {@link JitsiMeetActivity} or directly {@link JitsiMeetView}
*/
@Deprecated
public class JitsiMeetFragment extends Fragment {
/**
* Instance of the {@link JitsiMeetView} which this activity will display.
*/
private JitsiMeetView view;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater,
@Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
return this.view = new JitsiMeetView(getActivity());
}
public JitsiMeetView getJitsiView() {
return view;
}
@Override
public void onDestroy() {
super.onDestroy();
JitsiMeetActivityDelegate.onHostDestroy(getActivity());
}
@Override
public void onResume() {
super.onResume();
JitsiMeetActivityDelegate.onHostResume(getActivity());
}
@Override
public void onStop() {
super.onStop();
JitsiMeetActivityDelegate.onHostPause(getActivity());
}
}

View File

@ -17,18 +17,22 @@
package org.jitsi.meet.sdk;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.Service;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Build;
import android.os.Bundle;
import android.os.IBinder;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import org.jitsi.meet.sdk.log.JitsiMeetLogger;
import java.util.HashMap;
/**
* This class implements an Android {@link Service}, a foreground one specifically, and it's
* responsible for presenting an ongoing notification when a conference is in progress.
@ -39,16 +43,22 @@ import org.jitsi.meet.sdk.log.JitsiMeetLogger;
public class JitsiMeetOngoingConferenceService extends Service
implements OngoingConferenceTracker.OngoingConferenceListener {
private static final String TAG = JitsiMeetOngoingConferenceService.class.getSimpleName();
private static final String EXTRA_DATA_KEY = "extraDataKey";
private static final String EXTRA_DATA_BUNDLE_KEY = "extraDataBundleKey";
private static final String IS_AUDIO_MUTED_KEY = "isAudioMuted";
private final BroadcastReceiver broadcastReceiver = new BroadcastReceiver();
private boolean isAudioMuted;
static void launch(Context context) {
public static void launch(Context context, HashMap<String, Object> extraData) {
OngoingNotification.createOngoingConferenceNotificationChannel();
Intent intent = new Intent(context, JitsiMeetOngoingConferenceService.class);
intent.setAction(Action.START.getName());
Bundle extraDataBundle = new Bundle();
extraDataBundle.putSerializable(EXTRA_DATA_KEY, extraData);
intent.putExtra(EXTRA_DATA_BUNDLE_KEY, extraDataBundle);
ComponentName componentName;
@ -70,7 +80,7 @@ public class JitsiMeetOngoingConferenceService extends Service
}
}
static void abort(Context context) {
public static void abort(Context context) {
Intent intent = new Intent(context, JitsiMeetOngoingConferenceService.class);
context.stopService(intent);
}
@ -79,6 +89,15 @@ public class JitsiMeetOngoingConferenceService extends Service
public void onCreate() {
super.onCreate();
Notification notification = OngoingNotification.buildOngoingConferenceNotification(isAudioMuted);
if (notification == null) {
stopSelf();
JitsiMeetLogger.w(TAG + " Couldn't start service, notification is null");
} else {
startForeground(OngoingNotification.NOTIFICATION_ID, notification);
JitsiMeetLogger.i(TAG + " Service started");
}
OngoingConferenceTracker.getInstance().addListener(this);
IntentFilter intentFilter = new IntentFilter();
@ -101,37 +120,45 @@ public class JitsiMeetOngoingConferenceService extends Service
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Boolean isAudioMuted = tryParseIsAudioMuted(intent);
if (isAudioMuted != null) {
this.isAudioMuted = Boolean.parseBoolean(intent.getStringExtra("muted"));
Notification notification = OngoingNotification.buildOngoingConferenceNotification(isAudioMuted);
if (notification == null) {
stopSelf();
JitsiMeetLogger.w(TAG + " Couldn't start service, notification is null");
} else {
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(OngoingNotification.NOTIFICATION_ID, notification);
}
}
final String actionName = intent.getAction();
final Action action = Action.fromName(actionName);
switch (action) {
case UNMUTE:
case MUTE:
Intent muteBroadcastIntent = BroadcastIntentHelper.buildSetAudioMutedIntent(action == Action.MUTE);
LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(muteBroadcastIntent);
break;
case START:
Notification notification = OngoingNotification.buildOngoingConferenceNotification(isAudioMuted);
if (notification == null) {
// When starting the service, there is no action passed in the intent
if (action != null) {
switch (action) {
case UNMUTE:
case MUTE:
Intent muteBroadcastIntent = BroadcastIntentHelper.buildSetAudioMutedIntent(action == Action.MUTE);
LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(muteBroadcastIntent);
break;
case HANGUP:
JitsiMeetLogger.i(TAG + " Hangup requested");
Intent hangupBroadcastIntent = BroadcastIntentHelper.buildHangUpIntent();
LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(hangupBroadcastIntent);
stopSelf();
JitsiMeetLogger.w(TAG + " Couldn't start service, notification is null");
} else {
startForeground(OngoingNotification.NOTIFICATION_ID, notification);
JitsiMeetLogger.i(TAG + " Service started");
}
break;
case HANGUP:
JitsiMeetLogger.i(TAG + " Hangup requested");
Intent hangupBroadcastIntent = BroadcastIntentHelper.buildHangUpIntent();
LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(hangupBroadcastIntent);
stopSelf();
break;
default:
JitsiMeetLogger.w(TAG + " Unknown action received: " + action);
stopSelf();
break;
break;
default:
JitsiMeetLogger.w(TAG + " Unknown action received: " + action);
break;
}
}
return START_NOT_STICKY;
@ -147,7 +174,6 @@ public class JitsiMeetOngoingConferenceService extends Service
}
public enum Action {
START(TAG + ":START"),
HANGUP(TAG + ":HANGUP"),
MUTE(TAG + ":MUTE"),
UNMUTE(TAG + ":UNMUTE");
@ -172,6 +198,15 @@ public class JitsiMeetOngoingConferenceService extends Service
}
}
private Boolean tryParseIsAudioMuted(Intent intent) {
try {
HashMap<String, Object> extraData = (HashMap<String, Object>) intent.getBundleExtra(EXTRA_DATA_BUNDLE_KEY).getSerializable(EXTRA_DATA_KEY);
return Boolean.parseBoolean((String) extraData.get(IS_AUDIO_MUTED_KEY));
} catch (Exception ignored) {
}
return null;
}
private class BroadcastReceiver extends android.content.BroadcastReceiver {
@Override
@ -180,10 +215,12 @@ public class JitsiMeetOngoingConferenceService extends Service
Notification notification = OngoingNotification.buildOngoingConferenceNotification(isAudioMuted);
if (notification == null) {
stopSelf();
JitsiMeetLogger.w(TAG + " Couldn't start service, notification is null");
JitsiMeetLogger.w(TAG + " Couldn't update service, notification is null");
} else {
startForeground(OngoingNotification.NOTIFICATION_ID, notification);
JitsiMeetLogger.i(TAG + " Service started");
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(OngoingNotification.NOTIFICATION_ID, notification);
JitsiMeetLogger.i(TAG + " audio muted changed");
}
}
}

View File

@ -16,36 +16,33 @@
package org.jitsi.meet.sdk;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.AttributeSet;
import android.widget.FrameLayout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.ReactRootView;
import com.rnimmersive.RNImmersiveModule;
import org.jitsi.meet.sdk.log.JitsiMeetLogger;
import java.lang.reflect.Method;
import java.util.Map;
public class JitsiMeetView extends BaseReactView<JitsiMeetViewListener>
implements OngoingConferenceTracker.OngoingConferenceListener {
public class JitsiMeetView extends FrameLayout {
/**
* The {@code Method}s of {@code JitsiMeetViewListener} by event name i.e.
* redux action types.
* Background color used by {@code BaseReactView} and the React Native root
* view.
*/
private static final Map<String, Method> LISTENER_METHODS
= ListenerUtils.mapListenerMethods(JitsiMeetViewListener.class);
private static final int BACKGROUND_COLOR = 0xFF111111;
/**
* The URL of the current conference.
* React Native root view.
*/
// XXX Currently, one thread writes and one thread reads, so it should be
// fine to have this field volatile without additional synchronization.
private volatile String url;
private ReactRootView reactRootView;
/**
* Helper method to recursively merge 2 {@link Bundle} objects representing React Native props.
@ -84,6 +81,8 @@ public class JitsiMeetView extends BaseReactView<JitsiMeetViewListener>
result.putBoolean(key, (Boolean)bValue);
} else if (valueType.contentEquals("String")) {
result.putString(key, (String)bValue);
} else if (valueType.contentEquals("Integer")) {
result.putInt(key, (int)bValue);
} else if (valueType.contentEquals("Bundle")) {
result.putBundle(key, mergeProps((Bundle)aValue, (Bundle)bValue));
} else {
@ -109,10 +108,19 @@ public class JitsiMeetView extends BaseReactView<JitsiMeetViewListener>
initialize(context);
}
@Override
/**
* Releases the React resources (specifically the {@link ReactRootView})
* associated with this view.
*
* MUST be called when the {@link Activity} holding this view is destroyed,
* typically in the {@code onDestroy} method.
*/
public void dispose() {
OngoingConferenceTracker.getInstance().removeListener(this);
super.dispose();
if (reactRootView != null) {
removeView(reactRootView);
reactRootView.unmountReactApplication();
reactRootView = null;
}
}
/**
@ -130,8 +138,7 @@ public class JitsiMeetView extends BaseReactView<JitsiMeetViewListener>
PictureInPictureModule.class);
if (pipModule != null
&& pipModule.isPictureInPictureSupported()
&& !JitsiMeetActivityDelegate.arePermissionsBeingRequested()
&& this.url != null) {
&& !JitsiMeetActivityDelegate.arePermissionsBeingRequested()) {
try {
pipModule.enterPictureInPicture();
} catch (RuntimeException re) {
@ -151,10 +158,40 @@ public class JitsiMeetView extends BaseReactView<JitsiMeetViewListener>
}
/**
* Leaves the currently active conference.
* Creates the {@code ReactRootView} for the given app name with the given
* props. Once created it's set as the view of this {@code FrameLayout}.
*
* @param appName - The name of the "app" (in React Native terms) to load.
* @param props - The React Component props to pass to the app.
*/
public void leave() {
setProps(new Bundle());
private void createReactRootView(String appName, @Nullable Bundle props) {
if (props == null) {
props = new Bundle();
}
if (reactRootView == null) {
reactRootView = new ReactRootView(getContext());
reactRootView.startReactApplication(
ReactInstanceManagerHolder.getReactInstanceManager(),
appName,
props);
reactRootView.setBackgroundColor(BACKGROUND_COLOR);
addView(reactRootView);
} else {
reactRootView.setAppProperties(props);
}
}
private void initialize(@NonNull Context context) {
// Check if the parent Activity implements JitsiMeetActivityInterface,
// otherwise things may go wrong.
if (!(context instanceof JitsiMeetActivityInterface)) {
throw new RuntimeException("Enclosing Activity must implement JitsiMeetActivityInterface");
}
setBackgroundColor(BACKGROUND_COLOR);
ReactInstanceManagerHolder.initReactInstanceManager((Activity) context);
}
/**
@ -171,7 +208,7 @@ public class JitsiMeetView extends BaseReactView<JitsiMeetViewListener>
// by leaving the conference. However, React and, respectively,
// appProperties/initialProperties are declarative expressions i.e. one
// and the same URL will not trigger an automatic re-render in the
// JavaScript source code. The workaround implemented bellow introduces
// JavaScript source code. The workaround implemented below introduces
// "imperativeness" in React Component props by defining a unique value
// per setProps() invocation.
props.putLong("timestamp", System.currentTimeMillis());
@ -179,46 +216,27 @@ public class JitsiMeetView extends BaseReactView<JitsiMeetViewListener>
createReactRootView("App", props);
}
/**
* Handler for {@link OngoingConferenceTracker} events.
* @param conferenceUrl
*/
@Override
public void onCurrentConferenceChanged(String conferenceUrl) {
// This property was introduced in order to address
// an exception in the Picture-in-Picture functionality which arose
// because of delays related to bridging between JavaScript and Java. To
// reduce these delays do not wait for the call to be transferred to the
// UI thread.
this.url = conferenceUrl;
}
/**
* Handler for {@link ExternalAPIModule} events.
*
* @param name The name of the event.
* @param data The details/specifics of the event to send determined
* by/associated with the specified {@code name}.
*/
@Override
@Deprecated
protected void onExternalAPIEvent(String name, ReadableMap data) {
onExternalAPIEvent(LISTENER_METHODS, name, data);
}
@Override
protected void onDetachedFromWindow() {
dispose();
super.onDetachedFromWindow();
}
private void initialize(@NonNull Context context) {
// Check if the parent Activity implements JitsiMeetActivityInterface,
// otherwise things may go wrong.
if (!(context instanceof JitsiMeetActivityInterface)) {
throw new RuntimeException("Enclosing Activity must implement JitsiMeetActivityInterface");
}
/**
* Called when the window containing this view gains or loses focus.
*
* @param hasFocus If the window of this view now has focus, {@code true};
* otherwise, {@code false}.
*/
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
OngoingConferenceTracker.getInstance().addListener(this);
// https://github.com/mockingbot/react-native-immersive#restore-immersive-state
RNImmersiveModule immersive = RNImmersiveModule.getInstance();
if (hasFocus && immersive != null) {
immersive.emitImmersiveStateChangeEvent();
}
}
}

View File

@ -1,51 +0,0 @@
/*
* Copyright @ 2017-present Atlassian Pty Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jitsi.meet.sdk;
import java.util.Map;
/**
* Interface for listening to events coming from Jitsi Meet.
*/
@Deprecated
public interface JitsiMeetViewListener {
/**
* Called when a conference was joined.
*
* @param data Map with a "url" key with the conference URL.
*/
void onConferenceJoined(Map<String, Object> data);
/**
* Called when the active conference ends, be it because of user choice or
* because of a failure.
*
* @param data Map with an "error" key with the error and a "url" key with
* the conference URL. If the conference finished gracefully no `error`
* key will be present. The possible values for "error" are described here:
* https://github.com/jitsi/lib-jitsi-meet/blob/master/JitsiConnectionErrors.js
* https://github.com/jitsi/lib-jitsi-meet/blob/master/JitsiConferenceErrors.js
*/
void onConferenceTerminated(Map<String, Object> data);
/**
* Called before the conference is joined.
*
* @param data Map with a "url" key with the conference URL.
*/
void onConferenceWillJoin(Map<String, Object> data);
}

View File

@ -1,167 +0,0 @@
/*
* Copyright @ 2018-present Atlassian Pty Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jitsi.meet.sdk;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.bridge.ReadableMapKeySetIterator;
import com.facebook.react.bridge.UiThreadUtil;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.regex.Pattern;
/**
* Utility methods for helping with transforming {@link ExternalAPIModule}
* events into listener methods. Used with descendants of {@link BaseReactView}.
*/
@Deprecated
public final class ListenerUtils {
/**
* Extracts the methods defined in a listener and creates a mapping of this
* form: event name -> method.
*
* @param listener - The listener whose methods we want to slurp.
* @return A mapping with event names - methods.
*/
public static Map<String, Method> mapListenerMethods(Class listener) {
Map<String, Method> methods = new HashMap<>();
// Figure out the mapping between the listener methods
// and the events i.e. redux action types.
Pattern onPattern = Pattern.compile("^on[A-Z]+");
Pattern camelcasePattern = Pattern.compile("([a-z0-9]+)([A-Z0-9]+)");
for (Method method : listener.getDeclaredMethods()) {
// * The method must be public (because it is declared by an
// interface).
// * The method must be/return void.
if (!Modifier.isPublic(method.getModifiers())
|| !Void.TYPE.equals(method.getReturnType())) {
continue;
}
// * The method name must start with "on" followed by a
// capital/uppercase letter (in agreement with the camelcase
// coding style customary to Java in general and the projects of
// the Jitsi community in particular).
String name = method.getName();
if (!onPattern.matcher(name).find()) {
continue;
}
// * The method must accept/have exactly 1 parameter of a type
// assignable from HashMap.
Class<?>[] parameterTypes = method.getParameterTypes();
if (parameterTypes.length != 1
|| !parameterTypes[0].isAssignableFrom(HashMap.class)) {
continue;
}
// Convert the method name to an event name.
name
= camelcasePattern.matcher(name.substring(2))
.replaceAll("$1_$2")
.toUpperCase(Locale.ROOT);
methods.put(name, method);
}
return methods;
}
/**
* Executes the right listener method for the given event.
* NOTE: This function will run asynchronously on the UI thread.
*
* @param listener - The listener on which the method will be called.
* @param listenerMethods - Mapping with event names and the matching
* methods.
* @param eventName - Name of the event.
* @param eventData - Data associated with the event.
*/
public static void runListenerMethod(
final Object listener,
final Map<String, Method> listenerMethods,
final String eventName,
final ReadableMap eventData) {
// Make sure listener methods are invoked on the UI thread. It
// was requested by SDK consumers.
if (UiThreadUtil.isOnUiThread()) {
runListenerMethodOnUiThread(
listener, listenerMethods, eventName, eventData);
} else {
UiThreadUtil.runOnUiThread(new Runnable() {
@Override
public void run() {
runListenerMethodOnUiThread(
listener, listenerMethods, eventName, eventData);
}
});
}
}
/**
* Helper companion for {@link ListenerUtils#runListenerMethod} which runs
* in the UI thread.
*/
private static void runListenerMethodOnUiThread(
Object listener,
Map<String, Method> listenerMethods,
String eventName,
ReadableMap eventData) {
UiThreadUtil.assertOnUiThread();
Method method = listenerMethods.get(eventName);
if (method != null) {
try {
method.invoke(listener, toHashMap(eventData));
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
} catch (InvocationTargetException e) {
throw new RuntimeException(e);
}
}
}
/**
* Initializes a new {@code HashMap} instance with the key-value
* associations of a specific {@code ReadableMap}.
*
* @param readableMap the {@code ReadableMap} specifying the key-value
* associations with which the new {@code HashMap} instance is to be
* initialized.
* @return a new {@code HashMap} instance initialized with the key-value
* associations of the specified {@code readableMap}.
*/
private static HashMap<String, Object> toHashMap(ReadableMap readableMap) {
HashMap<String, Object> hashMap = new HashMap<>();
for (ReadableMapKeySetIterator i = readableMap.keySetIterator();
i.hasNextKey();) {
String key = i.nextKey();
hashMap.put(key, readableMap.getString(key));
}
return hashMap;
}
}

View File

@ -43,7 +43,7 @@ class PictureInPictureModule extends ReactContextBaseJavaModule {
private static final String TAG = NAME;
private static boolean isSupported;
private boolean isDisabled;
private boolean isEnabled;
public PictureInPictureModule(ReactApplicationContext reactContext) {
super(reactContext);
@ -84,7 +84,7 @@ class PictureInPictureModule extends ReactContextBaseJavaModule {
*/
@TargetApi(Build.VERSION_CODES.O)
public void enterPictureInPicture() {
if (isDisabled) {
if (!isEnabled) {
return;
}
@ -132,8 +132,8 @@ class PictureInPictureModule extends ReactContextBaseJavaModule {
}
@ReactMethod
public void setPictureInPictureDisabled(Boolean disabled) {
this.isDisabled = disabled;
public void setPictureInPictureEnabled(Boolean enabled) {
this.isEnabled = enabled;
}
public boolean isPictureInPictureSupported() {

View File

@ -193,7 +193,7 @@ class RNConnectionService extends ReactContextBaseJavaModule {
* Called by the JS side to update the call's state.
*
* @param callUUID - the call's UUID.
* @param callState - the map which carries infor about the current call's
* @param callState - the map which carries info about the current call's
* state. See static fields in {@link ConnectionService.ConnectionImpl}
* prefixed with "KEY_" for the values supported by the Android
* implementation.

View File

@ -31,12 +31,12 @@ import com.facebook.react.common.LifecycleState;
import com.facebook.react.jscexecutor.JSCExecutorFactory;
import com.facebook.react.modules.core.DeviceEventManagerModule;
import com.facebook.react.uimanager.ViewManager;
import com.oney.WebRTCModule.EglUtils;
import com.oney.WebRTCModule.RTCVideoViewManager;
import com.oney.WebRTCModule.WebRTCModule;
import org.devio.rn.splashscreen.SplashScreenModule;
import org.webrtc.SoftwareVideoDecoderFactory;
import org.webrtc.SoftwareVideoEncoderFactory;
import org.webrtc.EglBase;
import org.webrtc.audio.AudioDeviceModule;
import org.webrtc.audio.JavaAudioDeviceModule;
@ -46,6 +46,8 @@ import java.util.Arrays;
import java.util.List;
class ReactInstanceManagerHolder {
private static final String TAG = ReactInstanceManagerHolder.class.getSimpleName();
/**
* FIXME (from linter): Do not place Android context classes in static
* fields (static reference to ReactInstanceManager which has field
@ -71,7 +73,6 @@ class ReactInstanceManagerHolder {
new SplashScreenModule(reactContext),
new PictureInPictureModule(reactContext),
new ProximityModule(reactContext),
new WiFiStatsModule(reactContext),
new org.jitsi.meet.sdk.net.NAT64AddrInfoModule(reactContext)));
if (AudioModeModule.useConnectionService()) {
@ -83,11 +84,14 @@ class ReactInstanceManagerHolder {
WebRTCModule.Options options = new WebRTCModule.Options();
AudioDeviceModule adm = JavaAudioDeviceModule.builder(reactContext)
.setEnableVolumeLogger(false)
.createAudioDeviceModule();
options.setAudioDeviceModule(adm);
options.setVideoDecoderFactory(new SoftwareVideoDecoderFactory());
options.setVideoEncoderFactory(new SoftwareVideoEncoderFactory());
EglBase.Context eglContext = EglUtils.getRootEglBaseContext();
options.setVideoDecoderFactory(new WebRTCVideoDecoderFactory(eglContext));
options.setVideoEncoderFactory(new WebRTCVideoEncoderFactory(eglContext));
nativeModules.add(new WebRTCModule(reactContext, options));
@ -110,24 +114,22 @@ class ReactInstanceManagerHolder {
new com.corbt.keepawake.KCKeepAwakePackage(),
new com.facebook.react.shell.MainReactPackage(),
new com.reactnativecommunity.clipboard.ClipboardPackage(),
new com.giphyreactnativesdk.GiphyReactNativeSdkPackage(),
new com.reactnativecommunity.netinfo.NetInfoPackage(),
new com.reactnativepagerview.PagerViewPackage(),
new com.oblador.performance.PerformancePackage(),
new com.reactnativecommunity.slider.ReactSliderPackage(),
new com.brentvatne.react.ReactVideoPackage(),
new com.swmansion.reanimated.ReanimatedPackage(),
new org.reactnative.maskedview.RNCMaskedViewPackage(),
new com.reactnativecommunity.webview.RNCWebViewPackage(),
new com.kevinresol.react_native_default_preference.RNDefaultPreferencePackage(),
new com.learnium.RNDeviceInfo.RNDeviceInfo(),
new com.swmansion.gesturehandler.react.RNGestureHandlerPackage(),
new com.swmansion.gesturehandler.RNGestureHandlerPackage(),
new org.linusu.RNGetRandomValuesPackage(),
new com.rnimmersive.RNImmersivePackage(),
new com.swmansion.rnscreens.RNScreensPackage(),
new com.zmxv.RNSound.RNSoundPackage(),
new com.th3rdwave.safeareacontext.SafeAreaContextPackage(),
new com.horcrux.svg.SvgPackage(),
new org.wonday.orientation.OrientationPackage(),
new ReactPackageAdapter() {
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
@ -146,6 +148,17 @@ class ReactInstanceManagerHolder {
packages.add((ReactPackage)constructor.newInstance());
} catch (Exception e) {
// Ignore any error, the module is not compiled when LIBRE_BUILD is enabled.
Log.d(TAG, "Not loading AmplitudeReactNativePackage");
}
// GiphyReactNativeSdkPackage
try {
Class<?> giphyPackageClass = Class.forName("com.giphyreactnativesdk.GiphyReactNativeSdkPackage");
Constructor constructor = giphyPackageClass.getConstructor();
packages.add((ReactPackage)constructor.newInstance());
} catch (Exception e) {
// Ignore any error, the module is not compiled when LIBRE_BUILD is enabled.
Log.d(TAG, "Not loading GiphyReactNativeSdkPackage");
}
// RNGoogleSignInPackage
@ -155,6 +168,7 @@ class ReactInstanceManagerHolder {
packages.add((ReactPackage)constructor.newInstance());
} catch (Exception e) {
// Ignore any error, the module is not compiled when LIBRE_BUILD is enabled.
Log.d(TAG, "Not loading RNGoogleSignInPackage");
}
return packages;
@ -240,7 +254,7 @@ class ReactInstanceManagerHolder {
return;
}
Log.d(ReactInstanceManagerHolder.class.getCanonicalName(), "initializing RN with Application");
Log.d(TAG, "initializing RN with Application");
reactInstanceManager
= ReactInstanceManager.builder()

View File

@ -0,0 +1,19 @@
package org.jitsi.meet.sdk;
/** Enumeration of supported video codec types. */
public enum VideoCodecMimeType {
VP8("video/x-vnd.on2.vp8"),
VP9("video/x-vnd.on2.vp9"),
H264("video/avc"),
AV1("video/av01");
private final String mimeType;
private VideoCodecMimeType(String mimeType) {
this.mimeType = mimeType;
}
String mimeType() {
return mimeType;
}
}

View File

@ -0,0 +1,52 @@
package org.jitsi.meet.sdk;
import androidx.annotation.Nullable;
import org.webrtc.EglBase;
import org.webrtc.HardwareVideoDecoderFactory;
import org.webrtc.SoftwareVideoDecoderFactory;
import org.webrtc.VideoCodecInfo;
import org.webrtc.VideoDecoder;
import org.webrtc.VideoDecoderFactory;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
* This is a custom video decoder factory for WebRTC which behaves similarly
* to the default one in iOS. It supports the following codecs:
*
* - In hardware: H.264 (baseline)
* - In software: VP8, VP9, AV1
*/
public class WebRTCVideoDecoderFactory implements VideoDecoderFactory {
private final VideoDecoderFactory hardwareVideoDecoderFactory;
private final VideoDecoderFactory softwareVideoDecoderFactory = new SoftwareVideoDecoderFactory();
public WebRTCVideoDecoderFactory(@Nullable EglBase.Context eglContext) {
this.hardwareVideoDecoderFactory = new HardwareVideoDecoderFactory(eglContext);
}
@Nullable
@Override
public VideoDecoder createDecoder(VideoCodecInfo codecInfo) {
if (codecInfo.name.equalsIgnoreCase(VideoCodecMimeType.H264.name())) {
return this.hardwareVideoDecoderFactory.createDecoder(codecInfo);
}
return this.softwareVideoDecoderFactory.createDecoder(codecInfo);
}
@Override
public VideoCodecInfo[] getSupportedCodecs() {
List<VideoCodecInfo> codecs = new ArrayList<>();
codecs.add(H264Utils.DEFAULT_H264_BASELINE_PROFILE_CODEC);
codecs.add(new VideoCodecInfo(VideoCodecMimeType.VP8.name(), new HashMap<>()));
codecs.add(new VideoCodecInfo(VideoCodecMimeType.VP9.name(), new HashMap<>()));
codecs.add(new VideoCodecInfo(VideoCodecMimeType.AV1.name(), new HashMap<>()));
return codecs.toArray(new VideoCodecInfo[codecs.size()]);
}
}

View File

@ -0,0 +1,53 @@
package org.jitsi.meet.sdk;
import androidx.annotation.Nullable;
import org.webrtc.EglBase;
import org.webrtc.HardwareVideoEncoderFactory;
import org.webrtc.SoftwareVideoEncoderFactory;
import org.webrtc.VideoCodecInfo;
import org.webrtc.VideoEncoder;
import org.webrtc.VideoEncoderFactory;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
* This is a custom video encoder factory for WebRTC which behaves similarly
* to the default one in iOS. It supports the following codecs:
*
* - In hardware: H.264 (baseline)
* - In software: VP8, VP9, AV1
*/
public class WebRTCVideoEncoderFactory implements VideoEncoderFactory {
private final VideoEncoderFactory hardwareVideoEncoderFactory;
private final VideoEncoderFactory softwareVideoEncoderFactory = new SoftwareVideoEncoderFactory();
public WebRTCVideoEncoderFactory(@Nullable EglBase.Context eglContext) {
this.hardwareVideoEncoderFactory =
new HardwareVideoEncoderFactory(eglContext, false, false);
}
@Nullable
@Override
public VideoEncoder createEncoder(VideoCodecInfo codecInfo) {
if (codecInfo.name.equalsIgnoreCase(VideoCodecMimeType.H264.name())) {
return this.hardwareVideoEncoderFactory.createEncoder(codecInfo);
}
return this.softwareVideoEncoderFactory.createEncoder(codecInfo);
}
@Override
public VideoCodecInfo[] getSupportedCodecs() {
List<VideoCodecInfo> codecs = new ArrayList<>();
codecs.add(H264Utils.DEFAULT_H264_BASELINE_PROFILE_CODEC);
codecs.add(new VideoCodecInfo(VideoCodecMimeType.VP8.name(), new HashMap<>()));
codecs.add(new VideoCodecInfo(VideoCodecMimeType.VP9.name(), new HashMap<>()));
codecs.add(new VideoCodecInfo(VideoCodecMimeType.AV1.name(), new HashMap<>()));
return codecs.toArray(new VideoCodecInfo[codecs.size()]);
}
}

View File

@ -1,203 +0,0 @@
/*
* Copyright @ 2017-present Atlassian Pty Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jitsi.meet.sdk;
import android.content.Context;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.module.annotations.ReactModule;
import org.jitsi.meet.sdk.log.JitsiMeetLogger;
import org.json.JSONArray;
import org.json.JSONObject;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Enumeration;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
* Module exposing WiFi statistics.
*
* Gathers rssi, signal in percentage, timestamp and the addresses of the wifi
* device.
*/
@ReactModule(name = WiFiStatsModule.NAME)
class WiFiStatsModule
extends ReactContextBaseJavaModule {
public static final String NAME = "WiFiStats";
/**
* The {@code Log} tag {@code WiFiStatsModule} is to log messages with.
*/
static final String TAG = NAME;
/**
* The scale used for the signal value. A level of the signal, given in the
* range of 0 to SIGNAL_LEVEL_SCALE-1 (both inclusive).
*/
public final static int SIGNAL_LEVEL_SCALE = 101;
/**
* {@link ExecutorService} for running all operations on a dedicated thread.
*/
private static final ExecutorService executor
= Executors.newSingleThreadExecutor();
/**
* Initializes a new module instance. There shall be a single instance of
* this module throughout the lifetime of the application.
*
* @param reactContext the {@link ReactApplicationContext} where this module
* is created.
*/
public WiFiStatsModule(ReactApplicationContext reactContext) {
super(reactContext);
}
/**
* Gets the name for this module to be used in the React Native bridge.
*
* @return a string with the module name.
*/
@Override
public String getName() {
return NAME;
}
/**
* Returns the {@link InetAddress} represented by this int.
*
* @param value the int representation of the ip address.
* @return the {@link InetAddress}.
* @throws UnknownHostException - if IP address is of illegal length.
*/
public static InetAddress toInetAddress(int value)
throws UnknownHostException {
return InetAddress.getByAddress(
new byte[] {
(byte) value,
(byte) (value >> 8),
(byte) (value >> 16),
(byte) (value >> 24)
});
}
/**
* Public method to retrieve WiFi stats.
*
* @param promise a {@link Promise} which will be resolved if WiFi stats are
* retrieved successfully, and it will be rejected otherwise.
*/
@ReactMethod
public void getWiFiStats(final Promise promise) {
Runnable r = new Runnable() {
@Override
public void run() {
try {
Context context
= getReactApplicationContext().getApplicationContext();
WifiManager wifiManager
= (WifiManager) context
.getSystemService(Context.WIFI_SERVICE);
if (!wifiManager.isWifiEnabled()) {
promise.reject(new Exception("Wifi not enabled"));
return;
}
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
if (wifiInfo.getNetworkId() == -1) {
promise.reject(new Exception("Wifi not connected"));
return;
}
int rssi = wifiInfo.getRssi();
int signalLevel
= WifiManager.calculateSignalLevel(
rssi, SIGNAL_LEVEL_SCALE);
JSONObject result = new JSONObject();
result.put("rssi", rssi)
.put("signal", signalLevel)
.put("timestamp", System.currentTimeMillis());
JSONArray addresses = new JSONArray();
InetAddress wifiAddress
= toInetAddress(wifiInfo.getIpAddress());
try {
Enumeration<NetworkInterface> e
= NetworkInterface.getNetworkInterfaces();
while (e.hasMoreElements()) {
NetworkInterface networkInterface = e.nextElement();
boolean found = false;
// first check whether this is the desired interface
Enumeration<InetAddress> as
= networkInterface.getInetAddresses();
while (as.hasMoreElements()) {
InetAddress a = as.nextElement();
if(a.equals(wifiAddress)) {
found = true;
break;
}
}
if (found) {
// interface found let's put addresses
// to the result object
as = networkInterface.getInetAddresses();
while (as.hasMoreElements()) {
InetAddress a = as.nextElement();
if (a.isLinkLocalAddress())
continue;
addresses.put(a.getHostAddress());
}
}
}
} catch (SocketException e) {
JitsiMeetLogger.e(e, TAG + " Unable to NetworkInterface.getNetworkInterfaces()");
}
result.put("addresses", addresses);
promise.resolve(result.toString());
JitsiMeetLogger.d(TAG + " WiFi stats: " + result.toString());
} catch (Throwable e) {
JitsiMeetLogger.e(e, TAG + " Failed to obtain wifi stats");
promise.reject(
new Exception("Failed to obtain wifi stats"));
}
}
};
executor.execute(r);
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 699 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1,3 @@
<resources>
<style name="JitsiMeetActivityStyle" parent="Theme.AppCompat.Light.NoActionBar"/>
</resources>

View File

@ -31,14 +31,12 @@ include ':react-native-immersive'
project(':react-native-immersive').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-immersive/android')
include ':react-native-keep-awake'
project(':react-native-keep-awake').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-keep-awake/android')
include ':react-native-masked-view_masked-view'
project(':react-native-masked-view_masked-view').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-masked-view/masked-view/android')
include ':react-native-orientation-locker'
project(':react-native-orientation-locker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-orientation-locker/android')
include ':react-native-pager-view'
project(':react-native-pager-view').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-pager-view/android')
include ':react-native-performance'
project(':react-native-performance').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-performance/android')
include ':react-native-reanimated'
project(':react-native-reanimated').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-reanimated/android')
include ':react-native-safe-area-context'
project(':react-native-safe-area-context').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-safe-area-context/android')
include ':react-native-screens'

17
app.js
View File

@ -1,6 +1,10 @@
/* application specific logic */
import 'jquery';
// Re-export jQuery
// FIXME: Remove this requirement from torture tests.
import $ from 'jquery';
window.$ = window.jQuery = $;
import '@matrix-org/olm';
@ -29,17 +33,6 @@ window.APP = {
API,
conference,
// Used by do_external_connect.js if we receive the attach data after
// connect was already executed. status property can be 'initialized',
// 'ready', or 'connecting'. We are interested in 'ready' status only which
// means that connect was executed but we have to wait for the attach data.
// In status 'ready' handler property will be set to a function that will
// finish the connect process when the attach data or error is received.
connect: {
handler: null,
status: 'initialized'
},
// Used for automated performance tests.
connectionTimes: {
'index.loaded': window.indexLoadedTime

File diff suppressed because it is too large Load Diff

626
config.js

File diff suppressed because it is too large Load Diff

View File

@ -8,8 +8,9 @@ import { LoginDialog } from './react/features/authentication/components';
import { isTokenAuthEnabled } from './react/features/authentication/functions';
import {
connectionEstablished,
connectionFailed
} from './react/features/base/connection/actions';
connectionFailed,
constructOptions
} from './react/features/base/connection/actions.web';
import { openDialog } from './react/features/base/dialog/actions';
import { setJWT } from './react/features/base/jwt';
import {
@ -18,8 +19,10 @@ import {
} from './react/features/base/lib-jitsi-meet';
import { isFatalJitsiConnectionError } from './react/features/base/lib-jitsi-meet/functions';
import { getCustomerDetails } from './react/features/jaas/actions.any';
import { isVpaasMeeting, getJaasJWT } from './react/features/jaas/functions';
import { setPrejoinDisplayNameRequired } from './react/features/prejoin/actions';
import { getJaasJWT, isVpaasMeeting } from './react/features/jaas/functions';
import {
setPrejoinDisplayNameRequired
} from './react/features/prejoin/actions';
const logger = Logger.getLogger(__filename);
/**
@ -29,64 +32,14 @@ const logger = Logger.getLogger(__filename);
*/
export const DISCO_JIBRI_FEATURE = 'http://jitsi.org/protocol/jibri';
/**
* Checks if we have data to use attach instead of connect. If we have the data
* executes attach otherwise check if we have to wait for the data. If we have
* to wait for the attach data we are setting handler to APP.connect.handler
* which is going to be called when the attach data is received otherwise
* executes connect.
*
* @param {string} [id] user id
* @param {string} [password] password
* @param {string} [roomName] the name of the conference.
*/
function checkForAttachParametersAndConnect(id, password, connection) {
if (window.XMPPAttachInfo) {
APP.connect.status = 'connecting';
// When connection optimization is not deployed or enabled the default
// value will be window.XMPPAttachInfo.status = "error"
// If the connection optimization is deployed and enabled and there is
// a failure the value will be window.XMPPAttachInfo.status = "error"
if (window.XMPPAttachInfo.status === 'error') {
connection.connect({
id,
password
});
return;
}
const attachOptions = window.XMPPAttachInfo.data;
if (attachOptions) {
connection.attach(attachOptions);
delete window.XMPPAttachInfo.data;
} else {
connection.connect({
id,
password
});
}
} else {
APP.connect.status = 'ready';
APP.connect.handler
= checkForAttachParametersAndConnect.bind(
null,
id, password, connection);
}
}
/**
* Try to open connection using provided credentials.
* @param {string} [id]
* @param {string} [password]
* @param {string} [roomName]
* @returns {Promise<JitsiConnection>} connection if
* everything is ok, else error.
*/
export async function connect(id, password, roomName) {
const connectionConfig = Object.assign({}, config);
export async function connect(id, password) {
const state = APP.store.getState();
let { jwt } = state['features/base/jwt'];
const { iAmRecorder, iAmSipGateway } = state['features/base/config'];
@ -100,19 +53,7 @@ export async function connect(id, password, roomName) {
}
}
// Use Websocket URL for the web app if configured. Note that there is no 'isWeb' check, because there's assumption
// that this code executes only on web browsers/electron. This needs to be changed when mobile and web are unified.
let serviceUrl = connectionConfig.websocket || connectionConfig.bosh;
serviceUrl += `?room=${roomName}`;
connectionConfig.serviceUrl = serviceUrl;
if (connectionConfig.websocketKeepAliveUrl) {
connectionConfig.websocketKeepAliveUrl += `?room=${roomName}`;
}
const connection = new JitsiMeetJS.JitsiConnection(null, jwt, connectionConfig);
const connection = new JitsiMeetJS.JitsiConnection(null, jwt, constructOptions(state));
if (config.iAmRecorder) {
connection.addFeature(DISCO_JIBRI_FEATURE);
@ -193,7 +134,10 @@ export async function connect(id, password, roomName) {
APP.store.dispatch(setPrejoinDisplayNameRequired());
}
checkForAttachParametersAndConnect(id, password, connection);
connection.connect({
id,
password
});
});
}

View File

@ -1,3 +0,0 @@
module.exports = {
'extends': '../react/.eslintrc.js'
};

View File

@ -1,86 +0,0 @@
/* global config, createConnectionExternally */
import getRoomName from '../react/features/base/config/getRoomName';
import { parseURLParams } from '../react/features/base/util/parseURLParams';
/**
* Implements external connect using createConnectionExternally function defined
* in external_connect.js for Jitsi Meet. Parses the room name and JSON Web
* Token (JWT) from the URL and executes createConnectionExternally.
*
* NOTE: If you are using lib-jitsi-meet without Jitsi Meet, you should use this
* file as reference only because the implementation is Jitsi Meet-specific.
*
* NOTE: For optimal results this file should be included right after
* external_connect.js.
*/
if (typeof createConnectionExternally === 'function') {
// URL params have higher priority than config params.
// Do not use external connect if websocket is enabled.
let url
= parseURLParams(window.location, true, 'hash')[
'config.externalConnectUrl']
|| config.websocket ? undefined : config.externalConnectUrl;
const isRecorder
= parseURLParams(window.location, true, 'hash')['config.iAmRecorder'];
let roomName;
if (url && (roomName = getRoomName()) && !isRecorder) {
url += `?room=${roomName}`;
const token = parseURLParams(window.location, true, 'search').jwt;
if (token) {
url += `&token=${token}`;
}
createConnectionExternally(
url,
connectionInfo => {
// Sets that global variable to be used later by connect method
// in connection.js.
window.XMPPAttachInfo = {
status: 'success',
data: connectionInfo
};
checkForConnectHandlerAndConnect();
},
errorCallback);
} else {
errorCallback();
}
} else {
errorCallback();
}
/**
* Check if connect from connection.js was executed and executes the handler
* that is going to finish the connect work.
*
* @returns {void}
*/
function checkForConnectHandlerAndConnect() {
window.APP
&& window.APP.connect.status === 'ready'
&& window.APP.connect.handler();
}
/**
* Implements a callback to be invoked if anything goes wrong.
*
* @param {Error} error - The specifics of what went wrong.
* @returns {void}
*/
function errorCallback(error) {
// The value of error is undefined if external connect is disabled.
error && console.warn(error);
// Sets that global variable to be used later by connect method in
// connection.js.
window.XMPPAttachInfo = {
status: 'error'
};
checkForConnectHandlerAndConnect();
}

View File

@ -2,13 +2,13 @@
display: inline-block;
&-content {
background: $menuBG;
border-radius: 3px;
font-size: 14px;
line-height: 24px;
position: relative;
right: auto;
margin-bottom: 4px;
max-height: 456px;
overflow: auto;
width: 300px;
&-ul {
margin:0;
padding:0;
@ -16,90 +16,33 @@
}
}
&-header {
color: #fff;
align-items: center;
display: flex;
margin-top: 8px;
padding: 8px 16px;
&-icon {
display: inline-block;
svg {
fill: #fff;
}
}
&--bordered {
border-bottom: 1px solid #4C4D50;
}
&-text {
margin-left: 12px;
}
&-header:hover {
background-color: initial;
cursor: initial;
}
&-entry {
align-items: center;
color: #fff;
cursor: pointer;
display: flex;
padding: 8px 0;
margin-left: 48px;
&-entry-text {
max-width: 213px;
&--selected {
background: #131519;
cursor: initial;
margin-left: 0;
padding-left: 18px;
}
&-text {
color: #fff;
display: inline-block;
line-height: 24px;
text-overflow: ellipsis;
max-width: 213px;
overflow: hidden;
white-space: nowrap;
&.left-margin {
margin-left: 36px;
}
}
&-speaker {
position: relative;
&-ul {
margin:0;
padding:0;
list-style-type: none;
}
&:hover, &:focus-within, &:focus {
.audio-preview-entry {
background: #36383C;
margin-left: 0;
padding-left: 48px;
&--selected {
padding-left: 18px;
background: $newToolbarBackgroundColor;
}
}
.audio-preview-test-button {
display: inline-block;
}
.audio-preview-entry-text {
max-width: 178px;
margin-right: 0;
}
}
&:last-child {
padding-bottom: 8px;
}
.audio-preview-entry-text {
max-width: 238px;
}
@ -108,19 +51,6 @@
&-microphone {
position: relative;
&:hover {
.audio-preview-entry {
background: #36383C;
margin-left: 0;
padding-left: 48px;
&--selected {
background: $newToolbarBackgroundColor;
padding-left: 18px;
}
}
}
&--nometer {
.audio-preview-entry-text {
max-width: 238px;
@ -140,42 +70,21 @@
display: inline-block;
width: 14px;
& svg {
fill: #1C2025;
}
&--check {
background: #31B76A;
margin-right: 16px;
}
&--exclamation {
margin-left: 6px;
& svg {
fill: #E54B4B;
}
}
}
&-hr {
border-top: 1px solid #4C4D50;
border-bottom: 0;
}
&-test-button {
display: none;
background: #FFF;
border: 1px solid #D1DBE8;
border-radius: 3px;
color: #1C2025;
cursor: pointer;
font-weight: 600;
font-size: 0.8rem;
line-height: 24px;
padding: 2px 8px;
padding: 4px 10px;
position: absolute;
right: 16px;
top: 5px;
top: 6px;
}
&-meter-mic {
@ -184,9 +93,7 @@
top: 14px;
}
// Override @atlaskit/InlineDialog container which is made with styled components
& > div:nth-child(2) {
outline: none;
padding: 0;
&-checkbox-container {
padding: 10px 16px;
}
}

View File

@ -126,6 +126,12 @@ form {
background-size: contain;
}
.leftwatermarknomargin {
background-position: center left;
background-repeat: no-repeat;
background-size: contain;
}
.rightwatermark {
right: 32px;
top: 32px;
@ -182,3 +188,8 @@ form {
background: rgba(0, 0, 0, .5);
border-radius: 4px;
}
/* Necessary for the new icons to work properly. */
.jitsi-icon svg path {
fill: inherit !important;
}

View File

@ -22,7 +22,7 @@
display: flex;
flex-direction: column;
// extract header + tabs height
height: calc(100% - 102px);
height: calc(100% - 119px);
}
.chat-panel-no-tabs {
@ -30,12 +30,18 @@
height: calc(100% - 70px);
}
#chat-conversation-container {
// extract message input height
height: calc(100% - 64px);
overflow: hidden;
position: relative;
}
#chatconversation {
box-sizing: border-box;
flex: 1;
font-size: 10pt;
// extract message input height
height: calc(100% - 68px);
height: 100%;
line-height: 20px;
overflow: auto;
padding: 16px;
@ -70,32 +76,6 @@
}
}
#chat-recipient {
align-items: center;
background-color: $chatPrivateMessageBackgroundColor;
display: flex;
flex-direction: row;
font-weight: 100;
padding: 10px;
span {
color: white;
display: flex;
flex: 1;
}
div {
svg {
cursor: pointer;
fill: white;
}
}
&.lobby-chat-recipient {
background-color: $chatLobbyMessageBackgroundColor;
}
}
.chat-header {
height: 70px;
@ -118,64 +98,18 @@
}
.chat-input-container {
padding: 0 16px 16px;
&.populated {
#chat-input {
.send-button {
background: #1B67EC;
cursor: pointer;
margin-left: 0.3rem;
@media (hover: hover) and (pointer: fine) {
&:hover {
background: #3D82FB;
}
}
&:active {
background: #0852D4;
}
path {
fill: #fff;
}
}
}
}
padding: 0 16px 24px;
}
#chat-input {
border: 1px solid $chatInputSeparatorColor;
display: flex;
padding: 4px;
border-radius: 3px;
&:focus-within {
border: 1px solid #619CF4;
}
* {
background-color: transparent;
}
align-items: flex-end;
position: relative;
}
.send-button-container {
display: flex;
align-items: center;
}
.send-button {
display: flex;
align-items: center;
justify-content: center;
height: 40px;
width: 40px;
border-radius: 3px;
path {
fill: $chatInputSeparatorColor;
}
.chat-input {
flex: 1;
margin-right: 8px;
}
.smiley-button {
@ -302,15 +236,6 @@
-webkit-user-select: text;
user-select: text;
}
.display-name {
font-size: 12px;
font-weight: 600;
margin-bottom: 5px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
}
.sr-only {
@ -327,24 +252,11 @@
}
.chatmessage {
background-color: $chatRemoteMessageBackgroundColor;
border-radius: 0px 6px 6px 6px;
box-sizing: border-box;
color: white;
margin-top: 3px;
max-width: 100%;
position: relative;
&.localuser {
background-color: $chatLocalMessageBackgroundColor;
border-radius: 6px 0px 6px 6px;
}
.usermessage {
white-space: pre-wrap;
font-size: 14px;
}
&.error {
border-radius: 0px;
@ -359,22 +271,12 @@
}
}
.privatemessagenotice {
font-size: 11px;
font-weight: 100;
}
.messagecontent {
margin: 8px;
max-width: 100%;
overflow: hidden;
}
}
.timestamp {
color: #757575;
}
#smileys {
font-size: 20pt;
margin: auto;
@ -395,7 +297,9 @@
.smiley-input {
display: flex;
position: relative;
position: absolute;
top: 0;
left: 0;
}
.smileys-panel {
@ -403,7 +307,7 @@
box-sizing: border-box;
background-color: rgba(0, 0, 0, .6) !important;
height: auto;
display: none;
display: flex;
overflow: hidden;
position: absolute;
width: calc(#{$sidebarWidth} - 32px);
@ -418,11 +322,6 @@
*/
transition: max-height 0.3s;
&.show-smileys {
display: flex;
max-height: 500%;
}
#smileysContainer {
background-color: $chatBackgroundColor;
border-top: 1px solid $chatInputSeparatorColor;
@ -451,24 +350,9 @@
}
.chat-message-group {
display: flex;
flex-direction: column;
&.local {
align-items: flex-end;
.chatmessage {
background-color: $chatLocalMessageBackgroundColor;
border-radius: 6px 0px 6px 6px;
&.privatemessage {
background-color: $chatPrivateMessageBackgroundColor;
}
&.lobbymessage {
background-color: $chatLobbyMessageBackgroundColor;
}
}
.display-name {
display: none;
}
@ -479,58 +363,10 @@
}
&.error {
.chatmessage {
background-color: $defaultWarningColor;
border-radius: 0px;
font-weight: 100;
}
.display-name {
display: none;
}
}
.chatmessage-wrapper {
max-width: 100%;
.replywrapper {
display: flex;
flex-direction: row;
align-items: center;
.messageactions {
align-self: stretch;
border-left: 1px solid $chatActionsSeparatorColor;
display: flex;
flex-direction: column;
justify-content: center;
padding: 5px;
&.lobbychatmessageactions {
border-left-color: $chatLobbyActionsSeparatorColor;
}
.toolbox-icon {
cursor: pointer;
}
}
}
}
.chatmessage {
background-color: $chatRemoteMessageBackgroundColor;
border-radius: 0px 6px 6px 6px;
display: inline-block;
margin-top: 3px;
color: white;
&.privatemessage {
background-color: $chatPrivateMessageBackgroundColor;
}
&.lobbymessage {
background-color: $chatLobbyMessageBackgroundColor;
}
}
}
.chat-dialog {
@ -573,41 +409,3 @@
background: #36383C;
border-radius: 3px;
}
.chat-tabs-container {
width: 100%;
border-bottom: thin solid #292929;
display: flex;
justify-content: space-around;
}
.chat-tab {
font-size: 1.2em;
padding-bottom: 0.5em;
width: 50%;
text-align: center;
color: #8B8B8B;
cursor: pointer;
}
.chat-tab-focus {
border-bottom-style: solid;
color: #FFF;
}
.chat-tab-title {
margin-right: 8px;
}
.chat-tab-badge {
background-color: #165ecc;
border-radius: 50%;
box-sizing: border-box;
font-weight: 700;
overflow: hidden;
text-align: center;
text-overflow: ellipsis;
vertical-align: middle;
padding: 0 4px;
color: #FFF;
}

View File

@ -24,8 +24,6 @@
}
.drawer-menu {
background: #242528;
border-radius: 16px 16px 0 0;
overflow-y: auto;
margin-bottom: env(safe-area-inset-bottom, 0);
width: 100%;

67
css/_jiti.scss Normal file
View File

@ -0,0 +1,67 @@
@keyframes rotateAroundY {
from { transform: rotateY(0deg); }
to { transform: rotateY(360deg); }
}
@keyframes rainbowRoad {
to {
background-position: 400% 0 !important;
}
}
body {
font-family: "Comic Sans MS", "Comic Sans", sans-serif !important;
}
a {
background: linear-gradient(90deg, rgba(255,0,0,1) 0%, rgba(255,154,0,1) 10%, rgba(208,222,33,1) 20%, rgba(79,220,74,1) 30%, rgba(63,218,216,1) 40%, rgba(47,201,226,1) 50%, rgba(28,127,238,1) 60%, rgba(95,21,242,1) 70%, rgba(186,12,248,1) 80%, rgba(251,7,217,1) 90%, rgba(255,0,0,1) 100%) !important;
-webkit-background-clip: text !important;
-webkit-text-fill-color: transparent !important;
-moz-background-clip: text !important;
-moz-text-fill-color: transparent !important;
animation: rainbowRoad 8s linear infinite !important;
}
a:hover {
}
.dominant-speaker {
box-shadow: inset 0px 0px 0px 4px rgba(255,0,255,0.33) !important;
}
.display-avatar-only {
background-image: url("");
}
.videocontainer:nth-child(odd) {
transform: rotate(1.5deg);
}
.videocontainer:nth-child(even) {
transform: rotate(-1.3deg);
}
#largeVideoContainer.videocontainer {
transform: none;
}
.sideToolbarContainer {
transform: rotate(-1.1deg);
}
.displayname:before {
content: "♡︎ ";
}
.displayname:after {
content: " ♡︎";
}
.avatar, .userAvatar {
transform: rotateY(0deg);
}
.avatar:hover, .userAvatar:hover {
animation: rotateAroundY 3.6s linear infinite;
}

View File

@ -82,6 +82,7 @@
}
.left-column {
order: -1;
display: flex;
flex-direction: column;
flex-grow: 0;
@ -92,6 +93,7 @@
.right-column {
display: flex;
flex-direction: column;
align-items: flex-start;
flex-grow: 1;
padding-left: 16px;
padding-top: 13px;
@ -99,11 +101,11 @@
}
.title {
font-size: 12px;
font-weight: 600;
line-height: 16px;
padding-bottom: 4px;
}
font-size: 12px;
font-weight: 600;
line-height: 16px;
margin-bottom: 4px;
}
.subtitle {
color: #5E6D7A;
@ -125,8 +127,7 @@
cursor: pointer;
}
&.with-click-handler:hover,
&.with-click-handler:focus {
&.with-click-handler:hover {
background-color: #c7ddff;
}

View File

@ -3,28 +3,28 @@
display: inline-block;
& > svg {
fill: #4E5E6C;
fill: #525252;
width: 38px;
}
}
&.metr--disabled {
& > svg {
fill: #4E5E6C;
fill: #525252;
}
}
}
.metr-l-0 {
rect:first-child {
fill: #31B76A;
fill: #1EC26A;
}
}
@for $i from 1 through 7 {
.metr-l-#{$i} {
rect:nth-child(-n+#{$i+1}) {
fill: #31B76A;
fill: #1EC26A;
}
}
}

View File

@ -1,444 +1,3 @@
.poll-dialog {
font-size: 14px;
font-weight: 400;
line-height: 20px;
h1, span, li, strong {
color: #bce;
}
ol {
margin: 0;
}
}
.poll-question-field {
padding: 8px 16px;
padding-bottom: 24px;
border-bottom: 1px solid #525252;
}
.poll-header {
margin-bottom: 8px;
}
.poll-creator {
color: #C2C2C2;
font-weight: 600;
margin: 4px 0 16px 0;
}
.poll-answer-container {
background: #3D3D3D;
border-radius: 3px;
margin-bottom: 8px;
@media (max-width: 580px) {
&> span {
padding: 8px 0;
}
svg {
margin-top: 6px;
}
}
}
.poll-answer-option {
font-weight: 400;
display: block;
margin: 4px;
@media (max-width: 580px) {
font-size: 16px;
margin: 11px 8px
}
}
.poll-answer-field-list, .poll-answer-list, .poll-result-list {
list-style-type: none;
padding: 0;
margin: 0;
}
.poll-answer-field-list {
padding: 0 16px;
}
ol.poll-result-list {
margin-bottom: 1.5em;
}
.poll-result-list > li {
margin-bottom: 16px;
}
.poll-answer-field {
flex-direction: column;
align-items: stretch;
margin-bottom: 16;
}
.poll-answer-field:last-child {
margin-bottom: 0;
}
.poll-create-option-row {
display: 'flex';
margin-bottom: 4;
}
// Needeed to override atlaskit default blue color
.poll-create-container .jsYMHu {
background: #292929;
border-color: #808090;
color: #fff // #808090
}
.poll-add-button {
display: flex;
justify-content: center;
padding: 8px 16px;
}
.poll-remove-option-button {
background: 0 0;
border: none;
color: #E04757;
padding-left: 0;
}
.poll-create-add-option {
border: none;
background-color: #292929;
padding: 3px;
width: 100%;
}
.poll-icon-button, .poll-drag-handle {
.jitsi-icon svg {
fill: #929292;
}
}
.poll-drag-handle {
background-color: transparent;
border: none;
cursor: grab;
padding-left: 8;
padding-top: 8px;
display: flex;
}
.poll-dragged {
opacity: 0.5;
* {
cursor: grabbing !important;
}
}
.poll-question {
font-size: 16px;
font-weight: 600;
line-height: 26px;
}
.poll-answer-voters {
font-weight: lighter;
list-style-type: none;
border: #616161 solid 1px;
border-radius: 3px;
padding: 2px 6px;
margin: 4px 0px 12px;
background-color: #616161;
}
.poll-answer-header {
display: flex;
justify-content: space-between;
}
.poll-answer-vote-name {
flex-shrink: 1;
overflow-wrap: anywhere
}
.poll-answer-vote-count-container{
display: flex;
}
.poll-answer-vote-count {
margin-left: 10px;
white-space: nowrap;
flex: 1;
text-align: right;
}
.poll-answer-short-results{
display: flex;
min-width: 10em;
justify-content: space-between;
align-items: center;
}
.poll-bar-container, .poll-bar {
border-radius: 3px;
height: 6px;
}
.poll-bar-container {
background-color: #616161;
max-width: 160px;
margin-top: 3px;
flex: 1;
}
.poll-bar {
background-color: #246FE5;
}
.poll-message-footer {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 12px;
margin-top: 5px;
}
.poll-notice {
font-weight: 100;
margin-right: 10px;
}
.poll-show-details {
background-color: transparent;
border: none;
&:hover {
text-decoration: underline;
}
}
.poll-result-links {
display: flex;
flex-direction: row;
justify-content: space-between;
a.poll-detail-link, a.poll-change-vote-link {
color: #669AEC;
cursor: pointer;
font-weight: 600;
text-decoration: none;
&:hover {
color: #669AEC;
}
&:visited {
color: #669AEC;
}
}
}
.polls-pane-content {
height: 100%;
position: relative;
}
.pane-content{
display: flex;
flex-direction: column;
height: 100%;
justify-content: center;
align-items: center;
width: 100%;
}
.empty-pane-icon {
width: 50%;
padding: 24px;
}
.empty-pane-icon svg {
fill: #3D3D3D;
width: 100%;
height: auto;
}
.empty-pane-message {
color: #fff;
padding: 0 16px;
text-align: center;
}
.poll-results, .poll-answer {
background: #292929;
border-radius: 8px;
border: 1px solid #666666;
margin: 16px;
padding: 16px;
word-break: break-word;
}
.poll-results {
color: #fff;
}
.poll-answer {
h1, strong ,span {
color: #fff;
}
}
.poll-create-label {
color: #C2C2C2;
display: flex;
font-weight: 400;
margin-bottom: 4;
}
.expandable-input{
line-height: 18px;
resize: none;
width: 100%;
height: 40px;
box-sizing: border-box;
overflow: hidden;
border: 1px solid #666666;
background-color: #141414;
color: #FFF;
border-radius: 6px;
padding: 10px 16px;
}
#polls-panel {
height: calc(100% - 102px);
}
.poll-container {
font-size: 14px;
font-weight: 600;
height: calc(100% - 88px);
line-height: 20px;
overflow-y: auto;
position: relative;
& > * + *:not(.ignore-child) {
margin-top: 16px;
}
@media (max-width: 580px) {
height: calc(100% - 102px);
}
}
.poll-create-header {
color: #fff;
font-size: 20px;
line-height: 28px;
margin: 20px 16px;
font-weight: 600;
}
.poll-create-container {
padding: 8px 0;
}
.poll-create-footer {
background-color: #141414;
bottom: 0;
position: absolute;
width: calc(100% - 32px);
}
.poll-footer {
display: flex;
justify-content: space-between;
padding: 0 16px 16px 16px;
}
.poll-answer-footer {
padding: 8px 0 0 0;
}
.poll-button {
align-items: center;
border: 0;
border-radius: 6px;
font-size: 14px;
font-weight: 600;
display: flex;
justify-content: center;
min-height: 40px;
width: 100%;
&:disabled {
cursor: initial;
}
@media (max-width: 580px) {
min-height: 48px;
}
}
.poll-button-primary {
background-color: #0056E0;
&:hover {
background-color: #246FE5;
}
&:active {
background-color: #0045B3;
}
&:focus {
background-color: #0045B3;
border: 3px solid #99BBF3;
}
&:disabled {
background-color: #00225A;
color: #858585;
}
}
.poll-button-secondary {
background-color: #3D3D3D;
&:hover {
background-color: #525252;
}
&:active {
background-color: #292929;
}
&:focus {
background-color: #292929;
border: 3px solid #858585;
}
&:disabled {
background-color: #141414;
color: #858585;
}
}
.poll-button-short {
max-width: 132px;
}
.poll-button-shortest {
max-width: 117px;
}
.poll-button-short,
.poll-button-shortest {
@media (max-width: 580px) {
min-width: 49%;
}
.polls-panel {
height: calc(100% - 119px);
}

View File

@ -45,3 +45,7 @@
margin: -16px -24px;
z-index: $popoverZ;
}
.excalidraw .popover {
margin: 0;
}

View File

@ -5,15 +5,15 @@
.popupmenu__contents {
.popupmenu__volume-slider {
&::-webkit-slider-runnable-track {
background-color: $popupSliderColor;
background-color: #246FE5;
}
&::-moz-range-track {
background-color: $popupSliderColor;
background-color: #246FE5;
}
&::-ms-fill-lower {
background-color: $popupSliderColor;
background-color: #246FE5;
}
}
}

View File

@ -18,12 +18,36 @@
align-items: center;
font-size: 14px;
margin-left: 16px;
max-width: 70%;
}
&.space-top {
margin-top: 10px;
}
}
.recording-header-line {
border-top: 1px solid #5e6d7a;
padding-top: 32px;
padding-top: 16px;
margin-top: 16px;
}
.local-recording-warning {
margin-top: 8px;
display: block;
font-size: 14px;
line-height: 20px;
padding: 8px 16px;
&.text {
color: #fff;
background-color: #3D3D3D;
}
&.notification {
color: #040404;
background-color: #F8AE1A;
}
}
.recording-switch-disabled {
@ -40,7 +64,7 @@
border-radius: 4px;
height: 40px;
justify-content: center;
width: 56px;
width: 42px;
}
.cloud-content-recording-icon-container {
@ -52,14 +76,14 @@
}
.jitsi-recording-header {
margin-bottom: 32px;
margin-bottom: 16px;
}
.jitsi-content-recording-icon-container-with-switch {
background-color: #FFFFFF;
border-radius: 4px;
height: 40px;
width: 56px;
width: 40px;
}
.jitsi-content-recording-icon-container-without-switch {

View File

@ -31,10 +31,6 @@
}
}
.welcome-tabs {
display: none;
}
.header-text-title {
text-align: center;
}
@ -56,13 +52,6 @@
.welcome-footer-row-block {
display: block;
}
.welcome-badge {
margin-right: 16px;
}
.welcome-footer {
display: none;
}
}
}

View File

@ -25,29 +25,29 @@
box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25), 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
border-radius: 3px;
cursor: pointer;
padding: 4px;
padding: 1px;
position: absolute;
right: -4px;
top: -3px;
&:hover {
&:hover {
background: #F2F3F4;
box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25), 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
&> svg {
fill: #000;
& > svg {
fill: #040404;
}
&.settings-button-small-icon--disabled {
background: #36383C;
&> svg {
fill: #929292;
}
fill: #929292;
}
}
}
&> svg {
& > svg {
fill: #fff;
}

View File

@ -42,42 +42,6 @@
height: 28px;
}
.subject-text {
background: rgba(0, 0, 0, 0.6);
border-radius: 3px 0px 0px 3px;
box-sizing: border-box;
font-size: 14px;
line-height: 28px;
padding: 0 16px;
height: 28px;
max-width: 324px;
@media (max-width: 300px) {
display: none;
}
&--content {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
.subject-timer {
background: rgba(0, 0, 0, 0.8);
border-radius: 0px 3px 3px 0px;
box-sizing: border-box;
font-size: 12px;
line-height: 28px;
min-width: 34px;
padding: 0 8px;
height: 28px;
@media (max-width: 300px) {
display: none;
}
}
.details-container {
width: 100%;
display: flex;

View File

@ -120,12 +120,34 @@
margin: 8px 0;
}
.hangup-button {
background-color: $hangupColor;
div.hangup-button {
background-color: #CB2233;
@media (hover: hover) and (pointer: fine) {
&:hover {
background-color: $hangupHoverColor;
background-color: #E04757;
}
&:active {
background-color: #A21B29;
}
}
svg {
fill: #fff;
}
}
div.hangup-menu-button {
background-color: #CB2233;
@media (hover: hover) and (pointer: fine) {
&:hover {
background-color: #E04757;
}
&:active {
background-color: #A21B29;
}
}

View File

@ -4,9 +4,6 @@
* Style variables
*/
$baseFontFamily: -apple-system, BlinkMacSystemFont, 'open_sanslight', 'Helvetica Neue', Helvetica, Arial, sans-serif;
$hangupColor:#DD3849;
$hangupHoverColor: #F25363;
$hangupFontSize: 2em;
/**
* Size variables.
@ -43,7 +40,6 @@ $newToolbarSizeMobile: 60px;
$newToolbarSizeWithPadding: calc(#{$newToolbarSize} + 24px);
$toolbarTitleFontSize: 19px;
$overflowMenuItemColor: #fff;
$overflowMenuItemBackground: #36383C;
/**
@ -79,14 +75,13 @@ $modalTextColor: #333;
$chatActionsSeparatorColor: rgb(173, 105, 112);
$chatBackgroundColor: #131519;
$chatInputSeparatorColor: #A4B8D1;
$chatLobbyMessageBackgroundColor: #6A50D3;
$chatLobbyActionsSeparatorColor: #6A50D3;
$chatLocalMessageBackgroundColor: #484A4F;
$chatPrivateMessageBackgroundColor: rgb(153, 69, 77);
$chatRemoteMessageBackgroundColor: #242528;
$sidebarWidth: 315px;
/**
/**
* Misc.
*/
$borderRadius: 4px;
@ -101,8 +96,6 @@ $zindex0: 0;
$zindex1: 1;
$zindex2: 2;
$zindex3: 3;
$toolbarBackgroundZ: 4;
$labelsZ: 5;
$subtitlesZ: 7;
$popoverZ: 8;
$reloadZ: 20;
@ -111,10 +104,7 @@ $ringingZ: 300;
$sideToolbarContainerZ: 300;
$toolbarZ: 250;
$drawerZ: 351;
$tooltipsZ: 401;
$dropdownMaskZ: 900;
$dropdownZ: 901;
$centeredVideoLabelZ: 1010;
$overlayZ: 1016;
// Place filmstrip videos over toolbar in order
// to make connection info visible.
@ -175,8 +165,9 @@ $welcomePageHeaderPaddingBottom: 0px;
$welcomePageHeaderTitleMaxWidth: initial;
$welcomePageHeaderTextAlign: center;
$welcomePageHeaderContainerMarginTop: 104px;
$welcomePageHeaderContainerDisplay: flex;
$welcomePageHeaderContainerMargin: 104px 32px 0 32px;
$welcomePageHeaderContainerMargin: $welcomePageHeaderContainerMarginTop auto 0;
$welcomePageHeaderTextTitleMarginBottom: 0;
$welcomePageHeaderTextTitleFontSize: 42px;
@ -210,11 +201,6 @@ $deepLinkingDialInConferenceIdPadding: inherit;
$deepLinkingDialInConferenceIdBackgroundColor: inherit;
$deepLinkingDialInConferenceIdBorderRadius: inherit;
$deepLinkingDialInConferenceNameFontSize: inherit;
$deepLinkingDialInConferenceNameLineHeight: inherit;
$deepLinkingDialInConferenceNameMarginBottom: none;
$deepLinkingDialInConferenceNameFontWeight: inherit;
$deepLinkingDialInConferenceDescriptionFontSize: 0.8em;
$deepLinkingDialInConferenceDescriptionLineHeight: inherit;
$deepLinkingDialInConferenceDescriptionMarginBottom: none;
@ -248,7 +234,6 @@ $chromeExtensionBannerRightInMeeeting: 10px;
/**
* media type thresholds
*/
$smallScreen: 700px;
$verySmallScreen: 500px;
/**

View File

@ -3,48 +3,38 @@
display: inline-block;
&-container {
max-height: 344px;
background: $menuBG;
border-radius: 3px;
max-height: 456px;
overflow: auto;
padding: 8px;
margin-bottom: 4px;
position: relative;
right: auto;
}
&-entry {
cursor: pointer;
height: 168px;
margin-bottom: 8px;
height: 138px;
width: 244px;
position: relative;
width: 284px;
margin: 0 7px 4px;
border-radius: 6px;
box-sizing: border-box;
overflow: hidden;
&:last-child {
margin-bottom: 0;
}
&--selected {
border: 3px solid #31B76A;
border-radius: 3px;
cursor: default;
height: 162px;
width: 278px;
border: 2px solid #4687ED;
}
}
&-video {
border-radius: 3px;
height: 100%;
object-fit: cover;
width: 100%;
}
&-overlay {
background: rgba(42, 58, 75, 0.6);
height: 100%;
position: absolute;
width: 100%;
z-index: 1;
}
&-error {
align-items: center;
display: flex;
@ -55,23 +45,22 @@
}
&-label {
bottom: 8px;
color: #fff;
position: absolute;
width: 100%;
bottom: 0;
left: 0;
right: 0;
max-width: 100%;
padding: 8px;
z-index: 2;
&-container {
margin: 0 16px;
}
&-text {
background-color: #131519;
border-radius: 3px;
padding: 2px 8px;
font-size: 13px;
line-height: 20px;
margin: 0 auto;
background-color: rgba(0, 0, 0, 0.7);
border-radius: 4px;
padding: 4px 8px;
color: #fff;
font-size: 12px;
line-height: 16px;
font-weight: 600;
max-width: calc(100% - 16px);
overflow: hidden;
text-overflow: ellipsis;
@ -79,8 +68,8 @@
white-space: nowrap;
}
}
// Override @atlaskit/InlineDialog container which is made with styled components
& > div:nth-child(2) {
padding: 0;
&-checkbox-container {
padding: 10px 14px;
}
}

View File

@ -29,6 +29,16 @@ body.welcome-page {
flex-direction: column;
margin: $welcomePageHeaderContainerMargin;
z-index: $zindex2;
align-items: center;
position: relative;
max-width: 688px;
}
.header-watermark-container {
position: absolute;
width: 100%;
height: 100%;
margin-top: calc(20px - #{$welcomePageHeaderContainerMarginTop});
}
.header-text-title {
@ -80,7 +90,7 @@ body.welcome-page {
font-size: 14px;
padding-left: 10px;
&:focus {
&.focus-visible {
outline: auto 2px #005fcc;
}
}
@ -123,16 +133,11 @@ body.welcome-page {
max-width: calc(100% - 40px);
padding: 16px 0 39px 0;
width: $welcomePageEnterRoomWidth;
text-align: center;
p {
color: $welcomePageDescriptionColor;
float: left;
text-align: $welcomePageHeaderTextAlign;
a {
color: inherit;
font-weight: 600;
}
a {
color: inherit;
font-weight: 600;
}
}
}
@ -162,7 +167,7 @@ body.welcome-page {
margin: 4px;
display: $welcomePageTabButtonsDisplay;
.tab {
[role="tab"] {
background-color: #c7ddff;
border-radius: 7px;
cursor: pointer;
@ -171,8 +176,10 @@ body.welcome-page {
margin: 2px;
padding: 7px 0;
text-align: center;
color: inherit;
border: 0;
&.selected {
&[aria-selected="true"] {
background-color: #FFF;
}
}
@ -200,8 +207,8 @@ body.welcome-page {
color: $welcomePageDescriptionColor;
padding: 4px;
position: absolute;
top: 32px;
right: 32px;
top: calc(35px - #{$welcomePageHeaderContainerMarginTop});
right: 0;
z-index: $zindex2;
* {
@ -224,6 +231,11 @@ body.welcome-page {
width: $welcomePageWatermarkWidth;
height: $welcomePageWatermarkHeight;
}
.watermark.leftwatermarknomargin {
width: $welcomePageWatermarkWidth;
height: $welcomePageWatermarkHeight;
}
}
&.without-content {
@ -242,10 +254,17 @@ body.welcome-page {
padding-top: 40px;
}
.welcome-card-row {
.welcome-card-column {
display: flex;
justify-content: center;
padding: 0 32px;
flex-direction: column;
align-items: center;
max-width: 688px;
margin: auto;
> div {
margin-bottom: 16px;
}
}
.welcome-card-text {
@ -253,7 +272,7 @@ body.welcome-page {
}
.welcome-card {
width: 49%;
width: 100%;
border-radius: 8px;
&--dark {
@ -268,10 +287,6 @@ body.welcome-page {
&--grey {
background: #F2F3F4;
}
&--shadow {
box-shadow: 0px 4px 30px rgba(0, 0, 0, 0.15);
}
}
.welcome-footer {

View File

@ -68,6 +68,12 @@
}
.buttons {
margin-top: 16px;
display: flex;
align-items: center;
&>button:first-child {
margin-right: 8px;
}
}
}
}

View File

@ -67,6 +67,13 @@
font-size: 1em;
}
.dial-in-conference-id {
text-align: center;
min-width: 200px;
margin-top: 40px;
}
.dial-in-conference-id {
margin: $deepLinkingDialInConferenceIdMargin;
padding: $deepLinkingDialInConferenceIdPadding;
@ -74,24 +81,12 @@
border-radius: $deepLinkingDialInConferenceIdBorderRadius;
}
.dial-in-conference-name {
font-size: $deepLinkingDialInConferenceNameFontSize;
line-height: $deepLinkingDialInConferenceNameLineHeight;
margin-bottom: $deepLinkingDialInConferenceNameMarginBottom;
font-weight: $deepLinkingDialInConferenceNameFontWeight;
}
.dial-in-conference-description {
font-size: $deepLinkingDialInConferenceDescriptionFontSize;
line-height: $deepLinkingDialInConferenceDescriptionLineHeight;
margin-bottom: $deepLinkingDialInConferenceDescriptionMarginBottom;
}
.dial-in-conference-pin {
font-size: $deepLinkingDialInConferencePinFontSize;
line-height: $deepLinkingDialInConferencePinLineHeight;
}
.toll-free-list {
min-width: 80px;
}

View File

@ -5,8 +5,6 @@
.remote-videos {
align-items: center;
box-sizing: border-box;
display: flex;
flex-direction: column;
overscroll-behavior: contain;
}

View File

@ -3,6 +3,7 @@
* tiled thumbnail experience.
*/
.tile-view,
.whiteboard-container,
.stage-filmstrip {
/**
* Let the avatar grow with the tile.

View File

@ -112,7 +112,7 @@
}
/**
* Remove unnecssary padding that is normally used to prevent horizontal
* Remove unnecessary padding that is normally used to prevent horizontal
* filmstrip from overlapping the left edge of the screen.
*/
#filmstripLocalVideo,

View File

@ -33,7 +33,6 @@ $flagsImagePath: "../images/";
@import 'reload_overlay/reload_overlay';
@import 'mini_toolbox';
@import 'modals/desktop-picker/desktop-picker';
@import 'modals/device-selection/device-selection';
@import 'modals/dialog';
@import 'modals/embed-meeting/embed-meeting';
@import 'modals/feedback/feedback';
@ -95,3 +94,9 @@ $flagsImagePath: "../images/";
@import 'notifications';
/* Modules END */
/* Jeet crew BEGIN */
@import 'jiti';
/* Jeet crew END */

View File

@ -38,3 +38,7 @@
margin-top: 2px;
display: block;
}
.dialog-bottom-margin {
margin-bottom: 5px;
}

View File

@ -63,3 +63,8 @@
.desktop-source-preview-image-container {
padding: 10px;
}
.desktop-picker-tabs-container {
width: 65%;
margin-top: 3px;
}

View File

@ -1,148 +0,0 @@
.device-selection {
.device-selectors {
font-size: 14px;
> div {
display: block;
margin-bottom: 4px;
}
.device-selector-icon {
align-self: center;
color: inherit;
font-size: 20px;
margin-left: 3px;
}
.device-selector-label {
margin-bottom: 1px;
}
/* device-selector-trigger stylings attempt to mimic AtlasKit button */
.device-selector-trigger {
background-color: #0E1624;
border: 1px solid #455166;
border-radius: 5px;
display: flex;
height: 2.3em;
justify-content: space-between;
line-height: 2.3em;
overflow: hidden;
padding: 0 8px;
}
.device-selector-trigger-disabled {
.device-selector-trigger {
color: #a5adba;
cursor: default;
}
}
.device-selector-trigger-text {
overflow: hidden;
text-align: center;
text-overflow: ellipsis;
white-space: nowrap;
width: 100%;
}
}
.device-selection-column {
box-sizing: border-box;
display: inline-block;
vertical-align: top;
&.column-selectors {
margin-left: 15px;
width: 45%;
}
&.column-video {
width: 50%;
}
}
.device-selection-video-container {
border-radius: 3px;
margin-bottom: 5px;
.video-input-preview {
margin-top: 2px;
position: relative;
> video {
border-radius: 3px;
}
.video-input-preview-error {
color: $participantNameColor;
display: none;
left: 0;
position: absolute;
right: 0;
text-align: center;
top: 50%;
}
&.video-preview-has-error {
background: black;
.video-input-preview-error {
display: block;
}
}
.video-input-preview-display {
height: auto;
overflow: hidden;
width: 100%;
}
}
}
.audio-output-preview {
font-size: 14px;
a {
color: #6FB1EA;
cursor: pointer;
text-decoration: none;
}
a:hover {
color: #B3D4FF;
}
}
.audio-input-preview {
background: #1B2638;
border-radius: 5px;
height: 8px;
.audio-input-preview-level {
background: #75B1FF;
border-radius: 5px;
height: 100%;
-webkit-transition: width .1s ease-in-out;
-moz-transition: width .1s ease-in-out;
-o-transition: width .1s ease-in-out;
transition: width .1s ease-in-out;
}
}
}
.device-selection.video-hidden {
display: flex;
flex-direction: column;
width: 100%;
.column-selectors {
width: 100%;
margin-left: 0;
}
.column-video {
order: 1;
width: 100%;
margin-top: 8px;
}
}

View File

@ -9,7 +9,6 @@
font-size: 15px;
margin-left: auto;
margin-top: 16px;
width: auto;
}
&-code {

View File

@ -44,59 +44,3 @@
-webkit-animation-timing-function: ease-in-out;
animation-timing-function: ease-in-out
}
.feedback-dialog {
.details {
textarea {
min-height: 100px;
}
}
.input-control {
background-color: $feedbackInputBg;
color: $feedbackInputTextColor;
&::-webkit-input-placeholder {
color: $feedbackInputPlaceholderColor;
}
&::-moz-placeholder { /* Firefox 19+ */
color: $feedbackInputPlaceholderColor;
}
&:-ms-input-placeholder {
color: $feedbackInputPlaceholderColor;
}
}
.rating {
line-height: 1.2;
margin-top: 10px;
text-align: center;
.star-label {
font-size: 14px;
height: 16px;
}
.star-btn {
color: inherit;
cursor: pointer;
display: inline-block;
font-size: 34px;
outline: none;
position: relative;
text-decoration: none;
@include transition(all .2s ease);
&.active,
&:hover,
&.starHover {
color: #36B37E;
};
}
.star-btn:focus,
.star-btn:active {
outline: 1px solid #B8C7E0;
}
}
}

View File

@ -38,19 +38,6 @@
color: #fff;
}
.info-password-input {
width: 100%;
background-color: #0E1624;
border-radius: 3px;
border: 2px solid #202B3D;
color: inherit;
padding-left: 0;
}
.info-password-input:focus ,
.info-password-input:active {
border: 2px solid #B8C7E0;
}
.info-password-local {
user-select: text;
}
@ -63,6 +50,8 @@
}
.dial-in-numbers-list {
max-width: 334px;
width: 100%;
margin-top: 20px;
font-size: 12px;
line-height: 24px;
@ -72,10 +61,6 @@
text-align: left;
}
tr {
border-bottom: 1px solid #d1dbe8;
}
.flag-cell {
vertical-align: top;
width: 30px;
@ -104,6 +89,7 @@
font-weight: bold;
list-style: none;
vertical-align: top;
text-align: right;
}
li.toll-free:empty:before {
@ -132,11 +118,6 @@
margin-top: 40px;
}
.dial-in-conference-name,
.dial-in-conference-pin {
font-size: 18px;
}
.dial-in-conference-description {
margin: 12px;
}

View File

@ -84,56 +84,6 @@
}
}
&.icon-container {
display: none;
&.active {
display: flex;
width: calc(100% - 26px);
padding: 8px 8px 8px 16px;
background: #2A3A4B;
border: 1px solid #5E6D7A;
border-top: none;
border-radius: 0 0 3px 3px;
.copy-invite-icon, .provider-icon {
align-items: center;
cursor: pointer;
display: flex;
height: 40px;
place-content: center;
width: 40px;
}
&:hover > div:hover {
background-color: rgba(255, 255, 255, 0.2);
border-radius: 4px;
}
& > :not(:last-child) {
margin-right: 16px;
}
.copy-invite-icon > div > svg > path {
fill: #A4B8D1;
}
}
}
&.dial-in-display {
.info-label {
color: #A4B8D1;
}
.dial-in-copy {
display: inline-block;
vertical-align: middle;
cursor: pointer;
height: 24px;
}
}
&.invite-buttons {
width: 100%;
text-align: right;

View File

@ -1,11 +1,13 @@
.share-audio-dialog-container {
max-height: none;
}
.share-audio-dialog {
.share-audio-animation {
width: 100%;
height: 90%;
object-fit: contain;
}
input[type="checkbox"] + svg + span {
color: #9FB0CC;
margin-bottom: 10px;
}
.separator-line {

View File

@ -13,12 +13,14 @@
}
.password {
align-items: center;
align-items: flex-start;
display: flex;
justify-content: space-between;
justify-content: flex-start;
margin-top: 15px;
flex-direction: column;
&-actions {
margin-top: 10px;
a {
cursor: pointer;
text-decoration: none;
@ -26,8 +28,8 @@
color: #6FB1EA;
}
& > :first-child:not(:last-child) {
margin-right: 24px;
& > :not(:last-child) {
margin-right: 24px;
}
}
}

View File

@ -204,3 +204,7 @@
}
}
}
.lobby-button-margin {
margin-bottom: 16px;
}

View File

@ -1,5 +1,4 @@
@import 'lobby';
@import 'premeeting-screens';
@import 'prejoin';
@import 'prejoin-dialog';
@import 'prejoin-third-party';

View File

@ -1,118 +0,0 @@
.prejoin-dialog {
background: #1C2025;
box-shadow: 0px 2px 20px rgba(0, 0, 0, 0.5);
border-radius: 5px;
color: #fff;
height: 400px;
width: 375px;
&--small {
height: 300;
width: 400;
}
&-label {
font-size: 15px;
line-height: 24px;
&-num {
background: #2b3b4b;
border: 1px solid #A4B8D1;
border-radius: 50%;
color: #fff;
display: inline-block;
height: 24px;
margin-right: 8px;
width: 24px;
}
}
&-container {
align-items: center;
background: rgba(0,0,0,0.6);
display: flex;
height: 100vh;
justify-content: center;
left: 0;
position: absolute;
top: 0;
width: 100vw;
z-index: 3;
}
&-flag {
display: inline-block;
margin-right: 8px;
transform: scale(1.2);
}
&-title {
display: inline-block;
font-size: 24px;
line-height: 32px;
}
&-icon {
cursor: pointer;
> svg {
fill: #A4B8D1;
}
}
&-btn {
width: 309px;
}
&-dialin-container {
text-align: center;
}
&-delimiter {
background: #5f6266;
border: 0;
height: 1px;
margin: 0;
padding: 0;
width: 100%;
&-container {
margin: 16px 0 24px 0;
position: relative;
}
&-txt-container {
position: absolute;
text-align: center;
top: -8px;
width: 100%;
}
&-txt {
background: #1C2025;
color: #5f6266;
font-size: 11px;
text-transform: uppercase;
padding: 0 8px;
}
}
.prejoin-dialog-btn.primary,
.action-btn.prejoin-dialog-btn.text {
width: 310px;
}
}
.prejoin-dialog-callout {
padding: 16px;
&-header {
display: flex;
justify-content: space-between;
margin-bottom: 24px;
}
&-picker {
margin: 8px 0 16px 0;
}
}

View File

@ -2,7 +2,8 @@ $sidePanelWidth: 300px;
.prejoin-third-party {
flex-direction: column-reverse;
z-index: auto;
.content {
height: auto;
margin: 0 auto;

View File

@ -3,6 +3,25 @@
width: 100%;
}
&-avatar {
margin: 8px auto 16px;
&-name {
color: white;
font-size: 16px;
font-weight: 600;
line-height: 26px;
margin-bottom: 32px;
text-align: center;
}
&-container {
align-items: center;
display: flex;
flex-direction: column;
}
}
&-error {
background-color: #E04757;
border-radius: 6px;
@ -22,20 +41,28 @@
&-dropdown-btns {
padding: 8px 0;
}
&-dropdown-container {
position: relative;
width: 100%;
/**
* Override default InlineDialog behaviour, since it does not play nicely with relative widths
*/
& > div:nth-child(2) {
background: #fff;
background: #E0E0E0;
padding: 0;
position: absolute !important;
width: 100%;
}
}
}
}
.prejoin-input {
margin-bottom: 16px;
width: 100%;
& input {
text-align: center;
}
}

View File

@ -1,14 +1,4 @@
.premeeting-screen {
background: #292929;
bottom: 0;
display: flex;
font-size: 1.3em;
left: 0;
position: absolute;
right: 0;
top: 0;
z-index: $toolbarZ + 2;
.premeeting-screen {
.action-btn {
border-radius: 6px;
box-sizing: border-box;
@ -75,139 +65,44 @@
}
}
.content {
align-items: center;
box-sizing: border-box;
display: flex;
flex-direction: column;
flex-shrink: 0;
height: 100%;
margin: 0 30px;
padding: 24px 0 16px;
#new-toolbox {
bottom: 0;
position: relative;
width: $prejoinDefaultContentWidth;
z-index: $toolbarZ + 2;
transition: none;
&-controls {
align-items: center;
.toolbox-content {
margin-bottom: 4px;
}
.toolbox-content-items {
@include ltr;
background: transparent;
box-shadow: none;
display: flex;
flex-direction: column;
margin: auto;
justify-content: space-between;
padding: 8px 0;
}
.toolbox-content,
.toolbox-content-wrapper,
.toolbox-content-items {
box-sizing: border-box;
width: 100%;
.title {
color: #fff;
font-size: 28px;
font-weight: 600;
letter-spacing: -0.015;
line-height: 36px;
margin-bottom: 32px;
text-align: center;
}
input.field {
background-color: white;
border: none;
outline: none;
border-radius: 6px;
font-size: 14px;
line-height: 20px;
margin-bottom: 16px;
color: #1C2025;
padding: 10px 16px;
text-align: center;
width: 100%;
&.error {
border: 1px solid #E04757;
}
&.focused {
box-shadow: 0px 0px 1px 1.5px black, 0px 0px 1.3px 4px white;
}
}
#new-toolbox {
bottom: 0;
position: relative;
transition: none;
.toolbox-content {
margin-bottom: 4px;
}
.toolbox-content-items {
@include ltr;
background: transparent;
box-shadow: none;
display: flex;
justify-content: space-evenly;
padding: 8px 0;
}
.toolbox-content,
.toolbox-content-wrapper,
.toolbox-content-items {
box-sizing: border-box;
width: 100%;
}
}
}
}
@media (max-width: 720px) {
flex-direction: column-reverse;
.content {
height: auto;
margin: 0 auto;
}
}
// mobile phone landscape
@media (max-height: 420px) {
div.content {
padding: 16px 16px 0 16px;
}
}
@media (max-width: 400px) {
.content {
padding: 16px;
width: 100%;
&-controls {
input.field {
font-size: 16px;
padding: 14px 16px;
}
}
.title {
display: none;
}
}
.device-status-error {
border-radius: 0;
margin: 0 -16px;
}
input.field {
font-size: 16px;
padding: 14px 16px;
}
.action-btn {
font-size: 16px;
margin-bottom: 8px;
padding: 11px 16px;
}
}
input::placeholder {
color: #040404;
}
}
#preview {

View File

@ -6,8 +6,6 @@ $baseLight: #FFFFFF;
/**
* Controls
*/
$controlBackground: $baseLight;
$controlColor: #333333;
$sliderTrackBackground: #474747;
$sliderThumbBackground: #3572b0;
@ -60,42 +58,20 @@ $readOnlyInputColor: #a7a7a7;
$defaultDarkSelectionColor: #ccc;
$buttonFontWeight: 400;
$labelFontWeight: 400;
$hintFontSize: em(13, 14);
$linkFontColor: #3572b0;
$linkHoverFontColor: darken(#3572b0, 10%);
$dropdownColor: #333;
$errorColor: #c61600;
// Feedback colors
$feedbackCancelFontColor: #333;
// Popover colors
$popoverFontColor: #ffffff !important;
$popupSliderColor: #0376da;
// Toolbar
$secondaryToolbarBg: rgba(0, 0, 0, 0.5);
// TOFIX: Once moved to react rename to match the side panel class name.
$sideToolbarContainerBg: rgba(0, 0, 0, 0.75);
$toolbarBackground: rgba(0, 0, 0, 0.5);
$toolbarBadgeBackground: #165ECC;
$toolbarBadgeColor: #FFFFFF;
$toolbarButtonColor: #FFFFFF;
$toolbarSelectBackground: rgba(0, 0, 0, .6);
$toolbarTitleColor: #FFFFFF;
$toolbarToggleBackground: #12499C;
/**
* Forms
*/
//dropdown
$selectFontColor: $controlColor;
$selectBg: $controlBackground;
$selectActiveBg: darken($controlBackground, 5%);
$selectActiveItemBg: darken($controlBackground, 20%);
/**
* TODO: Replace by themed component.
*/
$videoQualityActive: #57A0ff;
$selectBg: $baseLight;

4
custom.d.ts vendored Normal file
View File

@ -0,0 +1,4 @@
declare module '*.svg' {
const content: any;
export default content;
}

Some files were not shown because too many files have changed in this diff Show More