Commit Graph

415 Commits

Author SHA1 Message Date
Michael Weimann 5c60211d76 Fix login screen style (#9611) 2022-11-25 08:49:11 +01:00
Michael Weimann e5ce6d7800 New password reset flow (#9581) 2022-11-22 07:58:37 +01:00
Michael Telatynski 590b845f3f Remove all usages of UNSAFE_* React methods (#9583) 2022-11-18 09:22:43 +00:00
Mahdi Bagvand 7c33fc6cf6 fix wrong error message in registration when phone number threepid is in use. (#9571) 2022-11-13 16:58:40 +00:00
Michael Telatynski 5f540eb25c Update types to match js-sdk --strict mode (#9528)
Co-authored-by: Michael Weimann <michaelw@matrix.org>
2022-11-03 12:50:07 +00:00
Travis Ralston 8d6a67e67d Fully move auth types to js-sdk (#9499)
* Fully move auth types to js-sdk

The SSO buttons were the only consumer of these types, so let's just move them. They've been in the js-sdk for a while now, and webpack is screaming about missing exports (because they're all interfaces and types, which don't exist after transpiling).

* Fix the other cases too
2022-10-25 17:00:23 -06:00
Michael Telatynski 8b54be6f48 Move from browser-request to fetch (#9345) 2022-10-12 18:59:07 +01:00
Michael Telatynski d5db131eef Spike AXE A11Y testing in Cypress (#9111)
* Spike AXE A11Y testing in Cypress

* Fix NewRoomIntro breaking html/aria list rules

* Fix HeaderButtons breaking aria role semantics rules

* missing type

* Switch left panel from aside to nav and include space panel

* Give the page a main heading of the room name when viewing a room

* Use header landmark on RoomHeader

* Improve aria attributes on composer when autocomplete is closed

* Fix aria-owns on RoomHeader

* Give Spinner an aria role

* Give server picker help button an aria label

* Improve auth aria attributes and semantics

* Improve heading semantics in use case selection screen

* Fix autocomplete attribute to be valid

* Fix heading semantics on login page

* Improve Cypress axe testing

* Add axe tests

* Stop synapse after the timeline tests

* Await spinners to fade before percy snapshotting timeline tests

* Improve naming of plugin

* Update snapshots

* Fix accidental heading change

* Fix double synapse stoppage

* Fix Cypress timeline avatar assertions to be DPI agnostic

* Fix aria attributes on date separators

* delint

* Update snapshots

* Revert style change

* Skip redundant call
2022-08-01 08:31:14 +01:00
Janne Mareike Koschinski e694e87814 Prevent email verification from overriding existing sessions (#9075) 2022-07-22 11:45:26 +02:00
Michael Weimann 742b21ca46 Extract ValidatedServerConfig (#9054) 2022-07-14 15:03:34 +02:00
Suguru Hirahara 731776d189 Improve link buttons and inline link buttons styling (#8238)
* Set padding: 0 to both "link" and "link_inline"

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

* Remove redundant settings - _SpotlightDialog.scss

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

* Remove redundant settings - JoinRuleSettings

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

* Remove redundant settings - _ViewSourceEvent.scss

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

* Remove redundant settings - _RoomDirectory.scss

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

* Remove redundant settings - _InviteDialog.scss

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

* Remove redundant settings - ServerOfflineDialog

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

* Remove redundant settings - UpdateCheckButton

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

* Remove redundant settings - NonUrgentEchoFailureToast

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

* Remove redundant settings - CallView

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

* Remove unused styles - _RoomSettingsDialogBridges.scss

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

* Replace "link" with "link_inline" for inline links

- src/components/structures/UserMenu.tsx
- src/components/views/dialogs/BetaFeedbackDialog.tsx
- src/components/views/dialogs/FeedbackDialog.tsx
- src/components/views/rooms/NewRoomIntro.tsx
- src/components/views/settings/tabs/room/NotificationSettingsTab.tsx
- src/components/views/settings/tabs/user/PreferencesUserSettingsTab.tsx
- src/components/views/spaces/SpaceCreateMenu.tsx

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

* Replace "link_inline" with "link" for links not inline

- src/async-components/views/dialogs/security/CreateKeyBackupDialog.tsx
- src/async-components/views/dialogs/security/CreateSecretStorageDialog.tsx
- src/components/structures/auth/ForgotPassword.tsx
- src/components/structures/auth/Registration.tsx
- src/components/views/auth/InteractiveAuthEntryComponents.tsx
- src/components/views/dialogs/security/AccessSecretStorageDialog.tsx
- src/components/views/dialogs/security/RestoreKeyBackupDialog.tsx
- src/components/views/messages/TileErrorBoundary.tsx
- src/components/views/messages/ViewSourceEvent.tsx

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

* Remove a redundant declaration - _SetupEncryptionBody.scss

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

* Remove a redundant declaration - _ReplyChain.scss

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

* Remove a redundant declaration - _EventTile.scss

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

* Remove an obsolete style block - _RoomPreviewCard.scss

The block was transferred from _SpaceRoomView.scss with ec24dc661edb6979ba901936067e5bc731dafa59

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

* Remove a redundant declaration - _SecurityUserSettingsTab.scss

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

* Remove element='span' - NewRoomIntro.tsx

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

* Remove redundant declarations - _ServerPicker.scss

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

* Replace 'link' with 'link_inline' - AnalyticsToast.tsx

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2022-06-29 22:37:34 +00:00
Michael Telatynski 3c5c2bef6d Remove Piwik support (#8835)
* Remove all mentions of Piwik

* Kill off all consumer of the old Piwik Analytics module

* Simplify ModalManager interface

* i18n

* Attempt to fix old e2e tests

* Remove unused component

* Iterate PR
2022-06-14 17:51:51 +01:00
Suguru Hirahara b5ed051ecc Use AccessibleButton for 'Reset All' link button on SetupEncryptionBody (#8730)
- Remove ButtonResetDefault to respect the concept of cascading

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2022-06-03 08:07:18 +02:00
Janne Mareike Koschinski 01a3150d44 Automatically log in after registration (#8654) 2022-05-20 19:14:17 +02:00
Janne Mareike Koschinski 6d6cfcde11 registration: redesign email verification page (#8554) 2022-05-13 14:10:22 +00:00
Christian Paul 1a0af54ccb Grammar fix: by it's administrator -> by its administrator (#8467)
* by it's administrator -> by its administrator

* Fix typo in ServerLimitToast: by it's administrator
2022-05-05 03:50:30 +00:00
Yaya Usman b4da870af1 Patch: "Reloading the registration page should warn about data loss" (#8377) 2022-04-29 09:42:40 +00:00
Hugh Nimmo-Smith bb4064ff43 Allow user to control if they are signed out of all devices when changing password (#8259)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-04-22 18:15:38 +01:00
Michael Telatynski 74cab0323f Upgrade dependencies (#8362)
* Upgrade dependencies

* delint
2022-04-21 08:08:03 +01:00
Michael Telatynski b4bcbb2f30 Fix race in Registration between server change and flows fetch (#8359) 2022-04-20 14:04:42 -04:00
Reshma 3750b90554 Make email fields less space sensitive (#8341)
* Added an if to check if it is the email field

* Reverted the last change

* Added an if to check if its email field
2022-04-15 19:17:04 -06:00
Travis Ralston 997d6d40bf Step 1: Remove all usage of @replaceableComponent 2022-03-28 14:02:31 -06:00
Travis Ralston d8a939df5d Use & enforce snake_case naming convention on config.json settings (#8062)
* Document and support the established naming convention for config opts

This change:
* Rename `ConfigOptions` to `IConfigOptions` to match code convention/style, plus move it to a dedicated file
* Update comments and surrounding documentation
* Define every single documented option (from element-web's config.md)
* Enable a linter to enforce the convention
* Invent a translation layer for a different change to use
* No attempt to fix build errors from doing this (at this stage)

* Add demo of lint rule in action

* Fix all obvious instances of SdkConfig case conflicts

* Fix tests to use SdkConfig directly

* Add docs to make unset() calling safer

* Appease the linter

* Update documentation to match snake_case_config

* Fix more instances of square brackets off SdkConfig
2022-03-18 10:12:36 -06:00
Faye Duxovni 36ae0ea49d Fix styling on reset button in verification dialog (#7888) 2022-02-24 09:31:14 -05:00
Travis Ralston d71922ca51 Support social login & password on soft logout page (#7879)
* Code style: Modernize

* Make Soft Logout page support Social Sign On

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

This commit does a few things:
* Moves rendering of the flows to functions
* Adds a new login view enum for Password + SSO (mirroring logic from registration)
* Makes an absolute mess of the resulting diff

* Lint & i18n

* Remove spurious typing
2022-02-23 16:22:37 +00:00
Travis Ralston aba61fa390 Revert "Support refresh tokens (#7802)"
This reverts commit 839593412c.
2022-02-16 12:32:38 -07:00
Travis Ralston 839593412c Support refresh tokens (#7802)
MSC: https://github.com/matrix-org/matrix-doc/pull/2918
Fixes https://github.com/vector-im/element-web/issues/18698
Fixes https://github.com/vector-im/element-web/issues/20648
**Requires https://github.com/matrix-org/matrix-js-sdk/pull/2178**

**Note**: There's a lot of logging in this PR. That is intentional to ensure that if/when something goes wrong we can chase the exact code path. It does not log any tokens - just where the code is going. Overall, it should be fairly low volume spam (and can be relaxed at a later date).

----

This approach uses indexeddb (through a mutex library) to manage which tab actually triggers the refresh, preventing issues where multiple tabs try to update the token. If multiple tabs update the token then the server might consider the account hacked and hard logout all the tokens.

If for some reason the timer code gets it wrong, or the user has been offline for too long and the token can't be refreshed, they should be sent to a soft logout screen by the server. This will retain the user's encryption state - they simply need to reauthenticate to get an active access token again.

This additionally contains a change to fix soft logout not working, per the issue links above.

Of interest may be the IPC approach which was ultimately declined in favour of this change instead: https://github.com/matrix-org/matrix-react-sdk/pull/7803
2022-02-15 20:16:49 +00:00
Michael Telatynski 8d4e83084c Remove Countly analytics integration (#7808) 2022-02-15 16:58:30 +00:00
J. Ryan Stinnett 6199c337ea Fix spacing errors (#7484) 2022-01-10 12:57:20 +00:00
Kerry fed53a268b A11y - fix anchors-as-buttons (#7444)
* add link_inline accessiblebutton variant

* valid anchors in SecurityRoomSettingsTab

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

* new room intro link button

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

* replace anchor with button in rerequest encryption keys message

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

* inline button in UrlPreviewSettings

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

* ButtonResetDefault mixin

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

* inline link buttons in TextForEvent

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

* fix anchors in InviteDialog

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

* fix anchors in DevToolsDialog

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

* fix anchors in login/registration/reset pword flows

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

* fix types after fixing anchors in devtools

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

* fix anchors in MemberEventListSummary

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

* fix anchors in ReactionsRow and RoomUpgrade

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

* fix anchors in ReplyChain

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

* fix more anchors

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

* fix anchors in auth comps

* stylelint fixes

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

* remove ignore of jsx-a11y rule that is not added yet

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

* devtools style important explainer

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

* translate button alt in devtools dialog

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

* AccessibleButton is reactionsrow

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

* fix viewsourcevent button placement, use AccessibleButton

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

* use AccessibleButton in EventTile

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

* unignore jsx-a11y/anchor-is-valid

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

* fix lint issue in test jsx

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

* update coment

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-07 10:40:53 +01:00
Faye Duxovni a4fda7e25d Consistently use the word "device", rather than "session" or "login", in verification dialog (#7474) 2022-01-06 16:57:49 -05:00
Michael Telatynski 7033f8696a Improve typing (#7349) 2021-12-14 15:34:54 +00:00
Aaron Raimist 2e8a93834b Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 09:10:23 +00:00
Aaron Raimist 7b94e13a84 Merge branch 'develop' into sort-imports
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 08:34:20 +00:00
Michael Telatynski 675901f629 Fixes more instances of double-translation (#7259) 2021-12-02 13:42:47 +00:00
Michael Telatynski 5e77822bcc Fix broken i18n in Forgot & Change password (#7252) 2021-12-01 17:33:55 +00:00
Paulo Pinto 646f87b2db In forgot password screen, show validation errors inline in the form, instead of in modals (#7113) 2021-11-12 11:39:39 +00:00
Šimon Brandner f08c0b3592 Remove sdk.getComponent() where possible (#7091) 2021-11-08 10:27:52 +00:00
Michael Telatynski e26abbba72 Do pre-submit availability check on username during registration (#6978) 2021-11-04 10:25:26 +00:00
Faye Duxovni d61a83a7b9 Remove all directional quotation marks in the codebase (#7059) 2021-10-29 21:59:21 -04:00
Faye Duxovni d88b8efd19 Improve device list in Security & Privacy settings (#7004)
Overhaul the device list in the "Security and Privacy" settings tab to include device trust status, provide buttons for verifying unverified devices, and improve overall usability and style. This should now be the primary interface for checking and changing the trust status of your own devices, rather than looking at your own user profile in the right panel.
2021-10-29 18:11:39 -04:00
Aaron Raimist f738ad51bd Autofix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-27 21:53:12 -05:00
Aaron Raimist f3867ad0a9 Merge branch 'develop' into sort-imports 2021-10-27 21:50:56 -05:00
Paulo Pinto 6a3fb5cbb4 Add EmailField component for login, registration and password recovery screens (#7006)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2021-10-27 09:52:34 +01:00
Aaron Raimist bdc56be863 Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-22 17:23:37 -05:00
Michael Telatynski a9c27e22b5 Handle and i18n M_THREEPID_IN_USE during registration (#6986) 2021-10-19 15:31:07 +00:00
Paulo Pinto 9c786717b8 Validate email address in forgot password dialog (#6983) 2021-10-19 16:22:27 +01:00
Dariusz Niemczyk 5e73a212f4 Replace console.error with logger.error
Related https://github.com/vector-im/element-web/issues/18425
2021-10-18 14:08:23 +02:00
Faye Duxovni 9a16b4636f Make cross-signing dialog clearer and more context-aware
- Don't show loading spinners while waiting for user action
- When checking if there are other devices we can verify against, only
  look for devices that are actually cross-signed.
- Adjust displayed options depending on whether other devices and/or
  recovery keys exist, and add an option to reset cross-signing keys
  if necessary.
- Various minor clarifying adjustments to UI styling/text

Signed-off-by: Faye Duxovni <fayed@element.io>
2021-10-05 00:54:20 -04:00
Dariusz Niemczyk 2d1d42b90e Globally replace all console.logs via codemod (#6827)
This commit replaces all the `console.log` to `logger.log` via an automated script.
Related: vector-im/element-web#18425
2021-09-21 09:48:09 -06:00