Commit Graph

34963 Commits (accbe07439cfcb4d782b5eb679d24dc71d1e539c)

Author SHA1 Message Date
Michael Telatynski 5f92dad273
Fix editing event from search room view (#11992)
* Fix editing event from search room view

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Handle different room for all rooms search case

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Increase coverage

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-12-19 16:01:17 +00:00
Michael Telatynski 22c511414b
Use forwardRef in Avatar components to allow use with Compound Tooltips (#12063)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-12-19 14:39:34 +00:00
Florian Duros 3acd648ed3
Fix timeline position when moving to a room and coming back (#12055)
* Force `initialEventId` in `RoomView`

* Remove Force `initialEventId` in `RoomView`

* Add e2e tests to verify we memorize the timeline position

* Fill `viewRoomOpts` in `viewRoom`

* Reset jest mock in sliding sync test

* Add comments
2023-12-19 13:21:44 +00:00
Richard van der Hoff de5931d5a8
Element-R: fix repeated requests to enter 4S key during cross-signing reset (#12059)
* Remove redundant `forceReset` parameter

This was always true, so let's get rid of it.

Also some function renames.

* Factor out new `withSecretStorageKeyCache` helper

... so that we can use the cache without the whole of `accessSecretStorage`.

* Cache secret storage key during cross-signing reset

* Playwright test for resetting cross-signing

* CrossSigningPanel: Silence annoying react warnings

React complains if we don't include an explicit `tbody`.

* Simple unit test of reset button
2023-12-15 14:59:36 +00:00
Hubert Chathi f0dd12dbc1
Log unhandled promise rejections in the rageshake (#12028) 2023-12-15 10:16:30 +00:00
ElementRobot 46e301f8f8
[create-pull-request] automated change (#12058)
Co-authored-by: github-merge-queue <github-merge-queue@users.noreply.github.com>
2023-12-15 06:23:40 +00:00
renovate[bot] 6669cb70e4
Update dependency @vector-im/compound-web to v0.9.4 (#11891)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-12-14 11:10:01 +00:00
ElementRobot dc134978fc
[create-pull-request] automated change (#12048)
Co-authored-by: github-merge-queue <github-merge-queue@users.noreply.github.com>
2023-12-13 06:22:56 +00:00
ElementRobot f848d99f2d
Localazy Download (#12014)
* [create-pull-request] automated change

* Update snapshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshots with deterministic language

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: github-merge-queue <github-merge-queue@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-12-09 18:38:01 +00:00
Richard van der Hoff db24a041aa
Fix the ordering in rageshakes (#12020)
* Fix the ordering in rageshakes

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

* Update src/rageshake/rageshake.ts

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-12-08 22:03:23 +00:00
Richard van der Hoff 9939c9d01d
Clean up rageshake store at startup (#12002) 2023-12-07 17:13:49 +00:00
Andy Balaam df11b90fd6
Set up key backup using non-deprecated APIs (#12005) 2023-12-06 17:54:47 +00:00
Richard van der Hoff 88de99733c
Keep more recent rageshake logs (#12003)
Currently, the rageshake store keeps up to 5M of logs. In a busy session for a power-user, that can be quite a short time.

This PR changes the store so that we will keep up to 100M, if they are less than 24H old. (Any logs older than 24H, of more than 5M, will continue to be dropped.)

Fixes vector-im/element-web#26532.
2023-12-06 15:04:24 +00:00
RiotRobot 9e794eac8a Merge branch 'master' into develop 2023-12-05 13:56:52 +00:00
Michael Telatynski 85c0a95fdf
Hide react button in search results as it doesn't work properly (#11996)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-12-04 17:06:22 +00:00
maheichyk 74ea0d134e
Fix rejoin of knock rooms (#11980)
Signed-off-by: Mikhail Aheichyk <mikhail.aheichyk@nordeck.net>
Co-authored-by: Mikhail Aheichyk <mikhail.aheichyk@nordeck.net>
2023-12-04 10:20:24 +00:00
ElementRobot e2bc437774
[create-pull-request] automated change (#11987)
Co-authored-by: github-merge-queue <github-merge-queue@users.noreply.github.com>
2023-12-04 06:24:20 +00:00
Michael Telatynski 50c58ec693
Disable sliding sync proxy check for native support mode (#11936)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-12-01 11:04:14 +00:00
Richard van der Hoff 328de4e9c8
`shieldStatusForRoom`: guard against client shutdown (#11957)
If `shieldStatusForRoom` races against a logout operation, then some of the
(many) crypto operations that it does can fail. Catch the error and handle it
gracefully.
2023-12-01 10:59:18 +00:00
Andy Balaam 926907309a
Stop displaying verification done messages in timeline (#11932)
* Stop displaying verification done messages in timeline

* i18n fixes
2023-12-01 09:12:38 +00:00
ElementRobot f07a8800d3
[create-pull-request] automated change (#11982)
Co-authored-by: github-merge-queue <github-merge-queue@users.noreply.github.com>
2023-12-01 06:24:02 +00:00
Andy Balaam f63160f384
Simplify display of verification requests in timeline (#11931)
* Simplify display of verification requests in timeline

* Comment explaining the purpose of MKeyVerificationRequest
2023-11-30 17:41:47 +00:00
Germain 07b7ee6111
Deprecate lab experiment 'feature_state_counters' (#11343)
* Deprecate lab experiment 'feature_state_counters'

* i18n

* Regenerate strings

---------

Co-authored-by: Johannes Marbach <johannesm@element.io>
2023-11-30 08:19:16 +00:00
Timo 0b8fdb30e1
Remove limit condition. (#11960)
Signed-off-by: Timo K <toger5@hotmail.de>
2023-11-29 19:49:33 +00:00
Michael Telatynski 2160f29473
Fix invisible avatar on home page (#11977)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-11-29 16:18:29 +00:00
Andy Balaam 8b7f49e74e
Rewrite doesRoomOrThreadHaveUnreadMessages to use the receipt rewrite from js-sdk (#11903)
* Rewrite doesRoomOrThreadHaveUnreadMessages to use the receipt rewrite from js-sdk

* Remove unit tests that rely on receipt timestamps

Previously, if we found a receipt for an unknown event, we would use the
receipt timestamp and declare all events before that time to be read.
Now, we ignore such "dangling" receipts until we find the event they
refer to.

This new behaviour is more correct, but does lead to more messages being
considered unread.

This commit deletes tests that checked for the old behaviour.

* Check for a missing thread in determineUnreadState

* Fix incorrect way to find room timeline

* More realistic test setup to support new receipt code

* Update snapshot to expect a room to be unread when there are no receipts

* Formatting fixes

* Update snapshot to show menu and notif button

* Disable some flaky tests

* Disable some flaky tests

* Fix test to make a threaded receipt for an event that is actually in the thread

---------

Co-authored-by: Florian Duros <florianduros@element.io>
Co-authored-by: Florian Duros <florian.duros@ormaz.fr>
2023-11-29 13:36:52 +00:00
ElementRobot 30c37de29d
[create-pull-request] automated change (#11974)
Co-authored-by: github-merge-queue <github-merge-queue@users.noreply.github.com>
2023-11-29 11:18:34 +00:00
Kerry 1ffa1c9c18
Fix: Space scope header overflow (#11933)
* fix spacing for scope header

* extract scope header into component, apply line clamp

* update ThirdPartyMemberInfo styles

* pass onClose to ThirdPartyRoomMemberInfo

* rethemendex

* add View3pidInvite to actions enum, replace uses

* extract out action handler

* push card instead, test

* comment

* reinstate data-testid

* fix typo in styles
2023-11-29 08:25:34 +00:00
Kerry cd985d6d6a
make room info button to open room details (#11951) 2023-11-28 21:15:21 +00:00
Michael Telatynski ad0b90b2c1
Fix types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-11-28 16:46:46 +00:00
Timo 372737d075
Always allow call.member events on new rooms (#11948)
* Always allow call.member events on new rooms
This translate to: allow group calls by default

Signed-off-by: Timo K <toger5@hotmail.de>

* fix tests

Signed-off-by: Timo K <toger5@hotmail.de>

---------

Signed-off-by: Timo K <toger5@hotmail.de>
2023-11-28 12:13:31 +00:00
Kerry 0bbb9e8c89
Right panel: view third party invite info without clearing history (#11934)
* add View3pidInvite to actions enum, replace uses

* extract out action handler

* push card instead, test

* comment
2023-11-27 22:30:57 +00:00
Michael Telatynski 6f50405e34
Default bundled emoji font to on (#11935)
* Update Settings.tsx

* Update tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update assertion

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-11-27 09:59:09 +00:00
Milton Moura 76b7aa2d33
Keep device language when it has been previosuly set, after a successful delegated authentication flow that clears localStorage (#11902)
* Do not remove the language when clearing local storage

Signed-off-by: Milton Moura <miltonmoura@gmail.com>

* Revised comment on getting the defined language from settings

Signed-off-by: Milton Moura <miltonmoura@gmail.com>

* Explicitly checking for language set at the device level

Signed-off-by: Milton Moura <miltonmoura@gmail.com>

* Add test that checks if device language setting is kept after a successfull delegated authentication flow

Signed-off-by: Milton Moura <miltonmoura@gmail.com>

* Adds test for unhappy path and adjusts to use the SettingsStore instead of going directly to localStorage

Signed-off-by: Milton Moura <miltonmoura@gmail.com>

* Removing unnecessary variable after test refactor

Signed-off-by: Milton Moura <miltonmoura@gmail.com>

---------

Signed-off-by: Milton Moura <miltonmoura@gmail.com>
2023-11-24 15:51:28 +00:00
Michael Telatynski ee485ffcfd
Default to system emoji font (#11925)
* Disable Twemoji emoji font by default

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Force Twemoji font in SAS Verification

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Improve tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-11-23 13:04:05 +00:00
Timo b5178e3733
Fix misunderstanding of functional members (#11918)
* fix misunderstanding of functional members

Signed-off-by: Timo K <toger5@hotmail.de>

* unused import

Signed-off-by: Timo K <toger5@hotmail.de>

---------

Signed-off-by: Timo K <toger5@hotmail.de>
2023-11-22 12:08:16 +00:00
Michael Weimann ecc46aeb8c
Update open in other tab message (#11916) 2023-11-22 10:46:11 +00:00
Timo 6f715ab803
Add menu for legacy and element call in 1:1 rooms (#11910)
* Add menu for legacy and element call in 1:1 rooms
This allows to also initiate element call calls in 1:1 rooms

Signed-off-by: Timo K <toger5@hotmail.de>

* fix tests

Signed-off-by: Timo K <toger5@hotmail.de>

---------

Signed-off-by: Timo K <toger5@hotmail.de>
2023-11-22 10:35:51 +00:00
ElementRobot a4d532d09c
[create-pull-request] automated change (#11905)
Co-authored-by: github-merge-queue <github-merge-queue@users.noreply.github.com>
2023-11-22 08:33:21 +00:00
Michael Telatynski b34012f289
Remove Quote from MessageContextMenu as it is unsupported by WYSIWYG (#11914)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-11-22 05:58:08 +00:00
Kerry 668e3a3bd9
Fix: Video Room Chat Header Button Removed (#11911)
* "@vector-im/compound-design-tokens": "^0.1.0"

* add chat button to room header for video rooms

* cleanup useEffect, comments

* comment
2023-11-21 21:28:54 +00:00
Timo a26c2d3c78
Add ringing for matrixRTC (#11870)
* Add ringing for matrixRTC
 - since we are using m.mentions we start with the Notifier
 - an event in the Notifier will result in a IncomingCall toast
 -  incomingCallToast is responsible for ringing (as long as one can see the toast it rings)
 This should make sure visual and audio signal are in sync.

Signed-off-by: Timo K <toger5@hotmail.de>

* use typed CallNotifyContent

Signed-off-by: Timo K <toger5@hotmail.de>

* update tests

Signed-off-by: Timo K <toger5@hotmail.de>

* change to callId

Signed-off-by: Timo K <toger5@hotmail.de>

* fix tests

Signed-off-by: Timo K <toger5@hotmail.de>

* only ring in 1:1 calls
notify in rooms < 15 member

Signed-off-by: Timo K <toger5@hotmail.de>

* call_id fallback

Signed-off-by: Timo K <toger5@hotmail.de>

* Update src/Notifier.ts

Co-authored-by: Robin <robin@robin.town>

* review

Signed-off-by: Timo K <toger5@hotmail.de>

* add tests

Signed-off-by: Timo K <toger5@hotmail.de>

* more tests

Signed-off-by: Timo K <toger5@hotmail.de>

* unused import

Signed-off-by: Timo K <toger5@hotmail.de>

* String -> string

Signed-off-by: Timo K <toger5@hotmail.de>

---------

Signed-off-by: Timo K <toger5@hotmail.de>
Co-authored-by: Robin <robin@robin.town>
2023-11-21 17:12:08 +00:00
Richard van der Hoff 7ca0cd13d0
Fix "not attempting encryption" warning (#11899)
* Fix "not attempting encryption" warning

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

* Update src/utils/tokens/tokens.ts
2023-11-21 13:48:14 +00:00
Kerry 20fd1111c8
set disabled state on invite to room button in memberlist (#11893) 2023-11-21 01:43:32 +00:00
Michael Telatynski 2f0eb8fb05
Fix ended polls overlapping event bubbles (#11895)
* Fix ended polls overlapping event bubbles

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-11-20 17:27:54 +00:00
Richard van der Hoff 2cb5e0771b
Reduce amount of log spam (#11898) 2023-11-20 12:24:13 +00:00
Johannes Marbach e35b2135b4 Appease the linter 2023-11-18 21:37:49 +01:00
Johannes Marbach 980633a7f5 Revert back to worklet-loader compatible syntax 2023-11-18 21:36:11 +01:00
Johannes Marbach d6ea051e46 Merge branch 'develop' into johannes/webpack-5 2023-11-16 18:59:39 +01:00
Timo 62256a3d12
Fix call encryption settings flag update not having effect on running widgets (#11888)
Signed-off-by: Timo K <toger5@hotmail.de>
2023-11-16 11:43:33 +00:00
Germain f96583e74a
Update RoomSummaryCard navigation links (#11812)
* Update RoomSummaryCard navigation links

* Fix tests

* remove unneeded test

* "@vector-im/compound-web": "0.8.0"

* Fix: search button no transition on hover

* Fix: disabled invite option is not reflected in UI

* test canInviteTo

* update snapshots for CW 0.8.1

* unit test inviteToRoom

* unit test tagRoom

* add member link to roomsummarycard when using legacy room header

* use onChange instead of onClick for ToggleMenuItem favourite room

* update selectors in cypress tests

* always show people menu item

* add hover style to close button

* add padding around room name

* prettier

---------

Co-authored-by: Kerry Archibald <kerrya@element.io>
2023-11-16 03:25:34 +00:00
Kerry b8ff3c169b
track WebRoomHeaderButtonsThreadsButton from new room header (#11885) 2023-11-16 02:31:24 +00:00
Kerry f6ef476f79
Fix: Emoji cause topics being cut off in new room header (#11865)
* Order of buttons on the right should be Video Call, Voice Call, Threads, Facepile

* Fix 26326: Emoji cause topics being cut off in new room header
2023-11-14 22:20:21 +00:00
Johannes Marbach 8a6c590b7d Set name for worklet chunk 2023-11-14 14:40:51 +01:00
Johannes Marbach 327437777d Fix worker factory and chunk names 2023-11-14 14:32:16 +01:00
Kerry a3f0633037
Fix: align base card close button to the right always (#11861) 2023-11-13 21:57:20 +00:00
Johannes Marbach 624be1a7fa Fix paths and extensions 2023-11-13 20:10:55 +01:00
Johannes Marbach 99ad1781a5 Appease the linter 2023-11-13 19:54:04 +01:00
Johannes Marbach 5855930221 Extra worklet module loading and mock it in tests 2023-11-13 19:52:15 +01:00
Johannes Marbach 64ba0b4130 Squashed commit of the following:
commit 01a62b36a484d65664a641c4db2a7f3373251b47
Merge: 10edf06898 74961dbfb1
Author: Johannes Marbach <johannesm@element.io>
Date:   Mon Nov 13 19:38:47 2023 +0100

    Merge branch 'johannes/webpack5-workers' into johannes/worklet-path

commit 10edf068980f11b99bf2b18dce72e27065fd5727
Author: Johannes Marbach <johannesm@element.io>
Date:   Sun Nov 12 12:21:43 2023 +0100

    Document syntax and use .ts

commit 4040f2ce4121ddaf5254cb68e2e9b8716b0431d0
Author: Johannes Marbach <johannesm@element.io>
Date:   Sat Nov 11 21:38:09 2023 +0100

    Switch to URL and use syntax compatible with Webpack

commit b4f96f17cc1819bd84b8e6735a8c3f69948e97c4
Merge: eed2ffdc1c 94484692f8
Author: Johannes Marbach <johannesm@element.io>
Date:   Thu Nov 9 21:04:06 2023 +0100

    Merge branch 'develop' into johannes/worklet-path

commit eed2ffdc1c27e8748719b64e002c44e3dc6500e7
Author: Johannes Marbach <johannesm@element.io>
Date:   Thu Nov 9 21:03:45 2023 +0100

    Restore unused import to fix dead code analysis

commit 689cea2f061120070f3db405289bd9ded108def5
Author: Johannes Marbach <johannesm@element.io>
Date:   Thu Nov 9 16:50:56 2023 +0100

    Use literal path in audioWorklet.addModule for compatibility with Webpack 5
2023-11-13 19:39:45 +01:00
Johannes Marbach 74961dbfb1 Extract worker creation into factories and mack them in tests 2023-11-13 19:35:04 +01:00
Robin cda17d55b4
Use the correct video call icon variant (#11859)
This regression happened because of breaking changes in the most recent compound-design-tokens release.
2023-11-13 17:45:11 +00:00
Johannes Marbach ccee4c9cdb Merge branch 'develop' into johannes/webpack5-workers 2023-11-13 15:43:50 +01:00
Valere 9595dbb015
Report crypto sdk in posthog (#11834)
* Report crypto sdk in posthog

* fix import

* do not use the setting as not live
2023-11-13 14:16:12 +00:00
Johannes Marbach 84d7d43a0d Load web workers in a way that Webpack 5 can bundle them 2023-11-11 16:03:08 +01:00
Germain 722c5ad493
Update room summary card header (#11823)
* Update room summary card header

* test coverage for public room label

* test coverage for public room label (#11841)

* fix encrypted badge selector in cypress/crypto.spec

---------

Co-authored-by: Kerry <kerrya@element.io>
2023-11-11 07:24:48 +00:00
Timo 62f41f0961
Add feature flag for disabling encryption in Element Call (#11837)
* add feature flag for disabling encryption

Signed-off-by: Timo K <toger5@hotmail.de>

* prettier

Signed-off-by: Timo K <toger5@hotmail.de>

* Update src/i18n/strings/en_EN.json

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

* add tests and make url flags explicit

Signed-off-by: Timo K <toger5@hotmail.de>

* remove unnecessary braces

Signed-off-by: Timo K <toger5@hotmail.de>

---------

Signed-off-by: Timo K <toger5@hotmail.de>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-11-10 16:46:02 +00:00
Charly Nguyen 47a4e4a52a
Adapt the rendering of extra icons in the room header (#11835)
Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
2023-11-09 11:23:30 +00:00
Timo 224b9171dd
Make video rooms compatible with matrix RTC (#11829)
* Make video rooms compatible with matrix RTC
Signed-off-by: Timo K <toger5@hotmail.de>

* comment fixes

Signed-off-by: Timo K <toger5@hotmail.de>

* fix tests by destroying the call. Otherwise create wont recreate for ec.

Signed-off-by: Timo K <toger5@hotmail.de>

---------

Signed-off-by: Timo K <toger5@hotmail.de>
2023-11-07 12:29:05 +00:00
R Midhun Suresh 90419bdffd
Implement new unreachable state and fix broken string ref (#11748)
* Fix string ref issue

* Implement unreachable state

* Fix eslint failure

* Fix i18n

* Fix i18n again

* Write cypress test

* Write jest test

* Write more jest tests

* Update method name

* Use unstable prefix

* Always use prefix

This is never to going to be in the spec so always use the io.element
prefix

* Update tests

* Remove redundant code from cypress test

* Use unstable prefix

* Refactor code

* Remove supressOnHover prop

* Remove sub-text label

* Join lines

* Remove blank line

* Add jsdoc
2023-11-07 10:14:30 +00:00
Charly Nguyen 01e7e01153
Allow adding extra icons to the room header (#11799)
* Allow adding extra icons to the room header

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

* Apply PR feedback

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

* Apply PR feedback

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

* Apply PR feedback

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

* Apply PR feedback

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

* Apply PR feedback

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

---------

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
2023-11-01 12:03:10 +00:00
Michael Telatynski 9496097143
Switch to updating presence via /sync calls instead of PUT /presence (#11824)
* Switch to updating presence via /sync calls instead of PUT /presence (#11223)

(cherry picked from commit 1995a74090)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update Presence.ts
2023-11-01 10:49:47 +00:00
ElementRobot eb06dbd7f6
[create-pull-request] automated change (#11811)
Co-authored-by: t3chguy <t3chguy@users.noreply.github.com>
2023-10-31 15:21:57 +00:00
Timo 860764c057
Use new matrixRTC calling (#11792)
* initial

Signed-off-by: Timo K <toger5@hotmail.de>

* cleanup1

Signed-off-by: Timo K <toger5@hotmail.de>

* bring back call timer

Signed-off-by: Timo K <toger5@hotmail.de>

* more cleanup and test removals

Signed-off-by: Timo K <toger5@hotmail.de>

* remove event

Signed-off-by: Timo K <toger5@hotmail.de>

* cleanups and minor fixes

Signed-off-by: Timo K <toger5@hotmail.de>

* add matrixRTC to stubClient

Signed-off-by: Timo K <toger5@hotmail.de>

* update tests (some got removed)
The removal is a consequence of EW now doing less call logic.
More logic is done by the js sdk (MatrixRTCSession)
And therefore in EC itself.

Signed-off-by: Timo K <toger5@hotmail.de>

* cleanups

Signed-off-by: Timo K <toger5@hotmail.de>

* mock the session

Signed-off-by: Timo K <toger5@hotmail.de>

* lint

Signed-off-by: Timo K <toger5@hotmail.de>

* remove GroupCallDuration

Signed-off-by: Timo K <toger5@hotmail.de>

* review and fixing tests

Signed-off-by: Timo K <toger5@hotmail.de>

---------

Signed-off-by: Timo K <toger5@hotmail.de>
2023-10-30 15:14:27 +00:00
Dominik Henneke 947f1bd591
Knock on a ask-to-join room if a module wants to join the room when navigating to a room (#11787)
Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net>
2023-10-27 12:51:39 +00:00
Florian Duros d0b44a541d
Add crypto info for rust crypto in sentry (#11798) 2023-10-26 15:45:05 +00:00
Johannes Marbach c7c51d764f
Deserialise spoilers back into slash command form (#11805)
* Deserialise spoilers back into slash command form

Fixes: vector-im/element-web#26344

* Appease the linter
2023-10-26 13:35:02 +00:00
Manuel Huber 6423f226b4
Also use unload event to clean up session lock (#11800)
Signed-off-by: Manuel Huber <info@manuelhu.de>
Co-authored-by: Florian Duros <florianduros@element.io>
2023-10-26 12:26:49 +00:00
Florian Duros 1881fb1ee4
Element-R: Include crypto info in rageshake (#11797)
* Include crypto info for rust crypto in rageshakes

* Remove duplicate `cross_signing_key`

* Add `crypto_version` field
2023-10-26 08:20:36 +00:00
Kerry e8b27403b7
allow relogin from softlogout when loginToken is present (#11794) 2023-10-26 06:57:28 +00:00
Florian Duros 48a89a236a
Element-R: Add current version of the rust-sdk and vodozemac (#11785)
* Add current version of the rust-sdk and vodozemac

* Use `CryptoAPI#getVersion` for old crypto

* Update i18n

* Fix test

* Remove wrong comment
2023-10-25 15:34:03 +00:00
Michael Telatynski 5e8d2748e0
Use configurable github issue links more consistently (#11796)
* Use configurable github issue links more consistently

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add `rel="noreferrer noopener"`

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-25 12:23:12 +00:00
Ole Wieners 4ff35f0471
Fix unfederated invite dialog (#9618)
* clarify error message for unfederated room invites

* hide external user suggesetions

* rename some descriptors

* fix i18n

* add warning for unfederated spaces

* i18n

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-25 10:08:10 +00:00
Michael Telatynski afcaec658f
Fix io.element.late_event received_ts vs received_at (#11789)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-25 07:01:24 +00:00
Kerry 9eb44105cb
Revert "Fix: Right panel keeps showing chat when unmaximizing widget. (#11697)" (#11786)
This reverts commit c44c772246.
2023-10-24 06:49:45 +00:00
Manan Sadana c44c772246
Fix: Right panel keeps showing chat when unmaximizing widget. (#11697)
* Right panel chat closes when unmaximising widget

* Basic right panel tests added

* Accessible selectors used for new tests

* Test added to check if chat exists in right panel

---------

Co-authored-by: Manan Sadana <manan.sadana@cnhteam.onmicrosoft.com>
Co-authored-by: Florian Duros <florianduros@element.io>
2023-10-23 08:20:52 +00:00
David Baker 2173705ed5
Rename the per-participant e2ee keys event (#11783)
From the department of single-byte PRs.

I reanmed this in the branch because it now contains multiple keys.
2023-10-20 20:21:27 +00:00
David Baker 21dc26f725
Update base64 import (#11784)
Apologies, I broke this with https://github.com/matrix-org/matrix-js-sdk/pull/3818

This fixes it, but needs https://github.com/matrix-org/matrix-js-sdk/pull/3820
2023-10-20 18:19:09 +01:00
Germain 8cf6f03283
Set max size for Element logo in search warning (#11779) 2023-10-20 15:27:29 +00:00
Germain f784a085fd
New right panel visual language (#11664)
* New right panel visual language

* Upgrade Compound

* Align old room header with right panel

* Rigth panel look and feel

* Fix linting and e2e tests

* Update snapshot

* Add test

* Lint

* Remove screenshot local script

* Update snapshots and UI based on feedback

* fix i18n key

* Update right panel visuals

* Fix tests

* lintfixes

* fix tests

* fix tests

* Add tests for search icon

* Fix invite dialog spec
2023-10-20 13:30:37 +00:00
renovate[bot] 5a961795bc
Update matrix-org (#11625)
* Update matrix-org

* Update analytics calls

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Hold back wysiwyg

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-19 08:02:24 +00:00
Kerry 5056c12b38
configure feature_oidc_native_flow as a feature setting, update copy (#11773) 2023-10-19 06:00:29 +00:00
Kerry 1d9c24e96e
OIDC: add friendly errors (#11184)
* add delegatedauthentication to validated server config

* dynamic client registration functions

* test OP registration functions

* add stubbed nativeOidc flow setup in Login

* cover more error cases in Login

* tidy

* test dynamic client registration in Login

* comment oidc_static_clients

* register oidc inside Login.getFlows

* strict fixes

* remove unused code

* and imports

* comments

* comments 2

* util functions to get static client id

* check static client ids in login flow

* remove dead code

* OidcRegistrationClientMetadata type

* navigate to oidc authorize url

* exchange code for token

* navigate to oidc authorize url

* navigate to oidc authorize url

* test

* adjust for js-sdk code

* login with oidc native flow: messy version

* tidy

* update test for response_mode query

* tidy up some TODOs

* use new types

* add identityServerUrl to stored params

* unit test completeOidcLogin

* test tokenlogin

* strict

* whitespace

* tidy

* unit test oidc login flow in MatrixChat

* strict

* tidy

* extract success/failure handlers from token login function

* typo

* use for no homeserver error dialog too

* reuse post-token login functions, test

* shuffle testing utils around

* shuffle testing utils around

* i18n

* tidy

* Update src/Lifecycle.ts

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

* tidy

* comment

* update tests for id token validation

* move try again responsibility

* prettier

* add friendly error messages for oidc authorization failures

* i18n

* update for new translations, tidy

---------

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-10-19 02:46:37 +00:00
renovate[bot] 67452f5021
Update all non-major dependencies (#11618)
* Update all non-major dependencies

* Fix types

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* highlight.js breaking change

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Hold back jest-sonar-reporter

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-18 16:18:13 +00:00
Richard van der Hoff a283bc4889
Avoid `MatrixEvent.toJSON` in event indexer (#11765)
Part of the solution to https://github.com/vector-im/element-web/issues/26380:
`toJSON` is dangerous, and I'd like to kill it off. There is no need for it
here; it is simpler to call `getEffectiveEvent` directly.
2023-10-17 15:54:22 +00:00
renovate[bot] 087ed6dbfc
Update definitelyTyped (#11620)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 18:17:09 +01:00
ElementRobot 5fce14e38f
[create-pull-request] automated change (#11766)
Co-authored-by: t3chguy <t3chguy@users.noreply.github.com>
2023-10-17 15:06:20 +01:00
Michael Telatynski 4ff307b562
Iterate `io.element.late_event` decoration (#11760)
* Update copy

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add icon to late event timestamp

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 12:31:41 +00:00
Michael Telatynski fd08e74275
Avoid error when DMing oneself (#11754)
* Avoid error when DMing oneself

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update comment

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add test

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 09:37:08 +00:00
Valere 15d931a33f
fix logging full event (#11755)
* fix logging full event

* put stacktrace last

* Update src/components/views/rooms/EventTile.tsx

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-10-16 16:52:20 +00:00
Michael Telatynski 5ff965106a
Render timeline separator for late event groups (#11739)
* Use Compound tooltips on MessageTimestamp to improve UX of date time discovery

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Show io.element.late_event in MessageTimestamp when known

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Avoid needing new Compound changes

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Move groupers into their own directory

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Refactor date separator code to be more generic

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Render timeline separator for late event groups

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix date used in copy

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Move groupers into their own directory

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update copy

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update copy

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* i18n

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add comments

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add comments

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-16 14:14:04 +00:00
Robin dfdb613673
Update Element Call URL generation to match new parameter semantics (#11749)
The semantics of the preload parameter are changing as detailed here, meaning we now have to additionally specify skipLobby to get the desired behavior out of Element Call: https://github.com/vector-im/element-call/pull/1730
2023-10-16 13:43:44 +00:00
Michael Telatynski a01a67eb8e
Move groupers into their own directory (#11738)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-16 07:48:32 +00:00
Kerry d9d52fba8c
OIDC: use delegated auth account URL from `OidcClientStore` (#11723)
* test persistCredentials without a pickle key

* test setLoggedIn with pickle key

* lint

* type error

* extract token persisting code into function, persist refresh token

* store has_refresh_token too

* pass refreshToken from oidcAuthGrant into credentials

* rest restore session with pickle key

* retreive stored refresh token and add to credentials

* extract token decryption into function

* remove TODO

* very messy poc

* utils to persist clientId and issuer after oidc authentication

* add dep oidc-client-ts

* persist issuer and clientId after successful oidc auth

* add OidcClientStore

* comments and tidy

* expose getters for stored refresh and access tokens in Lifecycle

* revoke tokens with oidc provider

* test logout action in MatrixChat

* comments

* prettier

* test OidcClientStore.revokeTokens

* put pickle key destruction back

* comment pedantry

* working refresh without persistence

* extract token persistence functions to utils

* add sugar

* implement TokenRefresher class with persistence

* tidying

* persist idTokenClaims

* persist idTokenClaims

* tests

* remove unused cde

* create token refresher during doSetLoggedIn

* tidying

* also tidying

* OidcClientStore.initClient use stored issuer when client well known unavailable

* test Lifecycle.logout

* update Lifecycle test replaceUsingCreds calls

* fix test

* add sdkContext to UserSettingsDialog

* use sdkContext and oidcClientStore in session manager

* use sdkContext and OidcClientStore in generalusersettingstab

* tidy

* test tokenrefresher creation in login flow

* test token refresher

* Update src/utils/oidc/TokenRefresher.ts

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

* use literal value for m.authentication

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

* improve comments

* fix test mock, comment

* typo

* add sdkContext to SoftLogout, pass oidcClientStore to logout

* fullstops

* comments

* fussy comment formatting

---------

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-10-15 23:03:25 +00:00
Kerry 84ca519b3f
OIDC: revoke tokens on logout (#11718)
* test persistCredentials without a pickle key

* test setLoggedIn with pickle key

* lint

* type error

* extract token persisting code into function, persist refresh token

* store has_refresh_token too

* pass refreshToken from oidcAuthGrant into credentials

* rest restore session with pickle key

* retreive stored refresh token and add to credentials

* extract token decryption into function

* remove TODO

* very messy poc

* utils to persist clientId and issuer after oidc authentication

* add dep oidc-client-ts

* persist issuer and clientId after successful oidc auth

* add OidcClientStore

* comments and tidy

* expose getters for stored refresh and access tokens in Lifecycle

* revoke tokens with oidc provider

* test logout action in MatrixChat

* comments

* prettier

* test OidcClientStore.revokeTokens

* put pickle key destruction back

* comment pedantry

* working refresh without persistence

* extract token persistence functions to utils

* add sugar

* implement TokenRefresher class with persistence

* tidying

* persist idTokenClaims

* persist idTokenClaims

* tests

* remove unused cde

* create token refresher during doSetLoggedIn

* tidying

* also tidying

* OidcClientStore.initClient use stored issuer when client well known unavailable

* test Lifecycle.logout

* update Lifecycle test replaceUsingCreds calls

* fix test

* tidy

* test tokenrefresher creation in login flow

* test token refresher

* Update src/utils/oidc/TokenRefresher.ts

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

* use literal value for m.authentication

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

* improve comments

* fix test mock, comment

* typo

* add sdkContext to SoftLogout, pass oidcClientStore to logout

* fullstops

* comments

* fussy comment formatting

---------

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-10-15 21:35:25 +00:00
Michael Telatynski fe3ad78a02
Show `io.element.late_event` in MessageTimestamp when known (#11733)
* Use Compound tooltips on MessageTimestamp to improve UX of date time discovery

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Show io.element.late_event in MessageTimestamp when known

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Avoid needing new Compound changes

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update compound-web

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update identifiers

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix types

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Switch to snapshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-14 12:25:36 +00:00
Michael Telatynski 2261a1be8e
Show all labs flags if developerMode enabled (#11746)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-13 13:24:00 +00:00
Michael Telatynski 4605fd7396
Use Compound tooltips on MessageTimestamp to improve UX of date time discovery (#11732)
* Use Compound tooltips on MessageTimestamp to improve UX of date time discovery

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-13 11:26:12 +00:00
Michael Telatynski 27bb67bac5
Consolidate 4s passphrase input fields and use stable IDs (#11743)
* Reuse PassphraseConfirmField for create 4s flow

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Use stable ID on 4s phrase fields

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Pass autoFocus prop to PassphraseConfirmField

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update stable ID

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add missing labels

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-13 10:39:55 +00:00
Michael Telatynski 255f0f59f5
Disable upgraderoom command without developer mode enabled (#11744)
* Disable upgraderoom command without developer mode enabled

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-13 09:48:32 +00:00
Michael Telatynski bdf2ebd301
Avoid rendering app download buttons if disabled in config (#11741)
* Add default desktop_builds and mobile_builds into SdkConfig.DEFAULTS

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Avoid rendering app download buttons if config sets to `null`

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Disable app download onboarding task if config has no apps to download

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add tests and update types

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix types

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-13 09:43:39 +00:00
Germain 9ea04a539b
Add data attribute to know what header is used (#11735)
* Add data attribute to know what header is used

* Simplify room header type

* update snapshot
2023-10-12 13:17:51 +00:00
Manan Sadana 7dc40e6613
Fix: <detail> HTML elements clickable area too wide. (#11666)
* Fix: Details element wide clickable area

* LogoutDialog-test.tsx snapshot updated

* Fixed open state clickable area for dropdowns

* Advanced changed to advanced

---------

Co-authored-by: Manan Sadana <manan.sadana@cnhteam.onmicrosoft.com>
Co-authored-by: Florian Duros <florianduros@element.io>
2023-10-12 08:50:49 +00:00
Kerry 3a025c4b21
OIDC: refresh tokens (#11699)
* test persistCredentials without a pickle key

* test setLoggedIn with pickle key

* lint

* type error

* extract token persisting code into function, persist refresh token

* store has_refresh_token too

* pass refreshToken from oidcAuthGrant into credentials

* rest restore session with pickle key

* retreive stored refresh token and add to credentials

* extract token decryption into function

* remove TODO

* very messy poc

* comments

* prettier

* comment pedantry

* working refresh without persistence

* extract token persistence functions to utils

* add sugar

* implement TokenRefresher class with persistence

* tidying

* persist idTokenClaims

* persist idTokenClaims

* tests

* remove unused cde

* create token refresher during doSetLoggedIn

* tidying

* also tidying

* update Lifecycle test replaceUsingCreds calls

* tidy

* test tokenrefresher creation in login flow

* test token refresher

* Update src/utils/oidc/TokenRefresher.ts

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

* use literal value for m.authentication

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

* improve comments

---------

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-10-12 00:49:07 +00:00
Michael Telatynski d115e3c7f8
Fix untranslated headings in the devtools dialog (#11734)
* Fix untranslated headings in the devtools dialog

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-11 22:21:03 +00:00
Kerry 5d169afb8a
OIDC: register (#11727)
* update uses of ValidatedDelegatedAuthConfig to broader OidcClientConfig type

* add OIDC register flow to registration page

* pass prompt param to auth url creation

* update type

* lint

* test registration oidc button

* fix: reference state inside setState

* comment
2023-10-11 21:44:46 +00:00
Germain ac32d45bcd
Usability fixes for new room header (#11729)
* Usability fixes for new room header

* lintfix

* Apply padding to both heading and topic

* lintfix

* comment clarity

* Remove title attr
2023-10-11 14:43:01 +00:00
Florian Duros 71f2104632
Element-R: Use `MatrixClient.CryptoApi.getUserVerificationStatus` instead of `MatrixClient.checkUserTrust` in `UserInfo.tsx` (#11709)
* Mock `CryptoApi.getUserVerificationStatus` instead of `checkUserTrust`

* Use `CryptoApi.getUserVerificationStatus` instead of `checkUserTrust` in `UserInfo.DeviceItem`

* Use `CryptoApi.getUserVerificationStatus` instead of `checkUserTrust` in `UserInfo.DevicesSection`

* Use `CryptoApi.getUserVerificationStatus` instead of `checkUserTrust` in `UserInfo.BasicUserInfo`

* Pass `isUserVerified` props to `BasicUserInfo` children

* Removed remaining calls to `checkUserTrust` in `UserInfo-test.tsx`

* Review changes

* Update comments

* Display spinner only when crypto is initialized

* Fix duplicate `cryptoEnabled`

* Remove misleading comment in `DevicesSection`
2023-10-11 11:45:02 +00:00
Manan Sadana 54fa9a572e
Fix: Clicking on members pile does nothing. (#11657)
* Fix: Clicking on pile opens members list

* onClick used on Accessible Component

* Updated snapshots for testing

* Snapshots updated after merging

---------

Co-authored-by: Manan Sadana <manan.sadana@cnhteam.onmicrosoft.com>
2023-10-06 06:54:25 +00:00
Florian Duros d40092c9da
Element-R: Use `MatrixClient.CryptoApi.getUserVerificationStatus` instead of `MatrixClient.checkUserTrust` in `MemberTile.tsx` (#11701)
* Use `MatrixClient.CryptoApi.getUserVerificationStatus` instead of `MatrixClient.checkUserTrust` in `MemberTile.tsx`

* Add tests to `MemberTile.tsx`

* Use `mocked` instead of `spyOn`
2023-10-04 13:01:39 +00:00
Michael Telatynski 9d1f10e4be
Update workflows around i18n to use Localazy (#11455)
* Remove prunei18n

* Update README

* Update matrix-web-i18n

* Iterate

* Add feature=filter_untranslated

* yarn.lock

* Update localazy.json

* Update package.json

* Update localazy.json

* Update matrix-web-i18n and update i18n:lint

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove stale workflow

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Localazy Download

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* i18n

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Localazy Download

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-04 09:28:09 +00:00
Kerry feb7e9899b
OIDC: persist id token claims (#11691)
* persist idTokenClaims

* tests

* remove unused cde
2023-10-04 05:06:04 +01:00
Michael Telatynski e1cfde0c6e
Migrate more strings to translation keys (#11694) 2023-10-03 19:17:26 +01:00
Will Hunt 677854d318
Fix start_sso / start_cas URLs failing to redirect to a authentication prompt (#11681)
* Show screen before login if using start_sso or start_cas

* Add tests

* Fix lint

* Fix lint

* Add one for CAS

* prettier
2023-10-03 15:19:54 +00:00
Hugh Nimmo-Smith 4fd8ab933a
Use stable get_login_token and remove unstable MSC3882 support (#11001)
* Support for stable MSC3882 get_login_token

* Fix unstable name type

* Remove tests for unstable MSC3882

* Fix up tests
2023-10-03 12:15:41 +00:00
Michael Telatynski 0ab51bc59d
Update AutoDiscoveryUtils.tsx 2023-10-03 11:05:35 +01:00
Kerry 66854039a3
OIDC: extract token persistence functions to utils (#11690)
* extract token persistence functions to utils

* add sugar
2023-10-02 22:09:13 +00:00
Michael Telatynski 41a2325a2a
Migrate more strings to translation keys (#11683) 2023-10-02 13:52:27 +01:00
Michael Telatynski 632d8f4bc7
Update custom translations to support nested fields in structured JSON (#11685)
* Update matrix-web-i18n

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix custom translations for structured JSON nested fields

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix import

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix export

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update @matrix-org/react-sdk-module-api

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Delint

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update matrix-web-i18n

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update matrix-web-i18n

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-02 10:44:25 +00:00
R Midhun Suresh 9a76d6b9a3
Locallazy: Convert even more strings (#11679)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-02 11:43:00 +01:00
Michael Telatynski 6af4335db1
Migrate more strings to translation keys (#11680) 2023-09-29 08:49:26 +01:00
Michael Telatynski e0f4b26512
Remove focus-visible polyfill (#11677)
* Remove focus-visible polyfill

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-28 11:52:26 +00:00
Hugh Nimmo-Smith 8442f1cf10
Use .well-known to discover a default rendezvous server for use with Sign in with QR (#11655) 2023-09-28 09:37:44 +00:00
R Midhun Suresh 0518af70ac
Localazy: Convert more strings (#11675) 2023-09-28 08:21:30 +01:00
Kerry ef5a93b702
OIDC: retrieve `refreshToken` from storage (#11250)
* test persistCredentials without a pickle key

* test setLoggedIn with pickle key

* lint

* type error

* extract token persisting code into function, persist refresh token

* store has_refresh_token too

* pass refreshToken from oidcAuthGrant into credentials

* rest restore session with pickle key

* retreive stored refresh token and add to credentials

* extract token decryption into function

* remove TODO

* comments

* prettier

* comment pedantry

* fix code smell - nullish coalesce instead of ||

* more comments
2023-09-28 04:38:31 +00:00
Michael Telatynski fa377cbade
Migrate more strings to translation keys (#11672) 2023-09-27 17:15:22 +01:00
Michael Telatynski 39c4e0c41f
Update FontManager.ts (#11673) 2023-09-27 10:34:07 +00:00
Kerry 0d367a7c7e
Fix: sync intentional mentions push rules with legacy rules (#11667)
* fix monitorSyncedPushRules when primary rule is disabled

* sync intentional mentions rules

* remove debug log
2023-09-27 00:03:38 +00:00
Michael Telatynski 4d0d024e86
Migrate more strings to translation keys (#11671) 2023-09-26 18:35:55 +01:00
Michael Telatynski 5252361d1e
Migrate more strings to translation keys (#11669) 2023-09-26 13:04:17 +01:00
Andy Balaam 875fcb1a32
Merge pull request #11634 from matrix-org/germain-gg/facepile-offset
Revert "Fix regression around FacePile with overflow (#11527)"
2023-09-26 09:49:37 +01:00
Michael Telatynski 54c88c57ed
Migrate more strings to translation keys (#11665) 2023-09-25 18:12:41 +01:00
Michael Telatynski 0f59298f30
Consolidate conjugation i18n strings (#11660) 2023-09-25 12:18:15 +01:00
Germain d99618263a
Merge branch 'develop' into germain-gg/facepile-offset 2023-09-25 11:33:28 +01:00
Manan Sadana f841757906
Message layout will update according to the selected style (#10170)
* message_layout_preview_update

* using_settings_watcher

* Update FontScalingPanel.tsx

* Marked the class property as optional

* Optional variable was still giving error.

* Fix: typescript fail for layoutWatcherRef

* Fix: using value from SettingStore

* Update src/components/views/settings/FontScalingPanel.tsx

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix: Prettier formatting added for ESList checks

---------

Co-authored-by: Manan Sadana <manan.sadana@cnhteam.onmicrosoft.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-22 16:12:48 +00:00
Michael Telatynski f4d056fd38
Migrate more strings to translation keys (#11651) 2023-09-22 16:39:40 +01:00
Germain 477d79cb92 Fix FacePile 'more' rendering 2023-09-22 16:31:52 +01:00
Richard van der Hoff 6fd46f3bc8
`CreateSecretStorageDialog`: stop using deprecated APIs (#11635)
* Add some tests for `CreateSecretStorageDialog`

* CreateSecretStorageDialog: stop using deprecated APIs
2023-09-22 11:03:05 +00:00
Richard van der Hoff 11f258e62e
`SecureBackupPanel`: stop using deprecated APIs, and other fixes (#11644)
* SecureBackupPanel: replace `isKeyBackupTrusted`

`MatrixClient.isKeyBackupTrusted` -> `CryptoApi.isKeyBackupTrusted`

* SecureBackupPanel: replace `getKeyBackupEnabled`

`MatrixClient.getKeyBackupEnabled` -> `CryptoApi.getActiveSessionBackupVersion`

* SecureBackupPanel: replace `deleteKeyBackupVersion`

`MatrixClient.deleteKeyBackupVersion` -> `CryptoApi.deleteKeyBackupVersion`

* Do not show session count if we have no info

We shouldn't say "zero sessions to back up" if we don't know.

* SecureBackupPanel: distinguish between server and active backup
2023-09-22 10:57:11 +00:00
Germain 224f34c211
Merge branch 'develop' into germain-gg/facepile-offset 2023-09-22 08:46:37 +01:00
Manan Sadana 6504fff25c
Fix: onFinished added which closes the menu (#11647)
Co-authored-by: Manan Sadana <manan.sadana@cnhteam.onmicrosoft.com>
2023-09-21 22:16:47 +00:00
Dominik Henneke 60bed46014
Add an action to upload media files according to MSC4039 (#11311)
Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net>
2023-09-21 19:03:22 +00:00
Richard van der Hoff 902aea8bc4
LogoutDialog: Remove usage of deprecated keybackup API (#11645)
* tests for LogoutDialog

* LogoutDialog: Remove usage of deprecated keybackup API
2023-09-21 18:34:10 +00:00
Michael Telatynski faa7b1521f
Migrate more strings to translation keys (#11642) 2023-09-21 18:16:04 +01:00
Richard van der Hoff c879882558
Don't start key backups when opening settings (#11640)
* SecureBackupPanel: stop calling `checkKeyBackup`

`checkKeyBackup` will start key backups if they aren't already running. In my
not-so-humble opinion, the mere act of opening a settings panel shouldn't change anything.

* fix SecurityUserSettingsTab test
2023-09-21 12:19:38 +00:00
Germain 20fa3f2a14
fix avatar styling in lightbox (#11641) 2023-09-21 11:42:23 +00:00
Germain 54ec7e696d
Render space pills with square corners to match new avatar (#11632) 2023-09-21 11:04:57 +00:00
Michael Telatynski d77b871769
Migrate more strings to translation keys (#11637) 2023-09-21 09:11:26 +01:00
Germain 51e2a161e1 Revert "Fix regression around FacePile with overflow (#11527)"
This reverts commit 93ccccc03d.
2023-09-20 13:54:54 +01:00
Germain fc9caa3269
Linkify room topic (#11631) 2023-09-20 11:51:15 +00:00
Michael Telatynski 1c16eab1cd
Undo Localazy key clobber (#11630)
* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-20 11:45:24 +00:00
Richard van der Hoff 51ec7f04b4
DeviceListener: Remove usage of deprecated keybackup API (#11614)
Primarily this means calling `CryptoApi.getActiveSessionBackupVersion` instead
of `MatrixClisnt.getKeyBackupEnabled`
2023-09-20 11:34:18 +00:00
Michael Telatynski 38315b5e2b
Switch from zxcvbn to @zxcvbn-ts (#11611)
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-09-19 22:34:41 +01:00
Michael Telatynski 5cb8cbd893
Migrate more strings to translation keys (#11613) 2023-09-19 17:16:38 +01:00
maheichyk 86e86ba49f
Show knock rooms in the list (#11573)
* Show knock rooms in the list

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

* Pass userId to IndexedDBStore

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

* Revert "Pass userId to IndexedDBStore"

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

* Code review changes

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-09-19 11:24:35 +00:00
Michael Telatynski ea3067b145
i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-19 10:42:46 +01:00
Michael Telatynski c839123b83
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/cr/72
# Conflicts:
#	src/components/views/rooms/RoomHeader.tsx
#	test/components/views/rooms/__snapshots__/RoomHeader-test.tsx.snap
2023-09-19 10:36:29 +01:00
Johannes Marbach 3fbf38f17d
Escape placeholder before injecting it into the style (#11607)
* Escape placeholder before injecting it into the style

In particular this adds escaping for backslashes which was previously missing.

* Update snapshots

* Add tests
2023-09-19 05:58:53 +00:00
Michael Telatynski e9c9377e78
Migrate more strings to translation keys (#11608) 2023-09-19 07:17:31 +01:00
Kerry 46072caa3a
OIDC: persist refresh token (#11249)
* test persistCredentials without a pickle key

* test setLoggedIn with pickle key

* lint

* type error

* extract token persisting code into function, persist refresh token

* store has_refresh_token too

* pass refreshToken from oidcAuthGrant into credentials

* rest restore session with pickle key

* comments

* prettier

* Update src/Lifecycle.ts

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

* comments

---------

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-09-19 00:06:19 +00:00
Richard van der Hoff 50ee43c4a5
Enable cypress tests for shields with rust crypto (#11589)
* Use new crypto-api for cross user verification

* update verification flow with new APIs

* Replace some calls to `checkUserTrust`

A start on https://github.com/vector-im/crypto-internal/issues/147

* Enable cypress tests

* update tests

* Delegate decisions on event shields to the js-sdk

* rerender after editing events

This is required because a transition from "valid event" to "unencrypted event"
no longer triggers a state change, so the component does not render
itself. Previously, this would be a transition from `verified:
E2EState.Normal` to `verified: null`.

* Update tests

* prettier

* Test coverage

* Enable cypress tests for shields with rust crypto

---------

Co-authored-by: Florian Duros <florianduros@element.io>
2023-09-18 21:34:24 +00:00
Richard van der Hoff cf2340bcad
Replace event verification logic with new code in js-sdk (#11528)
* Use new crypto-api for cross user verification

* update verification flow with new APIs

* Replace some calls to `checkUserTrust`

A start on https://github.com/vector-im/crypto-internal/issues/147

* Enable cypress tests

* update tests

* Delegate decisions on event shields to the js-sdk

* rerender after editing events

This is required because a transition from "valid event" to "unencrypted event"
no longer triggers a state change, so the component does not render
itself. Previously, this would be a transition from `verified:
E2EState.Normal` to `verified: null`.

* Update tests

* prettier

* Test coverage

---------

Co-authored-by: Florian Duros <florianduros@element.io>
2023-09-18 17:12:18 +00:00
Florian Duros 579b0dd10a
ElementR: Cross user verification (#11364)
The hard work has been done in previous PRs in the js-sdk, so this is now just a case of updating a few call sites to use the new APIs.
2023-09-18 17:34:00 +01:00
RMidhunSuresh d5d4b528d5
Remove unused import 2023-09-15 16:45:51 +05:30
RMidhunSuresh 2f69013f6d
Merge branch 'develop' into germain-gg/notifications-labs 2023-09-15 16:28:59 +05:30
Andy Balaam dce42d32e7
Merge pull request #11495 from matrix-org/germain-gg/fix-right-panel-member
Move ViewUser action callback to RoomView
2023-09-15 11:37:26 +01:00
Michael Telatynski 491b43ef09
Migrate more strings to translation keys (#11606) 2023-09-14 18:47:29 +01:00
Johannes Marbach 3608d52c4a
Default intentional mentions (#11602)
* Default intentional mentions

* wait for autocomplete to settle before submitting edit

* lint

* Update strings

---------

Co-authored-by: Kerry Archibald <kerrya@element.io>
2023-09-14 11:36:15 +00:00
Michael Telatynski 1d0c7046c0
i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-14 11:39:17 +01:00
Michael Telatynski e301fe474b
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/cr/72
# Conflicts:
#	test/components/views/rooms/__snapshots__/RoomHeader-test.tsx.snap
2023-09-14 11:33:22 +01:00
RMidhunSuresh 1ba419fe11
Merge branch 'develop' into germain-gg/notifications-labs 2023-09-14 12:14:08 +05:30
Michael Telatynski 237038aa56
Fix RoomView::onSearchClick toggle behaviour (#11605)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-13 19:23:33 +00:00
RMidhunSuresh f7fa9facd7
Let code in RoomView handle all cases 2023-09-13 14:58:01 +05:30
Michael Telatynski 8c35abbb04
Migrate more strings to translation keys (#11601) 2023-09-13 09:30:56 +01:00
RMidhunSuresh 919580fd10
Rename setPhase to showOrHidePanel 2023-09-12 20:48:29 +05:30
Michael Telatynski 89fa7b4b39
Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-12 15:36:22 +01:00
Michael Telatynski d00ba74aaa
Migrate more strings to translation keys (#11599) 2023-09-12 08:36:06 +01:00
Michael Telatynski 68e8fa7c8c
Tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-12 08:35:07 +01:00
Michael Telatynski 0a36af7cc0
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/cr/72 2023-09-11 17:50:26 +01:00
Michael Telatynski 623212ea0c
i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-11 17:49:01 +01:00
Charly Nguyen 5cf2e1514b
Use knock rooms sync to reflect the knock state (#11596)
Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
2023-09-11 16:33:40 +00:00
Charly Nguyen bb91df1d3c
Avoid rendering view-message link in RoomKnocksBar unnecessarily (#11598)
Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
2023-09-11 13:33:27 +00:00
Michael Telatynski 569832bc24
Handle ManagedHybrid widgets in `useRoomCall` and mark them in the widget state event
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-11 11:39:30 +01:00
Michael Telatynski 9479433b0e
Fix avatars in public room & space search being flex shrunk (#11580) 2023-09-08 11:01:13 +01:00
Michael Telatynski 8b9719d46a
Migrate more strings to translation keys (#11579) 2023-09-08 09:58:31 +01:00
Charly Nguyen 0059c7c1ee
Allow setting knock room directory visibility (#11529)
* Allow setting knock room directory visibility

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

* Apply PR feedback

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

---------

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
2023-09-08 01:00:48 +00:00
renovate[bot] d30c85772a
Update all non-major dependencies (#11383)
* Update all non-major dependencies

* Pin back eslint-plugin-deprecate

* Fix types

* typo

* Fix more typos

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-07 17:40:51 +00:00
RMidhunSuresh 159deec937
Merge branch 'develop' into germain-gg/fix-right-panel-member 2023-09-07 14:52:20 +05:30
nurjin jafar ce96853ad7
Notify users about denied access on ask-to-join rooms (#11480)
* Implement denied request mask and logic

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

* refactor / fix deny requests isues

* fix tests create denied message test

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

* add another test for the primary action for denied request

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

* fix linter issues

Signed-off-by: nurjinn jafar <nurjin.jafar@nordeck.net>

* regenerate translation

Signed-off-by: nurjinn jafar <nurjin.jafar@nordeck.net>

* fix translation and minor refactoring
Signed-off-by: nurjinn jafar <nurjin.jafar@nordeck.net>

* segment into 4

* Remove parallel from Cypress command to avoid talking to Cypress Cloud

* Re-add --parallel flag for Percy

* Prevent event propagation when clicking icon buttons (#11515)

* Prevent event propagation when clicking icon buttons

* Inhibit view user on click behaviour for room header face pile

* Update snapshot

* Add a 'm.relates_to' to edits in receipt tests and disable failing tests (#11501)

* Add a 'm.relates_to' to edits in receipt tests

* Disable a test that fails with real edits

* Wait for the room to be read after we mark it as read

* Skip tests that are failing because of inconsistencies between local and CI behaviour

* Allow creating public knock rooms (#11481)

* Allow creating public knock rooms

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

* Apply PR feedback

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

* Apply PR feedback

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

---------

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

* Collect `console.debug` logs during cypress tests (#11478)

In order for the logs collected by cypress to actually be useful, we really
need `cons:debug`.

* Migrate more strings to translation keys (#11522)

* Only show Search button in RoomSummaryCard if new room UI enabled (#11524)

* Only show Search button in RoomSummaryCard if new room UI enabled

* Update snapshot

* Update vector-im (#11526)

* Update vector-im

* Update snapshots of Compound Avatars

* Update snapshots of Compound Avatars

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

* Migrate more strings to translation keys (#11530)

* Fix regression around FacePile with overflow (#11527)

* Work around compound-web AvatarStack not applying overlap to non-Avatars

* Fix FacePile overflow tile not being layed out correctly

* Use RoomStateEvent.Update for knocks (#11516)

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

* Cypress tests for event shields (#11525)

* Factor downloadKey out to `utils.ts`

* Add a new `describe` block for event shields

* create a beforeEach block

* Cypress tests for event shields

* Document how to match the CI config for Cypress (#11531)

* Document how to match the CI config for Cypress

* Clarify language about needing Chrome

* Move Cypress info into the Cypress-specific docs

* Migrate more strings to translation keys (#11532)

---------

Signed-off-by: AHMAD KADRI <52747422+ahmadkadri@users.noreply.github.com>
Signed-off-by: nurjinn jafar <nurjin.jafar@nordeck.net>
Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
Co-authored-by: AHMAD KADRI <52747422+ahmadkadri@users.noreply.github.com>
Co-authored-by: Kerry Archibald <kerrya@element.io>
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
Co-authored-by: Johannes Marbach <johannesm@element.io>
Co-authored-by: Germain <germains@element.io>
Co-authored-by: Charly Nguyen <1422657+charlynguyen@users.noreply.github.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-07 08:07:43 +00:00
Michael Telatynski 36a7a96e0e
Migrate more strings to translation keys (#11574) 2023-09-07 10:37:09 +01:00
R Midhun Suresh 601f219480
Merge branch 'develop' into germain-gg/notifications-labs 2023-09-07 13:10:23 +05:30
Michael Telatynski c825e34f16
Fix EventTile avatars being rendered with a size of 0 instead of hidden (#11558) 2023-09-06 19:55:24 +00:00
Michael Telatynski 5a2595a093
Rebuild hook around room header call management
And tweak behaviour around ongoing yet unpinned calls to add a shortcut to quickly pin
2023-09-06 17:41:52 +01:00
Michael Telatynski 5f0501a18a
Fix double-tooltips 2023-09-06 17:14:18 +01:00
RMidhunSuresh 9ceac6eae1
Merge branch 'develop' into germain-gg/notifications-labs 2023-09-06 19:13:10 +05:30
Michael Telatynski 85be845f16
Migrate more strings to translation keys (#11532) 2023-09-05 17:52:06 +01:00
Charly Nguyen fca9f0e91d
Use RoomStateEvent.Update for knocks (#11516)
Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
2023-09-05 10:26:37 +00:00
Michael Telatynski 93ccccc03d
Fix regression around FacePile with overflow (#11527)
* Work around compound-web AvatarStack not applying overlap to non-Avatars

* Fix FacePile overflow tile not being layed out correctly
2023-09-05 09:11:26 +00:00
Michael Telatynski 9eda619395
Migrate more strings to translation keys (#11530) 2023-09-05 10:44:41 +01:00
Michael Telatynski 7b62abc14b
Only show Search button in RoomSummaryCard if new room UI enabled (#11524)
* Only show Search button in RoomSummaryCard if new room UI enabled

* Update snapshot
2023-09-04 17:48:55 +00:00
Michael Telatynski bf68e4afb6
Migrate more strings to translation keys (#11522) 2023-09-04 19:41:39 +01:00
Charly Nguyen 2ff1056cb2
Allow creating public knock rooms (#11481)
* Allow creating public knock rooms

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

* Apply PR feedback

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

* Apply PR feedback

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

---------

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
2023-09-04 16:09:44 +00:00
Johannes Marbach 44d4de14c9 Merge branch 'develop' into germain-gg/notifications-labs
# Conflicts:
#	src/i18n/strings/en_EN.json
#	test/components/views/rooms/__snapshots__/RoomHeader-test.tsx.snap
2023-09-04 14:08:50 +02:00
Germain b75b6f7f74
Prevent event propagation when clicking icon buttons (#11515)
* Prevent event propagation when clicking icon buttons

* Inhibit view user on click behaviour for room header face pile

* Update snapshot
2023-09-04 11:42:27 +00:00
Michael Telatynski a94cb8fb0c
Migrate more strings to translation keys (#11512) 2023-09-04 10:20:34 +01:00
Germain 4e6148d798
Merge branch 'develop' into germain-gg/fix-right-panel-member 2023-09-01 14:42:42 +01:00
Andy Balaam ce8d07fa72
Only display RoomKnocksBar when feature flag is enabled (#11513) 2023-09-01 12:03:53 +00:00
Michael Telatynski fbe5a7d4b8
Use Intl.RelativeTimeFormat for "last week" and "last month" (#11511)
* Use Intl.RelativeTimeFormat for "last week" and "last month"

* i18n
2023-09-01 11:52:24 +00:00
Germain 1b8d00d1d4 Merge branch 'develop' into germain-gg/fix-right-panel-member 2023-09-01 12:36:49 +01:00
Sumner Evans a54f2ff878
Render custom images in reactions (#11087)
* Add support for rendering custom emojis in reactions

Signed-off-by: Sumner Evans <sumner@beeper.com>

* Include custom reaction short names in tooltips

Signed-off-by: Sumner Evans <sumner@beeper.com>

* Use custom reaction shortcode for accessibility

This uses the shortcode in the following places:

* The aria-label of the reaction buttons
* The alt text for the reaction image

Signed-off-by: Sumner Evans <sumner@beeper.com>

* Remove explicit instantiation of `customReactionName` variable and add types

Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Put custom reaction images behind a labs flag

Signed-off-by: Sumner Evans <sumner@beeper.com>

* Use UnstableValue for finding the shortcode

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
Signed-off-by: Sumner Evans <sumner@beeper.com>

* Move calculation of whether to render custom reaction images up to ReactionRow

Signed-off-by: Sumner Evans <sumner@beeper.com>

* Make alt text more friendly when custom reaction doesn't have shortcode

Signed-off-by: Sumner Evans <sumner@beeper.com>

* Add test for ReactionsRowButton

Signed-off-by: Sumner Evans <sumner@beeper.com>

* Apply suggestions from code review

Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Don't use Optional

Signed-off-by: Sumner Evans <sumner@beeper.com>

* Fix ReactionsRowButton test

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
Signed-off-by: Sumner Evans <sumner@beeper.com>

---------

Signed-off-by: Sumner Evans <sumner@beeper.com>
Co-authored-by: Tulir Asokan <tulir@maunium.net>
Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-01 10:16:24 +00:00
Germain 91e23de234 Update wording for the notifications labs flag 2023-09-01 11:00:34 +01:00
Germain d551469543
Room header UI updates (#11507)
* Fix performance issues with useRoomMembers

With the current implementation it would create a new function, with leading: true, rendering the whole throttling useless

* Add public room indicator

* Format room members count better

* Add public room test

* Add search to room summary card

* Update settings UI

* Update snapshot

* Remove default title attribute
2023-09-01 09:45:50 +00:00
Richard van der Hoff 30d997e21c
Remove green "verified" bar for e2e events (#11496)
There is a little-known feature where, if you have verified a user (eg, via the
emoji game), then when you mouse-over a message that they sent, it gets a green
highlight.

We also show a brown bar sometimes, and according to the CSS there may be a
yellow bar too?

Very few people seem to know this exists, and even if you do know it exists
nobody seems to understand what exactly the various colours are supposed to be.

So, rather than porting this magic mystery feature to Rust Crypto, let's rip it
out.
2023-09-01 09:41:14 +00:00
Charly Nguyen 6faad7aae3
Fix avatars of knock members for people tab of room settings (#11506)
Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
2023-09-01 09:40:35 +00:00
Michael Telatynski b1f17f5478
Migrate more strings to translation keys (#11510) 2023-09-01 10:53:32 +01:00
Michael Telatynski 0e8f79b268
i18n 2023-09-01 08:30:05 +01:00
Michael Telatynski f88d76e2ea
Migrate more strings to translation keys (#11499) 2023-09-01 08:26:48 +01:00
Germain de88a7c8df Apply labs flag to legacy room header too 2023-09-01 07:56:29 +01:00
Germain 6b57ab53df Remove ReloadOnChangeController for feature_notifications 2023-09-01 07:50:18 +01:00
Germain a5e186b978 Move notifications bell back in labs 2023-08-31 21:21:32 +01:00
Charly Nguyen 45094bda7c
Introduce room knocks bar (#11475)
* Introduce room knocks bar

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

* Apply PR feedback

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

---------

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
2023-08-31 13:43:38 +00:00
Germain f948a8f798
Update member count on room summary update (#11488)
* Update member count on room summary update

* Fix performance regression for large rooms

* Update useRoomMemberCount JSDoc

* Improve throttle updates definition

* remove useCallback
2023-08-31 13:36:47 +00:00
Germain 77a468f8e8
Extract place call logic to its own file (#11494)
* Extract place call logic to its own file

* Simplify makeCall by not using useCallback

* lint fix
2023-08-31 13:27:15 +00:00
Germain 649e5202d4 Clarifying documentation for setPhase 2023-08-31 14:01:23 +01:00
Germain 7836de77d0 Fix SpaceRoomView member list back button not working 2023-08-31 13:46:22 +01:00
Germain 46037d2357
Add E2E status in room header (#11493)
* Add E2E status in room header

* Clearer logic for dmRoomList

Co-authored-by: Andy Balaam <andy.balaam@matrix.org>

* Add test for E2E shield

* Remove dead code

---------

Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
2023-08-31 11:06:14 +00:00
Germain 870f40575c Merge branch 'develop' into germain-gg/fix-right-panel-member 2023-08-31 11:37:41 +01:00
Michael Telatynski 6b3243b27b
Migrate more strings to translation keys (#11498) 2023-08-31 11:22:10 +01:00
Michael Telatynski 9329b896b3
Port more strings to translation keys (#11474)
* Port composer formatting strings to translation keys

```
replace "Bold" "composer|format_bold"
replace "Italic" "composer|format_italic"
replace "Underline" "composer|format_underline"
replace "Strikethrough" "composer|format_strikethrough"
replace "Bulleted list" "composer|format_unordered_list"
replace "Numbered list" "composer|format_ordered_list"
replace "Indent increase" "composer|format_increase_indent"
replace "Indent decrease" "composer|format_decrease_indent"
replace "Code" "composer|format_inline_code"
replace "Code block" "composer|format_code_block"
replace "Link" "composer|format_link"

copy "composer|format_bold" "Bold"
copy "composer|format_link" "Link"
copy "composer|format_inline_code" "Code"
```

* Port role strings to translation keys

```
copy "Default" "power_level|default"
copy "Restricted" "power_level|restricted"
copy "Moderator" "power_level|moderator"
copy "Admin" "power_level|admin"
```

* Port bug reporting strings to translation keys

```
replace "If you've submitted a bug via GitHub, debug logs can help us track down the problem. " "bug_reporting|introduction"
replace "Debug logs contain application usage data including your username, the IDs or aliases of the rooms you have visited, which UI elements you last interacted with, and the usernames of other users. They do not contain messages." "bug_reporting|description"
copy "To report a Matrix-related security issue, please read the Matrix.org <a>Security Disclosure Policy</a>." "bug_reporting|matrix_security_issue"
replace "Submit debug logs" "bug_reporting|submit_debug_logs"
replace "Bug reporting" "bug_reporting|title"
replace "If there is additional context that would help in analysing the issue, such as what you were doing at the time, room IDs, user IDs, etc., please include those things here." "bug_reporting|additional_context"
replace "Send logs" "bug_reporting|send_logs"
replace "GitHub issue" "bug_reporting|github_issue"
replace "Download logs" "bug_reporting|download_logs"
copy "Before submitting logs, you must <a>create a GitHub issue</a> to describe your problem." "bug_reporting|before_submitting"
```

* i18n

* Port time duration strings to translation keys

```
replace "%(hours)sh %(minutes)sm %(seconds)ss left" "time|hours_minutes_seconds_left"
replace "%(minutes)sm %(seconds)ss left" "time|minutes_seconds_left"
replace "%(seconds)ss left" "time|seconds_left"
replace "%(date)s at %(time)s" "time|date_at_time"
replace "%(value)sd" "time|short_days"
replace "%(value)sh" "time|short_hours"
replace "%(value)sm" "time|short_minutes"
replace "%(value)ss" "time|short_seconds"
replace "%(days)sd %(hours)sh %(minutes)sm %(seconds)ss" "time|short_days_hours_minutes_seconds"
replace "%(hours)sh %(minutes)sm %(seconds)ss" "time|short_hours_minutes_seconds"
replace "%(minutes)sm %(seconds)ss" "time|short_minutes_seconds"
```

* i18n
2023-08-31 07:35:34 +00:00
Germain 9cfccda97e Use new setPhase helper in RoomHeader component 2023-08-31 07:50:33 +01:00
Germain b37a808985 Move ViewUser action callback to RoomView 2023-08-31 07:46:09 +01:00
Germain dc70ea5059
Add face pile to rooms (#11356)
* Add face pile to rooms

* Migrate FacePile to use Compound

* Fix CI

* Use FacePile component in room header

* Add facepile tests

* Make dead code CI happy

* Lint

* Fix tests

* Fix CSS selectors

* Update room face pile snapshot

* Use useMemo instead of useState and useEffect

* Remove unused imports

* Update snapshot

* Update snapshot
2023-08-30 17:55:02 +00:00
Šimon Brandner af268b4a03
Support for embedded E2EE (#11492)
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-30 17:30:29 +00:00
Germain 6aa86a858f
Fixes read receipt avatar offset (#11483)
* Fixes read receipt avatar offset

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

* Fix avatar collapsing in thread list

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

* Make composer pills use new avatar design

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

* Update snapshots

* Update UserInfo snapshot

* Update HTMLExport snapshot

* Fixes avatar placeholder font

Fixes https://github.com/vector-im/element-web/issues/26061
2023-08-30 11:47:35 +00:00
Richard van der Hoff 6cc42b7e2e
Improve error handling for `DeviceListener` (#11484)
... particularly for when it races with a client shutdown.
2023-08-30 09:35:15 +00:00
Charly Nguyen 50160b9969
Allow requesting to join knock rooms via spotlight (#11482)
Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
2023-08-30 06:54:26 +00:00
Germain 200631f3a5
Remove unwanted console.table (#11477) 2023-08-29 11:43:02 +00:00
Germain 968213a5d7
Fix avatar defects (#11473)
* Fix avatar initial centering in pills for bubbles

* Express user info avatar size in pixes

* fix link pill icon

* Fix snapshot test
2023-08-29 07:57:23 +00:00
Michael Telatynski 9d417cea7c
Migrate credits translations to IDs (#11453)
* Migrate credits translations to IDs

* Discard changes to src/i18n/strings/da.json

* Discard changes to src/i18n/strings/bg.json

* Discard changes to src/i18n/strings/ar.json

* Discard changes to src/i18n/strings/az.json

* Discard changes to src/i18n/strings/be.json

* Discard changes to src/i18n/strings/ca.json

* Discard changes to src/i18n/strings/el.json

* Discard changes to src/i18n/strings/en_US.json

* Discard changes to src/i18n/strings/eo.json

* Discard changes to src/i18n/strings/eo.json

* Discard changes to src/i18n/strings/eu.json

* Discard changes to src/i18n/strings/fa.json

* Discard changes to src/i18n/strings/ga.json

* Discard changes to src/i18n/strings/gl.json

* Discard changes to src/i18n/strings/he.json

* Discard changes to src/i18n/strings/hi.json

* Discard changes to src/i18n/strings/hr.json

* Discard changes to src/i18n/strings/is.json

* Discard changes to src/i18n/strings/ja.json

* Discard changes to src/i18n/strings/jbo.json

* Discard changes to src/i18n/strings/kab.json

* Discard changes to src/i18n/strings/ko.json

* Discard changes to src/i18n/strings/lt.json

* Discard changes to src/i18n/strings/zh_Hans.json

* Discard changes to src/i18n/strings/tzm.json

* Discard changes to src/i18n/strings/tr.json

* Discard changes to src/i18n/strings/th.json

* Discard changes to src/i18n/strings/te.json

* Discard changes to src/i18n/strings/ta.json

* Discard changes to src/i18n/strings/sr.json

* Discard changes to src/i18n/strings/ru.json

* Discard changes to src/i18n/strings/ro.json

* Discard changes to src/i18n/strings/pt_BR.json

* Discard changes to src/i18n/strings/pt.json

* Discard changes to src/i18n/strings/oc.json

* Discard changes to src/i18n/strings/nn.json

* Discard changes to src/i18n/strings/nl.json

* Discard changes to src/i18n/strings/nb_NO.json

* Discard changes to src/i18n/strings/ml.json

* Discard changes to src/i18n/strings/lv.json

* Discard changes to src/i18n/strings/lo.json
2023-08-25 10:37:13 +00:00
Germain 23897dff4f
Fix colour of avatar and colour matching with username (#11470)
* Use consistent colouring of username with avatar

* Upgrade Compound to fix Firefox issue

* Use the approapriate color shade for usernames

* Use the approapriate color shade for usernames

* Upgrade Compound

* Fix tests
2023-08-24 17:12:28 +00:00
Richard van der Hoff 18866e3856
Fix incompatibility of Soft Logout with Element-R (#11468)
* Fix incompatibility of Soft Logout with Element-R

This `countSessionsNeedingBackup` isn't available in Element-R, and I don't
really understand the logic behind changing the message when we have sessions
that are awaiting backup. Let's just rip it out.

* i18n

* update snapshot
2023-08-24 13:27:32 +00:00
Richard van der Hoff 9fb7d94c2b
Add debug to diagnose flaky composer test (#11467)
Part of my attempts to fix https://github.com/vector-im/element-web/issues/26037.

Nobody seems to know how this currently works, so let's add a load of debugging.
2023-08-24 12:36:57 +01:00
Michael Telatynski f57d8279de
Migrate labs translations to IDs (#11454)
* Migrate labs displayName translations to IDs

```

./node_modules/matrix-web-i18n/scripts/rekey.js "Video rooms" "labs|video_rooms"
./node_modules/matrix-web-i18n/scripts/rekey.js "New Notification Settings" "labs|notification_settings"
./node_modules/matrix-web-i18n/scripts/rekey.js "Let moderators hide messages pending moderation." "labs|msc3531_hide_messages_pending_moderation"
./node_modules/matrix-web-i18n/scripts/rekey.js "Report to moderators" "labs|report_to_moderators"
./node_modules/matrix-web-i18n/scripts/rekey.js "Render LaTeX maths in messages" "labs|latex_maths"
./node_modules/matrix-web-i18n/scripts/rekey.js "Message Pinning" "labs|pinning"
./node_modules/matrix-web-i18n/scripts/rekey.js "Rich text editor" "labs|wysiwyg_composer"
./node_modules/matrix-web-i18n/scripts/rekey.js "Render simple counters in room header" "labs|state_counters"
./node_modules/matrix-web-i18n/scripts/rekey.js "New ways to ignore people" "labs|mjolnir"
./node_modules/matrix-web-i18n/scripts/rekey.js "Support adding custom themes" "labs|custom_themes"
./node_modules/matrix-web-i18n/scripts/rekey.js "Offline encrypted messaging using dehydrated devices" "labs|dehydration"
./node_modules/matrix-web-i18n/scripts/rekey.js "Show HTML representation of room topics" "labs|html_topic"
./node_modules/matrix-web-i18n/scripts/rekey.js "Show info about bridges in room settings" "labs|bridge_state"
./node_modules/matrix-web-i18n/scripts/rekey.js "Jump to date (adds /jumptodate and jump to date headers)" "labs|jump_to_date"
./node_modules/matrix-web-i18n/scripts/rekey.js "Sliding Sync mode" "labs|sliding_sync"
./node_modules/matrix-web-i18n/scripts/rekey.js "Element Call video rooms" "labs|element_call_video_rooms"
./node_modules/matrix-web-i18n/scripts/rekey.js "New group call experience" "labs|group_calls"
./node_modules/matrix-web-i18n/scripts/rekey.js "Allow screen share only mode" "labs|allow_screen_share_only_mode"
./node_modules/matrix-web-i18n/scripts/rekey.js "Live Location Sharing" "labs|location_share_live"
./node_modules/matrix-web-i18n/scripts/rekey.js "Dynamic room predecessors" "labs|dynamic_room_predecessors"
./node_modules/matrix-web-i18n/scripts/rekey.js "Voice broadcast" "labs|voice_broadcast"
./node_modules/matrix-web-i18n/scripts/rekey.js "Rust cryptography implementation" "labs|rust_crypto"
./node_modules/matrix-web-i18n/scripts/rekey.js "Hide notification dot (only display counters badges)" "labs|hidebold"
./node_modules/matrix-web-i18n/scripts/rekey.js "Enable intentional mentions" "labs|intentional_mentions"
./node_modules/matrix-web-i18n/scripts/rekey.js "Enable ask to join" "labs|ask_to_join"
./node_modules/matrix-web-i18n/scripts/rekey.js "Under active development, new room header & details interface" "labs|new_room_decoration_ui"
```

* Migrate video rooms beta translations to IDs

```

./node_modules/matrix-web-i18n/scripts/rekey.js "A new way to chat over voice and video in %(brand)s." "labs|video_rooms_a_new_way_to_chat"
./node_modules/matrix-web-i18n/scripts/rekey.js "Video rooms are always-on VoIP channels embedded within a room in %(brand)s." "labs|video_rooms_always_on_voip_channels"

./node_modules/matrix-web-i18n/scripts/rekey.js "How can I create a video room?" "labs|video_rooms_faq1_question"
./node_modules/matrix-web-i18n/scripts/rekey.js "Use the “+” button in the room section of the left panel." "labs|video_rooms_faq1_answer"
./node_modules/matrix-web-i18n/scripts/rekey.js "Can I use text chat alongside the video call?" "labs|video_rooms_faq2_question"
./node_modules/matrix-web-i18n/scripts/rekey.js "Yes, the chat timeline is displayed alongside the video." "labs|video_rooms_faq2_answer"
```

* i18n & `./node_modules/matrix-web-i18n/scripts/rekey.js --copy "labs|voice_broadcast" "Voice broadcast"`

* Port more labs strings to translation keys
2023-08-24 10:16:06 +00:00
Germain 6d6902a41f
Remove dead TooltipButton component (#11466) 2023-08-24 09:58:59 +00:00
Richard van der Hoff 839c0a720c
Lock out the first tab if Element is opened in a second tab. (#11425)
* Implement session lock dialogs

* Bump analytics-events package

* clean up resetJsDomAfterEach

* fix types

* update snapshot

* update i18n strings
2023-08-24 08:28:43 +00:00
Germain 09c5e06d12
Change avatar to use Compound implementation (#11448)
* Move avatar to new compound implementation

* Make space avatars square

* Remove reference to the avatar initial CSS class

* remove references to mx_BaseAvatar_image

* Fixe test suites

* Fix accessbility violations

* Add ConfirmUserActionDialog test

* Fix tests

* Add FacePile test

* Fix items clipping in members list

* Fix user info avatar sizing

* Fix tests
2023-08-24 03:48:35 +00:00
Germain 3acc9059ab
Add Voice and Video call in room header (#11444)
* Add Voice and Video call in room header

* Add thread icon in room header

* Add room notification icon to room header

* Fix linting

* Add tests for buttons in room header

* Add JSDoc

* micro optimisations

* Fix call disabled when hanging up

* Fix disabled state change on members count update

* Exclude functional members from members count optionally

* i18n
2023-08-23 14:13:40 +00:00
Michael Telatynski c2e814ce95
Migrate keyboard translations to IDs (#11452)
* Migrate keyboard translations to IDs

```
./node_modules/matrix-web-i18n/scripts/rekey.js "Page Up" "keyboard|page_up"
./node_modules/matrix-web-i18n/scripts/rekey.js "Page Down" "keyboard|page_down"
./node_modules/matrix-web-i18n/scripts/rekey.js --copy "Home" "keyboard|home"
./node_modules/matrix-web-i18n/scripts/rekey.js "Esc" "keyboard|escape"
./node_modules/matrix-web-i18n/scripts/rekey.js "Enter" "keyboard|enter"
./node_modules/matrix-web-i18n/scripts/rekey.js "End" "keyboard|end"
./node_modules/matrix-web-i18n/scripts/rekey.js "Alt" "keyboard|alt"
./node_modules/matrix-web-i18n/scripts/rekey.js "Ctrl" "keyboard|control"
./node_modules/matrix-web-i18n/scripts/rekey.js "Shift" "keyboard|shift"
./node_modules/matrix-web-i18n/scripts/rekey.js --copy "Space" "keyboard|space"
./node_modules/matrix-web-i18n/scripts/rekey.js "[number]" "keyboard|number"
```

* i18n

* Revert strings

* i18n

* i18n
2023-08-23 11:49:29 +00:00
Michael Telatynski d5cacff6c3
Create more `action_*` common strings (#11438) 2023-08-23 11:57:22 +01:00
Michael Telatynski 99e80dd296
Consume more imports from matrix-js-sdk/src/matrix (#11449) 2023-08-23 09:04:25 +00:00
Michael Telatynski aa6e3654b8
Create more `common_*` common strings (#11439) 2023-08-23 10:25:33 +01:00
Michael Telatynski df4a2218d7
Align `action_*` strings with Element X project in Localazy (#11437) 2023-08-22 20:55:15 +01:00
Michael Telatynski bdd3710f25
i18n 2023-08-22 19:06:14 +01:00
Michael Telatynski c40141cc4f
Align `common_*` strings with Element X project in Localazy (#11434) 2023-08-22 18:47:33 +01:00
Michael Telatynski 1a49a38f04
Align `a11y_*` strings with Element X project in Localazy (#11435)
* Align `a11y_*` strings with Element X project in Localazy

* Update matrix-web-i18n
2023-08-22 16:15:25 +00:00
Michael Telatynski 0d8b58cdd7
Get country names from the browser instead of manual i18n (#11428)
* Get country names from the browser instead of manual i18n

* Make getUserLanguage more resilient to bad inputs

* Improve coverage
2023-08-22 16:15:16 +00:00
Michael Telatynski ac70f7ac9b
Fix instances of double translation and guard translation calls using typescript (#11443)
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-08-22 16:32:05 +01:00
Richard van der Hoff d13b6e1b41
Add mechanism to check only one instance of the app is running (#11416)
* Add mechanism to check only one instance of the app is running

This isn't used yet, but will form part of the solution to
https://github.com/vector-im/element-web/issues/25157.

* disable instrumentation for SessionLock

* disable coverage reporting

* exclude SessionLock in sonar.properties

* Revert "disable coverage reporting"

This reverts commit 80c4336f76ec8e47e376b6744ef612a73299d14f.

* only disable session storage

* use pagehide instead of visibilitychange

* Add `checkSessionLockFree`

* Give up waiting for a lock immediately when someone else claims

* Update src/utils/SessionLock.ts
2023-08-22 14:10:47 +00:00
Michael Telatynski 4de315fb6c
Use Intl for names of languages (#11427)
* Use Intl for names of languages

* Tweak Intl language style from "American English" -> "US English"

* Update tests

* Fix tests

* Consolidate languageHandler-test files

* Improve coverage

* Consistent casing for languages in dropdown

* Update LanguageDropdown.tsx

* Delint & update snapshot

* Fix tests

* Improve coverage

`of` will fallback to the given code with fallback=code (default)
2023-08-22 14:07:16 +00:00
Kerry 3684c77cfe
Hide account deactivation for externally managed accounts (#11445)
* util for account url

* test cases

* disable multi session selection on device list

* remove sign out all from context menus when oidc-aware

* comment

* remove unused param

* typo

* dont show account deactivation for externally managed accounts

* Update snapshots - field ID changed

---------

Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
2023-08-22 11:51:16 +00:00
Kerry 23196d49e1
OIDC: Redirect to delegated auth provider when signing out (#11432)
* util for account url

* test cases

* disable multi session selection on device list

* remove sign out all from context menus when oidc-aware

* comment

* remove unused param

* redirect to auth provider when signing out

* open auth provider in new tab, refresh sessions on return

* correct comment

* fix bad copy paste

* try to make sonar happy

* Update for latest revision of MSCs

* Update SessionManagerTab-test.tsx

* Make InteractiveAuthCallback async and await it

---------

Co-authored-by: Hugh Nimmo-Smith <hughns@matrix.org>
Co-authored-by: Hugh Nimmo-Smith <hughns@users.noreply.github.com>
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
2023-08-22 11:15:35 +00:00
Kerry 5c1b62cf99
Disable 3pid fields in settings when `m.3pid_changes` capability is disabled (#11430)
* check m.3pid_changes capability in user settings

* comments

* assume 3pid_changes is true for older evrsions
2023-08-22 06:07:10 +00:00
Kerry dfded8d4d3
OIDC: disable multi session signout for OIDC-aware servers in session manager (#11431)
* util for account url

* test cases

* disable multi session selection on device list

* remove sign out all from context menus when oidc-aware

* comment

* remove unused param

* typo
2023-08-22 02:25:34 +00:00
Michael Telatynski 3c52ba0c92
Use Intl to localise dates and times (#11422)
* Use Intl to generate better internationalised date formats

* Get `Yesterday` and `Today` from Intl also

* Correct capitalisation blunder

* Fix formatTime include weekday

* Iterate

* Fix tests

* use jest setSystemTime

* Discard changes to cypress/e2e/settings/general-user-settings-tab.spec.ts

* Discard changes to res/css/_components.pcss

* Discard changes to res/css/views/elements/_LanguageDropdown.pcss

* Discard changes to src/components/views/elements/LanguageDropdown.tsx

* Add docs & tests for getDaysArray & getMonthsArray

* Discard changes to test/components/structures/__snapshots__/MatrixChat-test.tsx.snap

* Consolidate consts

* Improve testing & documentation

* Update snapshot

* Apply suggestions from code review

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

* Iterate

* Clarify comments

* Update src/DateUtils.ts

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

* Specify hourCycle

* Discard changes to test/components/views/settings/devices/DeviceDetails-test.tsx

* Update comments

---------

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-08-21 19:38:59 +00:00
Michael Telatynski d4571aef68
Consume @matrix-org/emojibase-bindings (#11433) 2023-08-21 20:06:40 +01:00
Dominik Henneke 5c43054bfe
Implement updated open dialog method of the Module API (#11395)
* Implement updated open dialog method

Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net>

* Apply the review comments

Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net>

* Add unit tests for the module system dialog

Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net>

* Bump @matrix-org/react-sdk-module-api from 1.0.0 to 2.0.0

Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net>

* Run prettier

Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net>

* Apply review comments

Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net>

---------

Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net>
2023-08-21 12:09:17 +00:00
Michael Telatynski dd6097c568
Polish & delabs `Exploring public spaces` feature (#11423)
* Iterate search public spaces UX

* Tweak iconography in spotlight

* Delabs `Exploring public spaces`

* Tweak msc3827 v1.4 support discovery

* i18n

* Delete stale test

* Fix tests

* Iterate

* Iterate PR based on review

* Improve types

* Add shortcut to search for public spaces to create space menu

* Update import

* Add org.matrix.msc3827.stable filtering

* Fix tests

* silence some errors
2023-08-21 09:39:20 +00:00
Michael Telatynski d81f71f993
Load SAS Emoji translations from `@matrix-org/spec` (#11429)
* Remove last instance of componentWillMount

* Load SAS Emoji translations from @matrix-org/spec

* Fix import

* Test normalisation on both sides

* update comment for @richvdh

* Delint
2023-08-21 08:15:22 +00:00
Michael Telatynski ff9d4905d5
Fix export type "Current timeline" to match its behaviour to its name (#11426)
* Fix export type "Current timeline" to match its behaviour to its name

* Iterate tests
2023-08-18 11:58:58 +00:00
Richard van der Hoff 4a5b686aaa
Update MatrixChat-test to `restoreAllMocks` after each test (#11424)
* Update MatrixChat to  `restoreAllMocks` after each test

This helps keep tests independent.

* more MatrixChat fixes
2023-08-17 19:06:45 +00:00
Denis Kasak 5aefd4652a
Treat lists with a single empty item as plain text, not Markdown. (#6833)
* Treat lists with a single empty item as plain text, not Markdown.

This allows users to send simple messages such as `-`, `+`, `*` and
`2021.` without Element Web mangling them into a nonsensical empty list.
As soon as any non-whitespace content is added to the item, it switches
back to treating it as a list of one item.

Fixes vector-im/element-web#7631.

* Fix type errors.

* Lint.

---------

Co-authored-by: Michael Weimann <michaelw@matrix.org>
Co-authored-by: Johannes Marbach <johannesm@element.io>
2023-08-17 16:37:19 +00:00
Michael Telatynski aee6247ad8
Switch to nested object pluralisation format for i18n files (#11412) 2023-08-16 20:08:54 +01:00
Michael Telatynski 6b14ecfdf9
Re-key all |zero-pluralised translations for Localazy compatibility (#11417)
* Re-key all |zero-pluralised translations for Localazy compatibility

* Add missing interpolation variable

* i18n

* Add test coverage

* Improve coverage
2023-08-16 15:26:21 +00:00
Element Translate Bot a5107518b5
Translations update from Weblate (#11418)
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: Priit Jõerüüt <riot@joeruut.com>
Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: Vri <element@vrifox.cc>
Co-authored-by: Glandos <bugs-github@antipoul.fr>
Co-authored-by: random <dictionary@tutamail.com>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Someone <hahahahacker2009@gmail.com>
Co-authored-by: LinAGKar <linus.kardell@gmail.com>
Co-authored-by: Nicholas Winterhalter <gewinum@gmail.com>
Co-authored-by: phardyle <bradney_ccea@aleeas.com>
Co-authored-by: Bubanio85 <brwa.baban@bearingpoint.com>
2023-08-16 15:54:10 +01:00
Charly Nguyen d569ba0cfe
Allow managing room knocks (#11404)
* Allow managing room knocks

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

* Apply PR feedback

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

* Apply Sonar feedback

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

---------

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
2023-08-16 08:16:19 +00:00
Germain 373a34c3d1
Create flexbox layout helper (#11411) 2023-08-15 17:43:39 +00:00
Michael Telatynski ad73b0c16e
Switch to importing most things from the main matrix-js-sdk export (#11406)
* Switch to importing most things from the main matrix-js-sdk export

* fix imports

* Iterate

* Fix tests
2023-08-15 15:00:17 +00:00
Michael Telatynski 0842559fb2
Simplify registration with email validation (#11398) 2023-08-15 16:14:53 +01:00
Michael Telatynski 27d79458da
Remove dead & duplicated code (#11405)
* Remove dead code

* Make dead code happier

* DRY pickle additional data calculation

* Iterate
2023-08-15 08:43:15 +00:00
Richard van der Hoff 672ad98ec7
Clean up the MatrixChat initSession code (#11403)
`async` functions are a thing, and they make this much more comprehensible.
2023-08-14 12:52:08 +00:00
Neeraj Vageele 6f455217d1
correct home server URL (#11391)
* correct home server URL

* update snapshot

---------

Co-authored-by: Neeraj <neerajv@thirdrocktechkno.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-08-14 09:08:34 +00:00
Michael Telatynski d2c6577024
Switch to importing more things from the main js-sdk export (#11394) 2023-08-14 08:58:55 +00:00
Travis Ralston 180fcaa70f
Support Matrix 1.1 (drop legacy r0 versions) (#9819)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-08-14 09:25:13 +01:00
Michael Telatynski 4a9c4198b0
Avoid using state for immutable fields (#11397) 2023-08-10 18:30:43 +00:00
Milton Moura d240f06810
Include non-matching DMs in Spotlight recent conversations when the DM's userId is part of the search API results (#11374)
* This addresses two issues:

     1. Include non-matching DMs in Spotlight suggestions if the userId of the DM is included in the user directory search results
     2. The user directory search results order is kept when there is no relevant activity between users, instead of sorting by MXID

* Applying feedback from PR:
1. Updated comments
2. Renamed users to userDirectorySearchResults
3. Makes sure linter is happy
2023-08-10 17:27:24 +00:00
Michael Telatynski ef385e6028
Switch to importing more things from the main js-sdk export (#11377) 2023-08-10 08:01:14 +00:00
Michael Telatynski a1328d8ef7
Switch to importing more things from the main js-sdk export (#11376) 2023-08-09 15:10:54 +00:00
Michael Telatynski e6c127915f
Fix useRoomMembers missing updates causing incorrect membership counts (#11392)
* Fix useRoomMembers missing updates

* Also fix useRoomMemberCount

* Add tests
2023-08-09 12:27:37 +00:00
Michael Telatynski c3574c2050
Switch to importing client from main js-sdk export (#11370) 2023-08-09 07:18:41 +00:00
Kerry e0d498e338
Enable `jsx-a11y/click-events-have-key-events` eslint rule (#10362)
* enable "jsx-a11y/alt-text" lint rule

* enable "jsx-a11y/label-has-associated-control"

* make Spoilers keyboard accessible

* make invite reason keyboard accessible

* make invite suggestions keyboard accessible

* make avatar upload in space basic settings keyboard accessible

* ignore jsx-a11y/click-events-have-key-events issues in tests

* Update test expectation

---------

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-08-09 06:27:31 +00:00
Michael Telatynski 2b17fc3221
Show error when searching public rooms fails (#11378)
* Show error when searching public rooms fails

* Fix types

* Improve test coverage

* Improve coverage
2023-08-08 14:08:17 +00:00
Element Translate Bot b5bfc5be21
Translations update from Weblate (#11380)
Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: Priit Jõerüüt <riot@joeruut.com>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Co-authored-by: random <dictionary@tutamail.com>
Co-authored-by: Glandos <bugs-github@antipoul.fr>
Co-authored-by: Jan Schönfeld <jan.schoenfeld@tutanota.de>
Co-authored-by: Vri <element@vrifox.cc>
Co-authored-by: Peter Scheu <peter.scheu@aceart.de>
Co-authored-by: quickverse <quickverse_qdc@hostux.ninja>
Co-authored-by: raspin0 <marcinekk13@interia.pl>
Co-authored-by: Ch. (Chanwhi Choi) <ccwpc@hanmail.net>
Co-authored-by: revblue <neosurpass@gmail.com>
Co-authored-by: Peter Chen <petercpg@gmail.com>
Co-authored-by: Victor Grousset <victor@tuxayo.net>
2023-08-08 14:49:37 +01:00
Germain 84d196776e
Change formatCount impl to use Intl.NumberFormat (#11379)
* Change formatCount impl to use Intl.NumberFormat

* Update formatCount JSDoc description
2023-08-08 11:45:20 +00:00
Michael Telatynski 033c600fa2
Switch to importing @types/{event,partials} from main js-sdk export (#11369) 2023-08-08 10:12:12 +00:00
Michael Telatynski 368b6b9355
Switch to importing models/{event-timeline{,set},user,device,event-status} from main js-sdk export (#11368) 2023-08-08 07:16:04 +00:00
Rashmit Pankhania b08bdf7e0d
Fix "Export chat" not respecting configured time format in plain text mode (#10696)
* #23838 Fix "Export chat" time format in plain text mode

* #23838 Fix import of matrix-js-sdk

* Remove hardcoded locale

Co-authored-by: Michael Weimann <mail@michael-weimann.eu>

* Fix test for readability

Signed-off-by: Rashmit Pankhania <raspankh@publicisgroupe.net>

* Fix test

Signed-off-by: Rashmit Pankhania <raspankh@publicisgroupe.net>

* Fix test

Signed-off-by: Rashmit Pankhania <raspankh@publicisgroupe.net>

* Fix test

Signed-off-by: Rashmit Pankhania <rashmitpankhania@gmail.com>
Signed-off-by: Rashmit Pankhania <raspankh@publicisgroupe.net>

* Use dateUtils formatFullDate function

Signed-off-by: Rashmit Pankhania <raspankh@publicisgroupe.net>

---------

Signed-off-by: Rashmit Pankhania <raspankh@publicisgroupe.net>
Signed-off-by: Rashmit Pankhania <rashmitpankhania@gmail.com>
Co-authored-by: Rashmit Pankhania <raspankh@publicisgroupe.net>
Co-authored-by: Michael Weimann <mail@michael-weimann.eu>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-08-07 13:58:45 +00:00
Michael Telatynski 6a14362697
Mark more logs as debug to tidy the console (#11349) 2023-08-07 08:41:39 +00:00
Michael Telatynski 24703eea8f
Switch to importing models/event from main js-sdk export (#11363) 2023-08-07 08:24:58 +00:00
Michael Telatynski 22ce756f76
Fix some missing 1-count pluralisations around event list summaries (#11371) 2023-08-07 08:24:38 +00:00
Michael Telatynski 9afcf599ba
Fix create subspace dialog not working for public space creation (#11367) 2023-08-07 08:22:03 +00:00
Germain aab0c9a9e1
Remove feature_right_panel_default_open (#11359)
* Remove feature_right_panel_default_open

* i18n
2023-08-07 08:14:49 +00:00
Charly Nguyen 5152aad059
Allow knocking rooms (#11353)
Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
2023-08-07 06:27:09 +00:00
Michael Telatynski e6af09e424
Switch to importing models/room-state & models/room-member from main js-sdk export (#11362)
* Switch to importing TypedEventEmitter from main js-sdk export

* Switch to importing js-sdk/matrix in cypress

* Remove duplicated imports

* Fix lint:js-fix to run prettier last otherwise ESLint --fix may cause a mess

* Add lint rule

* Switch to importing models/Room from main js-sdk export

* Switch to importing models/room-state & models/room-member from main js-sdk export

* Fix cypress-axe import

* Fix more imports

* Fix cypress-axe import

* Fix bad merge
2023-08-04 11:22:08 +00:00
Michael Telatynski e67ca33c4a
Switch to importing models/Room from main js-sdk export (#11361)
* Switch to importing TypedEventEmitter from main js-sdk export

* Switch to importing js-sdk/matrix in cypress

* Remove duplicated imports

* Fix lint:js-fix to run prettier last otherwise ESLint --fix may cause a mess

* Add lint rule

* Switch to importing models/Room from main js-sdk export

* Fix cypress-axe import

* Fix more imports

* Fix cypress-axe import

* Fix duplicated lint rule
2023-08-04 07:36:16 +00:00
Peter Scheu 5ee8e61bf5
Search for users on paste (#11304)
Signed-off-by: Peter Scheu <peter.scheu@aceart.de>
2023-08-04 07:19:56 +00:00
Travis Ralston 771d7e95e7
Support adding space-restricted joins on rooms not members of those spaces (#9017)
* Support adding space-restricted joins on rooms not members of those spaces

* add react dependencies

* Add snapshot test

* Fix snapshot stability

* Update snapshot

* Increase coverage

---------

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-08-03 15:56:53 +00:00
Andy Balaam 6c2ba201a6 Revert "Switch to updating presence via /sync calls instead of PUT /presence"
This reverts commit 7e5739494b1f956d03dc668d2e4431b457e7faa1.
Original PR: https://github.com/matrix-org/matrix-react-sdk/pull/11223
2023-08-03 16:52:37 +01:00
Michael Telatynski 47877ba2da
Switch to importing matrix-js-sdk from its main export (#11360)
* Switch to importing TypedEventEmitter from main js-sdk export

* Switch to importing js-sdk/matrix in cypress

* Remove duplicated imports

* Fix lint:js-fix to run prettier last otherwise ESLint --fix may cause a mess

* Add lint rule

* Fix cypress-axe import

* Fix cypress-axe import
2023-08-03 12:56:30 +00:00
Michael Telatynski 44f51fd1cb
Clear requiresClient and show pop-out if widget-api fails to ready (#11321)
* Clear requiresClient and show pop-out if widget-api fails to ready

* Upgrade matrix-widget-api
2023-08-03 10:14:15 +00:00
Michael Telatynski 755f8d7ab0
Fix AppTile context menu not always showing up when it has options (#11358)
* Fix AppTile context menu not always showing up when it has options

* Comment

* Update snapshots
2023-08-03 09:23:20 +00:00
Germain d94808a197
Make room model mandatory on the RoomHeader (#11355)
* Remove oobData from RoomHeader

It is never used as the RoomHeader is not shown unless a Room model exists

* Make room model mandatory on the RoomHeader
2023-08-02 15:29:19 +00:00
Germain d49581344e
Integrate @vector-im/compound-web (#11354)
* Create useRoomName hook

Mark RoomName component as deprecated

* Pass out-of-band data to relevant RoomHeader component

* Mark LegacyRoomHeader as deprecated

* Fix incorrect search&replace in _RoomHeader.pcss

* lintfix

* Mark room as optional in room topic hook

* Fix i18n

* Discard use of useCallback

* Change export of useRoomName

* fix ts issue

* lints

* Add room topic to room header

* lintfix

* lintfix & clamp to one line

* Revert optimisations to DecoratedRoomAvatar

* Add test for opening the room summary

* Make transition honour prefer-reduced-motion

* Integrate @vector-im/compound-web

* Use compound type styles

* Use latest version of @vector-im/compound-web

* Change component name

* Fallback when room is undefined

* fix snapshot
2023-08-02 13:03:04 +00:00
Germain 33299af5c9
Add room topic and animation (#11352)
* Create useRoomName hook

Mark RoomName component as deprecated

* Pass out-of-band data to relevant RoomHeader component

* Mark LegacyRoomHeader as deprecated

* Fix incorrect search&replace in _RoomHeader.pcss

* lintfix

* Mark room as optional in room topic hook

* Fix i18n

* Discard use of useCallback

* Change export of useRoomName

* fix ts issue

* lints

* Add room topic to room header

* lintfix

* lintfix & clamp to one line

* Revert optimisations to DecoratedRoomAvatar

* Add test for opening the room summary

* Make transition honour prefer-reduced-motion

* Fallback when room is undefined

* fix snapshot
2023-08-02 10:54:06 +00:00
Michael Telatynski 8166306e0f
Fix clicking on home all rooms space notification not working (#11337)
* Fix clicking on home all rooms space notification not working

* Add test
2023-08-02 09:55:49 +00:00
Michael Telatynski e6bf67ae8b
Fix joining a suggested room switching space away (#11347) 2023-08-01 19:22:15 +00:00
Michael Telatynski 2f2067e434
Fix home/all rooms context menu in space panel (#11350)
* Fix home/all rooms context menu in space panel

* Fix tests
2023-08-01 15:26:14 +00:00
Germain 5d9f5ccf0b
Create useRoomName hook (#11346)
* Create useRoomName hook

Mark RoomName component as deprecated

* Pass out-of-band data to relevant RoomHeader component

* Mark LegacyRoomHeader as deprecated

* Fix incorrect search&replace in _RoomHeader.pcss

* lintfix

* Fix i18n

* Discard use of useCallback

* Change export of useRoomName

* fix ts issue

* lints
2023-08-01 13:47:09 +00:00
Michael Telatynski 340e301844
Make keyboard handling in and out of autocomplete completions consistent (#11344)
* Make keyboard handling in and out of autocomplete completions consistent

* Add test
2023-08-01 09:06:37 +00:00
Florian Duros b2eac5b65c
Provide userId parameter to `findVerificationRequestDMInProgress` (#11292) 2023-08-01 08:18:34 +00:00
Germain 6ae7c033d5
Add feature flag 'feature_new_room_decoration_ui' and segrate legacy UI component (#11345)
* Move RoomHeader to LegacyRoomHeader

* Create new RoomHeader component
2023-08-01 07:32:53 +00:00
Michael Telatynski 89a92c6351
Bump pagination sizes due to hidden events (#11342)
Such as threaded events in the main timeline causing no events to be added to the timeline
2023-07-31 17:04:14 +00:00
Michael Telatynski 053b564d75
De-duplicate reactions by sender to account for faulty/malicious servers (#11340)
* De-duplicate reactions by sender to account for faulty/malicious servers

* Fix copyrights
2023-07-31 14:42:23 +00:00
Richard van der Hoff 1f3d99c25c
Improve comments on key-setup dialogs (#11339)
* Remove outdated (I think) TODO

* Improve comments on key-setup dialogs
2023-07-28 14:29:34 +00:00
Michael Telatynski 0647aafc3a
Fix disable_3pid_login being ignored for the email field (#11335) 2023-07-28 09:42:20 +00:00
Richard van der Hoff ddb8e0aa3a
Update `SecureBackupPanel` to use `getCrypto()` (#11322)
`MatrixClient.crypto` is going away, so let's switch over to `getCrypto()`.

There doesn't seem to be anything else relying on the `crypto` stub in
`mockClientMethodsCrypto()`, so let's get rid of that.
2023-07-28 09:24:28 +00:00
Germain c037b847da
Upgrade wysiwyg editor for ctrl+backspace windows fix (#11324)
* Upgrade wysiwyg editor for ctrl+backspace windows fix

* upgrade lockfile

* Fix after upgrading the wysiswyg package
2023-07-28 08:03:00 +00:00
Richard van der Hoff f6fc5cad5c
Remove display of key backup signatures from backup settings (#11333)
* Remove display of Key backup signatures

This is *fiddly* to support in Element-R, and we don't really think it's
offering any value.

* update snapshot

* clean up i18n
2023-07-27 19:52:02 +00:00
renovate[bot] 5405c22db1
Update all non-major dependencies (#11329)
* Update all non-major dependencies

* Add isLocation to ComposerEvent analytics events

* Remove cypress-each as it is incompatible with modern typescript

* Roll back eslint-plugin-deprecate

* Remove stale comment

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-07-27 11:34:44 +00:00
Michael Telatynski d405160080
Use PassphraseFields in ExportE2eKeysDialog to enforce minimum passphrase complexity (#11222)
* Use PassphraseFields in ExportE2eKeysDialog to enforce minimum passphrase complexity

* Tweak copy

* Iterate

* Add tests

* Improve variable naming

* Improve coverage
2023-07-27 09:21:20 +00:00
Element Translate Bot 1efeccb97e
Translations update from Weblate (#11325)
Co-authored-by: Nui Harime <harime.nui@yandex.ru>
Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: Someone <hahahahacker2009@gmail.com>
Co-authored-by: LinAGKar <linus.kardell@gmail.com>
Co-authored-by: Kim Brose <kim.brose@rwth-aachen.de>
Co-authored-by: iaiz <git@iapellaniz.com>
Co-authored-by: Vri <element@vrifox.cc>
Co-authored-by: Edgars Andersons <Edgars+Element-translations@gaitenis.id.lv>
2023-07-27 09:23:06 +01:00
Michael Telatynski 3ab0757604
Fix edge case with sent indicator being drawn when it shouldn't be (#11320)
* Fix edge case with sent indicator being drawn when it shouldn't be

* Comment
2023-07-27 07:41:36 +00:00
Germain 22f83e7917
Use correct translation function for WYSIWYG buttons (#11315)
* Use correct translation function for WYSIWYG buttons

* Add tests
2023-07-26 11:30:54 +00:00
Michael Telatynski 9319911a27
Improve notifications debug devtool (#11310) 2023-07-26 10:18:43 +00:00
Michael Weimann e33a7e41a4
Handle own profile 404 (#11319) 2023-07-26 09:54:45 +00:00
Michael Telatynski c57a4cb090
Fix peeked rooms showing up in historical (#11316) 2023-07-25 12:58:29 +00:00
Michael Telatynski b5cbd9eeca
Ensure consistency when rendering the sent event indicator (#11314)
* Ensure consistency when considering where to render the sent event indicator

* Add test

* Fix redacted edge case

* Comments
2023-07-25 11:50:20 +00:00
Michael Telatynski 9136a581d2
Prevent re-filtering user directory results in spotlight (#11290)
* Prevent re-filtering user directory results in spotlight

As they were already filtered by the server and may be fuzzier than any filtering we can do locally,
e.g. matching against email addresses or other fields not available to the client

* deduplicate work

* Improve coverage
2023-07-25 08:05:54 +00:00
Slavi Pantaleev 4316ebae29
Do not show "Forget room" button in Room View header for guest users (#10898)
* Do not show "Forget room" button in Room View header for guest users

You can observe this problem by opening this in a new private tab:
https://app.element.io/#/room/#matrix:matrix.org

This is a public room with guest access enabled and Element will use a
guest account to display it.

Showing a "Forget room" button in the header for guest users is
pointless. Clicking on it leads to a `M_GUEST_ACCESS_FORBIDDEN` error.

Signed-off-by: Slavi Pantaleev <slavi@devture.com>

* Iterate

---------

Signed-off-by: Slavi Pantaleev <slavi@devture.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-07-25 07:57:26 +00:00
Michael Telatynski d268cc1b75
Fix spurious "Your server isn't responding to some requests" (#11306)
When changing room notification settings
This happened due to a race condition between adding a push rule and enabling it, the latter being superfluous given the spec says

> When creating push rules, they MUST be enabled by default.
2023-07-24 17:29:04 +00:00
Michael Telatynski a70fcfd0bc
Fix invite dialog showing the same user multiple times (#11308)
* Fix invite dialog showing the same user multiple times

* Add test

* Improve coverage
2023-07-24 09:12:37 +00:00
Michael Telatynski b6e373c65b
Avoid warning about config.json fallback keys more than once (#11307) 2023-07-24 07:36:51 +00:00
Šimon Brandner 3b0ed17241
Don't hide room header buttons in video rooms and rooms with a call (#9712)
* Don't hide room header buttons in video rooms and rooms with a call

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

* Fix types

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

* Attempt to fix types 2

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

* Delint

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

* Update test case

---------

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-07-21 10:33:37 +00:00
Kerry 0b0d77cbcc
OIDC: Persist details in session storage, create store (#11302)
* utils to persist clientId and issuer after oidc authentication

* add dep oidc-client-ts

* persist issuer and clientId after successful oidc auth

* add OidcClientStore

* comments and tidy

* format
2023-07-20 21:30:19 +00:00
Michael Telatynski dd5b9329e4
Only error log url preview failure if not 404 matrix error (#11297) 2023-07-19 16:03:59 +00:00
Michael Telatynski 0c4a5cd7c1
Don't show composer send button if user cannot send (#11298)
Such as when room is tombstoned
2023-07-19 11:03:44 +00:00
Michael Telatynski a1ca79c6c7
Retry joins on 524 (Cloudflare timeout) also (#11296) 2023-07-19 10:49:52 +00:00
Charly Nguyen 9a31cd0fa8
Allow setting room join rule to knock (#11248)
Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
2023-07-19 10:48:24 +00:00
Germain 150e97744d
Fix changelog dialog heading size (#11286) 2023-07-19 08:03:56 +00:00
Michael Telatynski 42d8e4f1a8
Try to find out the Matrix homeserver version and include in rageshakes (#11212) 2023-07-19 09:25:38 +01:00
RiotRobot 5881df3f41 Merge branch 'master' into develop 2023-07-18 13:33:41 +01:00
RiotRobot 22fcd34c60 Sanitise strings going into the html export CVE-2023-37259 2023-07-18 13:23:27 +01:00
Michael Telatynski d9d0b84152
Revert "Do not filter users post search (#9556)" (#11288) 2023-07-18 09:26:54 +01:00
Michael Telatynski 34532fbdd4
Don't bother showing redundant tooltip on space menu (#11276) 2023-07-17 18:36:58 +00:00
Maximilian Malek f1db2b3687
Do not filter users post search (#9556)
* Do not filter users post search

Signed-off-by: Maximilian Malek <maximilian.malek@uni-graz.at>

* Iterate

* Iterate

---------

Signed-off-by: Maximilian Malek <maximilian.malek@uni-graz.at>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-07-17 15:31:38 +00:00
Michael Telatynski 9fcd1f2434
Remove reply fallback from notifications (#11278)
* Remove reply fallback from notifications

* Add test
2023-07-17 14:04:09 +00:00
Michael Telatynski f04a0e2860
Populate info.duration for audio & video file uploads (#11225)
* Improve m.file m.image m.audio m.video types

* Populate `info.duration` for audio & video file uploads

* Fix tests

* Iterate types

* Improve coverage

* Fix test

* Add small delay to stabilise cypress test

* Fix test idempotency

* Improve coverage

* Slow down

* iterate
2023-07-17 12:07:58 +00:00
Michael Telatynski 8b8ca425d7
Hide widget menu button if it there are no options available (#11257)
* Hide widget menu button if it there are no options available

* Update snapshots
2023-07-17 10:37:07 +00:00
Michael Telatynski 2bc4764e01
Fix room view not properly maintaining scroll position (#11274) 2023-07-17 09:33:51 +00:00
Michael Telatynski 1995a74090
Switch to updating presence via /sync calls instead of PUT /presence (#11223) 2023-07-17 08:13:45 +00:00
Šimon Brandner cb03aac4cf
Switch to the new `session` API for screen-sharing (#11266)
See https://github.com/electron/electron/pull/30702 - this has the benefit of the js-sdk and LiveKit not having to add custom logic for Electron

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-14 20:51:24 +00:00
Michael Telatynski d38819ce9a Fix missing metaspace notification badges (#11269)
* Fix missing metaspace notification badges

* Simplify conditional types

(cherry picked from commit cdffd1ca1f)
2023-07-14 15:05:11 +00:00
Michael Telatynski 2760bfc836
Prevent user from accidentally double clicking user info admin actions (#11254)
* Prevent user from accidentally double clicking user info admin actions

* Iterate

* Improve coverage

* Improve coverage

* Simplify

* Simplify
2023-07-14 14:48:20 +00:00
Michael Telatynski cdffd1ca1f
Fix missing metaspace notification badges (#11269)
* Fix missing metaspace notification badges

* Simplify conditional types
2023-07-14 14:40:59 +00:00
Michael Telatynski 63bdd84c94
Offer to unban user during invite if inviter has sufficient permissions (#11256)
* Offer to unban user during invite if inviter has sufficient permissions

* Improve unban check in MultiInviter

* Improve coverage

* Update src/utils/MultiInviter.ts

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-07-14 13:26:02 +00:00
Michael Telatynski 86d3ec8154
Split join and goto slash commands, the latter shouldn't auto_join (#11259)
* Split join and goto slash commands, the latter shouldn't auto_join

* i18n

* Add tests

* Iterate

* Improve coverage
2023-07-14 11:20:59 +00:00
Richard van der Hoff e959eca354
Fix corrupt thread timeline for sending events (#11260)
Events which are still in the process of being sent should *not* be included
in the `EventTimeline`. Doing so means that we will attempt to render them
twice, which makes react explode.

Fixes https://github.com/vector-im/element-web/issues/25770
2023-07-14 10:59:55 +00:00
Michael Telatynski cb592dc709
Fix clicking MXID in timeline going to matrix.to (#11263)
* Fix clicking MXID in timeline going to matrix.to

* Add tests

* Increase coverage
2023-07-14 10:55:55 +00:00
Michael Telatynski 3a784c71e8
Deprecate camelCase config options (#11261) 2023-07-14 10:50:52 +00:00
Michael Telatynski e6550a33b6
Allow emoji presentation selector to not break BigEmoji styling (#11253)
* Allow emoji presentation selector to not break BigEmoji styling

* Tweak regex to make sonar & lint happy
2023-07-13 14:08:18 +00:00
Richard van der Hoff 2cfbd73cd3
Replace `getQRCodeBytes` with `generateQRCode` (#11241)
* Replace `getQRCodeBytes` with `generateQRCode`

* another test update

* remove obsolete snapshot
2023-07-13 13:55:55 +00:00
Germain 06403d07f8
Fix event info events size and color (#11252) 2023-07-13 09:35:08 +00:00
alunturner f6ee109f9e
Integration work for rich text editor 2.3.1 (#11172)
* accompanying changes

* switch to set innerHTML

* bump rte to 2.3.1

* update types for dynamic import

* add comment

* Add comments to dynamic imports

* update comments
2023-07-13 07:26:33 +00:00
Michael Telatynski f1534fda79
Improve types (#11239) 2023-07-12 15:56:51 +01:00
Michael Telatynski 44615b2b04
Strip emoji variation when searching emoji by emoji (#11221) 2023-07-12 07:26:13 +00:00
Kerry c5befa1ef8
Stabilize support for MSC3952: intentional mentions (#10967)
* enable feature_intentional_mentions with v1.7

* org.matrix.msc3952.mentions -> m.mentions

* update push rules test util

* only support stable version 1.7

* use stable values for msc3952 push rules

* use stable intentional mentions rule sin test models

* unstable feature in settings controller
2023-07-11 22:29:54 +00:00
Michael Telatynski a8f632ae19
Warn when demoting self via /op and /deop slash commands (#11214)
* Warn when demoting self via /op and /deop slash commands

* Iterate and DRY

* i18n

* Improve coverage

* Improve coverage

* Improve coverage

* Iterate
2023-07-11 12:53:33 +00:00
Janne Mareike Koschinski b179f5562e
GYU: Fix issues with audible keywords without activated mentions (#11218) 2023-07-11 10:38:26 +00:00
Janne Mareike Koschinski d0147561d7
GYU: Update banner (#11211)
* Update help text

* chore: fixed lint issues

* update i18n

* Update button text

* Correct css for settings banners
2023-07-11 10:38:14 +00:00
Element Translate Bot 99343e8abe
Translations update from Weblate (#11219)
* Translated using Weblate (German)

Currently translated at 100.0% (3737 of 3737 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/de/

* Translated using Weblate (Vietnamese)

Currently translated at 88.8% (3317 of 3733 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/vi/

* Translated using Weblate (Latvian)

Currently translated at 46.6% (1743 of 3737 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/lv/

* Translated using Weblate (Vietnamese)

Currently translated at 89.4% (3341 of 3733 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/vi/

* Translated using Weblate (Georgian)

Currently translated at 0.5% (21 of 3737 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/ka/

* Translated using Weblate (Vietnamese)

Currently translated at 89.5% (3342 of 3733 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/vi/

* Translated using Weblate (Vietnamese)

Currently translated at 89.6% (3348 of 3733 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/vi/

* Translated using Weblate (Vietnamese)

Currently translated at 89.7% (3351 of 3733 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/vi/

* Translated using Weblate (Vietnamese)

Currently translated at 89.7% (3351 of 3733 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/vi/

* Translated using Weblate (Vietnamese)

Currently translated at 89.7% (3352 of 3733 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/vi/

* Translated using Weblate (Vietnamese)

Currently translated at 89.7% (3352 of 3733 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/vi/

* Translated using Weblate (Vietnamese)

Currently translated at 91.2% (3405 of 3733 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/vi/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (3737 of 3737 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/sk/

* Translated using Weblate (Vietnamese)

Currently translated at 91.5% (3417 of 3733 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/vi/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (3737 of 3737 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/et/

* Translated using Weblate (Italian)

Currently translated at 100.0% (3737 of 3737 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/it/

* Translated using Weblate (Polish)

Currently translated at 100.0% (3737 of 3737 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/pl/

* Translated using Weblate (Persian)

Currently translated at 68.2% (2552 of 3737 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/fa/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/

* Translated using Weblate (Vietnamese)

Currently translated at 91.5% (3416 of 3732 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/vi/

* Translated using Weblate (Slovak)

Currently translated at 100.0% (3736 of 3736 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/sk/

* Translated using Weblate (Russian)

Currently translated at 93.0% (3477 of 3736 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/ru/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/

* Translated using Weblate (Hungarian)

Currently translated at 99.6% (3723 of 3737 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/hu/

* Translated using Weblate (Russian)

Currently translated at 93.1% (3469 of 3725 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/ru/

* Translated using Weblate (Russian)

Currently translated at 93.2% (3473 of 3725 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/ru/

* Translated using Weblate (Russian)

Currently translated at 93.3% (3476 of 3725 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/ru/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (3721 of 3721 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/uk/

* Translated using Weblate (Russian)

Currently translated at 93.3% (3479 of 3725 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/ru/

* Translated using Weblate (Russian)

Currently translated at 93.3% (3479 of 3725 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/ru/

* Translated using Weblate (Russian)

Currently translated at 93.3% (3479 of 3725 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/ru/

* Translated using Weblate (Russian)

Currently translated at 93.4% (3481 of 3724 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/ru/

* Translated using Weblate (Hungarian)

Currently translated at 99.6% (3711 of 3724 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/hu/

* Translated using Weblate (Russian)

Currently translated at 93.4% (3481 of 3724 strings)

Translation: Element Web/matrix-react-sdk
Translate-URL: https://translate.element.io/projects/element-web/matrix-react-sdk/ru/

---------

Co-authored-by: Vri <element@vrifox.cc>
Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: Someone <hahahahacker2009@gmail.com>
Co-authored-by: Edgars Andersons <Edgars+Element-translations@gaitenis.id.lv>
Co-authored-by: ia rigby <marvinzem@gmail.com>
Co-authored-by: Văn Huy Dương <huy.error1@gmail.com>
Co-authored-by: Jozef Gaal <preklady@mayday.sk>
Co-authored-by: Priit Jõerüüt <riot@joeruut.com>
Co-authored-by: random <dictionary@tutamail.com>
Co-authored-by: raspin0 <marcinekk13@interia.pl>
Co-authored-by: Telegramian <telegramian@gmail.com>
Co-authored-by: Nui Harime <harime.nui@yandex.ru>
Co-authored-by: Balázs Meskó <meskobalazs@gmail.com>
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
2023-07-11 11:54:06 +01:00
Michael Telatynski 6e99b2fca3
Linkify mxc:// URLs as links to your media repo (#11213) 2023-07-11 07:25:51 +00:00
Kerry 7b3d0ad209
OIDC: Log in (#11199)
* add delegatedauthentication to validated server config

* dynamic client registration functions

* test OP registration functions

* add stubbed nativeOidc flow setup in Login

* cover more error cases in Login

* tidy

* test dynamic client registration in Login

* comment oidc_static_clients

* register oidc inside Login.getFlows

* strict fixes

* remove unused code

* and imports

* comments

* comments 2

* util functions to get static client id

* check static client ids in login flow

* remove dead code

* OidcRegistrationClientMetadata type

* navigate to oidc authorize url

* exchange code for token

* navigate to oidc authorize url

* navigate to oidc authorize url

* test

* adjust for js-sdk code

* login with oidc native flow: messy version

* tidy

* update test for response_mode query

* tidy up some TODOs

* use new types

* add identityServerUrl to stored params

* unit test completeOidcLogin

* test tokenlogin

* strict

* whitespace

* tidy

* unit test oidc login flow in MatrixChat

* strict

* tidy

* extract success/failure handlers from token login function

* typo

* use for no homeserver error dialog too

* reuse post-token login functions, test

* shuffle testing utils around

* shuffle testing utils around

* i18n

* tidy

* Update src/Lifecycle.ts

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

* tidy

* comment

* update tests for id token validation

* move try again responsibility

* prettier

* use more future proof config for static clients

* test util for oidcclientconfigs

* rename type and lint

* correct oidc test util

* store issuer and clientId pre auth navigation

* adjust for js-sdk changes

* update for js-sdk userstate, tidy

* update MatrixChat tests

* update tests

---------

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-07-11 04:09:18 +00:00
Michael Telatynski 186497a67d
Handle all permitted url schemes in linkify (#11215)
* Handle all permitted url schemes in linkify

* Correctly handle optional slash protocols

* Iterate
2023-07-10 15:09:39 +00:00
Timo 58710d129d
Autoapprove Element Call oidc requests (#11209)
* autoapprove Element Call oidc requests

Signed-off-by: Timo K <toger5@hotmail.de>

* update comment

Signed-off-by: Timo K <toger5@hotmail.de>

* add tests for oidc element-call

Signed-off-by: Timo K <toger5@hotmail.de>

* fix ES lint

Signed-off-by: Timo K <toger5@hotmail.de>

---------

Signed-off-by: Timo K <toger5@hotmail.de>
2023-07-10 15:06:58 +00:00
Michael Telatynski ab972ddea9
PosthogAnalytics unwatch settings on logout (#11207)
* PosthogAnalytics unwatch settings on logout

* Tidy
2023-07-10 15:01:59 +00:00
Michael Telatynski 411a63f4a5
Avoid trying to set room account data for pinned events as guest (#11216) 2023-07-10 14:20:12 +00:00
Janne Mareike Koschinski 05c2ee0767
Disable sound for DMs checkbox when DM notifications are disabled (#11210) 2023-07-10 12:49:56 +00:00
David Baker aa818cdf85
Add commented-out waitForIFrameLoad option to Element Call widget (#11208)
As hopefully all explained in comment.
2023-07-10 12:20:08 +00:00
Charly Nguyen fd749172e1
Allow creating knock rooms (#11182)
Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
2023-07-10 08:01:03 +00:00
Kerry 01bd80fe59
OIDC: update to `oidc-client-ts` functions from js-sdk (#11193)
* test util for oidcclientconfigs

* rename type and lint

* correct oidc test util

* store issuer and clientId pre auth navigation

* update for js-sdk userstate, tidy
2023-07-10 00:57:16 +00:00
Gustavo Santos 8924bd26fa
feat(faq): remove keyboard shortcuts button (#9342)
* feat(faq): remove keyboard shortcuts button

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

* Update HelpUserSettingsTab.tsx

* delint

---------

Signed-off-by: Gustavo Santos <gefgu@hotmail.com>
Co-authored-by: Germain <germains@element.io>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-07-07 14:40:41 +00:00
Travis Ralston 8a97e5f351
Expose and pre-populate thread ID in devtools dialog (#10953)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-07-07 15:40:25 +01:00
Michael Telatynski cfd48b36aa
Enable strictPropertyInitialization (#11203) 2023-07-07 14:46:12 +01:00
Michael Telatynski 4207d182cd
Enable strictFunctionTypes (#11201) 2023-07-07 13:37:26 +01:00
Travis Ralston 40de66424d
Hide URL preview if it will be empty (#9029)
* Hide URL preview if it will be empty

* Update src/components/views/rooms/LinkPreviewWidget.tsx

Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Iterate

* Iterate

---------

Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-07-07 11:06:03 +00:00
Germain 252f2ebec0
Remove hidden read receipts migration (#11139)
* Remove hidden read receipts migration

* remove unused values

* Remove hidden RR migration test
2023-07-07 10:55:16 +00:00
Aaron Raimist 71fe08ea0f
Change wording from avatar to profile picture (#7015)
* Change wording from avatar to profile picture

Signed-off-by: Aaron Raimist <aaron@raim.ist>

* lint

Signed-off-by: Aaron Raimist <aaron@raim.ist>

* Update EventListSummary

Signed-off-by: Aaron Raimist <aaron@raim.ist>

* Delete MembershipEventListSummary.tsx

Signed-off-by: Aaron Raimist <aaron@raim.ist>

* delint

* Update tests

---------

Signed-off-by: Aaron Raimist <aaron@raim.ist>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-07-07 10:54:43 +00:00
Michael Telatynski 706a42f390
Quick and dirty devtool to explore state history (#11197)
* Quick and dirty devtool to explore state history

* Include error in unsigned

* iterate

* Fix silly copy paste
2023-07-07 08:16:11 +00:00
Michael Telatynski 285847560b
Conform more of the codebase to strict typing (#11195) 2023-07-07 09:02:13 +01:00
Enrico Schwendig 902263d7c9
force to allow calls without video and audio in embedded mode (#11131)
* force to allow calls without video and audio in embedded mode

* Check device access permission and introduce a only screen share call mode

* Fix strict typ check issue

* Fix i18n check issue

* Add unit tests for device selection

* Fix mocked media device query
2023-07-06 14:40:14 +00:00
Michael Telatynski 3c81f30c26
Enable strictNullChecks and noImplicitAny (#11194) 2023-07-06 13:59:47 +00:00
Michael Telatynski b467d0700f
Replace brittle custom function with lodash implementation (#11188) 2023-07-06 08:22:43 +00:00
Johannes Marbach d7677c7e21
Handle newlines in user pills (#11166)
* Handle newlines in user pills

Fixes: vector-im/element-web#10994

* Fix typo in comment

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

* Refactor link generation for better readability

* Use `<br>` instead of `<br/>`

* Fix copy/paste error

---------

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-07-05 22:00:27 +00:00
Johannes Marbach 3f20675b93
Limit width of user menu in space panel (#11192)
Fixes: vector-im/element-web#22627
2023-07-05 22:00:03 +00:00
Michael Telatynski 8107f1d271
Conform more of the codebase to strict types (#11191) 2023-07-05 11:53:22 +01:00
Michael Telatynski 4044c2aa66
Consider more user inputs when calculating zxcvbn score (#11180)
* Consider more user inputs when calculating zxcvbn score

* MatrixClientPeg.getHomeserverName may throw
2023-07-05 09:36:30 +00:00
Kerry 90e65e8490
use more future proof config for static clients (#11175) 2023-07-04 23:10:03 +00:00
Kerry ce332d0f8b
Fix: hide unsupported login elements (#11185)
* hide unsupported login elements

* Update src/components/structures/auth/Login.tsx

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-07-04 22:15:35 +00:00
Germain 2a7780052e
Compound Typography pass regression fixes (#11189)
* Compound Typography pass regression fixes

* updates to the room list sizing

* fix subtitle clipping

* revert display name to use medium variant
2023-07-04 16:54:28 +00:00
Andy Balaam 3ad9a8fe3b
Revert "Add isLocation to ComposerEvent analytics events" (#11190)
This reverts commit 739a0c7afbcc6ab8fb0dd0ed0c5faba45a51259c.
2023-07-04 16:39:47 +00:00
Michael Telatynski a294ba2ad4
Conform more of the codebase to strictNullChecks + noImplicitAny (#11179) 2023-07-04 14:49:27 +01:00
Richard van der Hoff 7c211b0587
munge the emoji names from rust-sdk to match translations (#11168) 2023-07-04 12:00:09 +00:00
Michael Telatynski d87be36800
Apply i18n to strings in the html export (#11176) 2023-07-04 09:37:10 +00:00
Andy Balaam 54ffce9d20
Add isLocation to ComposerEvent analytics events (#11187) 2023-07-04 09:10:03 +00:00
Michael Telatynski 90b572f074
Inhibit url previews on MXIDs containing slashes same as those without (#11160) 2023-07-03 15:56:58 +00:00
Richard van der Hoff 2ea8a030ea
Replace `beginKeyVerification` with `startVerification` (#11167) 2023-06-30 12:09:06 +00:00
alunturner 3fb4dac6fc
Strictify RoomView.tsx (#11163) 2023-06-30 13:06:03 +01:00
alunturner 9fa58e4e90
Strictify Timeline Panel (#11165)
* Get initial fix working

* add a couple of union types to tidy up a bit
2023-06-30 08:08:35 +00:00
Kerry 3930f1a10b
OIDC: extract success/failure handlers from token login function (#11154)
* extract success/failure handlers from token login function

* typo

* use for no homeserver error dialog too

* i18n

* tidy

* Update src/Lifecycle.ts

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

* move try again responsibility

---------

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-06-29 22:33:44 +00:00
Janne Mareike Koschinski f62fe2626c
GYU: Account Notification Settings (#11008)
* Implement new notification settings UI

* Sort new keywords at the front

* Make ts-strict happier

* Make ts-strict happier

* chore: fixed lint issues

* update beta card

* Fix issue with the user settings test

* chore: fixed lint issues

* Add tests for notification settings

* chore: fixed lint issues

* fix: spurious text failures

* improve tests further

* make ts-strict happier

* improve tests further

* Reduce uncovered conditions

* Correct snapshot

* even more test coverage

* Fix an issue with inverted rules

* Update res/css/views/settings/tabs/_SettingsIndent.pcss

Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix license headers

* Improve i18n

* make linters happier

* Improve beta labels

* improve i18n

* chore: fixed lint issues

* fix: more lint issues

* Update snapshots to match changed text

* Update text as requested

* Remove labs image

* Update snapshots

* Correct an issue with one of the tests

* fix: keyword reconcilation code

* Determine mute status more accurately

* Address review comments

* Prevent duplicate updates

* Fix missing license header

* slight change to avoid ts-strict complaining

* fix test issue caused by previous merge

---------

Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-06-29 15:46:31 +00:00
Michael Telatynski 95283d21bb
Conform more of the codebase to strict types (#11162) 2023-06-29 12:17:05 +01:00
Germain 9c7d935aae
Compound Typography pass (#11103)
* Integrate compound design tokens

The icons should not be included in this repo, and should live in the compound design token repo, but for simplicity sake at this phase of the integration they will be added here

* Delete unused or incorrect - sass variables

* Typography pass

* Deprecate _font-weights.pcss and use Compound instead

* lint fix

* Fix snapshot

* Fix typography pass feedback

* Remove unwanted e2e test

cypress tests should test functionality not visual output. And we should not test visual output by inspecting CSS properties

* lintfix

* Migration script for baseFontSize

* Updates after design review

* Update font scaling panel to use min/max size

* Fix custom font

* Fix font slider e2e test

* Update custom font

* Update new baseFontSizeV2

* Disambiguate heading props

* Fix appearance test

* change max font size

* fix e2ee test

* fix tests

* test baseFontSize migration code

* typescript strict

* Migrate baseFontSize account setting

* Change assertion for font size

* Fix font size controller test
2023-06-29 10:30:25 +00:00
alunturner ce479c5774
comply with `strict` and `strictNullChecks` (#11161) 2023-06-29 10:20:24 +00:00
Michael Telatynski 879832a4eb
Fix spurious error sending receipt in thread errors (#11157)
Trying to send an RR to the first event fails in threads
as that event is a thread root and cannot carry a threaded RR
so instead target the last event
2023-06-29 08:19:18 +00:00
Kerry 3f04e41c21
OIDC: navigate to authorization endpoint (#11096)
* add delegatedauthentication to validated server config

* dynamic client registration functions

* test OP registration functions

* add stubbed nativeOidc flow setup in Login

* cover more error cases in Login

* tidy

* test dynamic client registration in Login

* comment oidc_static_clients

* register oidc inside Login.getFlows

* strict fixes

* remove unused code

* and imports

* comments

* comments 2

* util functions to get static client id

* check static client ids in login flow

* remove dead code

* OidcRegistrationClientMetadata type

* navigate to oidc authorize url

* navigate to oidc authorize url

* test

* adjust for js-sdk code

* update test for response_mode query

* use new types

* strict

* tidy
2023-06-28 21:08:56 +00:00
Michael Weimann c0db739d81
Apply `strictNullChecks` to `src/components/views/spaces/*` (#10517)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-06-28 15:39:19 +01:00
Michael Telatynski 209f5bdf33
Consider the empty push rule actions array equiv to deprecated dont_notify (#11155)
* Consider the empty push rule actions array equiv to deprecated dont_notify

* Switch primary tests to empty actions, add test for dont_notify

* strict types
2023-06-28 14:07:02 +00:00
Michael Telatynski 6836a5fa7b
Conform more code to `strictNullChecks` and `noImplicitAny` (#11156) 2023-06-28 14:05:36 +01:00
Richard van der Hoff 46eb34a55d
Kill off references to deprecated `getStoredDevice` and `getStoredDevicesForUser` (#11152)
* Use new `CryptoEvent.VerificationRequestReceived` event

https://github.com/matrix-org/matrix-js-sdk/pull/3514 deprecates
`CryptoEvent.VerificationRequest` in favour of
`CryptoEvent.VerificationRequestReceived`. Use the new event.

* Factor out `getDeviceCryptoInfo` function

I seem to be writing this logic several times, so let's factor it out.

* Factor out `getUserDeviceIds` function

Another utility function

* VerificationRequestToast: `getStoredDevice` -> `getDeviceCryptoInfo`

* SlashCommands: `getStoredDevice` -> `getDeviceCryptoInfo`

* MemberTile: `getStoredDevicesForUser` -> `getUserDeviceIds`

* Remove redundant mock of `getStoredDevicesForUser`
2023-06-28 12:39:34 +00:00
Richard van der Hoff 0a3a111327
Use new `CryptoEvent.VerificationRequestReceived` event (#11141)
https://github.com/matrix-org/matrix-js-sdk/pull/3514 deprecates
`CryptoEvent.VerificationRequest` in favour of
`CryptoEvent.VerificationRequestReceived`. Use the new event.
2023-06-28 10:11:18 +00:00
Michael Telatynski 3ac9066e46
Only trap escape key for cancel reply if there is a reply (#11140)
fall through (to clear read marker) otherwise

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-06-28 10:10:45 +00:00
Michael Telatynski d404e0656a
Conform more of the codebase to strictNullChecks (#11135) 2023-06-28 11:02:15 +01:00
Kerry a87362a048
Unit test token login flow in `MatrixChat` (#11143)
* test tokenlogin

* whitespace

* tidy

* strict
2023-06-27 23:45:11 +00:00
Michael Telatynski e1cad41bc3
Conform more of the codebase to strictNullChecks (#11134) 2023-06-27 17:39:56 +01:00
Johannes Marbach bde51ae524
Update linkify to 4.1.1 (#11132)
* Update linkify to 4.1.1

Fixes: vector-im/element-web#23806

* Empty commit to nudge CI

* Remove obsolete `any` types

* Allow hyphens in domainpart

* Improve test name
2023-06-27 11:23:37 +00:00
Kerry 79a7b9aedc
Don't setup keys on login when encryption is force disabled (#11125)
* move shouldForceDisableEncryption to /crypto

* dont setup encryption when encryption is force disabled

* shuffle testing functions

* test post login security setup flows

* remove debug

* lint fixes

* strict fixes

* strict fixes p2

---------

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-06-27 09:42:31 +00:00
Michael Telatynski 5cf818fefa
Fix spurious notifications on non-live events (#11133)
* Fix notifier not discriminating removed and backpaginated events

* Ignore events on the thread list generated timelines

* Add test

* tsc strict
2023-06-27 09:39:55 +00:00
Element Translate Bot f73fc496e2
Translations update from Weblate (#11145)
Co-authored-by: Weblate <translate@riot.im>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi>
Co-authored-by: Someone <hahahahacker2009@gmail.com>
Co-authored-by: Arusekk <arek_koz@o2.pl>
Co-authored-by: zufyiguspe <zufyiguspe@gufum.com>
Co-authored-by: random <dictionary@tutamail.com>
Co-authored-by: Makkkkus <nygardboi@protonmail.com>
Co-authored-by: danntee <1044273440@qq.com>
2023-06-27 10:57:43 +01:00
Johannes Marbach 22077c5433
Prevent auto-translation within composer (#11114)
Fixes: vector-im/element-web#25624
2023-06-27 08:48:32 +00:00
Johannes Marbach ab98268901
Fix caret jump when backspacing into empty line at beginning of editor (#11128)
Fixes: vector-im/element-web#22335
2023-06-23 15:24:05 +00:00
Richard van der Hoff 36c81f6416
VerificationPanel: avoid use of `getStoredDevice` (#11129)
* VerificationPanel: avoid use of `getStoredDevice`

This is deprecated and doesn't work with the rust-sdk.

* fix types
2023-06-23 12:38:06 +00:00