Commit Graph

3711 Commits

Author SHA1 Message Date
Kegan Dougal
194362a487 Remove well-known proxy URL lookup; always use native
This is actually required for SSS because otherwise it would use
the proxy over native support.
2024-09-13 14:33:29 +01:00
Florian Duros
07125f554d
Remove release announcement of new header (#23) 2024-09-11 09:17:44 +00:00
Sahil Silare
cdffbdb81a
Add error handling for room publish toggle (#12941)
* feat: added error handling for room publish toggle

* chore: fixed the messages and removed `console.log`

* chore: added minor comment that was removed

* fix: addressed review comments

* fix: fixed linting
2024-09-05 09:01:10 +00:00
Florian Duros
60fe70b3cc
Add a prefix to file, poll, image, video and audio in the pinned message banner (#12950)
* Move event preview to its own component

* Remove unused parameter

* Add prefix to file, audio, video and image in the pinned message banner

* Add prefix to poll in the pinned message banner

* Add tests
2024-09-04 09:07:19 +00:00
Timshel
ae15bbe6e0
Allow user to set timezone (#12775)
* Allow user to set timezone

* Update test snapshots

---------

Co-authored-by: Florian Duros <florianduros@element.io>
2024-09-02 09:07:07 +00:00
Florian Duros
d16ab09866
Display pinned messages on a banner at the top of a room (#12917)
* Move pinned message hooks to a dedicated file

* Add a banner at the top of a room to display the pinned messages

* Put the pinning banner behind labs pinning labs flag

* Add redacted event support

* Handle UTD in pinning message banner

* Add tests for redaction

* Make all the banner clickable

* Add tests for PinnedMessageBanner.tsx

* Add e2e tests for the pinned message banner

* Review changes
2024-08-29 14:26:10 +00:00
Florian Duros
a7e907e0e6
Add thread information in pinned message list (#12902) 2024-08-21 09:02:35 +00:00
Florian Duros
6f3dc30693
Message Pinning: rework the message pinning list in the right panel (#12825)
* Fix pinning event loading after restart

* Update deps

* Replace pinned event list

* Add a dialog to confirm to unpin all messages

* Use `EmptyState` when there is no pinned messages

* Rework `PinnedEventTile` tests

* Add comments and refactor `PinnedMessageCard`

* Rework `PinnedMessageCard` tests

* Add tests for `UnpinAllDialog`

* Add e2e tests for pinned messages

* Replace 3px custom gap by 4px gap

* Use string interpolation for `Pin` action.

* Update playright sceenshot for empty state
2024-08-16 12:16:06 +00:00
David Baker
4751c52d82
Refactor the various email/phone management UI into a single component (#12884)
* Refactor the various email/phone management UI into a single component

These were basically the same component copied & pasted 3 times and
tweaked to match the behaviour of each case. This de-dupes them into
one component.

This all could really benefit from playwright tests, but would require
setting up a dummy ID server in the playwright tests. This is all legacy
pre-MAS stuff so its questionable whether its worth the effort.

* Basic test, remove old tests

* Use different text to confirm remove & put headers back

although the two texts are both 'Remove' in practice

* Remove string

This was never triggered anyway with sydent & synapse because they
don't seem to agree on what error to return. In any case, I think it
makes more sense for it to be consistent with the email path, ie. using
a dialog.

* Avoid nested forms

* Snapshots

* More snapshots

* Test the hs side

* Snapshots

* Test IS bind/revoke

* Test remove can be cancelled

* Test unvalidated cases & fix phone error

* Reset state between tests

* Import useState directly

* One more direct React import
2024-08-14 13:13:57 +00:00
David Baker
4e4c5c7768
Rename general user settings to account (#12841)
* Rename general user settings to account

Everything 'general' is now elsewhere, so this is ready for its
new name.

* Update snapshots

* Rename & update playwright test

* Rename class & remove unused CSS class

* Change test ID

* rethemendex

* More tests!!

* snapshots

* Put the screenshots back in the new place

* Fix tests with restoreAllMocks

* More screenshot renaming

* More test fixes & screenshot updates

* More test fixes

* un-skip

* Typo

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

---------

Co-authored-by: Robin <robin@robin.town>
2024-08-06 17:05:08 +00:00
Andrew Ferrazzutti
127051892d
Invite dialog: display MXID on its own line (#11756)
* Invite dialog: display MXID on its own line

Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>

* Refactor to satisfy i18n linter

Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>

---------

Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>
2024-08-01 14:17:49 +00:00
Michael Telatynski
a38a5161ef
Align RoomSummaryCard styles with Figma (#12793)
* Extract useIsVideoRoom hook

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

* Align RoomSummaryCard styles with Figma

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

* Update screenshots

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

* Update screenshot

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-08-01 12:00:40 +00:00
Michael Telatynski
f3ac6692da
Handle media download errors better (#12848)
* Handle media download errors better

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

* Add test

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

* Show error if media download failed

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

* More tests

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-31 14:07:59 +00:00
Michael Telatynski
b55653ddf0
Extract Extensions into their own right panel tab (#12844)
* Extract useIsVideoRoom hook

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

* Move useWidgets hook to WidgetUtils

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

* Extract Extensions into their own right panel tab

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

* Remove unused components & classes

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

* Tests

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

* Update screenshots

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-31 09:38:25 +00:00
Michael Telatynski
02047243f0
Rework how the onboarding notifications task works (#12839)
* Rework how the onboarding notifications task works

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

* Add test

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>
2024-07-30 14:55:08 +00:00
Michael Telatynski
a12c1874f9
Warn users on unsupported browsers before they lack features (#12830)
* Warn users on unsupported browsers before they lack features

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

* Update Learn more link

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 comments

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-29 16:05:34 +00:00
R Midhun Suresh
dafc97fe83
Add release announcement for the new room header (#12802) 2024-07-23 12:46:24 +01:00
Michael Telatynski
0fc1c53a8e
Iterate design of right panel empty state (#12796)
* Add reusable empty state for the right panel

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

* Update tests

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

* Improve coverage

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-19 17:17:40 +00:00
Michael Telatynski
f706ac4fa1
Update styling of UserInfo right panel card (#12788)
* Add colour to PresenceLabel in UserInfo

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

* Update button positions & styles in UserInfo

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

* Update UserInfo styles

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

* Update tests

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

* Revert Ignore->Block copy change

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-18 14:24:44 +00:00
Alex Kirk
3c9bd69d48
Accessibility: Add Landmark navigation (#12190)
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
2024-07-17 14:46:45 +01:00
Hubert Chathi
db95f26ffa
remove "Manually verify all remote sessions" setting (#12706)
* remove "Manually verify all remote sessions" setting

And remove all of the advanced encryption settings section, since that was the
only setting in there.

* yarn i18n

* also remove now-unused OrderedMultiController and PushToMatrixClientController
2024-07-12 21:10:16 +00:00
Richard van der Hoff
72e0d100ea
Update wording shown when keys are withheld (#12761)
We can be a bit more helpful here.
2024-07-11 14:06:45 +00:00
R Midhun Suresh
cf8b87fd14
Add tabs to the right panel (#12672)
* Create new method for header button behaviour

With the introduction of tabs, the behaviour of the header buttons is
changed as follows:
- Close any right panel if open
- Open the correct right panel if no panel was open before

The old method (and behaviour) is retained as showOrHidePhase.

* Implement tabs in the right panel

There are three tabs: Info, People and Threads

* Remove unwanted code from RoomSummaryCard

- Remove the menu item for opening the memberlist since that is now
  taken of by the tabs.
- Remove the close button

* Remove code for focusing close button from tac item

See https://github.com/matrix-org/matrix-react-sdk/pull/12410

There's no longer a close button to focus so we instead focus the thread
tab. This is done in RightPaneltabs.tsx so we just need to remove this
code.

* Introduce a room info icon to the header

This was previously present in the legacy room header but not in the new
header.

* BaseCard changes

- Adds id, ariaLabelledBy and role props to implement tab accessibility.
- Adds hideHeaderButtons prop to hide header buttons (think back and
  close buttons).
- Change confusing header rendering code:
  header is not rendered ONLY when no header is passed AND
  hideHeaderButtons is true.

* Refactor repeated code into function

Created a new function createSpaceScopeHeader which returns the
component if the room is a space room. Previously this code was
duplicated in every component that uses SpaceScopeHeader component.

* Pass BaseCard attributes and use helper function

Actually using the code from the last two commits

* Add, update and remove tests/screenshots/snapshots

* Fix distance between search bar and tabs

* Update compound

* Update screenshots/snapshots
2024-07-09 11:36:50 +00:00
Michael Telatynski
cd39d91c15
Promote new room header from labs to Beta (#12739)
* Promote new room header from labs to Beta

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

* Update tests

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

* Fix reload warning

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>
2024-07-09 09:45:48 +00:00
Michael Telatynski
2a26afe438
Redesign room search interface (#12677)
* Extract SearchInfo interface and SearchScope enum

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

* Fix in-progress and update behaviour of RoomSearchView

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

* Remove search button from legacy header

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

* Move search from aux panel to room summary card

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

* Wire up Cmd/Ctrl F for moved search field

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

* Use cpd space tokens

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

* Remove stale props

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

* Fix ctrl/cmd f search shortcut

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

* Tests

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

* Tests

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

* Update Compound

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

* Revert the back button for now

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

* i18n

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>

* Iterate

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

* Cancel search on escape

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

* Fix missing X

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

* Improve coverage

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

* Extract SearchScope and SearchInfo into Searching

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

* delint

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

* delint

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

* Fix test

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

* Switch to icon button for cancel search

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

* Iterate

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

* yarn.lock

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

* Iterate

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

* 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>

* Update screenshots

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

* i18n

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

* Update screenshots

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

* Update screenshots

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

* Update locators

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

* Revert screenshots

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

* Update screenshots

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

* Update snapshots

* Discard changes to package.json

* i18n

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

* Snapshots

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

* Handle narrow viewports

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

* Iterate

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

* Improve coverage

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

* Improve coverage

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

* Iterate

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

* Revert copy

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-08 09:57:41 +00:00
David Baker
81f29d13dc
Move language settings to 'preferences' (#12723)
* Move language settings to 'preferences'

Their new home is in this tab

* Update snapshot

* Move playwright test code

* Add test

* tests

* Update screenshot
2024-07-05 22:04:27 +00:00
Florian Duros
2f953f1d0f
New layout selector ui in user settings (#12676)
* feat: reworked the layout switcher

* feat: make the classname optional in EventTilePreview.tsx

* test: add tests to LayoutSwitcher

* feat: change appearance tab

* test: update appearance snapshot

* e2e: add tests

* css: add comment for gap overriding
2024-07-05 07:30:31 +00:00
David Baker
e48110d7c6
Move the account management button (#12663)
* Disable profile controls if the HS doesn't allow them to be set

Also updates to the js-sdk interface changes in https://github.com/matrix-org/matrix-js-sdk/pull/4246

* Remove unnecessary await

* Pass disabled prop to accessiblebutton in avatarsetting

* Move the account management button

The section it lives in with the server name goes, and the button
just lives on its own in the profile section.

* Update test

* Revert bits of previous PR that are no longer wanted

because we squash merge so git can no longer make sense of what changes
have been applied.

* More squash-merge fails

* More more squash merge fails
2024-07-04 09:46:26 +00:00
Michael Telatynski
b0d2010247
Update new room header facepile tooltip (#12699)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-03 17:01:58 +00:00
David Baker
510fb1ba2f
Disable profile controls if the HS doesn't allow them to be set (#12652)
* Disable profile controls if the HS doesn't allow them to be set

Also updates to the js-sdk interface changes in https://github.com/matrix-org/matrix-js-sdk/pull/4246

* Remove unnecessary await

* Pass disabled prop to accessiblebutton in avatarsetting

* Use getCapabilities

in case there are no cached capabilities

* Fix test

* Go back to just using getCapabilities

Rather than change the other places
2024-07-02 10:04:07 +00:00
Florian Duros
33a017b528
New theme ui in user settings (#12576)
* Add hook to get the theme

* Adapt subsection settings to new ui

* WIP new theme subsection

* Add theme selection

* Fix test types

* Disabled theme selector when system theme is used

* Update compound to `4.4.1`

* Add custom theme support

* Remove old ThemChoicePanel

* Fix QuickThemeSwitcher-test.tsx

* Fix AppearanceUserSettingsTab-test.tsx

* Update i18n

* Fix ThemeChoicePanel-test.tsx

* Update `@vector-im/compound-web`

* Small tweaks

* Fix CSS comments and use compound variable

* Remove custom theme title

* i18n: update

* test: add tests to theme selection

* test: update AppearanceUserSettingsTab-test snapshot

* test: rework custom theme

* playwright: fix audio-player.spec.ts

* playwright: appearance tab

* test: update snapshot

* playright: add custom theme

* i18n: use correct char for ellipsis

* a11y: add missing aria-label to delete button

* dialog: update close button tooltip

* theme: remove local state and handle custom delete

* theme: don't add twice the same custom theme

* test: update snapshot

* playwright: update snapshot

* custom theme: add background to custom theme list

* update compound web

* Use new destructive property on `IconButton` of theme panel

* test: update snapshots

* rename new ui into legacy

* remove wrong constructor doc

* fix theme selector padding

* theme selector: fix key

* test: fix e2e
2024-06-26 15:47:01 +00:00
David Baker
ea0baee101
Split out email & phone number settings to separate components & move discovery to privacy tab (#12670)
* WIP update of threepid settings section

* Remove email / phone number section from original place

and don't show the new one if 3pids are disabled

* Update snapshots

* Pull identity server / 3pid binding settings out to separate component

and put it in the security & privacy section which is its new home

* Update snapshot

* Move relevant part of test & update screenshots / snapshots

* Remove unnecessary dependency

* Add test for discovery settings

* Add spacing in terms agreement
2024-06-26 13:04:19 +00:00
Richard van der Hoff
9c862907f9
Switch to Rust crypto stack for all logins (#12630)
* Use Rust crypto stack universally

Ignore the `feature_rust_crypto` and `RustCrypto.staged_rollout_percent`
settings, and just use RustCrypto everywhere.

* Remove labs setting for rust crypto

* Remove support for legacy crypto stack in `StorageManager`

We're not going to use the legacy stack any more.

* Update docs on `Features.RustCrypto`

* Remove now-unreachable `tryToUnlockSecretStorageWithDehydrationKey`

* Comment out test which doesn't work

* fix typo
2024-06-24 09:14:42 +00:00
Michael Telatynski
5eb5ea81d5
Remove redundant copy in deactive uia modal (#12668)
* Remove redundant copy in deactive uia modal

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

* delint

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-06-21 14:16:22 +00:00
David Baker
650b9cb0cf
Add in-progress view to display name EditInPlace (#12609)
* Add in-progress view to display name EditInPlace

Requires https://github.com/element-hq/compound-web/pull/180

* Update to new compound-web

for editinplace component with spinner

* Update snapshots

for https://github.com/element-hq/compound-web/pull/178

* Update screenshots

* Remove margin

which isn't necessary now there's no 'Remove' link on the bottom

* Update screenshots
2024-06-14 14:16:13 +00:00
Hubert Chathi
6fc9d7641c
Remove room key history sharing (#12618)
* Remove room key history sharing

* remove string from i18n
2024-06-14 13:13:41 +00:00
Michael Telatynski
2547777de7
Tweak copy for user verification toast (#12605)
* Tweak copy for user verification toast

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

* Update tests

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>
2024-06-13 16:04:33 +00:00
David Baker
1696c5cd0a
Change avatarsetting componment to use a menu (#12585)
* New user profile UI in User Settings

Using new Edit In Place component.

* Show avatar upload error

* Fix avatar upload error

* Wire up errors & feedback for display name setting

* Implement avatar upload / remove progress toast

* Add 768px breakpoint

* Fix display of no avatar in avatar setting controls

There was supposed to be a person icon but it was invisible, and also
would have been inappropriate for room avatars anyway.

This makes it match the designs by being the same as whatever the
default avatar is.

* Fix room profile display

* Update edit icon on avatarsetting comnponent

* Change avatarsetting componment to use a menu

As per the designs, remove the 'remove' link and instead have a menu
pop up to either upload a new file or remove the avatar.

This also changes the room profile viw, since that uses the same view.

* Update to released compund-web with required components / fixes

* Require compound-web 4.4.0

because we do need it

* Update snapshots

Because of course all the auto-generated IDs of unrelated things
have changed.

* Fix duplicate import

* Fix CSS comment

* Update snapshot

* Run all the tests so the ids stay the same

* Start of a test for ProfileSettings

* More tests

* Test that a toast appears

* Test ToastRack

* Update snapshots

* Add the usernamee control

* Fix playwright tests

 * New compound version for editinplace fixes
 * Fix useId to not just generate a constant ID
 * Use the label in the username component
 * Fix widths of test boxes
 * Update screenshots

* Put ^ back on compound-web version

* Split CSS for room & user profile settings

and name the components correspondingly

* Fix playwright test

* Update room settings screenshot

* Use original screenshot instead

* Add required props in test

* Fix test

* Also here

* Update screenshots

* Remove user icon

...which is unused now, as far as I can see.

* Fix styling of unrelated buttons

Needed to be added in other places otherwise the specificity changes.

Also put the old screenshots back.

* Add copyright year

* Fix copyright year

* Switch to useMatrixClientContext

* Fix other test

* Make clickable with no avatar again and fix tests

and renmove a test for the remove button which is no longer there

* Put back missing CSS to make the menu entry red

* Fix type error

* Fix tests

* Supply open / onOpenChange props

* Fix tests

* There is no hover anymore

* Use the computed name, not the name which may be null

* Fix room avatar remove behaviour

* Remove redundant else
2024-06-07 13:25:21 +00:00
David Baker
cfa322cd62
New user profile UI in User Settings (#12548)
* New user profile UI in User Settings

Using new Edit In Place component.

* Show avatar upload error

* Fix avatar upload error

* Wire up errors & feedback for display name setting

* Implement avatar upload / remove progress toast

* Add 768px breakpoint

* Fix room profile display

* Update to released compund-web with required components / fixes

* Require compound-web 4.4.0

because we do need it

* Update snapshots

Because of course all the auto-generated IDs of unrelated things
have changed.

* Fix duplicate import

* Fix CSS comment

* Update snapshot

* Run all the tests so the ids stay the same

* Start of a test for ProfileSettings

* More tests

* Test that a toast appears

* Test ToastRack

* Update snapshots

* Add the usernamee control

* Fix playwright tests

 * New compound version for editinplace fixes
 * Fix useId to not just generate a constant ID
 * Use the label in the username component
 * Fix widths of test boxes
 * Update screenshots

* Put ^ back on compound-web version

* Split CSS for room & user profile settings

and name the components correspondingly

* Fix playwright test

* Update room settings screenshot

* Use original screenshot instead

* Fix styling of unrelated buttons

Needed to be added in other places otherwise the specificity changes.

Also put the old screenshots back.

* Add copyright year

* Fix copyright year
2024-06-06 13:56:38 +00:00
Michael Telatynski
1677ed1be0
MSC4108 support OIDC QR code login (#12370)
Co-authored-by: Hugh Nimmo-Smith <hughns@matrix.org>
2024-06-06 09:57:28 +01:00
Florian Duros
a6907a033e
Use compound tooltip in ReactionRowButton 2024-05-22 11:27:01 +02:00
Hubert Chathi
4ed6da4eba
Remove old pre-join UTD logic (#12464)
* remove old pre-join UTD logic

and add a playwright test for new pre-join UTD

* remove variable that isn't used any more

* add missing synapse template

* remove unused variable (again) and run prettier

* add test that we can jump to an event before our latest join membership event

* modify default template instead of creating a new template
2024-05-10 20:20:40 +00:00
Michael Telatynski
eee0b2a9c3
Add room topic to right panel room info (#12503)
* Add room topic to right panel room info

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

* Tweak styles

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

* Update snapshot

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

* Iterate

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

* Update snapshots

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

* Iterate

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

* Add snapshot tests

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>
2024-05-10 10:00:43 +00:00
David Baker
18ef97161a
Move the active tab in user settings to the dialog title (#12481)
* Convert tabbedview to functional component

The 'Tab' is still a class, so now it's a functional component that
has a supporting class, which is maybe a bit... jarring, but I think
is actually perfectly logical.

* put comment back

* Fix bad tab ID behaviour

* Make TabbedView a controlled component

This does mean the logic of keeping what tab is active is now in each
container component, but for a functional component, this is a single
line. It makes TabbedView simpler and the container components always
know exactly what tab is being displayed rather than having to effectively
keep the state separately themselves if they wanted it.

Based on https://github.com/matrix-org/matrix-react-sdk/pull/12478

* Move the active tab in user settings to the dialog title

Separated by a colon, as per the new design.

* Update snapshots

* Update a playwright test

* Fix more tests / snapshots

* Attempt to test all the cases of titleForTabID

* More tests
2024-05-07 09:32:24 +00:00
Ed Geraghty
bb4f57583f
MSC3575 (Sliding Sync) add well-known proxy support (#12307)
* Initial commit

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Remove commented code

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Change function to reflect it's proxy not native support

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Re-add check for servers with native support

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Add native support check back in

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Re-add endpoint health check function

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Use inbuilt `getWellKnown` function

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Change the error message to the correct function

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Stop storing the proxyurl in the settings for now

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Make the logger messages more useful

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Start moving the checking logic directly into the controller

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Add missing import

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Get the client rather than passing it in to the functions

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* remove invalid `function` keyword

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Fix imports

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Our new functions are private

We shouldn't(?) have to use these check in future elsewhere

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Change our proxy check function to return a boolean

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Make `nativeSlidingSyncSupport` also return boolean, add in health check

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Disable the sliding sync option if the server doesn't support

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Only enable the setting if it passes (again)

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Update our comments to better match what's going on

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Remove unused dialog

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Add a well-known check on start-up, if sliding sync has been enabled

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Check against the correct endpoint...

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Extract baseUrl as we'll reuse it

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Make the logs differentiate between the types of proxy

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Grab the client well-known directly for use

Can't use the client object at this point, it hasn't read in the well-known

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Add myself to the copyright assignation

I wrote the majority of this file...

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Only return `true` if it's actually there

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Correct the `proxySlidingSyncSupport` function comment to match the code

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Correct the `nativeSlidingSyncSupport`function comment to match the code

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Another comment/functionality paring

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Remove duplicated types from the doc

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Move await to the previous line

Removes brackets, and corrects `wellKnown` from being a `Promise`
Signed-off-by: Ed Geraghty <ed@geraghty.family>

* use `waitForClientWellKnown` to avoid a race condition with the request

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Move getting the client out of the `if`, use `waitForClientWellKnown`

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Remove `beforeChange` override

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Move proxy setup logic into `SlidingSyncManager`

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Swap `configure` to private, we call it from `setup` which handles proxy

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Promises are always `true`

TIL.
Signed-off-by: Ed Geraghty <ed@geraghty.family>

* use `timeoutSignal`

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Change message when there's no server support

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Refactor `slidingSyncHealthCheck`

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Refactor `nativeSlidingSyncSupport` with try/catch

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Change comment to hotlink

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Try and make the toggle disabled when there's no endpoint

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Move the if statement outside the refactored fn to avoid an await

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Revert "Swap `configure` to private, we call it from `setup` which handles proxy"

This reverts commit c80a00b50c261becc9ad58e08d2a893d572d8426.

* Remove unused import

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Further refactor `slidingSyncHealthCheck`

`proxySlidingSyncSupport` already checks the client well-known is there
Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Make `proxySlidingSyncSupport` log on success

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Clarify log message for proxy being up

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Move the logic into SlidingSyncManager

All so we can set a static variable because the disabled check isn't asynchronous :)

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Obviously this isn't a return so don't overwrite with false!

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Remove outdated comment

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* No need to pass in the client

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Activating SS should probably be info level logs

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* If we've not enabled sliding sync, push the logs down a bit

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Update i18n error message

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Remove unused i18n strings

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Correct log message

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Prettier

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Remove many of the log messages

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Short out of `checkSupport` if it's `true`

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Add the endpoint back into the log when we're enabling it

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Note in the comment that `feature_sliding_sync_proxy_url` is legacy

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Expand the well-known liveness check log

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* No need to stall the client waiting for sliding sync support

* `AutoDiscovery.findClientConfig` throws if the baseUrl is blank

* Fix `getProxyFromWellKnown` (?)

* Add missing semicolon

Sorry, linter!
Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Pass our `MatrixClient` through instead of trying to grab it

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Add missing return in function comment

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Actually pass through our Client, not the Peg object

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Remove SonarCube smell complaint

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Neew to make our other two methods public to test

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* First passing test

Hurrah!
Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Two more tests, this time on `checkSupport`

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Reset our `serverSupportsSlidingSync` between tests

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Check the static member is being set

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Move the static assignation down to the relevant tests

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Pull getProxyFromWellKnown mocking up

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Check we /haven't/ shorted out

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Move our spy up so we can reuse it

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Check spidering  is being called

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Test the proxy is declared

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Test entered manually

Signed-off-by: Ed Geraghty <ed@geraghty.family>

* Sorry, linter

* I guess these strings are wrong?

* Replace any with string

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

---------

Signed-off-by: Ed Geraghty <ed@geraghty.family>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2024-04-30 18:11:11 +00:00
Michael Telatynski
641a20ce63
Prepare for OIDC QR Login PR (#12463)
* Move LoginWithQRSection to the top of the settings tab

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

* Refactor LoginWithQRSection to a Functional Component

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

* Extract LoginWithQR types

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

* Update LoginWithQRFlow styling & copy

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

* Re-add missing buttons and update snapshots

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

* Use compound spacings

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-04-30 17:18:55 +00:00
Hubert Chathi
d5bf1022e9
Use a different error message for UTDs when you weren't in the room. (#12453)
* Use different messages for UTDs sent before login

* Playwright test for historical events

* Add some tests

* initial work on pre-join UTDs

* add playwright tests and remove old pre-join UTD logic

* run i18n script

* fix type error

* use different error code in PostHog for pre-join UTD

* don't remove old pre-join UTD logic yet

---------

Co-authored-by: Richard van der Hoff <richard@matrix.org>
2024-04-29 17:18:57 +00:00
David Baker
281916fd96
Take the Threads Activity Centre out of labs (#12439)
* Take the TAC out of labs!

Requires https://github.com/matrix-org/matrix-react-sdk/pull/12438
and ideally https://github.com/matrix-org/matrix-react-sdk/pull/12418

* i18n

* Add test method

That's needed now we we don't include threads in the notif count in the tests

* One less labs setting

* Update snapshot

* Disable release announcement

* Unused import

* Fix some screenshots

* Fix all the unread test cases now room unreads don't include threads

* Fix more tests

* Even more test fixes

* Still more test fixes

* Oh goodness, it's more test fixes

* Fix selectors now there are 2 buttons called Threads

* Disable some tests that aren't passing

for reasons that don't appear releated to any of the TAC work, as
per the comment.

* Remove debugging

* Oops, removed too much
2024-04-29 15:30:19 +00:00
Richard van der Hoff
bd7ce7cda9
Expected UTDs: use a different message for UTDs sent before login (#12391)
* Use different messages for UTDs sent before login

* Playwright test for historical events

* Add some tests

* Don't show "verify" message if backup is working

* Apply suggestions from code review
2024-04-25 08:11:41 +00:00
Richard van der Hoff
d402b52e06
Collect decryption failure translations together (#12436)
* Collect decryption failure translations together

They are not specific to threads.

* Revert changes to non-english languages
2024-04-18 10:40:25 +00:00