Commit graph

126 commits

Author SHA1 Message Date
Michael Weimann
526645c791
Apply prettier formatting 2022-12-12 12:24:14 +01:00
Kerry
82ad8d5aa2
Snooze the bulk unverified sessions reminder on dismiss (#9706)
* test bulk unverified sessions toast behaviour

* unverified sessions toast text tweak

* only show bulk unverified sessions toast when current device is verified

* add Setting for BulkUnverifiedSessionsReminder

* add build config for BulkUnverifiedSessionsReminder

* add more assertions for show/hide toast, fix strict errors

* fix strict error

* add util methods for snoozing in local storage

* rename nag to reminder

* set and read snooze for toast

* test snooze

* remove debug

* strict fix

* remove unused code
2022-12-06 06:18:03 +00:00
Kerry
5742c24114
Only display bulk unverified sessions nag when current session is verified (PSG-893) (#9656)
* test bulk unverified sessions toast behaviour

* unverified sessions toast text tweak

* only show bulk unverified sessions toast when current device is verified

* add more assertions for show/hide toast, fix strict errors

* fix strict error

* really fix strict error
2022-12-02 02:59:46 +00:00
Robin
2c612d5aa1
Use native js-sdk group call support (#9625)
* Use native js-sdk group call support

Now that the js-sdk supports group calls natively, our group call implementation can be simplified a bit. Switching to the js-sdk implementation also brings the react-sdk up to date with recent MSC3401 changes, and adds support for joining calls from multiple devices. (So, the previous logic which sent to-device messages to prevent multi-device sessions is no longer necessary.)

* Fix strings

* Fix strict type errors
2022-11-28 16:37:32 -05:00
Kerry
2d9f828810
Device manager - silence call ringers when local notifications are silenced (#9420)
* silence call ringers when local notifications are silenced

* more coverage for silencing

* explain disabled silence button

* lint

* increase wait for modal

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-10-17 09:16:04 +00:00
Šimon Brandner
54008cff58
Disconnect other connected devices (of the same user) when joining an Element call (#9379) 2022-10-14 15:17:49 +02:00
Travis Ralston
476ed0468f
Remove piwik config fallback for privacy policy URL (#9390)
* Remove piwik config fallback for privacy policy URL

* Clean up imports
2022-10-12 10:08:39 -04:00
Kerry
87d3fbd996
Device manager - promote to beta (#9380)
* promote new session manager to beta

* hide old sessions section when new dm enabled

* use correct logic

* add new ViewUserDeviceSettings action

* replace device management ctas with viewUserDeviceSettings

* test SecurityUserSettingsTab

* more complete mocks

* more thorough mocks

* more mocks

* test LabsUserSettingsTab

* lint

* updated copy

* update snaps for new copy
2022-10-11 11:10:55 +02:00
Šimon Brandner
bb71c86c8a
Add Element Call participant limit (#9358) 2022-10-07 20:16:35 +00:00
Šimon Brandner
4ff9681408
Close incoming Element call toast when viewing the call lobby (#9375) 2022-10-07 19:31:22 +02:00
Šimon Brandner
6356a8c056
Add notifications and toasts for Element Call calls (#9337) 2022-10-06 14:27:12 +00:00
Germain
c2e2f406af
Fixes silenced notification preventing notification prompt to be shown (#9336) 2022-09-30 16:11:04 +01:00
Robin
0d6a550c33
Prepare for Element Call integration (#9224)
* Improve accessibility and testability of Tooltip

Adding a role to Tooltip was motivated by React Testing Library's
reliance on accessibility-related attributes to locate elements.

* Make the ReadyWatchingStore constructor safer

The ReadyWatchingStore constructor previously had a chance to
immediately call onReady, which was dangerous because it was potentially
calling the derived class's onReady at a point when the derived class
hadn't even finished construction yet. In normal usage, I guess this
never was a problem, but it was causing some of the tests I was writing
to crash. This is solved by separating out the onReady call into a start
method.

* Rename 1:1 call components to 'LegacyCall'

to reflect the fact that they're slated for removal, and to not clash
with the new Call code.

* Refactor VideoChannelStore into Call and CallStore

Call is an abstract class that currently only has a Jitsi
implementation, but this will make it easy to later add an Element Call
implementation.

* Remove WidgetReady, ClientReady, and ForceHangupCall hacks

These are no longer used by the new Jitsi call implementation, and can
be removed.

* yarn i18n

* Delete call map entries instead of inserting nulls

* Allow multiple active calls and consolidate call listeners

* Fix a race condition when creating a video room

* Un-hardcode the media device fallback labels

* Apply misc code review fixes

* yarn i18n

* Disconnect from calls more politely on logout

* Fix some strict mode errors

* Fix another updateRoom race condition
2022-08-30 15:13:39 -04: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
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
Travis Ralston
3ab21224df Step 8.5: Move user tab enum 2022-03-28 14:02:31 -06:00
Travis Ralston
997d6d40bf Step 1: Remove all usage of @replaceableComponent 2022-03-28 14:02:31 -06:00
Suguru Hirahara
9961b003bb
Replace "Element" with a brand const (#8074) 2022-03-23 16:31:25 +00: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
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
James Salter
5219b6be80
Analytics opt in for posthog (#6936)
* Add a new flag pseudonymousAnalyticsOptIn replacing analyticsOptIn, stored at account level, so people only need to opt in once.

* Show a toast in login to users that have analyticsOptIn set but not yet pseudonymousAnalyticsOptIn prompting them confirm the new method is okay. Update the copy of the existing opt-in toast. Don't notify users that previously opted out.

* Update the copy in settings

* Add a new learn more dialog

* Support a new config flag analyticsOwner which is used in these toasts when explaining which entity the data is sent to ("Help improve %(analyticsOwner)"). If unset, display brand. This allows deployments whose brand differs from the receiver of the analytics to explain the situation to their users (e.g. AcmeCorp badges their app, but explains the data is sent to Element, not them)

* The new opt-in and flags are only used when posthog is configured; prior to that there are no changes to UX or tracking behaviour.
2021-12-06 09:39:33 +11:00
Šimon Brandner
cbb34d8ac7
Make CallHandler more EventEmittery (#6704)
* sharedInstance() -> instance

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

* Use CallState event instead of dispatching

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

* Simplifie some code

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

* Use a method to start a call instead of the dispatcher

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

* Use a method instead of place_conference_call

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

* Make terminateCallApp() and hangupCallApp() public

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

* Use hangupAllCalls() instead of the dispatcher

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

* Make dialNumber(), startTransferToMatrixID() and startTransferToPhoneNumber() public instead of using the dispatcher

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

* Use answerCall() instead of using the dispatcher

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

* Use hangupOrReject() instead of the dispatcher

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

* Update docs

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

* Improve TS

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

* Dispatch call_state, see https://github.com/vector-im/element-web/pull/18823#issuecomment-917377277

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

* Add missing import

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-11-30 18:09:13 +00: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
bdc56be863
Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-22 17:23:37 -05:00
Šimon Brandner
881cac0d21
Merge remote-tracking branch 'upstream/develop' into fix/ringing-sound/15591
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-04 16:30:03 +02:00
Šimon Brandner
1d629f2557
More TS
Co-authored-by: Germain <germain@souquet.com>
2021-07-26 10:34:59 +02:00
Šimon Brandner
3287d51b17
Add some return types
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-25 08:06:11 +02:00
Šimon Brandner
1f9cd79bcf
Fix some spacing and other tiny things
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-24 20:59:15 +02:00
Šimon Brandner
396fd2d012
Move silence button
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-24 20:39:44 +02:00
Šimon Brandner
064544369a
Add call type icon
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-24 19:30:37 +02:00
Šimon Brandner
25d62983de
Add button icons
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-24 19:12:12 +02:00
Šimon Brandner
24e6fc96f6
Reorganize content
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-24 14:04:22 +02:00
Šimon Brandner
af22588682
Don't use a spacer
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-24 13:46:28 +02:00
Šimon Brandner
410928745f
IncomingCallBox -> IncomingCallToast
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-24 13:46:22 +02:00
Michael Telatynski
ce78cdf4ad Conform to new react and typescript eslint rules 2021-07-19 22:43:11 +01:00
Šimon Brandner
b36a727a09
Fourth batch of burning
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-02 18:15:05 +02:00
J. Ryan Stinnett
ae0a8b8da4 Auto-fix lint errors 2021-06-29 13:11:58 +01:00
Germain Souquet
d22617c422 More specific type definition and adhering to code style better 2021-06-18 12:44:15 +01:00
Germain Souquet
de414cd0a6 Migrate UserSettingsDialog to TypeScript 2021-06-14 23:42:36 +01:00
J. Ryan Stinnett
fd59a66523 Tweak cross-signing copy
This makes some Design-approved copy tweaks to the recent cross-signing flow
changes.
2021-03-26 11:13:39 +00:00
Matthew Hodgson
1629b7e62a s/IP/ip/; s/from/at/ 2021-03-08 16:44:14 +00:00
Matthew Hodgson
997d6e1281 lint 2021-03-08 05:08:01 +00:00
Matthew Hodgson
c02d03cc5b Merge branch 'develop' of git+ssh://github.com/matrix-org/matrix-react-sdk into develop 2021-03-08 04:57:10 +00:00
Matthew Hodgson
96ebbad959 switch UnverifiedSessionToast to route to check sessions rather than verify the new login
given the chances are that the new login will be stuck doing initial sync, and won't be in position
to be verified until its finished.
2021-03-08 04:54:44 +00:00
Matthew Hodgson
c73097a5b0 fix unhelpful 'Review...' toast wording 2021-03-08 04:51:16 +00:00
Will Hunt
d07069238f Merge remote-tracking branch 'origin/develop' into hs/blocked-err 2021-03-05 18:50:00 +00:00
Travis Ralston
c11c8c2faf
Update src/toasts/ServerLimitToast.tsx 2021-02-24 11:20:58 -07:00
Will Hunt
c78d1c49ab Apply changes from review 2021-02-24 17:32:00 +00:00
Will Hunt
aa86c1d751 Ensure that a dismissed usage alert toast stays dismissed 2021-02-23 12:51:47 +00:00
J. Ryan Stinnett
0cb1d1dc95 Tweak mobile guide toast copy 2021-01-29 15:30:13 +00:00
J. Ryan Stinnett
2996ceca52 Add optional mobile guide toast
This adds an optional toast which Element deployments can enable to nudge users
towards the mobile apps once they are inside the app.

Part of https://github.com/vector-im/element-web/issues/16283
2021-01-28 17:21:36 +00:00
Will Hunt
5de92b68d9 Show a specific error for hs_disabled 2021-01-27 11:39:57 +00:00
Michael Telatynski
36ef9ec341 Update styling of the Analytics toast to try and decrease number of users blindly pressing No 2020-11-09 14:21:45 +00:00
Michael Telatynski
def02aec12 Update copy on some toasts 2020-11-02 17:25:56 +00:00
J. Ryan Stinnett
388cb0e2c1 Add security customisation points
This adds various customisations point in the app for security related
decisions. By default, these do nothing, but would be customised at the
app level via module replacement (so that no changes are needed here in the
SDK).

Fixes https://github.com/vector-im/element-web/issues/15350
2020-10-16 11:21:44 +01:00
J. Ryan Stinnett
f2b72efe39 Remove various remaining bits of ILAG flows
TypeScript helpfully pointed me towards this dead code, which has been floating
around unused for a while. If we want to bring back ILAG in the future, we can
always revive it from history.
2020-10-07 12:53:59 +01:00
J. Ryan Stinnett
7a5b0a964f Adjust main encryption toast to reference Secure Backup
This adjusts the main toast to focus on Secure Backup as suggested in designs.

Part of https://github.com/vector-im/element-web/issues/13895
2020-09-16 15:03:06 +01:00
J. Ryan Stinnett
7bd5e3fa31 Move security-related dialogs to a common directory 2020-09-16 15:03:06 +01:00
Michael Telatynski
6b5426bddd Rename toolbar Notifier methods to prompt 2020-09-15 13:58:29 +01:00
J. Ryan Stinnett
fb2bde94fa Rename CrossSigningManager to SecurityManager
The file encompasses bits of cross-signing and also secret storage / secure
backup.
2020-09-03 14:50:49 +01:00
J. Ryan Stinnett
ce226ab534 Replace Riot with Element in docs and comments
This only covers the simple cases of references to issues and repos. More
complex areas, such as deployment scripts, will be handled separately.

Part of https://github.com/vector-im/element-web/issues/14864
2020-08-03 18:33:36 +01:00
J. Ryan Stinnett
9085627a28 Use brand name from config in all strings 2020-07-10 19:57:01 +01:00
Michael Telatynski
dbe575d523 Remove DEBUG
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-25 08:44:24 +01:00
Travis Ralston
c667ea69af Fix not being able to dismiss new login toasts
`toastKey` is a thing.

Fixes https://github.com/vector-im/riot-web/issues/13923
2020-06-04 13:48:35 -06:00
Michael Telatynski
9431393bda Allow deferring of Update Toast until the next morning
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-29 19:59:47 +01:00
Michael Telatynski
c4d6367a17 Swap priorities of Desktop Notifications and Update toasts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-28 17:30:43 +01:00
Michael Telatynski
e35c9d5bbf more testing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-27 15:18:43 +01:00
Michael Telatynski
fb73bac4cf Update UpdateToast's priority to 30
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-26 13:53:28 +01:00
Michael Telatynski
891ba1bbe3 Replace New Version Bar with a Toast
discards the `new_version` dispatch

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-22 23:08:45 +01:00
Michael Telatynski
29cfb47a83 fix copy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-22 22:33:13 +01:00
Michael Telatynski
ccf9e65123 Migrate Server Limit Bar Banner to a Toast
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-22 22:27:19 +01:00
Michael Telatynski
5d0040b8b3 Migrate Password Nag Bar Banner to a Toast
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-22 22:15:22 +01:00
Michael Telatynski
c91f8c2631 Migrate Analytics Banner to a Toast
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-22 22:04:21 +01:00
Michael Telatynski
3732d1f5a5 Migrate Desktop Notifications MatrixToolbar to a Toast
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-22 21:56:25 +01:00
Michael Telatynski
14cee41360 Convert things to Typescript and re-use a generic component
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-22 13:29:53 +01:00