Commit graph

646 commits

Author SHA1 Message Date
Michael Telatynski
830ad47e87
Merge pull request #6097 from matrix-org/t3chguy/allSettled
Remove Promise allSettled polyfill as js-sdk uses it directly
2021-05-25 17:11:06 +01:00
Michael Telatynski
17bbbff479 Remove Promise allSettled polyfill as its widespread enough now and js-sdk uses it directly 2021-05-25 16:12:34 +01:00
Germain Souquet
ac93cc514f Prevent layout trashing when resizing the window 2021-05-25 10:28:20 +01:00
Travis Ralston
ec7c1ab9f0
Revert "Try putting room list handling behind a lock" 2021-05-18 15:40:09 -06:00
Travis Ralston
01491f4cba
Merge pull request #6024 from matrix-org/travis/roomlist-corruption
Try putting room list handling behind a lock
2021-05-14 11:06:19 -06:00
Travis Ralston
336904cef8
Apply suggestions from code review
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2021-05-14 11:05:49 -06:00
Travis Ralston
df7b598ca7 Improve visible waveform for voice messages
This tries to prioritize actual voice to decide the waveform, and clamps noise to zero to ensure the waveform doesn't have a perceptually noisy base.

In theory this better matches the overall voice message content.
2021-05-13 22:20:08 -06:00
Michael Telatynski
dd04b479a1 Wrap decodeURIComponent in try-catch to protect against malformed URIs 2021-05-13 10:20:27 +01:00
Travis Ralston
9beb2b8d78 Try putting room list handling behind a lock
Some of the logs relating to room list corruption appear to be badly timed race conditions so we'll try to linearize them here.
2021-05-12 21:15:17 -06:00
Travis Ralston
d8e3458c55 Merge remote-tracking branch 'origin/develop' into travis/voicemessages/resample2 2021-05-11 10:15:37 -06:00
J. Ryan Stinnett
45acf70b00
Merge pull request #5981 from matrix-org/jryans/upload-preview-mimetype
Adjust MIME type of upload confirmation if needed
2021-05-10 10:21:35 +01:00
Travis Ralston
389e0b8e8e wrong const 2021-05-07 21:11:31 -06:00
Travis Ralston
90798c2c8e copy/paste will end me one day 2021-05-07 21:09:10 -06:00
Travis Ralston
b007ea81b2 Rescale and smooth playback waveform to better match expectation 2021-05-07 21:06:07 -06:00
J. Ryan Stinnett
6e0c7611c3 Extract blob-safe MIME types 2021-05-06 13:53:27 +01:00
Michael Telatynski
650933096a Iterate Spaces admin UX around room management 2021-05-05 17:25:29 +01:00
Travis Ralston
5dbe882c77 Don't recurse on arrayFastResample
Fixes https://github.com/vector-im/element-web/issues/17136
2021-05-03 15:20:29 -06:00
Šimon Brandner
5913203dc6
Merge branch 'develop' into fix-indent
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-04-29 20:08:14 +02:00
Šimon Brandner
232b87a3b4
Improve formatting
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-04-29 19:57:02 +02:00
Travis Ralston
f0f875d1e2 Merge branch 'develop' into handle-encoded-urls 2021-04-28 09:53:16 -06:00
Travis Ralston
8d8525cdeb
Merge pull request #5935 from matrix-org/travis/voice/control-bar
Voice messages: Composer controls
2021-04-28 09:38:28 -06:00
David Baker
c95c1aeffd
Merge pull request #5886 from matrix-org/dbkr/asserted_identity
Support MSC3086 asserted identity
2021-04-28 09:47:40 +01:00
Travis Ralston
32e3ce3dea Handle basic state machine of recordings 2021-04-27 15:02:15 -06:00
Šimon Brandner
46bfbbadf9
Enable indent rule and fix indent
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-04-27 17:23:27 +02:00
J. Ryan Stinnett
b8203043be Add types to Permalinks 2021-04-27 12:11:23 +01:00
J. Ryan Stinnett
bca45a1ad4 Add types to Timer 2021-04-27 12:02:20 +01:00
J. Ryan Stinnett
417f662ea7 Remove redundant parameter initialisers 2021-04-26 17:12:31 +01:00
J. Ryan Stinnett
cddcedcce2 Merge remote-tracking branch 'origin/develop' into jryans/convert-flow-to-ts 2021-04-26 15:57:28 +01:00
J. Ryan Stinnett
82caac16c8 Add types for StorageManager functions 2021-04-26 15:30:34 +01:00
J. Ryan Stinnett
889289d464 Tweak Timer constructor 2021-04-26 15:01:05 +01:00
J. Ryan Stinnett
b8a915bb76 Tweak private / underscores for fields and methods 2021-04-26 14:02:53 +01:00
Travis Ralston
82119ad595 Merge branch 'develop' into travis/error-states 2021-04-23 15:53:37 -06:00
Travis Ralston
09af2a8891
Merge pull request #5910 from matrix-org/travis/tests/array-obj-utils
Add unit tests for various collection-based utility functions
2021-04-23 11:21:12 -06:00
J. Ryan Stinnett
2344ddd164 Merge remote-tracking branch 'origin/develop' into jryans/convert-flow-to-ts 2021-04-23 17:19:52 +01:00
J. Ryan Stinnett
d7e6f4b4b5 Add basic types 2021-04-23 17:05:50 +01:00
J. Ryan Stinnett
31a28b1a9e Update extensions for some files with types
This migrates one bucket of files using some amount of Flow typing to mark them
as TypeScript instead. The remaining type errors are fixed in subsequent
commits.
2021-04-23 16:05:30 +01:00
David Baker
dc3d05bc88 Test for asserted identity
This is out first CallHandler test(!) Switches react-sdk to use
createCall on the client object so we can stub this out in the test.
Add a bunch more stubs to the test client.

There's more stuff in this test that has scope to be used more
widely, like waiting for a certain dispatch and mocking out rooms
with particular sets of users in them: we could consider moving these
out to test utils if we wanted.
2021-04-23 14:39:39 +01:00
J. Ryan Stinnett
c09d4f4a78
Merge pull request #5904 from SimonBrandner/normalize-wheel
Add a WheelEvent normalization function
2021-04-23 12:59:37 +01:00
Travis Ralston
0d4218ee35 Add enum utility tests 2021-04-22 20:37:19 -06:00
Travis Ralston
a3e846685d Add array utility tests (and support upsampling in resample)
See contained diff. 

The upsampling is important for Voice Messages, but is being done here because it's easier to add all the tests at once.

This also introduces a new Object utility - that will be tested on its own commit.
2021-04-22 20:08:45 -06:00
Šimon Brandner
ad53b0e2e2
Add normalizeWheelEvent()
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-04-22 14:56:12 +02:00
Jaiwanth
f2d0a56c1f Handle encoded matrix urls
Signed-off-by: Jaiwanth <jaiwanth2011@gmail.com>
2021-04-22 16:54:51 +05:30
Travis Ralston
91b3688feb Redesign "failed to send messages" status bar 2021-04-21 16:24:17 -06:00
Travis Ralston
61730f2f88 Populate waveform data on voice message event 2021-04-19 23:05:53 -06:00
Travis Ralston
20586e52bc
Update src/utils/Singleflight.ts to support English
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-04-19 10:13:22 -06:00
Travis Ralston
d23f66bb47 Update documentation 2021-04-16 10:11:04 -06:00
Travis Ralston
22233a8745 Add a concept of a singleflight to avoid repeated calls to stop/ending
This makes it easier to keep track of which pieces the client will have already dispatched or been executed, reducing the amount of class members needed.

Critically, this makes it so the 'stop' button (which is currently a send button) actually works even after the automatic stop has happened.

UI is still pending for stopping recording early. This is not covered by this change.
2021-04-14 21:59:50 -06:00
Travis Ralston
54412878a1 Merge branch 'develop' into travis/voice-messages/waveform 2021-03-29 22:59:51 -06:00
Michael Telatynski
9fb653e522 Fix room space invite button for public spaces 2021-03-26 11:43:01 +00:00
Germain Souquet
510f08e9f1 Update failed invites copy 2021-03-25 10:11:52 +00:00
Travis Ralston
8ddd14e252 Early concept for rendering the frequency waveform 2021-03-24 22:17:45 -06:00
Germain Souquet
d836ca19d8 remove references to disused RIOT.USER_NOT_FOUND error code 2021-03-24 08:58:08 +00:00
Germain Souquet
1f6f9ca983 Only show the ask anyway modal for explicit user lookup failures 2021-03-23 18:24:05 +00:00
Travis Ralston
3caf07be87
Merge pull request #5658 from matrix-org/travis/welcome-login
Add an optional config option to make the welcome page the login page
2021-03-19 09:12:35 -06:00
Travis Ralston
1d9d0cd7be Convert a bunch more js-sdk imports to absolute paths
Turns out a lot of the typescript warnings about improper warnings were correct. TypeScript appears to be pulling in two copies of the js-sdk when we do this, which can lead to type conflicts (or worse: the wrong code entirely). We fix this at the webpack level by explicitly importing from `src`, but some alternative build structures have broken tests because of this - jest ends up pulling in the "wrong" js-sdk, breaking things.
2021-03-18 20:50:34 -06:00
Travis Ralston
25485edb3f Merge branch 'develop' into travis/welcome-login 2021-03-12 14:55:40 -07:00
Travis Ralston
53935782bc Convert DecryptFile to TS and modernize a bit 2021-03-10 12:32:18 -07:00
Travis Ralston
93f7f13c44 Early proof of concept for media customization support 2021-03-10 12:32:18 -07:00
Travis Ralston
eb45731d2e
Merge pull request #5735 from matrix-org/travis/use-strict-no
Remove a bunch of useless 'use strict' definitions
2021-03-09 07:24:41 -07:00
Travis Ralston
652e4845e5
Merge pull request #5732 from matrix-org/travis/skinning/pt1-ts
[SK-1] Fix types for replaceableComponent
2021-03-09 07:24:24 -07:00
J. Ryan Stinnett
89301ca8d9
Merge pull request #5695 from robintown/invite-command-reason
Support sending invite reasons with /invite command
2021-03-09 11:45:25 +00:00
Travis Ralston
591ccabab9 Remove a bunch of useless 'use strict' definitions 2021-03-08 20:26:08 -07:00
Travis Ralston
92af111c93 Fix types for replaceableComponent
This is to make it work in TS files
2021-03-08 20:21:07 -07:00
Will Hunt
d07069238f Merge remote-tracking branch 'origin/develop' into hs/blocked-err 2021-03-05 18:50:00 +00:00
Michael Telatynski
e479edd47a Add an add existing room to space CTA to Space View 2021-03-02 13:34:53 +00:00
Michael Telatynski
a687b9883c Add a create room in space CTA to Space View 2021-03-02 13:29:34 +00:00
Michael Telatynski
ab4b7b73ea Add a basic Space Settings view 2021-03-02 13:26:00 +00:00
Michael Telatynski
1a7a0e619d extend createRoom for creating rooms in a space 2021-03-01 19:05:50 +00:00
Michael Telatynski
c10512fd56 Initial SpaceRoomView work 2021-03-01 18:53:11 +00:00
Robin Townsend
e3065f5a02 Support sending invite reasons with MultiInviter
Signed-off-by: Robin Townsend <robin@robin.town>
2021-02-26 17:09:54 -05:00
Michael Telatynski
0f0edbfb14 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/spaces1
 Conflicts:
	src/utils/objects.ts
2021-02-25 10:50:56 +00:00
J. Ryan Stinnett
4e87fdcdfe Fix object diffing when objects have different keys
The object diff optimisation in 32cca0534c is not
correct for the case where `b` has some keys that are not in `a`.

By ensuring their key arrays are same length, we can preserve optimisation and
be correct as well.

Fixes https://github.com/vector-im/element-web/issues/16514
2021-02-24 13:45:25 +00:00
Michael Telatynski
63d95706e9 Create setHasDiff helper and use it
The usage here is identical to how it'll work in Spaces
2021-02-19 12:58:23 +00:00
Michael Telatynski
02ae1e954b clean up objectHasDiff and short circuit it quicker 2021-02-19 11:40:34 +00:00
Michael Telatynski
49f511bbab delint 2021-02-19 00:26:52 +00:00
Michael Telatynski
32cca0534c improve algo by skipping an O(n) operation 2021-02-19 00:19:35 +00:00
Michael Telatynski
3ca5632f6a Replace ObjectUtils.js with objects.ts 2021-02-19 00:00:10 +00:00
Travis Ralston
21b9ab9d85 Add an optional config option to make the welcome page the login page
This is commonly requested by deployments with custom setups or those using SSO. Instead of having them all ship the same welcome.html with redirect code in it, we can offer a built-in redirect.

Note that this doesn't actually redirect and instead just replaces the view. This is to make the change less invasive as otherwise it involves changing the routing layers.
2021-02-16 15:18:31 -07:00
Travis Ralston
cd82d97c3e Use randomly generated conference names for Jitsi
Fixes https://github.com/vector-im/element-web/issues/15205
Replaces https://github.com/matrix-org/matrix-react-sdk/pull/5322

This change uses a random ID for the Jitsi conference name to avoid any badly-named Jitsi calls, and overrides the "subject" (title) of the call so end users aren't typically exposed to the random ID.
2021-02-15 08:53:37 -07:00
J. Ryan Stinnett
474c029db5 Fix permalink via parsing for rooms
This adjusts the app local link parsing path to better handle `via`s in query
params. Previously this path only expected them when an event ID was also
present, but it's also valid to have `via`s without event IDs as well.

Fixes https://github.com/vector-im/element-web/issues/16345
2021-02-03 15:18:19 +00:00
J. Ryan Stinnett
fd7c50f683 Move route splitting inside route parsing 2021-02-03 14:05:22 +00:00
J. Ryan Stinnett
89b835dd20
Merge pull request #5575 from matrix-org/jryans/no-event-pills
Remove pills from event permalinks with text
2021-02-01 10:53:22 +00:00
J. Ryan Stinnett
2c313e0c5e Add managed hybrid call widgets when supported
If your homeserver is configured with an experiment `widget_build_url`, this
will take over the functionality of the call buttons and turn them into a
general widget installer.
2021-01-29 14:45:25 +00:00
J. Ryan Stinnett
fa3ace8473 Rework message pilling to ignore event permalinks
This removes pills from event permalinks since they hide the text associated
with the link, which can cause nonsensical messages since words have been
removed. In addition, this moves away from fragile regexs to more
straightforward code to parse links and adds a test for this case.

Regressed by https://github.com/matrix-org/matrix-react-sdk/pull/5188
Fixes https://github.com/vector-im/element-web/issues/15159
2021-01-27 11:46:20 +00:00
Will Hunt
5de92b68d9 Show a specific error for hs_disabled 2021-01-27 11:39:57 +00:00
Travis Ralston
f06aa00240 Fix percentage calculation 2021-01-19 00:22:02 -07:00
Travis Ralston
0d29d15a46 Support room-defined height as well
Much like widget widths, it is acceptable for us to forget what everyone's height was previously at.
2021-01-18 19:27:11 -07:00
Travis Ralston
cfb583d193 Calculate widget widths in the WidgetLayoutStore
Note that this ditches all previously set width values, however this is probably acceptable for now. Trying to remain backwards compatible gets tricky on top of already tricky code, and the impact of Element forgetting widths is not as severe as forgetting which widgets were/are pinned.
2021-01-18 18:50:36 -07:00
Travis Ralston
0001e1e684 Support initial ordering and calculation for widgets by layout 2021-01-18 17:41:42 -07:00
David Baker
008fdf8dfb Missed some underscores 2021-01-13 15:44:33 +00:00
David Baker
28fe6291d9 add public/privates & de-underscore 2021-01-13 15:37:49 +00:00
David Baker
ac7f86cf65 Convert DMRoomMap to typescript 2021-01-13 14:49:23 +00:00
J. Ryan Stinnett
162a5de82e Rename and reformat Element URL pattern
This is just a code style cleanup. There are no behaviour changes in this
commit.
2020-12-21 13:05:45 +00:00
Hubert Chathi
983ffe98ff
Merge pull request #5483 from uhoreg/web_pickle
Use random pickle key on all platforms
2020-12-15 12:56:41 -05:00
Hubert Chathi
649ea0d148 apply changes from review, and other fixes/improvements 2020-12-10 21:52:18 -05:00
Travis Ralston
af69ba9c79
Merge pull request #5451 from iokiwi/new/room-alias-in-permalink
Use room alias in generated permalink for rooms
2020-12-09 12:07:44 -07:00
Michael Telatynski
5be65a525d Improve identifiers and code readability 2020-12-09 11:14:06 +00:00
Michael Telatynski
e896b009f1 Handle manual hs urls better 2020-12-08 10:58:16 +00:00
Simon Merrick
b365d3b27e Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into new/room-alias-in-permalink 2020-12-07 10:30:50 +13:00
Simon Merrick
5544ee6408 extract alias handling to separate function 2020-12-06 23:29:11 +13:00