David Baker
2698ad422e
Move shared components to a packages/ directory ( #30962 )
...
* Move shared components to a packages/ directory
so they can be publish more sensibly
* Iterate towards split out shared-components module
* Move shared component source into src/ subdir
* Fix up imports
* Include shared components in babel-ing (again)
* Remove now unused dependencies
* Update import in storybook preview
* ...except of course they aren't unused
if we import the shared components by source
* Ignore shared components deps
* Add shared-components to i18n paths
and upgrade web-i18n to version that supports doing so
* Move storybook stuff to shared-components
* Seems we don't need this anymore...
* Remove unused deps
and remove storybook plugin from eslint
* Presumably working-directory is only valid on run steps
* Ignore dep & run prettier
* Prettier on knips.ts
* Hopefully run in right dir
* Remember how to software write
* Okay... how about THIS way?
* Oh right, they were git ignored. Sigh.
* Add concurrently
* Ignore in knip
* Better?
* Paaaaaaaackageeeeeeees
* More packages
* Move playwright snapshots
* Still need a custom snapshots dir
* Add eslint back
* Oh, now knip sees them
* Fix another import
* Don't lint shared-components with everything else
Okay, eslint & tsconfig are tied too closely for this to work and
running tsc on the shared components will need its deps installing
* Maybe lint shared components
please?
* Not quite
* Remove storybook again
Re-check if it does work without it
* Remove storybook eslint plugin
as we're not linting storybook here anymore
* Remove this too
* We do need it here though
2025-10-13 10:54:50 +00:00
Andy Balaam
c1a163cbc9
Hide recovery key when prompting for verification ( #30471 )
...
* Separate security_key_title from security_key_label since they differ in designs
See https://www.figma.com/design/ZodBLtGnKmRTGJo5SGLnH3/ER-137--Excluding-Insecure-Devices?node-id=92-8818&t=02JILBe2n7sx7ljU-1
In parallel with this, I have updated security_key_title in localazy.
* Hide recovery key on entry screen after login
2025-08-05 14:57:40 +00:00
Florian Duros
1e689ac098
Move Flex & Box component into shared component folder ( #30357 )
...
* refactor: move Flex component in shared components
* refactor: update imports
* refactor: remove Flex pcss file
* fix: Flex component css override
* test: update snapshots
* fix: html export
* chore: add css module support to jest
* chore: keep old copyright
* refactor: change `mx_Flex` in `ErrorView` to `mx_ErrorView_flexContainer`
* test: update snapshots
* refactor: move Box component in shared components
* refactor: update import and css override
* test: update snapshots
2025-07-22 16:25:45 +00:00
Richard van der Hoff
3e8599bba0
AccessSecretStorageDialog: various fixes ( #30093 )
...
* AccessSecretStorageDialog: clear notice when input is empty
* AccessSecretStorageDialog: Simplify logic for calculating feedback
No functional changes, just simplification
* AccessSecretStorageDialog: use the right icon
Should be a ! in a circle, not an X. Also requires use of `Flex` to fix the
vertical alignment.
* AccessSecretStorageDialog: fix resizing when key is correct
* AccessSecretStorageDialog: remove confirmation on dialog close
Per discussion on https://github.com/element-hq/element-web/issues/30024 , we
don't want this any more.
2025-06-09 10:27:14 +00:00
Richard van der Hoff
7eb16b3361
AccessSecretStorageDialog: fix inability to enter recovery key ( #30090 )
...
* BaseDialog: fix documentation, and make `onFinished` optional
Since `onFinished` isn't used if `hasCancel` is false, it's a bit silly to make
it mandatory.
* AccessSecretStorageDialog: fix inability to enter recovery key
Wrap AccessSecretStorageDialog in a `BaseDialog`. The main thing this achieves
is a `FocusLock`.
* playwright: factor out helper for verification
We have two copies of the same code, and we're about to add a third...
* playwright: test for verifying from Settings
* Add a unit test for BaseDialog
2025-06-06 11:21:29 +00:00
Hubert Chathi
45182172b8
EW: Modernize the recovery key input modal ( #29819 )
...
* initial application of recovery key input redesign
* update styling to agree more with design, and fix jest tests
* look for the right element for entering the key
* fix more playwright tests
* use return value of validation function instead of state
2025-05-23 21:06:00 +00:00
Giwayume
b5993aaabb
Continue button is disabled when uploading a recovery key file ( #29695 )
...
* Wait for setState to complete before validating recovery key
* Linter fix
* Pass in recovery key to validateRecoveryKey function
2025-04-10 07:30:37 +00:00
renovate[bot]
4a381c2a10
Update all non-major dependencies ( #29194 )
...
* Update all non-major dependencies
* Delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
* Prettier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com >
2025-02-05 13:25:06 +00:00
David Langley
69ee8fd96a
Change License: AGPL + Element Commercial ( #28856 )
...
* Add commercial licence and update config files
* Update license in headers
* Revert "Update license in headers"
This reverts commit 7ed7949485 .
* Update only spdx id
* Remove LicenseRef- from package.json
LicenseRef- no longer allowed in npm v3 package.json
This fixes the warning in the logs and failing build check.
2025-01-06 11:18:54 +00:00
Hubert Chathi
0ae74a9e1f
Reset cross-signing before backup when resetting both ( #28402 )
...
* reset cross-signing before backup when resetting both
* add test for AccessSecretStorageDialog
* fix unit test
2024-11-19 03:17:24 +00:00
Florian Duros
46d13921d0
First batch: remove deprecated calls on MatrixClient ( #28207 )
...
* Remove `initCrypto` mocking
* Remove `MatrixClient.downloadKeys` mocking
* Remove `MatrixClient.getStoredDevice` mocking
* Replace `MatrixClient.setGlobalBlacklistUnverifiedDevices` by `MatrixClient.CryptoApi.globalBlacklistUnverifiedDevices`
* Remove `MatrixClient.getStoredCrossSigningForUser` mocking
* Replace `MatrixClient.legacyDeviceVerification` by `MatrixClient.CryptoApi.requestDeviceVerification`
* Remove `MatrixClient.isCrossSigningReady` mock
* Replace `MatrixClient.bootstrapCrossSigning` by `MatrixClient.getCrypto.bootstrapCrossSigning`
* Replace `MatrixClient.getCryptoTrustCrossSignedDevices` by `MatrixClient.getCrypto.getTrustCrossSignedDevices`
* Replace `MatrixClient.hasSecretStorageKey` by `MatrixClient.SecretStorage.hasKey`
* Replace `MatrixClient.getDefaultSecretStorageKeyId` by `MatrixClient.SecretStorage.getDefaultKeyId`
* Remove `MatrixClient.encryptAndSendToDevices` call
2024-10-21 12:53:39 +01:00
Michael Telatynski
6c6bf811a6
Migrate to stylistic
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2024-10-18 14:34:01 +01:00
Florian Duros
3bc0439fd2
Replace MatrixClient.checkSecretStorageKey by MatrixClient.SecretStorage.checkKey ( #142 )
2024-10-14 15:08:42 +00:00
Florian Duros
fe657027bd
Update to use non deprecated methods to decode recovery key ( #54 )
...
* Replace `MatrixClient.keyBackupKeyFromRecoveryKey` by `decodeRecoveryKey`
* Replace `MatrixClient.isValidRecoveryKey` by local check with `decodeRecoveryKey`
* Replace old `decodeRecoveryKey` import
* Remove `matrix-js-sdk/src/crypto/recoverykey` import of eslint exception
* Add tests for `RestoreKeyBackupDialog`
2024-09-19 15:39:20 +00:00
David Langley
491f0cd08a
Change license ( #13 )
...
* Copyright headers 1
* Licence headers 2
* Copyright Headers 3
* Copyright Headers 4
* Copyright Headers 5
* Copyright Headers 6
* Copyright headers 7
* Add copyright headers for html and config file
* Replace license files and update package.json
* Update with CLA
* lint
2024-09-09 13:57:16 +00:00
Richard van der Hoff
d36c1b39fd
Clean up some references to internal js-sdk classes ( #12363 )
...
* Fix references to `crypto-api/verification`
This is supposed to be an internal module; use the front door instead.
* `IRecoveryKey` -> `GeneratedSecretStorageKey`
`IRecoveryKey` is just a backwards-compatibility alias for
`GeneratedSecretStorageKey`
* `ISecretStorageKeyInfo` -> `SecretStorage.SecretStorageKeyDescription`
Again, same thing
* `IPassphraseInfo` -> `SecretStorage.PassphraseInfo`
* Remove unused import restriction exceptions
2024-03-22 12:28:13 +00:00
Robin
26b4d47af1
Refine the colors of some more components ( #12343 )
...
* Refine the colors of some more components
This is a reintroduction of https://github.com/matrix-org/matrix-react-sdk/pull/12255 , and should be the last part of the Compound color refinement work (https://github.com/element-hq/element-web/issues/26992 ). I've updated the following components to reflect design decisions (https://www.figma.com/file/pqhlirZFEwEp5XpudSbiia/Theming-Web-templates?type=design&node-id=80-60219&mode=design&t=mjqwylUie1vRwzOV-0 ) that will help them fit in better with the new design system:
- Message bubbles
- Pills
- Sent indicators
- Jump to bottom/unread buttons
- Composer placeholder
- Notification badges
- Room sublists
- Verification shields
- Date separators
- Tooltips
Closes https://github.com/element-hq/element-web/issues/22122
* Update some screenshots
2024-03-18 15:47:55 +00:00
Michael Telatynski
26176116bf
Use strong element to semantically denote visually emphasised content ( #12320 )
...
* Use `strong` element to semantically denote visually emphasised content
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
* Add comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2024-03-06 23:34:14 +00:00
Michael Telatynski
e1cfde0c6e
Migrate more strings to translation keys ( #11694 )
2023-10-03 19:17:26 +01:00
Michael Telatynski
f4d056fd38
Migrate more strings to translation keys ( #11651 )
2023-09-22 16:39:40 +01:00
Michael Telatynski
d5cacff6c3
Create more action_* common strings ( #11438 )
2023-08-23 11:57:22 +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
ac70f7ac9b
Fix instances of double translation and guard translation calls using typescript ( #11443 )
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2023-08-22 16:32:05 +01:00
Michael Telatynski
280f6a9d93
Use MatrixClientPeg::safeGet in src/components/views/* ( #10987 )
2023-06-15 08:46:19 +01:00
Michael Telatynski
f758cbd38a
Make more of the codebase conform to strict types ( #10859 )
2023-05-12 09:49:37 +01:00
Michael Telatynski
1281c0746b
Conform more of the codebase to strictNullChecks ( #10731 )
2023-04-28 09:45:36 +01:00
Michael Telatynski
be5928cb64
Conform more of the codebase to strictNullChecks ( #10672 )
...
* Conform more of the codebase to `strictNullChecks`
* Iterate
* Iterate
* Iterate
* Iterate
* Conform more of the codebase to `strictNullChecks`
* Iterate
* Update record key
2023-04-21 11:50:42 +01:00
Sebbones
0c1c3f1cde
Improved a11y for Field feedback and Secure Phrase input ( #10320 )
...
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com >
2023-03-08 11:32:50 +00:00
Michael Telatyński
629e5cb01f
Properly type Modal props to ensure useful typescript checking ( #10238
...
* Properly type Modal props to ensure useful typescript checking
* delint
* Iterate
* Iterate
* Fix modal.close loop
* Iterate
* Fix tests
* Add comment
* Fix test
2023-02-28 10:31:48 +00:00
Michael Telatynski
e8b92b308b
Conform more code to strict null checking ( #10169 )
...
* Conform more code to strict null checking
* delint
* Iterate
* delint
* Fix bad test
2023-02-16 09:38:44 +00:00
Michael Telatynski
da7aa4055e
Conform more of the code base to strict null checking ( #10147 )
...
* Conform more of the code base to strict null checking
* More strict fixes
* More strict work
* Fix missing optional type
* Iterate
2023-02-13 17:01:43 +00:00
Michael Telatynski
61a63e47f4
Comply with noImplicitAny ( #9940 )
...
* Stash noImplicitAny work
* Stash
* Fix imports
* Iterate
* Fix tests
* Delint
* Fix tests
2023-02-13 11:39:16 +00:00
Michael Weimann
089557005a
Autofocus security key field ( #10048 )
2023-02-03 09:39:25 +01:00
Michael Telatynski
030b7e90bf
Enable @typescript-eslint/explicit-function-return-type in /src ( #9788 )
...
* Enable `@typescript-eslint/explicit-member-accessibility` on /src
* Prettier
* Enable `@typescript-eslint/explicit-function-return-type` in /src
* Fix types
* tsc strict fixes
* Delint
* Fix test
* Fix bad merge
2023-01-12 13:25:14 +00:00
Michael Telatynski
f1e8e7f140
Enable @typescript-eslint/explicit-member-accessibility on /src ( #9785 )
...
* Enable `@typescript-eslint/explicit-member-accessibility` on /src
* Prettier
2022-12-16 12:29:59 +00:00
Michael Weimann
526645c791
Apply prettier formatting
2022-12-12 12:24:14 +01:00
Michael Telatynski
b91f0ed7ba
Improve partial translation or to have usage context ( #9244 )
2022-09-06 13:27:36 +01: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
Suguru Hirahara
1b426ce0c8
Organize style rules of AccessSecretStorageDialog to avoid visual bugs ( #8395 )
...
* .mx_AccessSecretStorageDialog
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com >
* .mx_AccessSecretStorageDialog_primaryContainer
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com >
* .mx_AccessSecretStorageDialog_titleWithIcon
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com >
* Adopt BEM style
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com >
* yarn run lint:style --fix
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com >
2022-06-15 09:47:25 -06: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
Janne Mareike Koschinski
dbcb56f75e
Fix: Avatar preview does not update when same file is selected repeatedly ( #8288 )
...
* Fix: Avatar preview does not update when same file is selected repeatedly
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com >
2022-04-12 14:21:17 +02:00
Travis Ralston
115ae198c8
Step 5: Fix newly-discovered TS issues
2022-03-28 14:02:31 -06:00
Travis Ralston
b667ef9f18
Step 3.2: Stop using getComponent in code
2022-03-28 14:02:31 -06:00
Šimon Brandner
30aee97b78
Give secret key field an id ( #7489 )
2022-01-10 08:43:32 +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
Aaron Raimist
bdc56be863
Auto fix
...
Signed-off-by: Aaron Raimist <aaron@raim.ist >
2021-10-22 17:23:37 -05:00
Rafael Gonçalves
12ad01db51
Show passphrase input label ( #6992 )
2021-10-22 15:50:11 +01:00
Ekaterina Gerasimova
695e110794
Improve capitalisation in string
...
Remove random mid-sentence capitalisation in Security Phrase dialog. The
dialog will change at some point but for now lets make it more human
readable.
Fixes #19429
2021-10-18 15:28:07 +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
Michael Telatynski
f5630acea7
Adhere to better eslint rules
2021-07-23 10:35:10 +01:00