Commit graph

17781 commits

Author SHA1 Message Date
Eric Eastwood
5b2e12ca0c
Refactor custom logic to use the shared canResetTimeline() (#10403)
Split out from https://github.com/matrix-org/matrix-react-sdk/pull/8354#discussion_r852611407
2023-03-20 10:58:53 -05:00
Janne Mareike Koschinski
503df54bd6
Handle more edge cases in Space Hierarchy (#10280) 2023-03-20 10:54:24 +01:00
Andy Balaam
ca0dfb6c1e
Further improve performance with lots of hidden events (#10353)
* Avoid re-calculating shouldShowEvent in getReadReceiptsByShownEvent

* Test that uses a MainGrouper

* Cache more calls to shouldShowEvent
2023-03-20 09:50:07 +00:00
Kerry
b2c046689e
Apply strictNullChecks to src/components/views/dialogs/devtools/* (#10391) 2023-03-16 23:58:41 +00:00
Michael Weimann
a86a8e7f8e
Pillify permalinks to rooms and users (#10388) 2023-03-16 15:01:09 +01:00
Michael Telatynski
1c9ea423c9
Conform more code to strictNullChecks (#10374)
* Apply `strictNullChecks` to `src/components/views/room_settings/*`

* Restore tsconfig.json

* Conform more code to `strictNullChecks`

* Iterate

* Update matrix-widget-api

* Conform more code to `strictNullChecks`
2023-03-16 11:07:29 +00:00
Michael Telatynski
9c816bb720
Conform more code to strictNullChecks (#10383
* Update matrix-widget-api

* Conform more code to `strictNullChecks`

* Iterate
2023-03-16 10:35:17 +00:00
Michael Weimann
6d15b05b86
Fix wrong E2E icon in room header for unencrypted local room (#10394) 2023-03-16 10:54:54 +01:00
Kerry
2344eaab1c
Poll history - remove active development labs flag (#10357)
* add poll history tab to room settings

* test poll history in room settings

* remove posthog tracking for poll his

* remove labs flag for poll history

* i18n
2023-03-15 20:54:12 +00:00
Michael Telatynski
a4262cd8cf
Fix [object Object] in feedback metadata (#10390) 2023-03-15 16:53:49 +00:00
Michael Telatynski
87fb493783
Fix pinned messages card saying nothing pinned while loading (#10385) 2023-03-15 12:47:21 +00:00
Michael Telatynski
ad65b4e444
Apply strictNullChecks to src/components/views/room_settings/* (#10366
* Apply `strictNullChecks` to `src/components/views/room_settings/*`

* Restore tsconfig.json
2023-03-15 08:39:02 +00:00
Michael Telatynski
e3930fb8b0
Show all labs even if incompatible, with appropriate tooltip explaining requirements (#10369)
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-03-15 08:37:41 +00:00
Kerry
209b65243a
Enable "jsx-a11y/alt-text" and "jsx-a11y/label-has-associated-control" lint rules (#10361)
* enable "jsx-a11y/alt-text" lint rule

* enable "jsx-a11y/label-has-associated-control"
2023-03-14 21:25:11 +00:00
Michael Telatynski
e0e83bd81d
Fix UIFeature.Registration not applying to all paths (#10371) 2023-03-14 15:20:38 +00:00
Michael Telatynski
8cb8cd4eb1
Conform more code to strictNullChecks (#10368
* Conform more code to `strictNullChecks`

* Iterate
2023-03-14 11:09:35 +00:00
Michael Weimann
370c872d70 Roll back pillify everything (#10370)
(cherry picked from commit 05e3fb09d6)
2023-03-14 11:05:02 +00:00
Michael Weimann
05e3fb09d6
Roll back pillify everything (#10370) 2023-03-14 11:56:14 +01:00
Michael Telatynski
7c2511a592
Apply strictNullChecks to src/components/views/context_menus/* (#10367) 2023-03-14 09:29:35 +00:00
Kerry
4c2b5df1f2
Poll history - access poll history from room settings (#10356)
* add poll history tab to room settings

* test poll history in room settings

* remove posthog tracking for poll his

* use consistent label for polls history
2023-03-13 22:08:59 +00:00
Kerry
9f66082486
Notifications: inline error message on notifications saving error (#10288)
* basic sync setup

* formatting

* get loudest value for synced rules

* more types

* test synced rules in notifications settings

* type fixes

* noimplicitany fixes

* remove debug

* tidying

* extract updatePushRuleActions fn to utils

* extract update synced rules

* just synchronise in one place?

* monitor account data changes AND trigger changes sync in notifications form

* lint

* setup LoggedInView test with enough mocks

* test rule syncing in LoggedInView

* strict fixes

* more comments

* one more comment

* add error variant for caption component

* tests for new error message

* tweak styles

* noImplicitAny

* revert out of date prettier changes to unrelated files

* limit inline message to radios only, tests

* strict fix
2023-03-13 21:59:04 +00:00
Michael Telatynski
503df62191
Conform more of the codebase to strictNullChecks (#10358
* Conform more of the codebase to `strictNullChecks`

* Fix types

* Iterate

* Iterate
2023-03-13 15:07:20 +00:00
Kerry
1e46efe89c
Poll history - make poll history independent from dialogs (#10349)
* move pollhistory from dialogs to polls directory

* rename PollHistoryDialog -> PollHistory

* rename references to PollHistoryDialog

* move title to PollHistory

* add option to collapse empty dialog header
2023-03-12 20:22:30 +00:00
Michael Telatynski
127a3b667c
Conform more of the codebase to strictNullChecks (#10350
* Conform more of the codebase to `strictNullChecks`

* Iterate

* Generics ftw

* Iterate
2023-03-10 14:55:06 +00:00
Andy Balaam
102c4e5ae9
Improve performance of rendering a room with many hidden events (#10131)
* Test MessagePanel rendering with hidden events

* Cache the results of shouldShowEvent in MessagePanel

* Combine an event and its shouldShow info into a single object
2023-03-10 14:35:40 +00:00
Andy Balaam
2e064e57a0
Support dynamic room predecessors in ForwardDialog (#10344) 2023-03-10 09:41:30 +00:00
Andy Balaam
42abfb1fac
Support dynamic room predecessors in SpaceHierarchy (#10341) 2023-03-10 09:41:14 +00:00
Andy Balaam
37d2b7b17b
Support dynamic room predecessors in AddExistingToSpaceDialog (#10342) 2023-03-09 17:17:28 +00:00
Patrick Cloke
aca077cf2b
Add tests for createEditContent which mirror tests for createMessageContent. (#10331) 2023-03-09 12:15:48 +00:00
Michael Weimann
85e8d27697
Extract avatars from permalink hook (#10328) 2023-03-09 12:48:36 +01:00
Kerry
cef821c21b
Polls: sync push rules on changes to account_data (#10287)
* basic sync setup

* formatting

* get loudest value for synced rules

* more types

* test synced rules in notifications settings

* type fixes

* noimplicitany fixes

* remove debug

* tidying

* extract updatePushRuleActions fn to utils

* extract update synced rules

* just synchronise in one place?

* monitor account data changes AND trigger changes sync in notifications form

* lint

* setup LoggedInView test with enough mocks

* test rule syncing in LoggedInView

* strict fixes

* more comments

* one more comment
2023-03-09 00:20:06 +00:00
Michael Telatynski
bee4759208
Remove flux dependency (#10313) 2023-03-08 14:19:05 +00:00
Michael Telatynski
80fc0997a4
Explicitly specify all children props (#10312) 2023-03-08 13:28:07 +00:00
Michael Weimann
ad26925bb6
Refactor pill and add tests (#10304) 2023-03-08 13:06:50 +01:00
Michael Telatynski
c0e40217f3
Apply strictNullChecks to src/stores/widgets/* (#10324)
* Apply `strictNullChecks` to src/stores/widgets/*

* Iterate

* Iterate
2023-03-08 11:48:58 +00:00
Sebbones
0c1c3f1cde
Improved a11y for Field feedback and Secure Phrase input (#10320)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-03-08 11:32:50 +00:00
Michael Weimann
6fa00a20b0
Use compound icons (#10292) 2023-03-08 11:11:01 +01:00
Michael Telatynski
0db0d4b09d
Remove unused code (#10322) 2023-03-08 10:04:07 +00:00
Michael Telatynski
2191a2d820
Apply strictNullChecks to src/components/views/emojipicker/* (#10298) 2023-03-07 11:28:48 +00:00
Michael Telatynski
32aa18ff2e
Apply strictNullChecks to src/components/views/auth/* (#10299
* Apply `strictNullChecks` to src/components/views/auth/*

* Iterate PR
2023-03-07 10:45:55 +00:00
Michael Telatynski
65aafaf2e0
Fix incorrect copy in space creation flow (#10296) 2023-03-07 09:55:14 +00:00
renovate[bot]
307df9d2c3
Update all non-major dependencies (#9766)
* Update all non-major dependencies

* Prettier

* Revert axe-core

* Revert axe-core

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-03-06 17:21:09 +00:00
Michael Telatynski
5e21ca43ec
Fix space settings dialog having rogue title tooltip (#10293) 2023-03-06 17:14:11 +00:00
Michael Telatynski
bda54a8b20
Kill off enzyme in preference of react testing library (#10255) 2023-03-06 15:17:46 +00:00
Michael Weimann
394bffbae4
Await start DM in right panel (#10290) 2023-03-06 16:09:56 +01:00
Michael Telatynski
667ec166d7
Remove Enzyme tests in favour of React testing-library (#10289) 2023-03-06 12:13:17 +00:00
Michael Weimann
9b74b0f057
Only allow to start a DM with one email if encryption by default is enabled (#10253) 2023-03-06 12:08:17 +01:00
Michael Weimann
db6ee53535
Implement third-party invite waiting room (#10229) 2023-03-06 12:08:04 +01:00
Michael Telatynski
ad8d27d2b2
Fix some features not being configurable via features (#10276) 2023-03-03 13:31:51 +00:00
Michael Weimann
6746ce2da3
Fix start DM via right panel (#10278) 2023-03-03 13:34:38 +01:00
Will Hunt
2d2b40ddac
Remove hosting link provider from Element (#10270)
* Remove hosting link provider from Element

* fix whitespace
2023-03-02 17:36:16 +00:00
Hugh Nimmo-Smith
da246965d9
Support for v2 of MSC3903 (#10165) 2023-03-02 13:54:43 +00:00
Michael Weimann
ac3c95fa84
Directly convert Matrix and room Ids to pills (#10267) 2023-03-02 11:41:17 +01:00
Kerry
de6a1a661c
apply strictnullchecks to src/components/views/beacon/* (#10272) 2023-03-02 09:58:05 +00:00
Kerry
10a765472b
Polls push rules: synchronise poll rules with message rules (#10263)
* basic sync setup

* formatting

* get loudest value for synced rules

* more types

* test synced rules in notifications settings

* type fixes

* noimplicitany fixes

* remove debug

* tidying
2023-03-02 05:33:19 +00:00
Michael Telatynski
e5291c195d
Replace react-dom tests with react testing-library tests (#10260) 2023-03-01 15:59:27 +00:00
Michael Weimann
4f1e5a71de
Update verification request toast button labels (#10259) 2023-03-01 14:12:17 +01:00
Michael Telatynski
976345c835
Downgrade matrix-events-sdk, update yarn.lock, remove stub package (#10262)
* Update yarn.lock, remove stub package, fix peer deps

* iterate

* Iterate

* Resolutions

* Apply resolution for @types/react

* Fix more types

* Fix strict types

* Unbreak jest
2023-03-01 09:12:14 +00:00
Michael Telatyński
629e5cb01f
Properly type Modal props to ensure useful typescript checking (#10238
* Properly type Modal props to ensure useful typescript checking

* delint

* Iterate

* Iterate

* Fix modal.close loop

* Iterate

* Fix tests

* Add comment

* Fix test
2023-02-28 10:31:48 +00:00
Michael Telatyński
ae5725b24c
Apply strictNullChecks to src/components/views/avatars/* (#10254) 2023-02-28 10:25:36 +00:00
Michael Weimann
2c7dfb5401
Factor out basic email check (#10244) 2023-02-28 10:39:35 +01:00
Michael Telatyński
f40d15388c
Update tests to prefer RTL over Enzyme (#10247
* Update tests to prefer RTL over Enzyme

* Strict types
2023-02-28 08:58:23 +00:00
Kerry
dd6fc124d7
Apply strictNullChecks to src/components/views/location/* (#10249
* strict fixes

* accessiblebutton without onClick explicit

* strict fix for UserMenu BaseAvatar
2023-02-28 08:55:59 +00:00
Kerry
7c70dd9d16
Poll history: fetch more poll history (#10235)
* load more pages of polls

* load more and no results messages

* style no results message

* remove debug

* strict fixes

* comments

* i18n pluralisations

* pluralisation the right way
2023-02-28 02:56:27 +00:00
Kerry
f57495d3cd
Poll history: detail screen (#10172)
* basic navigation to focused poll

* add tooltip

* drill permalinkCreator down to poll history

* render poll tile and link to timeline

* tidy and lint

* unit test poll detail

* add view poll link to ended pollliste item

* strict fix

* pr improvements

* pass room as prop

* permalinkcreator ts assertion
2023-02-27 20:39:55 +00:00
grimhilt
0546a11fd9
Sort short/exact emoji matches before longer incomplete matches (#10212)
* apply sort for exact match

* add tests for emoji provider

* apply filter in the emoji picker

* add tests

* revert cypress version

* put correct copyright

* fix eslint

* fix eslint

* add type

* fix cypress test

* fix tsc types issues

* add forgotten space...

---------

Co-authored-by: grimhilt <grimhilt@users.noreply.github.com>
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
2023-02-27 17:09:15 +00:00
David Baker
62cd0f1beb
Use the room avatar as a placeholder in calls (#10231)
* Use the room avatar as a placeholder in calls

Rather than the image for the user we're in a call with. This makes
it work correctly with virtual rooms easily since we'll get the
avatar for the correct room.

* Prettier

* TS strict errors

* More TS strict fixes

* More strict TS

* Prettier

* Even more TS strict

* more stricter
2023-02-27 09:34:02 +00:00
Michael Telatyński
12dd799301
Fix double translation issue (#10240
* Fix double translation issue

* Remove some redundant string concatenations
2023-02-27 09:15:27 +00:00
Michael Telatynski
76b82b4b2b
Make more code conform to strict null checks (#10219
* Make more code conform to strict null checks

* Fix types

* Fix tests

* Fix remaining test assertions

* Iterate PR
2023-02-24 15:28:40 +00:00
Robin
4c79ecf141
Say when a call was answered from a different device (#10224)
* Say when a call was answered from a different device

* Adjust font size on call tiles to match designs
2023-02-24 14:45:53 +00:00
maheichyk
7b77f76486
Widget permissions customizations using module api (#10121)
* Using module api to customize widget permissions

Signed-off-by: Mikhail Aheichyk <mikhail.aheichyk@nordeck.net>

* Revert type export and use ComponentProps instead.

Signed-off-by: Mikhail Aheichyk <mikhail.aheichyk@nordeck.net>

---------

Signed-off-by: Mikhail Aheichyk <mikhail.aheichyk@nordeck.net>
Co-authored-by: Mikhail Aheichyk <mikhail.aheichyk@nordeck.net>
2023-02-23 14:53:44 +00:00
Germain
8f7f855ad4
Refactor ExtraTile to use functional components (#10191) 2023-02-23 11:57:37 +00:00
Germain
5f78be73f3
Add tests for AskInviteAnywayDialog (#10228)
Co-authored-by: Michael Weimann <michaelw@matrix.org>
2023-02-23 10:52:58 +00:00
maheichyk
d0c266d4a1
Support joining non-peekable rooms via the module API (#10154)
When previewing a room, we normally do not have a Room object. Currently, when the RoomPreviewBar is instantiated without a room, it doesn't raise the PreviewRoomNotLoggedIn and JoinFromRoomPreview module lifecycle events, meaning that modules are unable to intercept previews of non-peekable rooms.

To fix this, make sure that we pass the room ID into RoomPreviewBar irrespective of whether we have a Room object, and use it to raise the module lifecycle events.

Signed-off-by: Mikhail Aheichyk <mikhail.aheichyk@nordeck.net>
2023-02-23 10:29:21 +00:00
Michael Weimann
880428ab94
Update „new device“ toast texts and buttons (#10200) 2023-02-23 10:25:33 +01:00
Michael Weimann
eb6278df1d
Do not prompt for a password when doing a „reset all“ after login (#10208) 2023-02-23 08:46:49 +01:00
Robin
1a08c6ba3a
Fix calls showing as 'connecting' after hangup (#10223) 2023-02-22 19:03:53 +00:00
Michael Weimann
d7b4740a7e
Prevent multiple Jitsi calls started at the same time (#10183) 2023-02-22 13:59:42 +01:00
Suguru Hirahara
b9ff6558e9
Make localization keys compatible with agglutinative and/or SOV type languages (#10159)
* Make localization keys on HelpUserSettingsTab compatible with agglutinative and/or SOV type languages
* Make localization keys on room notifications debug dialog on devtools compatible with agglutinative and/or SOV type languages
* Make keys compatible with inflection
* Clarify context for Weblate translators

---------

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2023-02-22 12:40:18 +01:00
Kerry
c07cd2462e
Ended poll tiles: add ended the poll message (#10193)
* add ended the poll message to ended poll tile

* fussy import ordering

---------

Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
2023-02-22 10:53:12 +00:00
Michael Telatynski
c29e5f18ff
Update usages of test utilities preferring RTL (#10203) 2023-02-22 10:52:55 +00:00
Kerry
17bbd4eaac
Polls: show warning about undecryptable relations (#10179)
* add decryption error message to MPollBody

* test poll undecryptable message

* tidy + ling

* remove unused file
2023-02-22 10:51:44 +00:00
Florian Duros
58b8df9868
Display "The sender has blocked you from receiving this message" error message instead of "Unable to decrypt message" (#10202) 2023-02-22 11:39:09 +01:00
Kerry
168f6df7c8
Filter NSFW content in room directory (#10196)
* add SpotlightSearch.showNsfwPublicRooms setting

* use setting in publicroomsearch

* add nsfw keyword filter and setting for room directory

* unit tests

* remove assertions
2023-02-22 10:23:52 +00:00
Kerry
d141fedff6
port BeaconViewDialog unit test to rtl (#10180) 2023-02-21 21:32:37 +00:00
Kerry
d66248c17c
Poll history: fetch last 30 days of polls (#10157)
* use timeline pagination

* fetch last 30 days of poll history

* add comments, tidy

* more comments

* finish comment

* wait for responses to resolve before displaying in list

* dont use state for list

* return unsubscribe

* strict fixes

* unnecessary event type in filter

* add catch
2023-02-20 20:07:57 +00:00
Kerry
3fafa4b58d
Port location unit tests from enzyme to react-testing-library (#10181)
* SmartMarker test to rtl

* LocationPicker to rtl

* LocationViewDialog to rtl

* LocationShareMenu to rtl

* use toBeDisabled assertion
2023-02-20 18:35:39 +00:00
Kerry
a06163ee98
Poll history - ended polls list items (#10119)
* wip

* remove dupe

* use poll model relations in all cases

* update mpollbody tests to use poll instance

* update poll fetching login in pinned messages card

* add pinned polls to room polls state

* add spinner while relations are still loading

* handle no poll in end poll dialog

* strict errors

* render a poll body that errors for poll end events

* add fetching logic to pollend tile

* extract poll testing utilities

* test mpollend

* strict fix

* more strict fix

* strict fix for forwardref

* add filter component

* update poll test utils

* add unstyled filter tab group

* filtertabgroup snapshot

* lint

* update test util setupRoomWithPollEvents to allow testing multiple polls in one room

* style filter tabs

* test error message for past polls

* sort polls list by latest

* extract poll option display components from pollbody

* add ended poll list item component

* use named export for polllistitem

* test POllListItemEnded

* comments

* strict fixes

* extract poll option display components

* strict fixes

* strict
2023-02-20 18:19:50 +00:00
Germain
8c22584f64
Remove threads labs flag and the ability to disable threads (#9878) 2023-02-20 14:46:07 +00:00
Michael Weimann
9b267e7bc4
Add success dialog after key backup (#10177) 2023-02-17 12:35:13 +00:00
Hugh Nimmo-Smith
a854e941cc
Release Sign in with QR out of labs (#10182) 2023-02-17 09:27:57 +00:00
Ashutosh Sharma
cf7ab9a8c6
Re-focus the composer on dialogue quit (#10007)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-02-16 18:04:46 +00:00
Michael Telatynski
4574c665ea
Conform more code to strict null checking (#10167)
* Conform more code to strict null checking

* Delint

* Iterate PR based on feedback
2023-02-16 17:21:44 +00:00
Michael Weimann
8feed1a225
Try to resolve emails before creating a DM (#10164) 2023-02-16 14:17:43 +01:00
Hugh Nimmo-Smith
f0359a5c18
Revert "Release Sign in with QR out of labs (#10066)" (#10176) 2023-02-16 12:10:52 +00:00
Michael Telatynski
e8b92b308b
Conform more code to strict null checking (#10169)
* Conform more code to strict null checking

* delint

* Iterate

* delint

* Fix bad test
2023-02-16 09:38:44 +00:00
Hugh Nimmo-Smith
5123d7e641
Release Sign in with QR out of labs (#10066) 2023-02-16 09:18:12 +00:00
Michael Telatynski
145a5a8a8d
Conform more code to strict null checking (#10153)
* Conform more code to strict null checking

* Conform more code to strict null checking

* Iterate

* Iterate
2023-02-15 13:36:22 +00:00
Michael Weimann
6ab44fd2cb
Fix email lookup in invite dialog (#10150) 2023-02-14 13:21:29 +01:00
alunturner
18c9b2bed2
Hide indent button in rte (#10149)
* add conditional rendering for indent and unindent buttons
* bump rte to 1.1.1
2023-02-14 11:07:36 +00:00
Suguru Hirahara
d3923c0b8a
Capitalization of security key and phrase (#10158) 2023-02-14 10:05:58 +00:00
Suguru Hirahara
ea4000cf1e
Fix 'Failed check: Ellipsis' on Weblate (#10144)
* Fix 'Failed check: Ellipsis' on Weblate

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Fix tests

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove white space characters before the horizontal ellipsis from RoomPreviewBar

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* yarn run i18n

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Additional change

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

---------

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2023-02-14 09:05:01 +00:00
Suguru Hirahara
aded28ed25
Remove duplicate white space characters from translation keys (#10152)
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2023-02-14 08:59:39 +01:00
Johannes Marbach
d0e9331f07
Merge branch 'develop' into johannes/find-myself 2023-02-13 20:16:04 +01:00
Michael Telatynski
da7aa4055e
Conform more of the code base to strict null checking (#10147)
* Conform more of the code base to strict null checking

* More strict fixes

* More strict work

* Fix missing optional type

* Iterate
2023-02-13 17:01:43 +00:00
Suguru Hirahara
fa036a5080
Improve localization experience on Weblate (#10140)
* Create a variable for 'Manage integrations', using the existing key

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Create a variable for 'Scan QR code' to activate automatic suggestions on Weblate

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Create a variable for 'My Ban List'

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

---------

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2023-02-13 16:19:02 +01:00
Michael Telatynski
61a63e47f4
Comply with noImplicitAny (#9940)
* Stash noImplicitAny work

* Stash

* Fix imports

* Iterate

* Fix tests

* Delint

* Fix tests
2023-02-13 11:39:16 +00:00
Suguru Hirahara
ac7f69216e
Remove duplicate translated string (#10139) 2023-02-13 11:31:22 +00:00
Suguru Hirahara
986b7cbb61
Remove ineffective white space characters from VerifyEmailModal.tsx (#10141)
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2023-02-13 11:11:22 +01:00
Kerry
1c6b06bb58
Poll history - extract poll option display components (#10107)
* wip

* remove dupe

* use poll model relations in all cases

* update mpollbody tests to use poll instance

* update poll fetching login in pinned messages card

* add pinned polls to room polls state

* add spinner while relations are still loading

* handle no poll in end poll dialog

* strict errors

* render a poll body that errors for poll end events

* add fetching logic to pollend tile

* extract poll testing utilities

* test mpollend

* strict fix

* more strict fix

* strict fix for forwardref

* add filter component

* update poll test utils

* add unstyled filter tab group

* filtertabgroup snapshot

* lint

* update test util setupRoomWithPollEvents to allow testing multiple polls in one room

* style filter tabs

* test error message for past polls

* sort polls list by latest

* extract poll option display components

* strict fixes
2023-02-13 02:55:39 +00:00
Kerry
18ab325eaf
Poll history - filter by active or ended (#10098)
* wip

* remove dupe

* use poll model relations in all cases

* update mpollbody tests to use poll instance

* update poll fetching login in pinned messages card

* add pinned polls to room polls state

* add spinner while relations are still loading

* handle no poll in end poll dialog

* strict errors

* render a poll body that errors for poll end events

* add fetching logic to pollend tile

* extract poll testing utilities

* test mpollend

* strict fix

* more strict fix

* strict fix for forwardref

* add filter component

* update poll test utils

* add unstyled filter tab group

* filtertabgroup snapshot

* lint

* update test util setupRoomWithPollEvents to allow testing multiple polls in one room

* style filter tabs

* test error message for past polls

* sort polls list by latest

* move FilterTabGroup into generic components

* comments

* Update src/components/views/dialogs/polls/types.ts

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

---------

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-02-13 09:19:45 +13:00
Suguru Hirahara
e57f6f0257
Remove white space characters before the horizontal ellipsis (#10130) 2023-02-10 17:42:39 +00:00
Suguru Hirahara
fc7d0eeaef
Remove a redundant white space (#10129) 2023-02-10 09:38:22 +01:00
Michael Weimann
671fdc8665
Migrate RoomView to support MSC3946 (#10088) 2023-02-10 08:40:38 +01:00
Johannes Marbach
6ee6accfc6 Merge branch 'develop' into johannes/find-myself 2023-02-10 08:26:16 +01:00
Johannes Marbach
039824c0ee Move error handling to separate effect 2023-02-10 08:25:59 +01:00
Michael Weimann
9868d8f39d
Migrate SpaceContextMenu-test.tsx to react-testing-library (#10120) 2023-02-09 12:23:22 +01:00
Suguru Hirahara
47d9b63cfe
Fix some inconsistencies in error messages (#10114)
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2023-02-09 10:04:54 +00:00
Adarsh Singh
f24db71753
fix: correctly identify emoticons (#10108)
Signed-off-by: Adarsh Singh <thakurluckysinghbrh@gmail.com>
2023-02-08 17:29:12 +01:00
Johannes Marbach
f842e319de
Merge branch 'develop' into johannes/find-myself 2023-02-08 16:42:14 +01:00
Michael Weimann
2c30e6d909
Migrate ZoomButtons-test to react-testing-library (#10104) 2023-02-08 09:31:24 +01:00
Kerry
583050c8c0
Render poll end events in timeline (#10027)
* wip

* remove dupe

* use poll model relations in all cases

* update mpollbody tests to use poll instance

* update poll fetching login in pinned messages card

* add pinned polls to room polls state

* add spinner while relations are still loading

* handle no poll in end poll dialog

* strict errors

* render a poll body that errors for poll end events

* add fetching logic to pollend tile

* extract poll testing utilities

* test mpollend

* strict fix

* more strict fix

* strict fix for forwardref

* update poll test utils

* implicit anys

* tidy and add jsdoc
2023-02-07 21:12:39 +00:00
Johannes Marbach
e5e2a825fb Make geolocate update with allowGeolocate 2023-02-07 20:46:10 +01:00
Johannes Marbach
c5fa3fc796 Merge branch 'develop' into johannes/find-myself 2023-02-07 20:35:06 +01:00
Andy Balaam
da2471ffbd
Fix a crash when removing persistent widgets (updated) (#10099)
* Fix a crash when removing persistent widgets

When a persistent widget is removed, multiple calls to updateShowWidgetInPip happen in succession as each of the widget stores emit updates. But by depending on this.state.persistentWidgetId at the time of the call rather than passing an update function to setState, this had the effect that the removal of the widget could be reverted in the component's state, and so it could end up passing the ID of a removed widget to WidgetPip.

* Re-public updateShowWidgetInPip so we don't change the interface

---------

Co-authored-by: Robin Townsend <robin@robin.town>
2023-02-07 11:14:19 +00:00
Florian Duros
4c7945552c
Merge branch 'develop' into unread-title-indicator 2023-02-07 11:37:34 +01:00
Michael Telatynski
54a6ce589f
Fix wrongly grouping 3pid invites into a single repeated transition (#10087) 2023-02-07 10:09:46 +00:00
Michael Telatynski
35d222bac6
Add @typescript-eslint/no-base-to-string (#10091) 2023-02-07 10:08:10 +00:00
Kerry Archibald
06d8755f6b add tests for geolocate self on map views 2023-02-07 16:51:58 +13:00
Kerry
0d59532147
Merge branch 'develop' into johannes/find-myself 2023-02-07 15:57:47 +13:00
Michael Weimann
39fe72e53a
Fix broadcast pip seekbar (#10072) 2023-02-06 13:15:20 +01:00
Gustavo Santos
d4349bb361
Add border to 'reject' button on room preview card (#9205)
* Add border to 'reject' button on room preview card

Signed-off-by: gefgu <gefgu@hotmail.com>

* feat: use correct kind

---------

Signed-off-by: gefgu <gefgu@hotmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-02-06 10:50:06 +00:00
Tim Tills
73c2f42177 Indicate unread rooms in document.title
Signed-off-by: Tim Tills <tnt7864@rit.edu>
2023-02-05 21:31:16 -05:00
Johannes Marbach
a3d09937d6 Fix types 2023-02-04 20:22:03 +01:00
Johannes Marbach
e5a7e83b48 Add option to find own location in map views 2023-02-04 19:58:19 +01:00
Andy Balaam
a756b33fe9
Rename RoomCreate -> RoomPredecessorTile (#10047) 2023-02-03 16:58:52 +00:00
Florian Duros
2b66cfc25f
Open message in editing mode when keyboard up is pressed (RTE) (#10079)
Move to previous message when arrow up is pressed in the main composer (RTE)
2023-02-03 17:43:02 +01:00
Michael Telatynski
9743852380
Improve typescript null checking in places (#10073 (#10073
* Improve typescript null checking in places

* Iterate

* Fix Timer.ts
2023-02-03 15:27:47 +00:00
Michael Weimann
97506cbcdb
Migrate SpotlightDialog for dynamic room predecessors (#10076) 2023-02-03 15:47:07 +01:00
Germain
6dd578e5a7
Devtools for stuck notifications (#10042) 2023-02-03 11:07:24 +01:00
Florian Duros
469228f45e
Fix new line created when enter is pressed (#10064) 2023-02-03 10:48:12 +01:00
Michael Telatynski
2bde31dcff
Switch to linkify-react for element Linkification as it handles React subtrees without exploding (#10060
* Switch to linkify-react instead of our faulty implementation

Fixes a series of soft crashes where errors include "The node to be removed is not a child of this node."

* Improve types

* Fix types

* Update snapshots

* Add test

* Fix test
2023-02-03 08:59:21 +00:00
Michael Weimann
089557005a
Autofocus security key field (#10048) 2023-02-03 09:39:25 +01:00
Kerry
ebb8408f28
Poll history - read only list of polls in current timeline (#10055)
* add settings while under development

* very basic tests for roomsummarycard

* empty poll history dialog and option in room summary

* pollS history in settings

* render an ugly list of polls in current timeline

* readonly poll history list items

* fix scroll window

* use short year code in date format, tidy

* no results message + tests

* strict fix

* mock intldatetimeformat for stable date formatting

* extract date format fn into date-utils

* jsdoc
2023-02-02 21:39:23 +00:00
Kerry
544baa30ed
use Poll model with relations API in poll rendering (#9877)
* wip

* remove dupe

* use poll model relations in all cases

* update mpollbody tests to use poll instance

* update poll fetching login in pinned messages card

* add pinned polls to room polls state

* add spinner while relations are still loading

* handle no poll in end poll dialog

* strict errors

* strict fix

* more strict fix
2023-02-02 20:22:26 +00:00
Johannes Marbach
f3fd027db4 Merge branch 'develop' into johannes/latest-room-in-space 2023-02-02 20:21:17 +01:00
Andy Balaam
e43d447535
Support MSC3946 in RoomCreate tile (#10041) 2023-02-02 13:39:13 +00:00
Michael Telatynski
21c3967010
Revert "Member avatars without canvas" (#10057
* Revert "Apply more general fix for base avatar regressions (#10045)"

This reverts commit 371a3c0d36.

* Revert "Fix layout and visual regressions around default avatars (#10031)"

This reverts commit 0d1fce37b2.

* Revert "Member avatars without canvas (#9990)"

This reverts commit a8aa4de4b4.

* Update snapshots
2023-02-02 10:22:19 +00:00
Kerry
923ad4323b
Poll history - setup labs setting (#10039)
* add settings while under development

* very basic tests for roomsummarycard

* empty poll history dialog and option in room summary

* pollS history in settings

* use more user-centric selectors in roomsummarycard test
2023-02-01 20:57:48 +00:00
Johannes Marbach
3766b39361 Merge branch 'develop' into johannes/latest-room-in-space 2023-02-01 19:54:40 +01:00
Andy Balaam
33b89a5709
Use Room.findPredecessor when rendering RoomCreate tiles (#10012)
* Use Room.findPredecessor to render RoomCreate tiles

* Handle state updates

* Handle missing predecessor

* Check for missing a room
2023-02-01 15:44:46 +00:00
Michael Weimann
7feb5b1f6b
Add PiP move threshold (#10040) 2023-02-01 13:55:10 +01:00
Florian Duros
afda774471
Add RTE keyboard navigation in editing (#9980)
Add Keyboard navigation in editing
2023-02-01 13:12:12 +01:00
Germain
8161da1054
Remove threads beta feedback button (#10038) 2023-02-01 09:50:15 +00:00
Florian Duros
918f151384
Add indentation increasing/decreasing to RTE (#10034)
Add indent and unindent actions to RTE
2023-01-31 18:13:24 +01:00
Germain
703587b8e9
Cleanup pre MSC3773 thread unread notif logic (#10023) 2023-01-31 16:59:24 +00:00
Michael Telatynski
0d1fce37b2
Fix layout and visual regressions around default avatars (#10031) 2023-01-31 13:56:48 +00:00
Michael Telatynski
262c2fcff2
Fix useUnreadNotifications exploding with falsey room, like in notif panel (#10030) 2023-01-31 12:38:25 +00:00
Harnoor Singh
97f6431d60
Migrate highlight.js API call in TextualBody (#9923)
Co-authored-by: Michael Weimann <michaelw@matrix.org>
Fixes https://github.com/vector-im/element-web/issues/22233
2023-01-31 09:48:34 +00:00
Robin
43c67ce4bf
Add ignore user confirmation dialog (#6116)
Signed-off-by: Robin Townsend <robin@robin.town>
2023-01-31 09:42:18 +00:00
Germain
e9d723269f
Use CopyableText in devtools (#9993)
Co-authored-by: Alun Turner <alunt@element.io>
2023-01-30 17:01:54 +00:00
Clark Fischer
4c1e4f5127
Fix "[object Promise]" appearing in HTML exports (#9975)
Fixes https://github.com/vector-im/element-web/issues/24272
2023-01-30 14:31:32 +00:00
Andy Balaam
a21929dba0
Convert RoomCreate to a functional component (#9999) 2023-01-30 10:02:32 +00:00
AHMAD KADRI
c7b01af49e
Should open new 1:1 chat room after leaving the old one (#9880)
* should open new 1:1 chat room after leaving the old one

Signed-off-by: Ahmad Kadri <ahmad.kadri@nordeck.net>

* change the copyright

* update the test

Signed-off-by: AHMAD KADRI <52747422+ahmadkadri@users.noreply.github.com>

---------

Signed-off-by: Ahmad Kadri <ahmad.kadri@nordeck.net>
Signed-off-by: AHMAD KADRI <52747422+ahmadkadri@users.noreply.github.com>
Co-authored-by: Oliver Sand <oliver.sand@nordeck.net>
Co-authored-by: Dominik Henneke <dominik.henneke@nordeck.net>
2023-01-30 09:54:05 +00:00
Clark Fischer
a8aa4de4b4
Member avatars without canvas (#9990)
* Strict typechecking fixes for Base/Member/Avatar

Update the core avatar files to pass `--strict --noImplicitAny` typechecks.

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>

* Add tests for Base/Member/Avatar

More thoroughly test the core avatar files. Not necessarily the most thorough,
but an improvement.

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>

* Extract TextAvatar from BaseAvatar

Extracted the fallback/textual avatar into its own component.

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>

* Use standard HTML for non-image avatars

Firefox users with `resistFingerprinting` enabled were seeing random noise
for rooms and users without avatars. There's no real reason to use data
URLs to present flat colors.

This converts non-image avatars to inline blocks with background colors.

See https://github.com/vector-im/element-web/issues/23936

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>

* Have pills use solid backgrounds rather than colored images

Similar to room and member avatars, pills now use colored pseudo-elements
rather than background images.

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>

---------

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
2023-01-30 09:50:08 +00:00
Johannes Marbach
050acf40a3 Merge branch 'develop' into johannes/latest-room-in-space 2023-01-27 20:22:11 +01:00
Johannes Marbach
7788d50b02 Add tests 2023-01-27 20:20:01 +01:00
Andy Balaam
364c453907
Tests for RoomCreate (#9997)
* Tests for RoomCreate tile

* Prefer screen instead of holding the return from render

* use userEvent instead of fireEvent
2023-01-27 15:23:23 +00:00
Johannes Marbach
0d0d7a3e2c Try to appease the linter 2023-01-27 15:25:10 +01:00
Johannes Marbach
c557162592 Try to appease the linter 2023-01-27 15:14:20 +01:00
Andy Balaam
d84509d8d3
Implement MSC3946 for AdvancedRoomSettingsTab (#9995) 2023-01-27 14:07:05 +00:00
Johannes Marbach
e0e149be3d Ensure room is actually in space hierarchy when resolving its latest version
Relates to: vector-im/element-web#24329
2023-01-27 14:59:15 +01:00
Hugh Nimmo-Smith
d698193196
Implementation of MSC3824 to make the client OIDC-aware (#8681) 2023-01-27 11:06:10 +00:00
Marco Bartelt
5807c64990
Improve avatar settings accessibility (#9985)
Co-authored-by: Germain <germain@souquet.com>
2023-01-27 07:57:24 +00:00
Florian Duros
406edfc27d
Fix link creation with backward selection (#9986)
Fix link creation with backward selection
2023-01-26 10:08:23 +00:00
Callum Brown
6961c25603
Support registration tokens (#7275)
* Support token authenticated registration

https://spec.matrix.org/v1.2/client-server-api/#token-authenticated-registration

Signed-off-by: Callum Brown <callum@calcuode.com>

* Backwards compatibility with unstable auth type

Some server installs are not updated to use the stable version
of the registration token authentication type, so also handle
the unstable version defined in MSC3231.

Signed-off-by: Callum Brown <callum@calcuode.com>

* Make LOGIN_TYPE public and readonly

Co-authored-by: Travis Ralston <travpc@gmail.com>

* Remove line related to skinning

Signed-off-by: Callum Brown <callum@calcuode.com>

* Change empty string to null

Signed-off-by: Callum Brown <callum@calcuode.com>

* Use "public"s for new code style

Signed-off-by: Callum Brown <callum@calcuode.com>

* Change input to AccessibleButton

Signed-off-by: Callum Brown <callum@calcuode.com>

* Add more detail regarding source of token

Signed-off-by: Callum Brown <callum@calcuode.com>

* Fix lint error

The text and button type will be the same every time
for registration tokens, unlike (possibly) for SSO.

Signed-off-by: Callum Brown <callum@calcuode.com>

* Change null back to ""

Due to the following warning when attempting to test:
> Warning: `value` prop on `input` should not be null.
> Consider using an empty string to clear the component or
> `undefined` for uncontrolled components.

Signed-off-by: Callum Brown <callum@calcuode.com>

* Disable submit button when no token entered

Signed-off-by: Callum Brown <callum@calcuode.com>

* Add test for registration tokens

Adapted from test/components/views/dialogs/InteractiveAuthDialog-test.tsx

Signed-off-by: Callum Brown <callum@calcuode.com>

* Fix linting errors

Signed-off-by: Callum Brown <callum@calcuode.com>

* Fix test for registration tokens

Signed-off-by: Callum Brown <callum@calcuode.com>

Signed-off-by: Callum Brown <callum@calcuode.com>
Co-authored-by: Travis Ralston <travpc@gmail.com>
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
2023-01-24 12:02:07 +00:00
Michael Weimann
29c193210f
Stop broadcasts on logout (#9978)
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
2023-01-24 10:58:37 +00:00
Florian Duros
60edb85a1a
Merge pull request #9969 from matrix-org/florianduros/fix/thread-rte-focus
Fix RTE focus behaviour in threads
2023-01-24 09:51:31 +01:00
Andy Balaam
51b4555106
Merge pull request #9934 from matrix-org/kegan/lists-as-keys
refactor: sliding sync: convert to lists-as-keys rather than indexes
2023-01-23 15:26:42 +00:00
Florian Duros
1da78fa6bc
Fix RTE focus behaviour in threads 2023-01-23 15:41:01 +01:00
Janne Mareike Koschinski
a0a419a3b8
Allow thread panel to be closed after being opened from notification (#9937)
* Allow thread panel to be closed after being opened from notification
* Add test to ensure the behavior is correct
2023-01-23 14:35:44 +01:00
kegsay
6ec25234d7
Merge branch 'develop' into kegan/lists-as-keys 2023-01-20 16:24:18 +00:00
Robin
9d0230b6ab
Show the room name in the room header during calls (#9942) 2023-01-20 08:45:39 -05:00
Robin
da30b3069c
Tweak call lobby buttons to more closely match designs (#9943) 2023-01-20 08:45:27 -05:00
alunturner
9dbc5f3773
Add quotes to rich text editor (#9932)
* bump rich text editor to 0.20.0
* add new svg for the button
* show the button
* make the composer display look like the timeline display
2023-01-20 10:55:46 +00:00
Kegan Dougal
769fd4a786 TS errors 2023-01-20 10:32:53 +00:00
Florian Duros
075df4d1b3
Call Action.ClearAndFocusSendMessageComposer before sending a message 2023-01-20 10:42:25 +01:00
kegsay
fcde4b7880
Merge branch 'develop' into kegan/lists-as-keys 2023-01-19 16:52:06 +00:00
alunturner
a63da74f06
Add code blocks to rich text editor (#9921)
* Applies small changes to code block display in timeline
* Makes the composer code block look like the timeline display, but without line numbers
* Adds a button to allow code blocks to be implemented
* Adds tests for the new button
2023-01-19 15:49:21 +00:00
alunturner
8a2e386531
Add disabled button state to rich text editor (#9930)
* add disabled css state
* conditionally apply disabled css state
* hides disabled tooltips
2023-01-19 09:24:29 +00:00
Florian Duros
b47588fc5c
Fix {enter} press in RTE (#9927)
Fix enter combination in RTE
2023-01-19 09:17:18 +00:00
Michael Weimann
eb43f3449e
Fix the problem that the password reset email has to be confirmed twice (#9926) 2023-01-19 09:03:48 +01:00
Kegan Dougal
21f0825703 refactor: sliding sync: convert to lists-as-keys rather than indexes
Sister PR to https://github.com/matrix-org/matrix-js-sdk/pull/3076
2023-01-18 17:19:12 +00:00
Janne Mareike Koschinski
4d2b27a96d
Fix broken threads list timestamp layout (#9922)
* Add option to show full identifier as tooltip on sender profiles
* Show full user id as tooltip on threads list entries
* Fix broken threads list timestamp layout

Previously, thread list timestamps would overflow
into the unread messages bubble on the right.

This is fixed by resetting the width of the
timestamp and ensuring both the timestamp and the
display name can shrink if necessary.
Both now also use ellipses if necessary.
2023-01-18 15:56:43 +01:00
Florian Duros
dacbf76227
Disable multiple messages when {enter} is pressed multiple times (#9929) 2023-01-18 13:20:49 +00:00
Michael Weimann
70d3d03c15
Fix logout devices on password reset (#9925) 2023-01-18 08:25:03 +01:00
Michael Telatynski
2eef3c47e6
Clear isLogin theme override when user is no longer viewing login screens (#9911) 2023-01-16 09:49:41 +00:00
Kerry
33e8a62dae
convert MPollBody tests into rtl (#9906)
* convert MPollBody tests into rtl

* strict fixes

* more strict

* more semantic assertions

* update types for extensible events changes
2023-01-16 01:25:33 +00:00
Kerry
0758b8cdfe
Device manager - tweak settings display (#9905)
* compound devices icon

* update icon for new session manager tab

* condense privacy > analytics / sessions sections slightly
2023-01-15 21:31:07 +00:00
Clark Fischer
2417482667
Fix error when viewing source of redacted events (#9914)
* Fix viewing source of redacted events

Clicking 'View Source' in the context menu of a redacted event causes an error,
and the user gets no visible result.

This fixes <ViewSource /> to indicate that the source is unavailable when a
message has been redacted. The original source remains available.

<SyntaxHighlight /> requires a non-null string for its `content` prop, and, in
the case of redacted events, <ViewSource /> was passing `undefined`. This is
ultimately because redacting an event causes `MatrixEvent.clearEvent` to be
`undefined`, which <ViewSource /> wasn't checking.

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

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>

* Use correct highlight.js call

Previous call signature was deprecated.

See https://github.com/highlightjs/highlight.js/issues/2277

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>
2023-01-15 16:22:59 +00:00