Commit Graph

167 Commits

Author SHA1 Message Date
Hristo Terezov
d06b847319 feat(pip): Add Picture-in-Picture support for Electron
Implements Picture-in-Picture functionality for the Electron wrapper to maintain video engagement when users are not actively focused on the conference window. This feature addresses the need to keep users visually connected to the conference even when multitasking.

Key features:
- Automatic PiP mode activation and deactivation based on user interaction
- Displays large video participant's stream or renders their avatar on canvas when video unavailable
- Provides audio/video mute controls via MediaSession API directly in PiP window
- Adds API events (_pip-requested) for Electron wrapper integration

Implementation includes new pip feature module with Redux architecture, canvas-based avatar rendering with custom backgrounds support, and integration with existing mute/unmute logic. Depends on jitsi-meet-electron-sdk#479 for proper user gesture handling in Electron.
2025-12-04 16:04:10 -06:00
Jaya Allamsetty
8f0b9575c4 ref(logging) Rename logger ids to facilitate proper filtering of logs. 2025-09-16 22:45:59 -04:00
Saúl Ibarra Corretgé
6141ff78f8 fix(rn,embed) remove 8x8 apps from isEmbedded check
For all intents and purposes 8x8 apps are integrating the SDK as a 3rd
party.

Yes, we are a 1st party of sorts, but that's ok because 8x8.vc allows
embedding.
2025-07-04 15:31:14 +02:00
daimoc
0085544a36 Fix lit error 2025-05-21 16:41:10 -05:00
daimoc
79cab9e7df Fix analytics loadscript call to match the new function signature 2025-05-21 16:41:10 -05:00
Saúl Ibarra Corretgé
4735911b6c fix(spot) make Spot TV detection more resilient
Setting the UA string in Electron doesn't propagate the change to the
iframe where the meeting is loaded (🤦).

Thus make it more resilient by trying different things:

- A freshly introduced "iAmSpot" config option, similar to Jibri
- The app ID is present in the UA string, so we can test for that
- As a last-ditch effort, check if the display name is the default
  "Meeting Room"
2025-05-16 13:17:26 +02:00
Hristo Terezov
348573b254 feat: Implement a closed caption history panel. 2025-04-21 08:56:31 -05:00
Saúl Ibarra Corretgé
7cf8902fdd fix(recording) skip consent dialog on Spot TV 2025-04-17 21:33:05 +02:00
damencho
58b73d8dbd feat: Save state debug function. 2025-04-04 12:44:39 -05:00
Saúl Ibarra Corretgé
1e8cc9d085 feat(inIframe/isEmbedded) add ability to detect generic embedding
On web we detect if we run on an iframe, and on mobile we detect if the
app is one of ours.
2025-03-26 23:39:16 +01:00
damencho
29663bcec2 fix: Ignores disableThirdPartyRequests when using data url.
Fixes #15725.
2025-03-07 21:22:15 -06:00
Saúl Ibarra Corretgé
5bb3ba71d0 chore(helpers) drop custom createDeferred() for Promise.withResolvers() 2025-01-10 20:09:11 +01:00
luzpaz
30595584a3 chore(typos) fix various typos
Found via `codespell -q 3 -S "*.svg,./lang" -L anser,bu,dialin,goup,miliseconds,nd,vew`
2024-12-20 07:58:31 +01:00
Hristo Terezov
61a0247f30 feat(metrics): related to conference.init execution.
Adds logs and analytics events with time measurements for the different stages of conference.init execution.
2024-10-31 14:09:10 -05:00
Hristo Terezov
960a08c066 fix(conference): Make sure join waits for confernce.init.
It was possible that join can be executed before conference.init have even started or we haven't reached the point ot create the initialGUMPromise. This was causing the following issues:
 - users stuck on the prejoin screen
 - participants join 2+ times in the call (we have been creating more than 1 local participants from a single page).
2024-10-25 11:34:10 -05:00
Saúl Ibarra Corretgé
b35200648c feat(deps) replace lodash with lodash-es
The latter supports tree-shaking and we don't need to embed the whole
500KB of lodash.
2024-08-12 10:34:44 +02:00
Calinteodor
d2ad3473a1 deps(react-native-gesture-handler/@react-native-clipboard/clipboard): Updates related to RN 0.73.8 (#14894)
* deps(react-native-gesture-handler/@react-native-clipboard/clipboard): Updates related to RN 0.73.8
2024-07-05 12:30:55 +03:00
Aaron van Meerten
2ed0418bd9 fix(jwt): Fixes parsing JWT in hash as JSON instead of a string (#14760) 2024-05-17 11:29:11 -05:00
Aaron van Meerten
43ae5915a6 feat: move jwt to URL hash from search parameters (#14749)
* feat: move jwt to URL hash from search parameters

* fix lint

* comments for future work

* comment format

* fix to use ts-ignore like previous parseURLParams case
2024-05-16 13:03:12 -05:00
Calinteodor
9b798b4514 feat(base/conference): get subject and localSubject from config (#14520)
* feat(base/conference): fixed getting localSubject, subject and parsing url params.
2024-03-26 16:07:11 +02:00
Saúl Ibarra Corretgé
4c3512b375 fix(etherpad) fix handling certain URL types 2024-02-28 13:58:13 +01:00
Horatiu Muresan
9f8662c0a1 chore(eslint) Update eslint (#14412) 2024-02-27 12:56:05 +02:00
Mihaela Dumitru
3f657c3ded feat(whiteboard) add native implementation (#14327) 2024-02-06 16:22:53 +02:00
Hristo Terezov
a2624952a0 feat(iframe-api): replace ice servers 2023-09-08 16:01:28 -05:00
Saúl Ibarra Corretgé
dca40dc6cb feat(rn,auth) add support for toekn URL auth 2023-08-17 11:03:14 +02:00
damencho
c646319657 feat: Caches is secure room checks.
Consider long room names secure.
2023-08-10 17:28:04 -05:00
Saúl Ibarra Corretgé
7ea2b9c8c0 fix(misc) use safeJsonParse from js-utils 2023-08-09 16:15:57 +02:00
Gabriel Borlea
2253393ac8 fix(welcome, rn): key warning for unsafe room warning (#13626) 2023-07-27 17:19:21 +03:00
Horatiu Muresan
d608cf40f5 fix(prejoin) Check for valid url for prejoin (#13468)
- `getPropertyValue` calls `parseUrlParam` with the connection URL from store, which is not yet defined
2023-06-19 15:52:38 +03:00
Gabriel Borlea
a112d38943 feat(prejoin) add unsafe room name warning 2023-05-09 20:04:58 +02:00
Robert Pintilii
a22db037c7 ref(TS) Improve TS (#13282)
Remove unnecessary @ts-ignores
Use @ts-expect-error instead of @ts-ignore for external dependencies
2023-05-09 11:05:11 +03:00
Robert Pintilii
3a2a129f44 ref(TS) Improve TS (#13167)
Fix some errors. Remove @ts-ignores
Convert some files to TS
Remove some eslint-disables
2023-04-04 17:08:59 +03:00
Robert Pintilii
0b65acb528 ref: Remove some index files (#13151)
Fix imports
2023-04-03 13:49:19 +03:00
Robert Pintilii
a52f9313a6 ref(TS Convert all Abstract classes to TS (#13127) 2023-03-29 12:54:56 +03:00
Saúl Ibarra Corretgé
34b2577b97 chore(cleanup) drop no longer needed AtlasKit supporting code 2023-03-23 12:00:14 +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
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
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
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
Robert Pintilii
6ab996568b ref(TS, rn) Fix some TS errors on tsconfig.native (#12432) 2022-10-21 14:09:15 +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
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é
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
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
Robert Pintilii
95084e1004 ref(TS) Convert some base features to TS (#12138) 2022-09-14 10:54:56 +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
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
Stefan Weil
882d343e8b chore(typos) fix some typos 2022-08-30 16:21:58 +02:00
Robert Pintilii
69365d7e1f ref: Convert some files to TS (#11929) 2022-07-29 16:18:14 +03:00