Commit Graph

160 Commits

Author SHA1 Message Date
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
Robert Pintilii 6ab996568b
ref(TS, rn) Fix some TS errors on tsconfig.native (#12432) 2022-10-21 14:09:15 +03: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
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é 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
Robert Pintilii 7364c7f27b
ref(TS) Remove unnecessary ts-ignores 2022-09-30 11:08:03 +02: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 4ee77b1f65
ref(TS) Convert some base files to TS (#12226) 2022-09-23 12:03:25 +03:00
Robert Pintilii 271ea8315b
ref: Improve reducers TS (#12123) 2022-09-05 12:05:07 +03: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é e578f6c30f
feat(logging) migrate logging to config.js 2022-08-17 14:32:40 +02:00
Robert Pintilii d3c7b074d4
ref: Convert some files to TS (#11947) 2022-08-04 11:51:33 +03:00
Robert Pintilii 449d52f26b
ref: Convert some reducers to TS (#11875) 2022-07-19 10:58:56 +03:00
Calinteodor 7c523f3250
language(typescript) actionTypes.js -> actionTypes.ts (#10940)
* language(typescript) first ts component, added ts configurations, actionTypes.js are now ts files
2022-04-08 15:24:58 +03:00
William Liang 05dc018671
feat(multi-stream-support) Replace participant connection status logic with track streaming status (#10934) 2022-02-23 07:30:10 -06:00
Saúl Ibarra Corretgé 931ef75b4f feat(rn) use the TSC generated lib-jitsi-meet bundle
This way we'll have proper tracebacks now.
2022-01-25 12:15:35 +01:00
damencho 06ce24527e fix: Escapes some keys when parsing input. 2021-06-02 15:24:13 -05:00
Mihai-Andrei Uscat e0da67dff5 Implement review changes 1 2021-04-16 12:21:53 +02:00
Mihai-Andrei Uscat dcd073b407 feat(HDAudio): Initial implementation. 2021-04-16 12:21:53 +02:00
Mihai-Andrei Uscat aef0287605
feat(ToggleCamera): Implement for web. 2021-03-17 10:44:18 +02:00
Hristo Terezov a6c6cd6c56 fix: Add GUM timeout & improve device permissions 2021-02-08 15:53:38 -06:00
Jaya Allamsetty 30fc04ba61 fix(logging): Add more details to onerror and onunhandledrejection errors. 2020-10-27 10:17:59 -04:00
Saúl Ibarra Corretgé c261682a29 fix(rn,config) increase config load timeout to 10 seconds 2020-09-30 10:08:52 +02:00
Hristo Terezov dc6d3daef7 feat(external-local-storage): support 2020-09-29 17:58:17 -05:00
paweldomas bc43f00d28 feat: pass network info to LJM 2020-07-01 19:31:48 -05:00
Saúl Ibarra Corretgé 6e679f952f redux: refactor loading of middlewares and reducers
Up until now we relied on implicit loading of middlewares and reducers, through
having imports in each feature's index.js.

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

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

Ideally no feature should have an index.js exporting actions, action types and
components, but that's a larger ordeal, so this is just the first step in
getting there. In order to both set example and avoid large cycles the app
feature has been refactored to not have an idex.js itself.
2020-06-16 11:24:15 +02:00
Bettenbuk Zoltan 0598e7369b ref: eslint-config-jitsi@1.0.3 2020-05-20 17:14:29 +02:00
Paweł Domas f646bc7a7a
ref: disable ICE restart by default (#6594)
* ref: disable ICE restart by default

The reason for that it's currently causing issues with signaling when
Octo is enabled. Also when we do an "ICE restart"(which is not a real
ICE restart), the client maintains the TCC sequence number counter, but
the bridge resets it. The bridge sends media packets with TCC sequence
numbers starting from 0.

The 'enableIceRestart' config option can be used to force it, but it's
not recommended.
2020-05-07 06:59:37 -05:00
Saúl Ibarra Corretgé caabdadf19 rn,polyfills: refactor all mobile polyfills
Move all polyfills to a standalone feature, which gets imported before anything
else in the mobile entrypoint. This guarantees that any further import sees the
polyfilled environment.
2020-05-06 12:35:12 +02:00
Saúl Ibarra Corretgé 062bc13d4f rn,storage: fix not using a persistent localStorage
In
1ffd75c0a6
we switched to using the localStorage wrapper provided by js-utils, which
checks for window.localStorage's availability very early. Our polyfill must be
applied earlier that any such import.

Here we are importing it in the entrypoint, which means no code ran before this,
literally.
2020-05-06 12:35:12 +02:00
Saúl Ibarra Corretgé 1bbb937d9d analytics: fix enabling analytics when disableThirdPartyRequests is set 2020-03-29 08:42:25 +02:00
Andrei Gavrilescu b125bff7c7 refactor / enable VAD talk while muted 2019-12-06 11:37:08 +00:00
Saúl Ibarra Corretgé 4a8f787519 rn: evaluate config.js in a sandboxed environment
We are downloading code off the Internet and executing it on the user's device,
so run it sandboxed to avoid potential bad actors.

Since it's impossible to eval() safely in JS and React Native doesn't offer
something akin to Node's vm module, here we are rolling our own.

On Android it uses the Duktape JavaScript engine and on iOS the builtin
JavaScriptCore engine. The extra JS engine is *only* used for evaluating the
downloaded code and returning a JSON string which is then passed back to RN.
2019-10-14 12:20:58 +02:00
Saúl Ibarra Corretgé 5a934c071a logging: use individual, names loggers
React Native doesn't define __filename nor __dirname so do it artisanally. In
addition, this helps with centralizing the configuration passed to loggers.
2019-08-23 10:57:38 +02:00
Hristo Terezov a91b49c2c1 feat(reload): on offer / answer error. 2019-06-19 05:25:43 -07:00
Hristo Terezov 72a1def571 feat(config): whitelist config.analytics 2019-05-24 13:42:12 -07:00
Bettenbuk Zoltan 3987655f2a Refactor config loading 2019-04-10 15:47:36 +02:00
Saúl Ibarra Corretgé c025c7e132 flow: tame the beast
🔥🔥🔥
2019-03-21 14:47:55 +01:00
Saúl Ibarra Corretgé 0e92e73789 chore: use strings as action types
Using anything non-serializable for action types is discouraged:
https://redux.js.org/faq/actions#actions

In fact, this is the Flow definition for dispatching actions:

declare export type DispatchAPI<A> = (action: A) => A;
declare export type Dispatch<A: { type: $Subtype<string> }> = DispatchAPI<A>;

Note how the `type` field is defined as a subtype of string, which Symbol isn’t.
2019-03-21 14:47:55 +01:00
Hristo Terezov 59fc3642a6 feat(amplitude): add mobile implementation 2019-03-12 16:48:08 +01:00
Saúl Ibarra Corretgé 5afb057387 rn: polyfill callstats
Instead of bundling it in lib-jitsi-meet, which unnecessarily increases
lib-jitsi-meet's bundle size, polyfill it here so it's available in the global
scope, just like the web does.
2019-01-31 13:50:51 -06:00
Hristo Terezov 5ad98dd058 ref(config): Create 'analytics' section. 2019-01-07 14:32:31 +00:00
Bettenbuk Zoltan 3fdf944763 Fix eslint/jsdoc warnings (doc change only!) 2018-11-08 15:52:34 +01:00
Saúl Ibarra Corretgé a327a5d804 [RN] Drop the react-native-permissions dependency
It causes false positives when submitting the app to the Store. Use the new
permissions API in react-native-webrtc instead.
2018-09-05 14:56:00 -05:00
Saúl Ibarra Corretgé 955e0a3382 [RN] Simplify RTCPeerConnection.setRemoteDescription override 2018-08-29 09:22:28 -05:00
Saúl Ibarra Corretgé 1354731fc5 [RN] Update WebRTC polyfills 2018-08-29 09:22:28 -05:00
Saúl Ibarra Corretgé 3ca704d81d [RN] Update react-native-webrtc and remove no longer needed polyfills 2018-08-29 09:22:28 -05:00
Saúl Ibarra Corretgé dba7f2d429 [RN] Remove no longer needed polyfills (#3377)
- navigator.{platform,plugins} were needed by the no longer existing screenshare
  adapter
- document.implementation is already polyfilled by xmldom
2018-08-16 23:03:53 -05:00
bgrozev 2ee1bf9351 feat: Displays the E2E RTT in the connection stats table. (#3344)
* feat: Displays the E2E RTT in the connection stats table.

* fix: Whitelists the ping config properties.

* ref: Addresses feedback.

* npm: Updates lib-jitsi-meet to e097a1189ed99838605d90b959e129155bc0e50a.

* ref: Moves the e2ertt and region to the existing stats object.
2018-08-07 11:31:51 -07:00
Bettenbuk Zoltan b41bf22be7 Replace console with logger 2018-08-05 17:04:19 -05:00