1
0
mirror of https://github.com/matrix-org/matrix-react-sdk.git synced 2025-08-09 08:42:50 +03:00
Commit Graph

2698 Commits

Author SHA1 Message Date
Michael Telatynski
482d756bd0 Ensure EventListSummary key does not change during backpagination (#7915) 2022-03-01 08:33:07 +00:00
Šimon Brandner
df591ee835 Make everything use the KeyBindingManager (#7907) 2022-02-28 16:05:52 +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
Robin
ece2b8572a Fix edge case in context menu chevron positioning (#7899)
* Fix edge case in context menu chevron positioning

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

* Expand context menu positioning regression tests

Signed-off-by: Robin Townsend <robin@robin.town>
2022-02-25 17:49:57 +00:00
Kerry
130bd6aa63 manage voicerecording state when deleting or sending a voice message (#7896)
* manage voicerecording state when deleting or sending a voice message

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

* comment

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-24 18:54:06 +01:00
Robin
85dc58a504 Try harder to keep context menus inside the window (#7863)
* Try harder to keep context menus inside the window

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

* Use UIStore for window dimensions

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

* Test ContextMenu positioning

Signed-off-by: Robin Townsend <robin@robin.town>
2022-02-24 10:25:27 -05:00
Kerry
f4cd71fd47 Check 'useSystemTheme' in quick settings theme switcher (#7809)
* mock Element.scrollIntoView in jest setup

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

* extract theme switcher from quick settings, add match system option, test

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

* i18n

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

* forgotten copyright

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

* stylelint

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

* remove old class

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-24 10:01:06 +01:00
Kerry
889b0cebb2 Fix 'my threads' filtering to include participated threads (#7882)
* 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>

* threads test helpers

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

* forgotten copyright

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

* comments

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

* fix threads helper unsigned

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

* test filter creation when thread capabilities enabled

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-24 09:44:34 +01: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
1830de2733 Thread test utilities (#7881)
* 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>

* threads test helpers

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

* forgotten copyright

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

* comments

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

* add unsigned to root event

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-23 17:12:48 +01:00
J. Ryan Stinnett
d8ac7cf202 Fix thread summary layout for narrow right panel timeline (#7838) 2022-02-23 14:03:46 +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
Šimon Brandner
93a9af7b3a Keybinding code unification #3 (#7850) 2022-02-23 09:12:04 +00:00
Michael Telatynski
7fa01ffb06 Improve typing around event emitter handlers (#7816) 2022-02-22 12:18:08 +00:00
Robin
bb79c6086a Don't pillify code blocks (#7861)
* Don't pillify code blocks

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

* Test that pills do not appear in code blocks

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

* Use snapshot instead for test

Signed-off-by: Robin Townsend <robin@robin.town>
2022-02-22 06:46:34 -05:00
Michael Telatynski
8fccef86d8 Wire up drag-drop file uploads for the thread view (#7860) 2022-02-22 11:14:56 +00:00
Michael Telatynski
2a55d22916 Wire up CallEventGroupers for Search Results (#7866) 2022-02-22 10:39:08 +00:00
Kerry
5b8d440406 type Actions (#7862)
* type ViewHomPage action

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

* type spacestore actions

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

* lint

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

* add action types

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

* use new action types in stores

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

* remove debug change

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

* stricter keyboard shortcut types

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

* action comments

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-22 10:04:27 +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
David Baker
572fa99e67 Fix virtual / native room mapping on call transfers (#7848)
* Fix virtual / native room mapping on call transfers

By just sending them through the same code path as regular calls.

Also re-do the tests & add a test for transfer specifically.

* Optional arg

* Types
2022-02-21 12:17:09 +00:00
Andy Balaam
f1e1b7be86 Support "closed" polls whose votes are not visible until they are ended (#7842) 2022-02-21 10:21:35 +00:00
Kerry
fc9a221371 Focus trap in poll creation dialog (#7847)
* add autofocus

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

* test

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

* scope ids

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

* whitespace

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-18 16:35:08 +00:00
Michael Telatynski
38a547b5d0 Remove ResizeObserver Polyfill (#7844) 2022-02-18 13:51:27 +00:00
Kerry
6fccd6b183 add cursor: pointer to actionable poll options (#7826)
* add cursor: pointer to actionable poll options

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

* eof

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-18 11:43:07 +01:00
Kerry
08a0c6f86c Don't aggregate rooms and users in SpaceStore (#7723)
* add direct child maps

* track rooms, users and space children in flat hierarchy in spacestore

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

* update spacefiltercondition to use new spacestore

* remove unused code

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

* typos

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

* only build flattened rooms set once per space when updating notifs

* copyright

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

* remove unnecessary currying

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

* rename SpaceStore spaceFilteredRooms => roomsIdsBySpace, spaceFilteredUsers => userIdsBySpace

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

* cache aggregates rooms and users by space

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

* emit events recursively up parent spaces on changes

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

* exclude meta spaces from aggregate cache

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

* stray log

* fix emit on member update

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

* call order

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

* extend existing getKnownParents fn

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

* refine types and comments

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-17 21:24:05 +01:00
Michael Telatynski
658590e5bc More posthog tracking around joining rooms and room search (#7807) 2022-02-17 18:03:27 +00:00
J. Ryan Stinnett
a939184e10 Tear down AppTile using lifecycle tracking (#7833) 2022-02-17 16:30:36 +00:00
Andy Balaam
93d4364455 Prevent forwarding polls (#7819) 2022-02-17 10:57:12 +00:00
David Baker
3be74d38d6 Fix src/lib import (#7825) 2022-02-17 10:06:19 +00:00
David Baker
01b00bf3fe Add test for RoomNotificationState (#7820)
Regression test for https://github.com/vector-im/element-web/issues/20859
2022-02-17 09:18:37 +00:00
Andy Balaam
7387f3c80a Allow editing polls (#7806) 2022-02-17 09:13:05 +00:00
Šimon Brandner
81f52283cf Don't change KEYBOARD_SHORTCUTS and do some refactoring (#7818) 2022-02-16 15:24:00 +00:00
J. Ryan Stinnett
0dc1355441 Fix right panel data flow (#7811) 2022-02-16 11:19:28 +00:00
dependabot[bot]
b5e3ba28d9 Bump ajv from 6.10.0 to 6.12.6 in /test/end-to-end-tests (#7792)
Bumps [ajv](https://github.com/ajv-validator/ajv) from 6.10.0 to 6.12.6.
- [Release notes](https://github.com/ajv-validator/ajv/releases)
- [Commits](https://github.com/ajv-validator/ajv/compare/v6.10.0...v6.12.6)

---
updated-dependencies:
- dependency-name: ajv
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kerry Archibald <kerrya@element.io>
2022-02-15 13:52:35 -07:00
David Baker
5fe8442f44 Add an end-to-end test for stickers (#7733)
* Add an end-to-end test for stickers

* More logs on login

* Wait for spinners to go away

* Factor out spinner waiting as it seems useful

* Move stickers to the end

* More waiting

* When all else fails... add sleeps

* Waiting for the server picker to appear seems to work..?

* Typos

Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>

* remove commented code from registration usecase

Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2022-02-15 11:49:53 +00:00
Andy Balaam
84e15fa148 Display '(edited)' next to edited polls (#7789) 2022-02-15 08:52:51 +00:00
Michael Telatynski
cfa6e266cd Wire up new fields on the ViewRoom posthog event and more interactions (#7787) 2022-02-14 19:31:13 +00:00
David Baker
1c3507bc11 Use the shared secret registration API directly (#7774)
* Use the shared secret registration API directly

rather than invoking the synapse module to do it. It's probably
a bit simpler, if anything, and allows for synapse to be run in
a separate container (or rather, avoids the javascript having to have
a copy of synapse source & server config).

* Make registration secret required

Update commander (8 major versions!) to get requiredOption

* Wrong options object :/
2022-02-11 17:03:22 +00:00
Kerry
b5e7d12f76 Add config option to autorageshake when key backup is not enabled (#7741)
* report on not enabled

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

* add setting

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

* check key backup status after crypto init

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

* remove log

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

* test encryption setup in DeviceListener

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

* i18n

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

* sendLogs for key backup auto-report event

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

* remove reloadOnChagneController

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-11 14:00:37 +01:00
Michael Telatynski
ac6a356027 End-to-end test alias publishing flow (#7779) 2022-02-11 11:37:31 +00:00
Charlie Calendre
8103e606c4 Fix translation for keyboard shortcut displaynames (#7758) 2022-02-10 09:11:35 +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
Michael Telatynski
5620b83d34 Wire up more Posthog tracking (#7689) 2022-02-09 14:25:58 +00:00
Michael Telatynski
714136d4f7 Consolidate RedactionGrouper and HiddenEventGrouper into MELS (#7739) 2022-02-09 10:51:12 +00:00
Kerry
30d1ac1eea unit test basic paths in UserInfo (#7740)
* unit test main paths in UserInfo component

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

* one more test case

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

* remove BasicUserInfo export

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-08 12:14:52 +00:00
Germain
544957bdad Use typographical quotes in no threads UI (#7713) 2022-02-07 15:13:34 +00:00
Michael Telatynski
5d89230271 Remove IA 1.1 feedback toast (#7720) 2022-02-07 12:46:48 +00:00
Michael Telatynski
78e78292cb Update PollCreateDialog-test to snapshot the html and not react tree (#7712) 2022-02-03 11:54:03 +00: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