Commit graph

1035 commits

Author SHA1 Message Date
Michael Telatynski
7fa01ffb06
Improve typing around event emitter handlers () 2022-02-22 12:18:08 +00:00
Robin
bb79c6086a
Don't pillify code blocks ()
* 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 () 2022-02-22 11:14:56 +00:00
Michael Telatynski
2a55d22916
Wire up CallEventGroupers for Search Results () 2022-02-22 10:39:08 +00:00
Kerry
5b8d440406
type Actions ()
* 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 ()
* 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 ()
* 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 ()
* 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 () 2022-02-21 10:21:35 +00:00
Kerry
fc9a221371
Focus trap in poll creation dialog ()
* 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 () 2022-02-18 13:51:27 +00:00
Kerry
6fccd6b183
add cursor: pointer to actionable poll options ()
* 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 ()
* 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 () 2022-02-17 18:03:27 +00:00
J. Ryan Stinnett
a939184e10
Tear down AppTile using lifecycle tracking () 2022-02-17 16:30:36 +00:00
Andy Balaam
93d4364455
Prevent forwarding polls () 2022-02-17 10:57:12 +00:00
David Baker
3be74d38d6
Fix src/lib import () 2022-02-17 10:06:19 +00:00
David Baker
01b00bf3fe
Add test for RoomNotificationState ()
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 () 2022-02-17 09:13:05 +00:00
Šimon Brandner
81f52283cf
Don't change KEYBOARD_SHORTCUTS and do some refactoring () 2022-02-16 15:24:00 +00:00
J. Ryan Stinnett
0dc1355441
Fix right panel data flow () 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 ()
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 ()
* 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 () 2022-02-15 08:52:51 +00:00
Michael Telatynski
cfa6e266cd
Wire up new fields on the ViewRoom posthog event and more interactions () 2022-02-14 19:31:13 +00:00
David Baker
1c3507bc11
Use the shared secret registration API directly ()
* 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 ()
* 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 () 2022-02-11 11:37:31 +00:00
Charlie Calendre
8103e606c4
Fix translation for keyboard shortcut displaynames () 2022-02-10 09:11:35 +00:00
Kerry
818fddd72c
Add customisation point to disable space creation ()
* 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 () 2022-02-09 14:25:58 +00:00
Michael Telatynski
714136d4f7
Consolidate RedactionGrouper and HiddenEventGrouper into MELS () 2022-02-09 10:51:12 +00:00
Kerry
30d1ac1eea
unit test basic paths in UserInfo ()
* 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 () 2022-02-07 15:13:34 +00:00
Michael Telatynski
5d89230271
Remove IA 1.1 feedback toast () 2022-02-07 12:46:48 +00:00
Michael Telatynski
78e78292cb
Update PollCreateDialog-test to snapshot the html and not react tree () 2022-02-03 11:54:03 +00:00
Kerry
292971dd0e
Upgrade to jest 27 ()
* 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
cb1c94dd2b
Fix leaks in Login unit tests ()
* make Login-test tsx, fix leaks

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

* missed lint

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-02 11:18:55 +00:00
Andy Balaam
f5226f9d5b
Simplify Composer buttons ()
* Render a CollapsibleButton's children (needed by UploadButton)

* Make UploadButton ready to live inside an overflow menu

* Always show overflow menu in composer: main buttons are emoji and attach

* Re-order composer buttons as per design

* Re-word composer button captions to be simple nouns

* Don't rotate More options button when clicked

* Move the composer menu and dialogs 16px in from right

* Reduce shadow on composer More menu

* From review: remove else clause

* From review: take input out of button

* Update test snapshots

* Update snapshots
2022-02-02 09:30:53 +00:00
Germain
5973d725e0
Add new threads to the panel as they are discovered () 2022-02-01 15:01:00 +00:00
Michael Telatynski
991257cbc3
Fix accessibility and consistency of MessageComposerButtons () 2022-01-31 16:05:05 +00:00
Šimon Brandner
a17d585a12
Work towards unifying KeyboardShortcuts and KeyBindingsDefaults () 2022-01-31 15:55:45 +00:00
Kerry
085ecc7f5f
Chat export parameter customisation ()
* 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
Andy Balaam
2229437424
Refactor renderButtons() into MessageComposerButtons component () 2022-01-28 15:44:03 +00:00
Eric Eastwood
7fa27f5834
Add jump to date functionality to date headers in timeline v2 ()
Fix https://github.com/vector-im/element-web/issues/7677

Utilizes MSC3030: https://github.com/matrix-org/matrix-doc/pull/3030

https://user-images.githubusercontent.com/558581/150060664-79627573-f4fd-497c-b726-dc3485854bd0.png
2022-01-27 16:32:12 -06:00
Šimon Brandner
57a5647079
Work towards unifying KeyboardShortcuts and KeyBindingsDefaults () 2022-01-27 11:37:53 +00:00
Michael Telatynski
f2249b3e37
Fix CallEventGrouper map building to not occur during a Render phase () 2022-01-27 11:08:28 +00:00
Kerry
3eca71bc84
Unit test ExportDialog ()
* add test ids to dialog buttons

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

* unit test ExportDialog

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

* remove extra snapshot

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

* fix bad snapshots

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

* remove wrappers from snapshot

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-27 09:55:08 +01:00
David Baker
225f8940c9
Revert "Start a conference in a room with 2 people + invitee rather than a 1:1 call ()" ()
This reverts commit 8ced6e6117.
2022-01-26 13:31:00 +00:00
Kerry
f7a3027e50
runAllTimers -> runOnlyPendingTimers in SpaceStore-test ()
* runAllTimers -> runOnlyPendingTimers in SpaceStore-test

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

* runAllTimers for switch to first valid space when selected metaspace is disabled

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-26 11:38:07 +01:00