Commit Graph

2132 Commits

Author SHA1 Message Date
Saúl Ibarra Corretgé a7f8bf2d8f rn,overflowmenu: reorder 2020-03-24 14:28:26 +01:00
Saúl Ibarra Corretgé 8cd881945a invite: merge InviteButton and InfoDialogButton on mobile 2020-03-24 14:28:26 +01:00
Saúl Ibarra Corretgé 579d08e27e bottom-sheet: tweak UI
- re-add thepand icon, shaped like a pill
- round top corners
2020-03-24 14:28:26 +01:00
Saúl Ibarra Corretgé c990a64ba9 blur: don't persist settings 2020-03-24 11:56:01 +01:00
Zoltan Bettenbuk 8d3b59a0d0
rn: lonely meeting experience 2020-03-20 18:30:46 +01:00
paweldomas 14855f3255 fix(features/notifications): crash on undefined participant 2020-03-20 05:43:44 -05:00
Horatiu Muresan d0bc3da0f5 Disable kick participant button for guests 2020-03-18 15:26:11 +01:00
Jaya Allamsetty e90cc0a615 fix(Amplitude): Blacklist 'peer.conn.status.duration' stats 2020-03-16 15:55:11 -04:00
Mihai Uscat b9cc6b6f96 fix(mute): Replace icon 2020-03-13 14:55:29 +01:00
Tudor-Ovidiu Avram 0289a93e5a feat(close) Add promotional close page 2020-03-12 20:07:23 +01:00
Saúl Ibarra Corretgé b13200ac92 video-layout: fix calculating tile size for recorder
When the reccorder joins, they have a local participant, which is not rendered,
so don't count it towards the partcipant count used for computing the tile
sizes.
2020-03-10 21:04:01 +01:00
paweldomas b9addaed71 ref(log): logs device list and selected devices
Logs the device list when is updated in the reducer and removes
"button enabled" logging which used to dump the device list, but
in a useless way(Object[Object]).

Makes an attempt to log currently selected device, but because of
multiple possible paths it's impossible to find one reliable spot to log
selected device. One has to rely on device list and the GUM call logged
to figure things out.
2020-03-06 16:19:20 +01:00
Gabriel Imre f06fe69167 fix(mute): remove interface config bypass for mute-everyone button 2020-03-05 13:54:58 +01:00
bgrozev 16c09c9645
Upadte ljm (configurable pc stats interval), whitelist config options. (#5106) 2020-03-04 15:11:27 -06:00
Gabriel Imre 24a1a60f04 feat(mute): mute everyone / everyone else 2020-03-04 17:07:12 +01:00
Saúl Ibarra Corretgé d7ece58c6f fix(optimise): cope with URL interface config overrides
Regresssion from bd8a7edbd2.

When the toolbar buttons are overridden with URL parameters, our computed set of
buttons will be wrong. Thus, compute it every time and check for the
differences.
2020-03-04 07:43:52 -06:00
Hristo Terezov eea87be801 fix(electron7):memory leak when the page is hidden
It happens when you are drawing into hidden canvas.
2020-03-03 09:28:23 +00:00
Hristo Terezov 809ac42e4c fix(largeVideo-bg):render canvas only when visible 2020-03-03 09:28:23 +00:00
Hristo Terezov cf27ad0dde fix(stream-presenter-effect): Prevent memory leak.
On electron 7 drawing on hidden canvas will trigger a memory leak.
Not appending the canvas for the DOM seems to solve the problem.
2020-03-03 09:28:23 +00:00
Mihai Uscat 2064fc8937 fix(screenshot-capture): Prevent effect initialization on each toggle 2020-03-02 10:24:02 -05:00
Jaya Allamsetty da68b9882d fix(screenshot-capture): Do not switch streams at the conference level.
This effect doesn't modify the media stream, so its safe to start/stop effect and not apply it on the JitsiLocalTrack. This way we can make sure that this effect is not switched out when presenter effect is applied.
2020-02-25 10:51:44 -05:00
Hristo Terezov bd8a7edbd2
fix(optimise): mapStateToProps for some components (#5085) 2020-02-25 15:09:52 +00:00
Saúl Ibarra Corretgé bde2343951 filmstrip: don't display toolbar for SIP gateways
Note that in the usual (vertical) setup, the "toolbar" is just the hide button.
2020-02-25 15:45:41 +01:00
Saúl Ibarra Corretgé 9b141816d6 filmstrip: hide scrollbar on SIP gateways 2020-02-25 15:45:41 +01:00
Saúl Ibarra Corretgé 6a7594cd9c toolbox: always hide for SIP gateways 2020-02-25 15:45:41 +01:00
Saúl Ibarra Corretgé cdbc5976a0 notifications: hdie all (visual) notifications for SIP gateways 2020-02-25 15:45:41 +01:00
Saúl Ibarra Corretgé 8fd0f56be7 info-dialog: don't show when a SIP gateway joins alone 2020-02-25 15:45:41 +01:00
horymury 202abf2a9a
chrome-banner: add analytics 2020-02-25 13:41:13 +01:00
Saúl Ibarra Corretgé a4333d3a80 rn,overflow-menu: add a "more options" button 2020-02-20 17:23:13 +01:00
Saúl Ibarra Corretgé 02131f3346 full-screen: fix not re-entering full-screen after dialog is shown
This has the side effect of showing the bottom navbar when the toolbox is open,
which is a nice thing since back is accessible.
2020-02-20 16:49:20 +01:00
Jaya Allamsetty 8dbd1ba1b7 fix(presenter): go back to using standard resolutions for presenter 2020-02-19 16:02:42 -05:00
Hristo Terezov bbf1927c70
fix(thumbnail): Optimize status bar moderator icon (#5076)
* fix(thumbnail): Optimize status bar moderator icon

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

* fix(RemoteVideoMenuTriggerButton): Use nullish coalescing

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

* ref(StatusBar): rename to StatusIndicators

* fix(RemoteVideoMenu): isModerator value.

* fix(notification): mobile.

Co-authored-by: Saúl Ibarra Corretgé <s@saghul.net>
2020-02-18 16:31:04 +00:00
horymury 86130c1478
chrome-banner: log success of retrieving configs 2020-02-18 10:56:09 +01:00
Vincent Hou 3e40bb19cd fixed the encoded tiltle issue in chinese
Checked the code of react.native part, there's no issue by using safeDecodeURIComponent.
So fixed it in same way.
2020-02-12 15:50:55 +01:00
Bettenbuk Zoltan bbca0fc357 allow setting the feedback percentage 2020-02-12 10:59:54 +01:00
Дамян Минков 9bb789472e
Uses correct scopes for google API based on config.js values. (#5066)
* Uses correct scopes for google API based on config.js values.

* Lower the number of parameters that we pass around.

* Fixes googleAPIState state checking.
2020-02-11 15:14:01 +00:00
Hristo Terezov 06fa175a6c fix(large-video): Resize calculations.
Since the verical filmstrip doesn't set its width explicitly anymore,
calculating the available area for the large video based on the
filmstrip width retrieved from the HTML element was wrong
in the cases when the rendering and cleanup of the filmstrip hasn't
finish yet. For example when switching from tile view to stage view.
2020-02-10 20:23:37 +02:00
Hristo Terezov 5940f2890a fix(remote-control): mouse events 2020-02-07 18:57:59 +02:00
Jaya Allamsetty 7b25b847ba fix(presenter): resize desktop track to 720p when presenter starts 2020-02-06 13:44:40 -05:00
paweldomas 01e36e1c56 ref: remove connectivity issues indication for remote participants
It's been considered too disruptive and will often misfire especially
if there are issues with the data channels.
2020-02-06 07:54:09 -06:00
Horatiu Muresan 5d96a226ed Prevent chrome extension banner from spanning the console when disabled 2020-02-06 12:59:36 +00:00
Jaya Allamsetty 9855fac805 fix(screenshot-capture): Move the flag for enabling/disabling the feature to config.js
This will let us enable/disable the feature based on environment/deployment
2020-02-05 16:47:21 -05:00
Andrei Gavrilescu ed5351d250
Add dial-in link to no audio notification (#5026)
* Add dial-in link to no audio notification

* refactor react link component

* fix tests
2020-02-05 18:10:57 +00:00
Hristo Terezov b64260e554 ref(Amplitude): device id syncing 2020-02-05 18:10:38 +00:00
Saúl Ibarra Corretgé 7d67cb583e rn,connection: fix autogenerated BOSH address
When the location URL contains a nonstandard port, it won't be included in
URL.hostname, but it will in URL.host.
2020-02-05 16:05:11 +01:00
Saúl Ibarra Corretgé 8e3c301d03 misc: use longer lines 2020-02-05 15:04:23 +01:00
Saúl Ibarra Corretgé f9071b8b6b rn,recording: fix not displaying Dropbox storage text 2020-02-05 15:04:23 +01:00
Saúl Ibarra Corretgé 01abc4e8a8 lint: fix warning 2020-02-05 15:04:23 +01:00
Jaya Allamsetty c5bddda781 fix(blur): Increase the background blur value 2020-02-04 14:07:17 -05:00
Saúl Ibarra Corretgé 3bfa4744c8 rn,tracks: fix loadEffects
The resolved promise is expected to return an array.
2020-02-04 18:06:11 +01:00
Saúl Ibarra Corretgé bd5901d59c notifications,presence-status: check if interfaceConfig is declared
Protectt ourselves against interfaceConfig being undeclared. typeof
interfaceConfig will return "undefined", but that's different than having some
window.interfaceConfig = undefined, even though the valus is the same. The
former will give a ReferenceError.
2020-02-04 15:51:59 +01:00
Paweł Domas 97e8a6c3f3
Remove UI for local connectivity issues (#5016)
* ref(web): removes video blur when ICE is disconnected.

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

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

* remove RECONNECTING key from main.json
2020-02-04 08:25:13 +01:00
Vlad Piersec ab5627212d Add ability to invite contact by phone number 2020-01-30 13:34:06 +00:00
horymury a9767eda72
Fix chrome extension banner (#5011)
* Fix chrome extension banner

* Address reviews
2020-01-29 12:30:17 +00:00
Saúl Ibarra Corretgé c05b4a43e8 rn,tracks: do not load stream effects on mobile 2020-01-28 16:21:11 +01:00
Saúl Ibarra Corretgé 385669cbb8 misc: use default values for parameters 2020-01-28 16:21:11 +01:00
Leonard Kim 5cfae2c419 fix(config): make SHOW_CHROME_EXTENSION_BANNER overridable 2020-01-27 21:26:38 -08:00
damencho 775c531fe7 Enables all recording/livestreaming notifications in sip gw mode. 2020-01-27 16:20:32 +00:00
paweldomas 470c115e7c feat(analytics): add 'websocket' property 2020-01-24 15:21:10 -06:00
paweldomas b25db3ce2e feat(config.js): add 'websocket' config option
Config.js will allow to specify both BOSH and Websocket URLs. In such
case the web app will prefer Websocket over BOSH. The reason is that it
appears to be more stable and a bit fast on web, while on mobile
websocket is dropped fast(killed by the OS) on network changes.
2020-01-24 15:21:10 -06:00
Hristo Terezov 31d9fb12c8
ref(Filmstrip): Optimize resizes. (#4992)
* ref(Filmstrip): Optimize resizes.

* fix(thumbnails): resize.

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

* doc(Filmstrip): Improve JSDoc.
2020-01-24 16:28:47 +00:00
Saúl Ibarra Corretgé ca9ca04d0f rn,tracks: fix accessing value on undefined object 2020-01-24 16:26:32 +01:00
Saúl Ibarra Corretgé 5a027f1585 rn,media: avoid creating presenter tracks
When ensureTrack is set to true a track will be created with the given media
type. 'presenter' is not supported on RN.
2020-01-24 16:14:29 +01:00
Hristo Terezov 1cde7e63c7
feat(Amplitude): Set device id from cookie. (#4997) 2020-01-23 18:36:31 +00:00
Saúl Ibarra Corretgé a53d284bbe lint: fix eslint warning 2020-01-23 15:48:57 +01:00
Andrei Gavrilescu ee525ae569 Whitelist audio detection related configs 2020-01-23 15:15:55 +01:00
horymury 63a411168e Add `Install chrome extension` banner (#4996) 2020-01-23 09:32:52 +00:00
Vlad Piersec ad68a87dba Add config options for presence & join/leave message visibility 2020-01-22 11:08:31 +01:00
Jaya Allamsetty ac0f3979b0 Remove isEdge check from the client 2020-01-21 11:55:52 -05:00
Andrei Gavrilescu d2c2919aef feat: display noise detection notification (#4952)
* feat: display noise detection notification

* address code review p1

* Address code review p2

* bump lib-jitsi-meet version
2020-01-20 18:00:12 +00:00
Mihai Uscat a18ed3a779 feat(ScreenshotCaptureEffect) Implement. 2020-01-20 10:02:19 -05:00
theunafraid c2cf09a2ca Add conference timer (#4958) 2020-01-13 17:12:25 +00:00
Saúl Ibarra Corretgé fddaf7c8a8 android: handle ConnectionService failures more resiliently
Fallback to the non-ConnectionService case for any error. Also, handle errors
when registering the phone account; Pixel C devices throw UnsupportedException.
2020-01-08 16:50:39 +00:00
paweldomas 6c3968a434 ref: remove features/base/conference -> /app cycle
Move call to reloadNow() on CONNECTION_FAILED to
the ./features/app/middleware to avoid importing higher order feature
from the lower level one.
2020-01-07 17:44:39 +00:00
paweldomas e8e70d9d27 ref(base/connection/actions.native): JitsiConnection.connect returns void
Do not return anything from JitsiConnection.connect, because it's not
a promise and returns void. Doing so is confusing to the reader.
2020-01-07 17:44:22 +00:00
Jaya Allamsetty dd99268461 fix(blur): update to bodyPix 2.0 2019-12-19 09:18:39 -05:00
Hristo Terezov 1333fd1975 fix(thumbnails): es6 support & cleanup. 2019-12-16 16:51:59 +00:00
Bettenbuk Zoltan 9b60537e0f feat: add swipe handler to entire bottom sheet 2019-12-12 17:15:11 +01:00
Leonard Kim 68cad276bd fix(lock): ensure lock prompt is closed on password submit
This addresses a bug, in which submitting a password
through the iframe api no longer closes RoomLockPrompt,
by explicitly closing prompts for a lock or password.
2019-12-09 08:44:18 -08:00
Bettenbuk Zoltan e683d70a18 Add support for avatar status badge (presence) 2019-12-09 11:58:23 +01:00
Andrei Gavrilescu 851b1a76a9 Address code review 2019-12-06 11:37:08 +00:00
Andrei Gavrilescu 4890390ea2 fix action uid name / remove imports 2019-12-06 11:37:08 +00:00
Andrei Gavrilescu 7828bf8d46 setNoSrcDataNotificationUid 2019-12-06 11:37:08 +00:00
Andrei Gavrilescu 191da551e3 refactor / address code review 2019-12-06 11:37:08 +00:00
Andrei Gavrilescu 55f35933e8 address code review 2019-12-06 11:37:08 +00:00
Andrei Gavrilescu b125bff7c7 refactor / enable VAD talk while muted 2019-12-06 11:37:08 +00:00
Andrei Gavrilescu c1d261445e Initial commit 2019-12-06 11:37:08 +00:00
Andrei Gavrilescu c494d6c48b feat: show no audio signal notification 2019-12-06 11:37:08 +00:00
Saúl Ibarra Corretgé 4134d47f6e recording: remove beta label from LiveStreamButton 2019-12-05 16:23:27 +01:00
Jaya Allamsetty 0b25e62c5c fix: Reuse the existing JitsiLocalTrack on presenter unmute 2019-12-05 09:25:34 -05:00
Saúl Ibarra Corretgé 36455c24c8 auth: fix rendering error and progress messages
Also removed some no longer used styles.
2019-12-03 14:33:26 +01:00
Saúl Ibarra Corretgé a622a4c713 android: handle ConnectionService failures more resiliently
Some Samsung devices will fail to fully engage ConnectionService if no SIM card
was ever installed on the device. We could check for it, but it would require
the CALL_PHONE permission, which is not something we want to do, so fallback to
not using ConnectionService.
2019-12-03 11:56:04 +01:00
Hristo Terezov 1aaaae24ee feat(Amplitude): enable referrer 2019-11-29 15:43:14 +00:00
Bettenbuk Zoltan 8eb93086bd fix: set an avatar icon size relative to the container 2019-11-29 14:37:35 +01:00
Bettenbuk Zoltan b64294af6d fix: emoji in links 2019-11-29 14:36:42 +01:00
Hristo Terezov bbf33a8895 feat(welcome-page): Add viewed analytics event. 2019-11-28 15:36:12 +00:00
Saúl Ibarra Corretgé 58bd48c1ae android: disable ConnectionService if permissions are not granted
Some devices seem to have a bug in their Android versions and startCall fails
with SecurityError because the CALL_PHONE permissions is not granted. This is
not a requirement for self-managed connection services as per the official
documentation though:
https://developer.android.com/guide/topics/connectivity/telecom/selfManaged

Alas, connection services takes over audio device management too, so let's
handle the error and disable CS if we get SecurityError.
2019-11-27 14:33:25 +01:00
Bettenbuk Zoltan 411bafb5a6 feat: minimized bottom menu 2019-11-26 12:08:43 +01:00
Jaya Allamsetty 0a64bf2068 feat(presenter): add Presenter Mode
- Adds the ability to share video as a "PiP" when screenshare is in progress.
- Add a method for creating a local presenter track.
- Make sure isLocalVideoTrackMuted returns the correct mute state when only screenshare is present.
- Make sure we get the updated window size of the window being shared before painting it on the canvas.
- Make sure we check if the shared window has been resized
2019-11-26 11:57:03 +01:00
theunafraid fb3a832a52 Add shortcut key for toggle tile view (#4882)
* Add shortcut key for toggle tile view

* Toggle tile view shortcut - undo main-enGB.json

* Add analytics

* Use already defined toolbar translations
2019-11-22 16:15:39 +00:00
Saúl Ibarra Corretgé 9c146c1245 subject: hide participant count for 1-1 calls
refs: https://github.com/jitsi/jitsi-meet/issues/4871
2019-11-22 10:49:24 +01:00
Saúl Ibarra Corretgé 792f506425 ios: drop support for iOS 10 2019-11-22 10:46:02 +01:00
Bettenbuk Zoltan 6121e9fc65 feat: improve chat UX 2019-11-21 18:11:58 +01:00
Bettenbuk Zoltan 955fa1f49f fix: undefined is not an object on bitrate 2019-11-21 18:11:58 +01:00
damencho 2544d0a084 Fixes the message for who kicked you. 2019-11-20 17:01:00 +02:00
Bettenbuk Zoltan 8f0a12016a fix: return room lock conference, when there is no other 2019-11-20 13:28:47 +01:00
Bettenbuk Zoltan 8bd0da886e feat: safe decodeURIComponent 2019-11-15 15:18:20 +01:00
Saúl Ibarra Corretgé fe2b1f3d9f rn: refactor aspect ratio and reduced UI detectors 2019-11-15 12:54:44 +01:00
virtuacoplenny 17c1f50fc3 fix(mobile-landing): do not attempt opening download link in new window
Instead let the mobile OS take care of opening the URL
in the appropriate application. Without target _blank,
iOS 13.2.2 on Chrome will open about:blank and immediately
close the tab instead of opening the store.
2019-11-15 09:43:18 +01:00
Boris Grozev 72435dee56 Order fields alphabetically. 2019-11-14 17:49:06 -06:00
Boris Grozev 42f2eff02a Whitelists the "stereo" flag. 2019-11-14 17:49:06 -06:00
Saúl Ibarra Corretgé c2c323347a rn: skip logging potentially sensitive data 2019-11-14 15:01:29 +01:00
Saúl Ibarra Corretgé e543625295 rn,settings: set the placeholder text color 2019-11-13 10:38:05 +01:00
Saúl Ibarra Corretgé 0b25ff649e ios: fix not displaying TextInput values in SettingsView 2019-11-13 10:38:05 +01:00
Bettenbuk Zoltan 53f01a39c9 feat: private message interface config flag 2019-11-12 15:48:53 +01:00
Дамян Минков 50f4796144
Adds an option to set email through iframe API init and to stats. (#4842)
* Adds an option to set email through iframe API init and to stats.

* Simplifies configuring email and displayName in stats.

Removes enableStatsID as not needed as when off we are sending as callstats id xmpp resource which is unique per call and id must be something that sticks between calls (callstatsUsername).

* Adds email and displayName in stats config for mobile.

* chore(deps): Updates lib-jitsi-meet to latest dd31f0a.

* Removes enableStatsID from config and whitelist.
2019-11-12 13:37:54 +00:00
Saúl Ibarra Corretgé 3cd7f0b77d settings: fix loading disableCallIntegration 2019-11-08 12:15:49 +01:00
Bettenbuk Zoltan 3ff658a13b fix: respect safe area in conference on ios 2019-11-07 12:26:54 +01:00
Bettenbuk Zoltan 3a46513d4b ref: remove unused code 2019-11-07 12:26:54 +01:00
Vlad Piersec 9889cb2b69 Add conference name as fallback for subject 2019-11-06 17:23:18 +01:00
Saúl Ibarra Corretgé 191e530071 uri: avoid using String.prototype.normalize
It crashes on Android. Well, on the JSC version React Native uses on Android.

While we could use this fallback only on Android, we have decided to use it
on all mobile platforms for consistency.
2019-11-06 15:37:14 +01:00
Mihai Uscat ae30d39b4d feat(PromotionalFooter): Implement 2019-11-06 03:29:49 -08:00
Hristo Terezov 5da4e43e50 fix(settings): respect configWhitelist 2019-11-05 02:13:54 -08:00
Hristo Terezov eae6f7760f fix(configWhitelist): add startWithAudioMuted. 2019-11-05 02:13:54 -08:00
Mihai Uscat 00161212c8 feat(welcome): Add responsive text to go button 2019-11-04 05:48:55 -08:00
Vlad Piersec c3a6a8fb17 Add participants count 2019-10-31 09:08:59 -07:00
Saúl Ibarra Corretgé 36654cb808 rn: disable H.264 on select devices even when not in P2P
iOS 10 crashes, so don't use it there, in any case.
2019-10-31 16:41:08 +01:00
Saúl Ibarra Corretgé 6d16e087d9 rn: add a new advanced settings section
Currently only 2 options are implemented, mainly aimed at helping troubleshoot
audio related problems:

- Disable native call integration (it disables CallKit / ConnectionService)
- Disable P2P
2019-10-31 16:41:08 +01:00
Saúl Ibarra Corretgé fe90e5aa8f rn,settings: remove top margin 2019-10-31 16:41:08 +01:00
Bettenbuk Zoltan 5429b8568e feat: feature flag for invite functionalities 2019-10-29 11:27:25 +01:00
Bettenbuk Zoltan 9265e1ffec ui: web chat facelift 2019-10-22 13:16:00 +02:00
Bettenbuk Zoltan d11735b04c feat: make the hangup button first 2019-10-21 19:00:12 +02:00
Saúl Ibarra Corretgé d33b700477 rn,blank-page: refactor BlankPage
- Remove network-activity "feature"
    - It wasn't in use
    - It relied on internal React Native components, bound to break anytime
- Show an infinite loading indicator
- Style it just like the LoadConfigOverlay
    - Since it kinda represents the opposite, an "unload" then SDK is done
2019-10-21 11:17:56 +02:00
yanas 220691d61d
Merge pull request #4762 from jitsi/fix-etherpad-follow-me
Fixes showing etherpad in follow-me mode.
2019-10-17 13:44:10 +01:00
damencho 5cafc4bcbd Fixes showing etherpad in follow-me mode. 2019-10-17 13:39:01 +01:00
paweldomas 26dc6a4ac2 update logger and LJM to support log timestamps 2019-10-16 15:59:58 -05:00
Hristo Terezov ff2626723a fix(HelpButton): Improvements. 2019-10-16 13:34:43 -07:00
Mihai Uscat 72bb897269 feat(DownloadOverflowButton): Implement. 2019-10-16 11:30:06 -07:00
damencho f46387a226 Adds room name validation logic for web. 2019-10-16 17:52:24 +01:00
damencho a4cbbccb2a Fixes loading recent lists on wrong meeting name stored.
decodeURIComponent is not needed any more and after adding a validation such meeting name should not happen to be stored.
2019-10-16 17:52:24 +01:00
damencho 3e1a008399 Adds copy icon next to the meeting url in info dialog. 2019-10-16 17:52:24 +01:00
Bettenbuk Zoltan 7e70a8c1de feat: make mobile chat messages selectable 2019-10-16 16:05:10 +02:00
Hristo Terezov 8efee04a10 feat(package.json): Node 12 support. 2019-10-16 06:34:44 -07:00
Bettenbuk Zoltan a35099f949 feat: add chat color scheming 2019-10-16 10:38:28 +02:00
Mihai Uscat 3c25a4c08c Naming conventions; Add variables 2019-10-15 06:54:54 -07:00
Mihai Uscat 5ade0cad8b feat(welcome): add posibility to extend settings toolbar 2019-10-15 06:54:54 -07:00
Saúl Ibarra Corretgé 0fa6ffc439 deps: react-native-google-signin@3.0.1 2019-10-14 19:12:45 +02:00
Hristo Terezov 0a06e256b7 feat(HelpButton): Mobile support. 2019-10-14 07:35:39 -07:00
Hristo Terezov f295f60bea feat(HelpOverflowButton): Implement. 2019-10-14 07:35:39 -07: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