Commit graph

3605 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Michael Telatynski
22ce756f76
Fix some missing 1-count pluralisations around event list summaries (#11371) 2023-08-07 08:24:38 +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
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
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
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
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
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
Michael Telatynski
9319911a27
Improve notifications debug devtool (#11310) 2023-07-26 10:18:43 +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
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
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
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
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
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
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
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
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
8107f1d271
Conform more of the codebase to strict types (#11191) 2023-07-05 11:53:22 +01: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
Michael Telatynski
a294ba2ad4
Conform more of the codebase to strictNullChecks + noImplicitAny (#11179) 2023-07-04 14:49:27 +01:00
Michael Telatynski
d87be36800
Apply i18n to strings in the html export (#11176) 2023-07-04 09:37:10 +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
Kerry
9f580a8680
Disable encryption toggle in room settings when force disabled (#11122)
* force disable encryption on room creation

* test allowChangingEncryption

* move into utils/room directory

* tests

* unit test CreateRoomDialog

* remove debug

* wait for constructor promises to settle

* test case for force_disable

* comment

* set forced value after resolving checkUserIsAllowedToChangeEncryption

* tidy and comments

* use label text in test

* disable encryption switch in room settings when force disabled
2023-06-21 23:17:30 +00:00
Germain
aca6a66f6a
Remove new room breadcrumbs (#11104)
* Deprecate new room breadcrumbs

* i18n
2023-06-19 08:18:46 +00:00
Florian Duros
77da949fd4
CreateKeyBackupDialog.tsx: Remove logic for servers which are not supporting cross-signing (#11076) 2023-06-16 13:25:24 +01:00
Michael Telatynski
cb2b1718ff
Remove feature_favourite_messages as it is has been abandoned for now (#11097)
* Remove `feature_favourite_messages` as it is has been abandoned for now

* i18n

* Fix test

* Remove unused css
2023-06-15 11:02:45 +00:00
Michael Telatynski
3f52de2f5b
Don't warn about the effects of redacting state events when redacting non-state-events (#11071) 2023-06-14 08:49:17 +00:00
Kerry
700786ad86
OIDC: add config flag (#11007)
* add settings flag for native oidc flow

* i18n
2023-06-07 21:32:09 +00:00
Florian Duros
68ebcd2956
Removed DecryptionFailureBar.tsx (#11027) 2023-06-05 15:02:20 +00:00
Michael Telatynski
6b46d6e4f8
Add MatrixClientPeg::safeGet and use it in tests (#10985) 2023-06-05 18:12:23 +01:00
Michael Telatynski
df4bc1ed2a
Remove hardcoded servers from internationalisation (#11026) 2023-06-05 13:53:11 +00:00
Suguru Hirahara
e6cddcbfe1
Remove obsolete style rules - mx_SpaceRoomView_inviteTeammates_betaDisclaimer (#11004)
* Remove obsolete style rules - mx_SpaceRoomView_inviteTeammates_betaDisclaimer

* Remove the deprecated disclaimer

* Remove ExternalLink

* Add a Percy snapshot - 'Invite your teammates' dialog
2023-05-29 21:13:52 +00:00
Kerry
530197bfcd
Move session manager out of beta (#10968)
* remove old device manager

* undo type fix for cypress crypto

* update test case
2023-05-26 01:58:28 +00:00
Suguru Hirahara
af78a5a2f5
Change button label 'Okay' to 'OK' on showAnalyticsLearnMoreDialog (#10983) 2023-05-25 08:11:04 +00:00
Oliver Sand
a0c2676c38
Pass device id to widgets (#10209)
* Pass device id to widget

Implement the [comment in MSC 3819](https://github.com/matrix-org/matrix-spec-proposals/pull/3819#discussion_r1099833846) which requests passing a device id to a widget.

This is based on the previous work in the matrix-widget-api: https://github.com/matrix-org/matrix-widget-api/pull/78

Signed-off-by: Oliver Sand <oliver.sand@nordeck.net>

* Include all data that is shared in the permissions screen

* Update matrix-widget-api to version 1.4.0

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

* Fix type and test

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

---------

Signed-off-by: Oliver Sand <oliver.sand@nordeck.net>
Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net>
Co-authored-by: Dominik Henneke <dominik.henneke@nordeck.net>
2023-05-23 13:35:31 +00:00
Kerry
8cd84b0e7b
Use semantic headings in user settings - integrations and account deletion (#10837)
* allow testids in settings sections

* use semantic headings in LabsUserSettingsTab

* put back margin var

* use SettingsTab wrapper

* use semantic headings for deactivate acc section

* use semantic heading in manage integratios

* i18n

* explicit cast to boolean

* Update src/components/views/settings/shared/SettingsSubsection.tsx

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

* test manage integration settings

* test deactivate account section display

* remove debug

* fix cypress test

---------

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-05-17 07:52:44 +00:00
David Baker
1aa9860743
Fix the state shown for call in rooms (#10833)
* Fix the state shown for call in rooms

We split out a separate state for 'missed' separate to 'ended' which
caused confusion as the state got set to this when it shouldn't have,
so calls that wouldn't have been shown as missed were.

Remove the csutom call state and just have the missed state as a
variant of the ended state. Re-order the if clauses so they hit the
right ones. Also don't pass the callState variable into renderContent()
which is a class method and so has access to the same info anyway.

* Fix test

* i18n (reorder only)

* Fix test

* Fix types

* Add test for legacy call event tile
2023-05-15 08:37:40 +00:00
Michael Telatynski
f3534b42df
Add string for membership event where both displayname & avatar change (#10880)
* Add string for membership event where both displayname & avatar change

* i18n and tests
2023-05-12 11:54:24 +00:00
Michael Telatynski
e6421fded5
Use brand variable consistently (#10867) 2023-05-12 10:25:20 +00:00
Michael Telatynski
684141d310
Add tooltip to disabled invite button due to lack of permissions (#10869) 2023-05-12 10:25:16 +00:00
Michael Telatynski
82e32035fd
Conform more of the codebase to strictNullChecks (#10842) 2023-05-11 09:56:56 +01:00
Michael Telatynski
456c66db5b
Conform more of the codebase to strictNullChecks (#10800) 2023-05-10 08:41:55 +01:00
Michael Telatynski
02de2f5ba9
Add better error for email invites without identity server (#10739) 2023-05-05 12:04:13 +01:00
Michael Telatynski
4dd214506b
Move reaction message previews out of labs (#10601)
* Update reaction message previews to match designs

* Delabs reaction message previews

* tsc strict

* Iterate

* Add test

* Iterate
2023-05-05 07:45:14 +00:00
Michael Telatynski
0a22ed90ef
Consolidate login errors (#10722) 2023-04-27 09:05:31 +01:00
Richard van der Hoff
d7bb8043ea
Replace uses of checkDeviceTrust with getDeviceVerificationStatus (#10663)
matrix-org/matrix-js-sdk#3287 and matrix-org/matrix-js-sdk#3303 added a new API called getDeviceVerificationStatus. Let's use it.
2023-04-24 14:19:46 +01:00
Eric Eastwood
16ab5e9db0
Properly translate errors in ChangePassword.tsx so they show up translated to the user but not in our logs (#10615)
* Properly translate errors in `ChangePassword.tsx`

So they show up translated to the user but not in our logs.

Part of https://github.com/vector-im/element-web/issues/9597 and also fixes it
since it's the last piece mentioned (there could be other cases we log translated strings)

Fix https://github.com/vector-im/element-web/issues/9597

* Make more useful

* Update i18n strings

* No need to checkPassword since field validation already covers this

See https://github.com/matrix-org/matrix-react-sdk/pull/10615#discussion_r1167363765

Both of the error cases are covered by the logic in `verifyFieldsBeforeSubmit()` just above
and there is no way `checkPassword` would ever throw one of these errors since they are
already valid by the time it reaches here.

* Update i18n strings

* Revert "No need to checkPassword since field validation already covers this"

This reverts commit 7786dd151028e6fbf04d1a38a9c2cd47a3fbfc4b.

* Update i18n strings

* Add todo context to note that we can remove this logic in the future

* Ensure is an error

* Remove else

See https://github.com/matrix-org/matrix-react-sdk/pull/10615#discussion_r1173477053
2023-04-24 09:41:09 +01:00
Michael Telatynski
782060a26e
ARIA Accessibility improvements (#10674)
* Add missing aria-expanded attributes

* Improve autoComplete for phone numbers & email addresses

* Fix room summary card heading order

* Fix missing label on timeline search field

* Use appropriate semantic elements for dropdown listbox

* Use semantic list elements in keyboard settings tab

* Use semantic list elements in spotlight

* Fix types and i18n

* Improve types

* Update tests

* Add snapshot test
2023-04-20 17:13:30 +00:00
Michael Telatynski
483b53c148
Translate credits in help about section (#10676) 2023-04-20 12:18:13 +00:00
Michael Telatynski
1a0e5c1805
Fix multiple accessibility defects identified by AXE (#10606)
* Mark effects overlay canvas as aria hidden

* Ensure date separators aren't seen as focusable aria separators

* Fix

* Fix font slider not having aria label

* Add missing aria labels

* Fix settings flags setting aria-checked={null}

* Update snapshots
2023-04-17 16:09:45 +00:00
Rashmit Pankhania
7751f9c622
#21451 Fix WebGL disabled error message (#10589)
* #21451 Fix WebGl disabled error message

* #21451 Fix WebGl disabled error message

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

* Fix message

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

* Fix ordering of cases in LocationShareErrors.ts

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

* Fix linting LocationPicker.tsx

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

* Fix eslint

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

* Fix file encoding for i18n CI issue

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

* Fix ts strict CI issue

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

---------

Signed-off-by: Rashmit Pankhania <rashmitpankhania@gmail.com>
Signed-off-by: Rashmit Pankhania <raspankh@publicisgroupe.net>
Co-authored-by: Rashmit Pankhania <raspankh@publicisgroupe.net>
Co-authored-by: Kerry <kerrya@element.io>
2023-04-17 04:25:04 +00:00
Eric Eastwood
c1e7905ddc
Properly translate errors in AddThreepid.ts (#10432)
* Properly translate errors in AddThreepid.ts

Part of https://github.com/vector-im/element-web/issues/9597

* Use translated message

* Avoid returning undefined ever

* More usage

* Introduce UserFriendlyError

* Use UserFriendlyError

* Add more usage instead of normal error

* Use types and translatedMessage

* Fix lints

* Update i18n although it's wrong

* Use unknown for easier creation from try/catch

* Use types

* Use error types

* Use types

* Update i18n strings

* Remove generic re-label of HTTPError

See https://github.com/matrix-org/matrix-react-sdk/pull/10432#discussion_r1156468143

The HTTPError already has a good label and it isn't even translated if we re-label it here in this way generically

Probably best to just remove in favor of thinking about a translations in general from the `matrix-js-sdk`, see https://github.com/matrix-org/matrix-js-sdk/issues/1309

* Make error message extraction generic

* Update i18n strings

* Add tests for email addresses

* More consistent error logging to actually see error in logs

* Consistent error handling

* Any is okay because we have a fallback

* Check error type

* Use dedicated mockResolvedValue function

See https://github.com/matrix-org/matrix-react-sdk/pull/10432#discussion_r1163344034
2023-04-14 15:40:19 +01:00
Michael Telatynski
1ae0662872
Update setting description to match reality (#10600) 2023-04-14 08:58:08 +00:00
Andy Balaam
c496985ff3
Show a tile for an unloaded predecessor room if it has via_servers (#10483)
* Improve typing in constructor of RoomPermalinkCreator

* Provide via servers if present when navigating to predecessor room from Advanced Room Settings

* Show an error tile when the predecessor room is not found

* Test for MatrixToPermalinkConstructor.forRoom

* Test for MatrixToPermalinkConstructor.forEvent

* Display a tile for predecessor event if it contains via servers

* Fix missing case where event id is provided as well as via servers

* Refactor RoomPredecessor tests

* Return lost filterConsole to its home

* Comments for IState in AdvancedRoomSettingsTab

* Explain why we might render a tile even without prevRoom

* Guess the old room's via servers if they are not provided

* Fix TypeScript errors

* Adjust regular expression (hopefully) to avoid potential catastrophic backtracking

* Another attempt at avoiding super-liner regex performance

* Tests for guessServerNameFromRoomId and better implementation

* Further attempt to prevent backtracking

---------

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-04-12 15:26:45 +00:00
Michael Telatynski
e5b1b7b632
Make composer format bar an aria toolbar (#10583)
* Make composer format bar an aria toolbar

* Iterate

* Iterate

* Update snapshot
2023-04-12 13:58:38 +00:00
Michael Telatynski
09eefe14ea
Remove feedback buttons from onboarding, search, and spaces (#10506) 2023-04-05 12:17:25 +01:00
Michael Weimann
df89d2ce28
Check profiles before starting a DM (#10472) 2023-04-05 13:13:51 +02:00
Janne Mareike Koschinski
52eec283b3
Quick settings: Change the copy / labels on the options (#10427)
* Quick settings: Change the copy / labels on the options
* Update i18n
2023-04-04 21:00:57 +02:00
Michael Telatynski
404c412bcb
Handle IDB closed event by showing modal with prompt to reload app (#10395
* Handle IDB `closed` event by showing modal with prompt to reload app

* Iterate

* Skip the modal for guests, e.g. during registration

* Iterate

* Add tests
2023-03-31 10:08:45 +01:00
Michael Weimann
af151700c9
Strictify src/components/structures/Space* (#10481) 2023-03-31 10:20:15 +02:00
Eric Eastwood
ff1468b6d3
Replace newTranslatableError with UserFriendlyError (#10440
* Introduce UserFriendlyError

* Replace newTranslatableError with UserFriendlyError

* Remove ITranslatableError

* Fix up some strict lints

* Document when we/why we can remove

* Update matrix-web-i18n

Includes changes to find `new UserFriendlyError`,
see https://github.com/matrix-org/matrix-web-i18n/pull/6

* Include room ID in error

* Translate fallback error

* Translate better

* Update i18n strings

* Better re-use

* Minor comment fixes
2023-03-31 08:30:43 +01:00
Kerry
6eda1fa6e2
replace Polls history strings with Poll history (#10454)
Co-authored-by: Michael Weimann <michaelw@matrix.org>
2023-03-28 22:13:51 +00:00
Eric Eastwood
e5f06df3f7
Better error handling in jump to date (#10405)
- Friendly error messages with details
 - Add a way to submit debug logs for actual errors (non-networking errors)
 - Don't jump someone back to a room they already navigated away from. Fixes bug mentioned in https://github.com/vector-im/element-web/issues/21263#issuecomment-1056809714
2023-03-24 14:39:24 -05:00
Patrick Cloke
e19127f8ad
Implement MSC3952: intentional mentions (#9983)
Implements the intentional mentions feature of MSC3952 (behind
a labs flag).

If enabled, this will send an org.matrix.msc3952.mentions property
on events that will contain the user IDs and/or whether the room is
being mentioned. These mentions also gets propagated via some
custom behaviour for replies and edits.
2023-03-23 11:47:40 +00:00
Michael Weimann
3eb6a55b93
Tweak pill UI (#10417) 2023-03-22 13:27:24 +01:00
Michael Weimann
96d1b74ffc
Pillify event permalinks (#10392) 2023-03-21 10:23:20 +01:00
Kerry
2344eaab1c
Poll history - remove active development labs flag (#10357)
* add poll history tab to room settings

* test poll history in room settings

* remove posthog tracking for poll his

* remove labs flag for poll history

* i18n
2023-03-15 20:54:12 +00:00
Michael Telatynski
e3930fb8b0
Show all labs even if incompatible, with appropriate tooltip explaining requirements (#10369)
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-03-15 08:37:41 +00:00