Commit graph

302 commits

Author SHA1 Message Date
Kerry
d2b97e251e
Live location sharing - handle geolocation errors (#8179)
* display live share warning only when geolocation is happening

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

* kill beacons when geolocation is unavailable or permissions denied

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

* polish and comments

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-28 18:46:39 +02:00
Kerry
e9b2aea97b
Live location sharing - send geolocation beacon events - happy path (#8127)
* geolocation utilities

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

* messy send events

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

* add geolocation services

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

* geolocation tests

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

* debounce with backup emit every 30s

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

* import reorder

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

* some more working tests

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

* complicated timeout testing

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

* publish first location immediately

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

* move advanceDateAndTime to utils, tidy

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

* typos

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

* types and lint

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-28 10:48:38 +00:00
Kerry
1397652f52
Extract location utils from components (#8152)
* extract util functions from MLocationBody

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

* disassemble mlocationbody

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

* tidy and add copyrights

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

* move types and utils from components/location to utils

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

* i18n

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

* empty line

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-25 15:36:22 +01:00
Kerry
0d513b3a2d
geo.getCurrentPosition and some testing helpers (#8150)
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-25 12:30:50 +01:00
Kerry
1495c23a14
Live location sharing: geolocation utilities (#8126)
* geolocation utilities

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

* remove debug

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

* comments for ts-ignores

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-23 17:08:56 +00:00
Travis Ralston
fce36ec826
Delete groups (legacy communities system) (#8027)
* Remove deprecated feature_communities_v2_prototypes

* Update _components

* i18n

* delint

* Cut out a bit more dead code

* Carve into legacy components

* Carve into mostly the room list code

* Carve into instances of "groupId"

* Carve out more of what comes up with "groups"

* Carve out some settings

* ignore related groups state

* Remove instances of spacesEnabled

* Fix some obvious issues

* Remove now-unused css

* Fix variable naming for legacy components

* Update i18n

* Misc cleanup from manual review

* Update snapshot for changed flag

* Appease linters

* rethemedex

* Remove now-unused AddressPickerDialog

* Make ConfirmUserActionDialog's member a required prop

* Remove useless override from RightPanelStore

* Remove extraneous CSS

* Update i18n

* Demo: "Communities are now Spaces" landing page

* Restore linkify for group IDs

* Demo: Dialog on click for communities->spaces notice

* i18n for demos

* i18n post-merge

* Update copy

* Appease the linter

* Post-merge cleanup

* Re-add spaces_learn_more_url to the new SdkConfig place

* Round 1 of post-merge fixes

* i18n

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-03-22 23:07:37 +00:00
Kerry
a80e55d38d
add helpers for beacon duration calculations (#8101)
* add helpers for beacon duration calculations

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

* makeBeaconInfoEvent timestsamp prop

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

* ad copyright

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-22 10:46:47 +00:00
Kerry
14653d1378
Live location share - set time limit (#8082)
* add mocking helpers for platform peg

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

* basic working live duration dropdown

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

* add duration format utility

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

* add duration dropdown to live location picker

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

* adjust style to allow overflow and variable height chin

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

* tidy comments

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

* arrow fn change

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

* lint

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-21 12:42:58 +01:00
Travis Ralston
d8a939df5d
Use & enforce snake_case naming convention on config.json settings (#8062)
* Document and support the established naming convention for config opts

This change:
* Rename `ConfigOptions` to `IConfigOptions` to match code convention/style, plus move it to a dedicated file
* Update comments and surrounding documentation
* Define every single documented option (from element-web's config.md)
* Enable a linter to enforce the convention
* Invent a translation layer for a different change to use
* No attempt to fix build errors from doing this (at this stage)

* Add demo of lint rule in action

* Fix all obvious instances of SdkConfig case conflicts

* Fix tests to use SdkConfig directly

* Add docs to make unset() calling safer

* Appease the linter

* Update documentation to match snake_case_config

* Fix more instances of square brackets off SdkConfig
2022-03-18 10:12:36 -06:00
Germain
4e4ce65f58
Use redaction enum event type rather than hardcoded string (#8071) 2022-03-17 18:38:29 +01:00
Kerry
9082e07ff4
include test/utils in tsconfig (#8024)
* fix export-test.tsx

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

* include test/utils to tsconfig

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-10 18:15:31 +00:00
Michael Telatynski
f25e6813bb
Mandate use of js-sdk/src/matrix import over js-sdk/src (#7933) 2022-03-01 20:42:05 +00:00
David Baker
1a6134e441
Fix another freeze on room switch (#7900)
* Fix another freeze on room switch

This switches permalinks to use the batch state update event and
removes the incremental updates, as commented. We now spend, on my
profiling, about 450ms in setOutOfBandMembers itself and another
120ms in permalinks.

Fixes https://github.com/vector-im/element-web/issues/21127

* Just bind to the currentstate state updates
2022-02-25 19:48:35 +00:00
David Baker
81cda7c749
Fix freeze on room switch (#7884)
* Fix freeze on room switch

updateServerCandidates was called on every room member event and
not throttled.

Fixes https://github.com/vector-im/element-web/issues/21127

* Move import

* Disable throttling in tests

* Types

Co-authored-by: Travis Ralston <travisr@matrix.org>

Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-02-23 19:16:12 +00:00
Kerry
5e76d988ca
convert test-utils to typescript (#7877)
* move js utils into directory

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

* typescripterize js test-utils

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

* move test utils to directory

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

* move remaining mock functions to directory

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

* update imports

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

* missed copyright

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

* type wait for update

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-23 11:21:11 +00:00
Michael Telatynski
7fa01ffb06
Improve typing around event emitter handlers (#7816) 2022-02-22 12:18:08 +00:00
Kerry
9db59d75b9
Bump react-focus-lock (#7858)
* react-focus-lock to 2.5.1

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

* use enzyme in ASSD test so focus lock finds active element

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

* findById and flushPromises to test utils

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-21 17:09:01 +00:00
Kerry
8b9263c808
Clean up some unit test logs (#7857)
* kill some unit test logs in arrays-test

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

* remove mock logs that are asserted against anyway

* remove more logs

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

* fix safeCOunterpartTranslate warnings in tests

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

* more safeCounterpartTranslate warnings

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

* lint

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

* remove more logs

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

* add helper

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

* naming

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-21 16:57:44 +00:00
Kerry
818fddd72c
Add customisation point to disable space creation (#7766)
* mock matchMedia in jest setup

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

* use UIComponent.CreateSpaces in space panel

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

* lint

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

* hide add space in spacecontextmenu

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

* use UIComponent customistations in space oom view add space button

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

* copyright

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-09 17:21:40 +01:00
Kerry
292971dd0e
Upgrade to jest 27 (#7699)
* use jest@27.4.0, replace jest-environment-jsdom-sixteen with jest-environment-jsdom

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

* polyfill setImmediate

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

* remove done from async test cases

* useRealTimers in test relying on promise flushing

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

* remove jest environment file

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

* replace ts-jest mocked with jest utils mocked

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-02 13:02:17 +01:00
Kerry
085ecc7f5f
Chat export parameter customisation (#7647)
* use export settings and hide fields

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

* fix exporter tests

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

* test ExportDialog with settings

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

* tidy debugs, rename setting to Parameters

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

* use reasonable 100gb limit

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

* use normal setting instead of UIFeature

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

* use a customisation

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

* move validateNumberInRange to utils

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

* use nullish coalesce

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

* use 8gb size limit for customisation

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

* update comments

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-31 12:54:14 +01:00
Michael Telatynski
fcc4939075
Fix naming of set-theory utils to match convention (#7343) 2021-12-13 10:57:51 +00:00
Dominik Henneke
908e938996
Keep all previously approved widget capabilities when requesting new capabilities (#7340) 2021-12-13 10:34:04 +00:00
Aaron Raimist
7b94e13a84 Merge branch 'develop' into sort-imports
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 08:34:20 +00:00
Travis Ralston
08cd8926e6
Fix a couple relative date tests (#7184) 2021-11-23 11:29:23 -07:00
Germain
2a20d9a7df
Display relative time in thread panel event tile (#7068)
* Null-guard for missing root event in thread panel

* Add formatRelativeTime date utility

* Display relative time format in thread panel event tiles
2021-11-03 10:16:50 +00:00
Aaron Raimist
027b3660bb
Manual fixes
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-22 17:49:12 -05:00
Aaron Raimist
bdc56be863
Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-22 17:23:37 -05:00
Jaiwanth
94e4fb71c1 Merge branch 'develop' into export-conversations 2021-09-22 18:07:01 +05:30
Šimon Brandner
9c107ae615
Add tests for formatSeconds()
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-27 16:20:29 +02:00
Jaiwanth
7207329c15 Apply review suggestions 2021-08-13 23:44:07 +05:30
Jaiwanth
9cbdc4a613 Use throw error instead of try-catch 2021-08-13 08:34:54 +05:30
Jaiwanth
edfc8af6cf Apply PR Suggestions 2021-08-13 08:30:50 +05:30
Jaiwanth
e396dcfb10 Remove @types/streamsaver 2021-08-10 13:22:40 +05:30
Jaiwanth
ecf0aba97c Test for different types of events 2021-08-10 12:25:51 +05:30
Jaiwanth
900accd823 Add test for renderToString 2021-08-09 13:25:32 +05:30
Jaiwanth
850b5452a0 Add tests for reply regex 2021-08-09 12:36:06 +05:30
Jaiwanth
45ce352d02 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into export-conversations 2021-08-09 10:44:13 +05:30
Jaiwanth
c74d6c6fff Assign replacements 2021-08-04 12:48:32 +05:30
David Baker
28f5dc483b Update eslint plugin & fix silly indenting
As per https://github.com/matrix-org/eslint-plugin-matrix-org/pull/15
this caused a bunch of silly indenting to creep in, so this fixes it
back to the previous style.
2021-08-03 17:07:37 +01:00
Jaiwanth
b333612dea Fix comparing MB -> bytes 2021-08-03 14:53:23 +05:30
Jaiwanth
4824c93707 Add a test file 2021-08-03 14:36:21 +05:30
Jaiwanth
46e2f67f54 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into export-conversations 2021-08-03 10:03:16 +05:30
Jaiwanth
17e9cf4d2a Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into export-conversations 2021-07-30 12:17:31 +05:30
Jaiwanth
04edf4103f Remove unnecessary awaits 2021-07-30 11:46:55 +05:30
Michael Telatynski
02dbdc5c0a Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/18093
 Conflicts:
	src/components/views/spaces/SpaceTreeLevel.tsx
	src/dispatcher/actions.ts
	src/i18n/strings/en_EN.json
2021-07-29 16:11:16 +01:00
Michael Telatynski
ec173e74e6 Test & Refactor SpaceWatcher to allow all rooms/home change without needing reload 2021-07-27 20:15:40 +01:00
Michael Telatynski
c8d9294350 Discard unused utility now that we use Object.fromEntries 2021-07-23 18:40:22 +01:00
Travis Ralston
0e2bcb474d delint 2021-07-12 13:52:10 -06:00
Travis Ralston
ec0f940ef0 Adjust recording waveform behaviour for voice messages
Fixes https://github.com/vector-im/element-web/issues/17683
2021-07-12 13:48:01 -06:00
Šimon Brandner
a90b8f32f1
Add some tests
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-09 16:45:04 +02:00
J. Ryan Stinnett
ae0a8b8da4 Auto-fix lint errors 2021-06-29 13:11:58 +01:00
Michael Telatynski
e7fde2686f remove unused imports 2021-06-16 12:12:00 +01:00
Michael Telatynski
bceee7978e improve naming of tests 2021-06-16 09:30:47 +01:00
Michael Telatynski
a63d9220d2 Clear outstanding TODOs 2021-06-15 08:26:46 +01:00
Michael Telatynski
66fce64ee0 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/17282
 Conflicts:
	package.json
	yarn.lock
2021-06-14 21:39:06 +01:00
Michael Telatynski
2879b9086c Use alphabet from js-sdk 2021-06-14 21:32:11 +01:00
Michael Telatynski
8fd72fcf79 Iterate algorithm, base it on new js-sdk string lib 2021-06-14 21:28:32 +01:00
Michael Telatynski
4af2675e23 stash bigint support 2021-06-14 14:37:05 +01:00
Michael Telatynski
3d4411390f write a shedload more tests 2021-06-11 16:28:07 +01:00
Michael Telatynski
a4fa2779d4 Iterate lexicographic ordering implementation 2021-06-11 10:33:00 +01:00
Michael Telatynski
21fc386317 Move over to new lexicographic string sorting 2021-06-10 11:40:10 +01:00
Aaron Raimist
773af6c7be
Fix test
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-06-07 16:54:53 -05: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
Travis Ralston
b007ea81b2 Rescale and smooth playback waveform to better match expectation 2021-05-07 21:06:07 -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
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
Michael Telatynski
f18a24025a
Merge branch 'develop' into t3chguy/fix/17022 2021-04-27 11:16:02 +01:00
Michael Telatynski
a12cefee8e Tweak some tests 2021-04-23 12:19:08 +01:00
Michael Telatynski
1075756929 add more tests 2021-04-23 09:55:30 +01:00
Travis Ralston
2c459c4828 Move utility tests to the right place 2021-04-22 20:37:19 -06:00
Michael Telatynski
fba7465ad4 Initial SpaceStore tests work 2021-04-22 14:45:13 +01:00
Travis Ralston
591ccabab9 Remove a bunch of useless 'use strict' definitions 2021-03-08 20:26:08 -07:00
David Baker
6371a4abd1 Fix tests
Remove stray file extensions in includes and update shared instance
name.
2021-01-13 16:02:35 +00:00
Simon Merrick
6670c727a4 Add getCanonicalAlias to mock 2020-12-02 13:28:35 +13:00
David Baker
719faed2ff Separate toasts for existing & new device verification
Separate device verification toasts into ones for devices that were
there when the app loaded and a separate toast for each device that
has appeared since.

Reverts part of https://github.com/matrix-org/matrix-react-sdk/pull/4506
(clicking a device from your own UserInfo now triggers the legacy
verification flow again).

Fixes https://github.com/vector-im/riot-web/issues/13422
Fixes https://github.com/vector-im/riot-web/issues/13418
2020-04-28 18:35:16 +01:00
J. Ryan Stinnett
520b4c3e65 Add tests for was verified case 2020-03-30 16:33:22 +01:00
J. Ryan Stinnett
b53b5cc45d Add wasCrossSigningVerified in test 2020-03-30 15:24:43 +01:00
Zoe
098df07c67 review feedback 2020-03-30 10:18:47 +01:00
Zoe
4f3d4426ea lint 2020-03-27 15:37:59 +00:00
Zoe
fda533ab48 test for shield behaviour 2020-03-27 15:25:44 +00:00
Travis Ralston
54f3288dea Fix imports for tests
This doesn't fix the fact that someone called it "peg".
2020-01-09 17:23:27 -07:00
Michael Telatynski
409a111b02 wait additional tick 2019-12-17 12:42:47 +00:00
Michael Telatynski
ab3fb6581b Down to 7 test failures 2019-12-17 11:24:37 +00:00
Michael Telatynski
0041dae664 26 test failures to go :D 2019-12-16 11:55:01 +00:00
Michael Telatynski
6ad31fe023 30 test failures to go :D 2019-12-16 11:12:48 +00:00
Michael Telatynski
ffa2ac172c delint 2019-12-15 14:09:41 +00:00
Michael Telatynski
18f81d80db Initial jest stuff. Blocked on Babel 7 2019-12-13 13:43:48 +00:00
Michael Telatynski
a63fbbf2db Add tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-05 00:11:10 +00:00
Travis Ralston
0862ad029d Fix permalinks test 2019-09-30 21:15:31 -06:00
Travis Ralston
fc66e69c02 Rename RoomPermalinkCreator -> Permalinks due to scope
The file handles more than just a RoomPermalinkCreator, so we should name it accordingly.
2019-09-30 20:39:58 -06:00
Travis Ralston
64aa6695f5 Move matrix-to.js to utils/permalinks/RoomPermalinkCreator
Just a little bit of refactoring to make the feature of custom prefixes a bit easier.
2019-09-30 12:16:46 -06:00
Richard van der Hoff
b16e652acc rewrite MegolmExportEncryption using async/await
... to make it easier to add exception handling
2017-06-08 14:45:01 +01:00
Richard van der Hoff
d9bc8ebc53 de-lint MegolmExportEncryption + test 2017-06-08 14:29:53 +01:00
David Baker
ba8e37a84e Don't include src in the test resolve root
Don't include src in resolve root for the karma test, as otherwise
modules from react sdk get pulled in instead of npm libraries like
'extend' which breaks everything in really subtle ways.
2017-05-25 23:13:49 +01:00
Richard van der Hoff
c5f447260a Megolm import: Fix handling of short files
Make sure we throw a sensible error when the body of the data is too short.
2017-01-31 12:30:30 +00:00
Richard van der Hoff
fdc213cbb8 Megolm export: fix test 2017-01-19 10:44:01 +00:00
Richard van der Hoff
31df78f946 Use text-encoding-utf-8 as a TextEncoder polyfill
Somebody else seems to have done a good job of polyfilling TextEncoder, so
let's use that.
2017-01-18 11:39:44 +00:00
Richard van der Hoff
e37bf6b7be Skip crypto tests on PhantomJS 2017-01-14 01:41:48 +00:00
Richard van der Hoff
f8e56778ea Encryption and decryption for megolm backups 2017-01-14 01:34:34 +00:00
Richard van der Hoff
1d5d44d63d TextEncoder polyfill
Apparently Safari doesn't sport a TextEncoder, so here's a polyfill for it.
2017-01-14 00:45:51 +00:00