Commit Graph

873 Commits (5a534e401048e1f4c21e4d4eb128d6d2dc01c902)

Author SHA1 Message Date
Robin feccdec581
Reduce video rooms log spam (#22665)
If you forget to call preventDefault in widget action handlers,
matrix-widget-api logs a bunch of errors complaining that the action is
unsupported/unhandled, even if it isn't.
2022-06-27 15:30:56 -04:00
Robin 5f176fa9a6
Connect to Jitsi unmuted by default (#22660)
* Connect to Jitsi unmuted by default

* Refactor joinConference to placate SonarQube
2022-06-27 17:41:33 +00:00
Michael Telatynski 6c37574857
Remove all mentions of Piwik (#22556)
* Remove all mentions of Piwik

* Simplify ModalManager interface

* Maintain privacy_policy_url
2022-06-14 16:14:09 +01:00
Michael Telatynski 2c0965c240
Abstract electron settings properly to avoid boilerplate-hell (#22491)
* Remove unused method `BasePlatform::screenCaptureErrorString`

* Extract SeshatIndexManager into its own file

* Improve platform typescripting

* Consolidate IPC call promisification into IPCManager

* Abstract electron settings properly to avoid boilerplate-hell

* i18n

* Iterate PR
2022-06-10 22:38:46 +01:00
Robin 867fc30ebf
Work around a Jitsi bug with display name encoding (#22525) 2022-06-10 12:21:49 -04:00
Robin 51ed7784d5
Show a dialog when Jitsi encounters an error (#22352) 2022-05-26 10:03:55 -04:00
Robin 9c92f55afd
Work around a Jitsi log handling crash (#22353) 2022-05-25 21:50:27 +00:00
James Salter 11a3011cbd
Option to disable hardware acceleration on Element Desktop (#22295)
Override ElectronPlatform to support disableHardwareAcceleration
2022-05-23 11:50:10 +01:00
Robin 6c7f663983
Stop Jitsi if we time out while connecting to a video room (#22301) 2022-05-20 16:25:31 -04:00
Robin d36dcd2766
Patch Jitsi logs into rageshakes (#22270)
* Patch Jitsi logs into rageshakes

* Remove unused import

* Fix types
2022-05-19 09:24:39 +01:00
Michael Telatynski ca98529bd2
Improve code as per Sonar suggestions (#22224) 2022-05-16 16:47:12 +01:00
Robin cdf95ab8b7
Fix video rooms sometimes connecting muted when they shouldn't (#22125) 2022-05-09 18:02:18 -04:00
Robin 1783645108
Avoid flashing the 'join conference' button at the user in video rooms (#22120) 2022-05-09 15:22:45 +01:00
Robin 9cb0185ec2
Fully close Jitsi conferences on errors (#22060)
By not closing Jitsi fully when an error occurs, it could get stuck in
PiP mode with no way to dismiss.
2022-05-05 05:51:00 -04:00
Robin f733e2af87
Fix Jitsi Meet getting wedged at startup in some cases (#21995) 2022-04-30 10:23:36 -04:00
Robin b5336c9a4d
Fix camera getting muted when disconnecting from a video room (#21958) 2022-04-29 08:51:43 -04:00
James Salter 2ffb3a1180
Pass the version in the updated param to attempt to cache bust (#21912) 2022-04-25 14:15:21 +01:00
Robin b41e215112
Show a lobby screen in video rooms (#21746)
* No longer skip the prejoin screen in video rooms

* Enable joining with specific devices

* Start widget API listeners earlier

so that they're instantly ready for use, rather than being stuck behind
the config loading

* Revert "Start widget API listeners earlier"

This reverts commit 2c1bb08832.

* Tell the client when the Jitsi wrapper is ready to receive events

* Fix video rooms getting stuck on Jitsi Meet's prejoin screen
2022-04-20 11:03:28 -04:00
James Salter ff89eef01a
Ensure updated=1 is set as the query string before any # (#21605)
* Ensure updated=1 is set as the query string before any #

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-04-20 15:12:24 +01:00
Robin ef1d90ad41
Handle forced disconnects from Jitsi (#21697) 2022-04-06 13:08:58 -04:00
Travis Ralston d39ae8a91b Merge branch 'develop' into travis/remove-skinning 2022-04-05 10:42:48 -06:00
Robin eab8a19ec7
Avoid flashing the Jitsi prejoin screen at the user before skipping it (#21665) 2022-04-05 11:32:26 -04:00
Robin b79133c694
Fix stuck persistence of Jitsi widgets (#21650)
The hangup event may or may not be handled, so we need to account for
cases where it throws an error.
2022-04-04 07:32:12 -04:00
Robin aeb6cddc2f
Update video rooms to new design specs (#21623)
* "Voice room" → "video room"

* Customize Jitsi behavior in video rooms
2022-04-01 11:28:47 -04:00
Travis Ralston 0bcb1d18ce Step 10.1: Ensure the js-sdk browser bundle gets pulled
We no longer have implicit imports which would have called this path, so manually call it. We have to disable lint as it doesn't like us doing this, but we only end up with a single entry point.
2022-03-28 13:02:50 -06:00
Travis Ralston 384903361d Step 4: Disable/remove bulk of skinner code 2022-03-28 13:02:50 -06:00
Travis Ralston 585c777878 Step 3.2: Stop using `getComponent` 2022-03-28 13:02:50 -06:00
Robin 6103f4a9d3
Voice rooms prototype (#21476)
* Document voice rooms labs flag

Signed-off-by: Robin Townsend <robin@robin.town>

* Add join and mute handlers to Jitsi wrapper

Signed-off-by: Robin Townsend <robin@robin.town>

* Document voice rooms labs flag

Signed-off-by: Robin Townsend <robin@robin.town>

* Mark voice rooms as in development

Signed-off-by: Robin Townsend <robin@robin.town>

* ack at the end of widget event handlers

Signed-off-by: Robin Townsend <robin@robin.town>

* Move acks back before suspend points

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-22 16:14:27 -06:00
Travis Ralston 1384783a77
Update SdkConfig usage to use new translation layer + update config.md docs (#21429)
* Update SdkConfig usage to use new translation layer

* Appease the linter

* WIP refactor of config documentation

* Finish re-writing config.md

* Update surrounding documentation

* Apply suggestions from code review

Co-authored-by: Germain <germains@element.io>

* Textual updates

Co-authored-by: Germain <germains@element.io>
2022-03-18 10:12:44 -06:00
James Salter adad5e16c2
Fix page reloading on initial update (#21410)
Remove the hash event listener before reloading the page, as the reload was being swallowed by our router.

Along the way, refactor out routing logic form app.tsx to avoid causing a circular import.
2022-03-16 12:20:06 +00:00
Kerry f975d85806
fix prefetch (#21320)
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-04 16:48:54 +01:00
James Salter 9223d93450
Check for update on load and refresh if available (#21272)
* Reload the page if we're stale on load
* Set updated=1
2022-03-03 14:36:12 +00:00
Šimon Brandner 491999281f
Add `allowOverridingNativeContextMenus()` (#17777) 2022-03-03 10:39:42 +00:00
Michael Telatynski 240c3be014
Mandate use of js-sdk/src/matrix import over js-sdk/src (#21257) 2022-03-01 19:26:22 +00:00
Travis Ralston 65adc3ba93
Add a config.json option to skip the built-in Jitsi welcome screen (#21190)
* Add a config.json option to skip the built-in Jitsi welcome screen

Stop-gap for https://github.com/vector-im/element-web/issues/20503

* Spelling
2022-02-28 11:02:03 -07:00
Šimon Brandner 3810b7e329
Keybinding code unification #3 (#21132) 2022-02-23 09:12:06 +00:00
Michael Telatynski 53f6282a53
Add Modernizr check for ResizeObserver (#21124) 2022-02-18 13:48:50 +00:00
Šimon Brandner c275ef6b49
Fix command key missing in keyboard shortcuts tab (#21102) 2022-02-16 15:29:52 +00:00
Šimon Brandner 42416021ad
Switch to IPC channel for `getDesktopCapturerSources` (#21042) 2022-02-11 10:38:35 +00:00
Travis Ralston 7078373fbb
Support a config option to change the default device name (#20790) 2022-01-28 08:52:43 -07:00
Šimon Brandner 03e776d9c4
Improve the look of the keyboard settings tab (#20595)
* First cut of new keyboard shortcuts

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* i18n

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-01-24 11:33:37 +00:00
Kerry 85012b287f
Persist jitsi only after meeting is joined (#20638)
* persist jitsi only after meeting is joined

Signed-off-by: Kerry Archibald <kerrya@element.io>

* lint + comment
2022-01-20 09:51:14 +01:00
Michael Telatynski 211f480027
Abstract electron download path behind an opaque ID (#20271) 2021-12-21 15:34:57 +00:00
James Salter 9e1f393224
Ensure group audio-only calls don't switch on the webcam on join (#20234)
Pass isAudioOnly flag to jitsi SDK
2021-12-17 19:54:57 +11:00
Germain 23b21c940c
Open thread on native notification click (#20176) 2021-12-15 08:34:54 +00:00
Aaron R df84c48d73
Fix imports to work with new lint rules (#19532)
* Add eslint-plugin-import

Signed-off-by: Aaron Raimist <aaron@raim.ist>

* Autofix + move comments manually

Signed-off-by: Aaron Raimist <aaron@raim.ist>

* Manual fix

Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 15:57:46 -07:00
Kerry b155d19934
add aria-hidden and alt for preload svg images (#20113)
Signed-off-by: Kerry Archibald <kerrya@element.io>
2021-12-09 14:23:03 +01:00
James Salter b0abbfacd4
Fix Docker build versioning (#20077)
* Centralise version scripts and fix Docker version
* Refactor generation of a git-hash-based version into get-version-from-git
* Refactor normalization of versions (stripping leading v) into normalize-version.sh
* Call get-version-from-git from ci_package.sh, call normalize-version from package.sh
* Refactor docker-write-version.sh into docker-package.sh, which both writes the
  version file and invokes yarn build passing VERSION
* Normalize the version received from the server
2021-12-07 15:11:01 +11:00
James Salter 60788da1a3
Normalize the local app version (#20061)
We need to strip the leading v from the local app version in pollForUpdate to ensure it compares correctly the version from the /version request indicating what the latest available version is. Previously, we only stripped the leading in getAppVersion which is used in some other places but not to decide whether an update is available.
2021-12-06 23:12:29 +11:00
Matthew Hodgson 9b780e0e60
Simple static location sharing (#19754)
Adds static location share a la [MSC3488](https://github.com/matrix-org/matrix-doc/pull/3488) behind a labs flag, supporting legacy `m.location` `msgtype` too.  Powered by https://github.com/matrix-org/matrix-react-sdk/pull/7135.  Adds maplibre as a dependency.

To make this work, you have to add a valid `map_style_url` to your config.json.
2021-12-06 10:11:06 +00:00
Michael Telatynski 883d8cecaa
Improve platform types (#20027) 2021-12-03 11:03:01 +00:00
James Salter 194aeac19e
Get version from build VERSION variable (#19857)
* Fetch version from VERSION set during build
* When polling for new versions, compare to VERSION set during build
* Strip leading v from version, matching package.sh
2021-11-23 18:42:24 +11:00
David Baker 75eab660c2
Remove highlightjs CSS (#19483)
This was completely unnecessary: react-sdk includes appropriate CSS
for highlight.js in its themes. This was actually causing some of
those values to be overridden with silly ones that made text invisible
on the dark theme.

Fixes https://github.com/vector-im/element-web/issues/19476
2021-10-22 18:28:27 +01:00
Travis Ralston 004e8edcb2
Deprecate `sso_immediate_redirect` and add welcome-page only option (#19437)
* Deprecate `sso_immediate_redirect` and add welcome-page only option

The old `sso_immediate_redirect` option is kept in code for backwards compatibility, but is replaced by `sso_redirect_options.immediate`, where a new `on_welcome_page` option is also introduced to only target entry points to the app. 

The path matching is a bit brittle, but still ideal in the sense of not showing UI while the app realizes it needs to redirect.

The new welcome page-only option is fully intended to avoid breaking permalinks and such while still redirecting when needed. In future, other options might be added here to further tune the experience.

* Add note about guests
2021-10-21 08:35:05 -06:00
Dariusz Niemczyk e6993ca964 Expose logger instance for development purposes
Related https://github.com/vector-im/element-web/issues/18425
2021-10-19 10:14:31 +02:00
Dariusz Niemczyk 85a81af1da Replace console.warn with logger.warn
Related https://github.com/vector-im/element-web/issues/18425
2021-10-19 10:14:31 +02:00
Dariusz Niemczyk dc9f77a509 Replace console.log with logger.log
Related https://github.com/vector-im/element-web/issues/18425
2021-10-19 10:14:31 +02:00
Dariusz Niemczyk db01bfc0fd Replace console.error with logger.error
Related https://github.com/vector-im/element-web/issues/18425
2021-10-19 10:14:31 +02:00
Dariusz Niemczyk 515a8d2097 Fix wrong type call for window.location.reload 2021-10-19 10:14:31 +02:00
Dariusz Niemczyk 0a87baf99d
Remove accidentally persisted log-level data
This commit gets rid of log-level data in localStorage which in some
extreme cases could fill up the entire localStorage making the app
unusable
Followup to https://github.com/matrix-org/matrix-js-sdk/pull/1880
2021-09-16 14:51:32 +02:00
Michael Telatynski 1aa2efd2ce
Merge pull request #18490 from vector-im/t3chguy/fix/18088 2021-09-16 10:16:23 +01:00
Michael Telatynski 5a561b674f Fix space keyboard shortcuts conflicting with native zoom shortcuts 2021-09-14 16:02:15 +01:00
Michael Telatynski 1d5d7751f7 Merge branch 'develop' of github.com:vector-im/element-web into t3chguy/fix/18088 2021-09-08 15:29:11 +01:00
Dariusz Niemczyk 231ff3a73d
Fix CI having invalid node_env 2021-08-23 12:35:43 +02:00
Paulo Pinto 23aabcc56c Fix typo 2021-08-18 17:44:20 +01:00
Paulo Pinto e96059337e Fix typo 2021-08-18 17:09:21 +01:00
Paulo Pinto 45cbfbf5d8 Standardise spelling of hot-reload
This is the form used elsewhere.
2021-08-18 17:08:22 +01:00
Paulo Pinto 74bc3c1dab Improve phrasing 2021-08-18 16:59:57 +01:00
Michael Telatynski 55338701ea Delabs Spaces, keeping it as a default-on preference for the time being 2021-08-11 14:52:43 +01:00
Travis Ralston d4fc3ed354 Properly handle react-sdk's recorder worklet
Fixes https://github.com/vector-im/element-web/issues/18393
2021-08-04 15:08:52 -06:00
Dariusz Niemczyk cc1a1e751b
Add some additional HMR cleanup for dev 2021-08-03 18:37:48 +02:00
Dariusz Niemczyk b677edbc58
Make CSS Hot-reload work in a hacky way 2021-08-02 14:38:25 +02:00
Dariusz Niemczyk 4b12b711ee
Add data-mx-theme to theme css for hot-reload 2021-08-02 14:38:25 +02:00
Michael Telatynski 1cffed2336 Dismiss electron download toast when clicking Open 2021-07-27 15:04:55 +01:00
Michael Telatynski e136afe2eb Conform to new typescript eslint rules 2021-07-19 22:47:32 +01:00
Michael Telatynski 331678b913 fix edge case around event permalinks 2021-07-19 09:48:50 +01:00
Michael Telatynski b23aad28ca Fix browser history getting stuck looping back to the same room
E.g if you click a link to room/#foo:bar?via=baz we'll redirect to room/#foo:bar and now hitting back takes you back to the ?via=baz and means you have to hit back twice without this change
2021-07-19 09:40:08 +01:00
Michael Telatynski c7a935777d Fix the jitsi qs parsing, as the `?` after `#` here is optional, unlike in EW 2021-07-16 19:37:48 +01:00
Michael Telatynski 75e4d16462 use js-sdk decodeParams utility 2021-07-16 13:10:58 +01:00
Michael Telatynski b03b4582c0 Merge branch 'develop' of github.com:vector-im/element-web into t3chguy/querystring
 Conflicts:
	package.json
	src/@types/global.d.ts
	src/vector/app.tsx
	src/vector/jitsi/index.ts
	src/vector/platform/WebPlatform.ts
	yarn.lock
2021-07-16 12:45:37 +01:00
Michael Telatynski 43695fbc58
Merge branch 'develop' into fix/space-shortcut-local/17776 2021-07-15 13:53:06 +01:00
Michael Telatynski 8289d6937f
Merge pull request #18006 from vector-im/t3chguy/spacesperf 2021-07-15 10:18:18 +01:00
Michael Telatynski 2877ef8fcf Fix skinning 2021-07-15 08:29:18 +01:00
Michael Telatynski f65231268d Cache value of feature_spaces* flags as they cause page refresh so are immutable 2021-07-15 08:26:50 +01:00
Germain bd4c6b8c6c
Merge pull request #17980 from psrpinto/fix/naming
Standardise casing of identity server
2021-07-15 08:07:10 +01:00
Michael Telatynski 80bc659b11 Merge branch 'develop' of github.com:vector-im/element-web into t3chguy/ts/c3
 Conflicts:
	src/vector/indexeddb-worker.ts
2021-07-14 17:50:40 +01:00
Paulo Pinto 0b6789c290 Standardise casing of identity server
Signed-off-by: Paulo Pinto <paulo.pinto@automattic.com>
2021-07-13 16:19:56 +01:00
Michael Telatynski 54ebd0cca1 Fix types to match Typescripted IndexedDB store 2021-07-12 18:47:40 +01:00
Michael Telatynski 66ada58101 Use webpack worker-loader to load the IndexedDB worker instead of homegrown hack 2021-07-12 18:43:21 +01:00
Michael Telatynski 2983215dee Improve and consolidate typing 2021-07-10 15:43:48 +01:00
Michael Telatynski 629630a086 Update Modernizr and stop it from polluting classes on the html tag 2021-07-09 11:49:07 +01:00
Šimon Brandner 2760a36f47
Convert a few files to TS
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-06 21:41:02 +02:00
J. Ryan Stinnett 491b179971 Auto-fix lint errors 2021-06-30 13:28:31 +01:00
Michael Telatynski 4bc53aaed1
Merge pull request #17647 from vector-im/t3chguy/fix/17282
Remove spurious overflow: auto on #matrixchat element
2021-06-29 22:23:49 +01:00
Germain Souquet 33d05678b4 Enhance security by disallowing CSP object-src rule 2021-06-28 16:47:33 +01:00
Šimon Brandner f8da8254ce
Better handling space shortcuts
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-06-28 15:17:26 +02:00
Šimon Brandner 76d9f26a16
Fix space shortcuts on non-English layouts
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-06-25 16:04:12 +02:00
Michael Telatynski e2a109667a Merge branch 'develop' of github.com:vector-im/element-web into t3chguy/ts/5.1
 Conflicts:
	src/vector/platform/ElectronPlatform.tsx
2021-06-23 14:54:06 +01:00
Michael Telatynski 1805a28d51
Merge pull request #17457 from vector-im/t3chguy/fix/17128-1 2021-06-22 14:21:46 +01:00
Michael Telatynski f461c900cf Improve typing of Event Index Manager / Seshat 2021-06-19 15:37:06 +01:00