Commit Graph

1026 Commits (c005f67c5b6fc19b6dae096bd97038139bbefc65)

Author SHA1 Message Date
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
Kerry cb1c94dd2b
Fix leaks in Login unit tests (#7704)
* 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 (#7678)
* 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 (#7688) 2022-02-01 15:01:00 +00:00
Michael Telatynski 991257cbc3
Fix accessibility and consistency of MessageComposerButtons (#7679) 2022-01-31 16:05:05 +00:00
Šimon Brandner a17d585a12
Work towards unifying `KeyboardShortcuts` and `KeyBindingsDefaults` #2 (#7674) 2022-01-31 15:55:45 +00: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
Andy Balaam 2229437424
Refactor renderButtons() into MessageComposerButtons component (#7664) 2022-01-28 15:44:03 +00:00
Eric Eastwood 7fa27f5834
Add jump to date functionality to date headers in timeline v2 (#7339)
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` #1 (#7651) 2022-01-27 11:37:53 +00:00
Michael Telatynski f2249b3e37
Fix CallEventGrouper map building to not occur during a Render phase (#7638) 2022-01-27 11:08:28 +00:00
Kerry 3eca71bc84
Unit test ExportDialog (#7619)
* 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 (#7557)" (#7641)
This reverts commit 8ced6e6117.
2022-01-26 13:31:00 +00:00
Kerry f7a3027e50
runAllTimers -> runOnlyPendingTimers in SpaceStore-test (#7634)
* 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
J. Ryan Stinnett 51a44f491e
Upgrade linkifyjs to fix schemes as domain prefixes (#7628) 2022-01-25 17:37:54 +00:00
Michael Telatynski 8ddd677c35
De-labs Metaspaces (#7613) 2022-01-25 12:33:17 +00:00
Kerry 502b805164
Add customisation point for mxid display (#7595)
* add wrapping component for hiding UI

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

* add Setting

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

* apply setting to profile settings, user menu, invite dialog, userinfo

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

* hide mxids in user autocomplete

* remove mxids from title in memeber list and timeline

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

* hide mxid in ConfirmUserActionDialog

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

* use name in power level event message when displayMxids is falsy

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

* add customisation point for mxid display

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

* use userid customisation

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

* use customisation in sender profile

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

* hide profile settings mxid if falsy

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

* rename and move to components

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

* remove change to UIFeature.ts

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

* improvements from pr

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

* lint fix

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-25 10:40:02 +01:00
Kerry b481fc069e
Wrapping component to show/hide UI based on UIFeature setting (#7585)
* add wrapping component for hiding UI

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

* rename and move to components

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

* prefix interface and add missing copyright

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

* remove roomId prop

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-25 10:25:41 +01:00
Šimon Brandner 5f18e4888c
Improve the look of the keyboard settings tab (#7562)
* First cut of new keyboard shortcuts

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

* Remove unused code

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

* i18n

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

* Amend shortcuts

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

* Improve CATEGORIES struct

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

* Add tests for registerShortcut()

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

* Simplifie code tiny bit

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

* Translate ALTERNATE_KEY_NAME

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

* Fix `key` usage

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

* Export components for tests

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

* Write snapshot tests

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-01-24 11:33:27 +00:00
Kerry 8a9d869b8e
test textForCanonicalAliasEvent (#7591)
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-20 12:10:56 -07:00
Travis Ralston 6712a5b1c5
Parse matrix-schemed URIs (#7453)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
Co-authored-by: Dariusz Niemczyk <dariuszn@element.io>
Co-authored-by: Timo K <toger5@hotmail.de>

With this pr all href use matrix matrix.to links. As a consequence right-click copy link will always return get you a sharable matrix.to link.
2022-01-20 18:18:47 +01:00
Faye Duxovni 582a1b093f
Track decryption failures for visible events only, with a shorter grace period (#7579) 2022-01-19 14:31:43 -05:00
Andy Balaam 2743a75a21
Display general marker on non-self location shares (#7574) 2022-01-19 09:33:49 +00:00