Commit Graph

429 Commits (ede91bf9218b9d8152fd9bd3e80717f5ac8aaf3c)

Author SHA1 Message Date
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
Tim Tills 73c2f42177 Indicate unread rooms in document.title
Signed-off-by: Tim Tills <tnt7864@rit.edu>
2023-02-05 21:31:16 -05:00
Michael Telatynski 9743852380
Improve typescript null checking in places (#10073 (#10073
* Improve typescript null checking in places

* Iterate

* Fix Timer.ts
2023-02-03 15:27:47 +00:00
Michael Telatynski 2bde31dcff
Switch to linkify-react for element Linkification as it handles React subtrees without exploding (#10060
* Switch to linkify-react instead of our faulty implementation

Fixes a series of soft crashes where errors include "The node to be removed is not a child of this node."

* Improve types

* Fix types

* Update snapshots

* Add test

* Fix test
2023-02-03 08:59:21 +00:00
AHMAD KADRI c7b01af49e
Should open new 1:1 chat room after leaving the old one (#9880)
* should open new 1:1 chat room after leaving the old one

Signed-off-by: Ahmad Kadri <ahmad.kadri@nordeck.net>

* change the copyright

* update the test

Signed-off-by: AHMAD KADRI <52747422+ahmadkadri@users.noreply.github.com>

---------

Signed-off-by: Ahmad Kadri <ahmad.kadri@nordeck.net>
Signed-off-by: AHMAD KADRI <52747422+ahmadkadri@users.noreply.github.com>
Co-authored-by: Oliver Sand <oliver.sand@nordeck.net>
Co-authored-by: Dominik Henneke <dominik.henneke@nordeck.net>
2023-01-30 09:54:05 +00:00
Michael Weimann 29c193210f
Stop broadcasts on logout (#9978)
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
2023-01-24 10:58:37 +00:00
Michael Telatynski 2eef3c47e6
Clear isLogin theme override when user is no longer viewing login screens (#9911) 2023-01-16 09:49:41 +00: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
Richard van der Hoff c3aabafc12
Simplify checks for cross-signing setup (#9721)
When the user logs in, we need to know if we should prompt them to verify from
an existing device, which means figuring out if the user has set up
cross-signing keys.

Currently we do this by explicitly downloading the user's keys and then trying
to fetch the cross-signing key. This is trickier to implement with the
rust-sdk, so instead let's use the newly-added `userHasCrossSigningKeys` in the
js-sdk.
2022-12-09 14:14:06 +00:00
Michael Telatynski d258402186
Typescript updates (#9658)
* Typescript updates

* Update @types/node

* Fix more types
2022-11-30 11:32:56 +00:00
Germain 40cbee60db
Consolidate public room search experience (#9605) 2022-11-22 15:05:09 +00: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
Michael Telatynski 848adfdc10
Add way to create a user notice via config.json (#9559) 2022-11-09 10:50:01 +00:00
Michael Telatynski 3747464b41
Make SonarCloud happier (#9545)
* Make SonarCloud happier

* i18n

* Iterate

* Update AddExistingToSpaceDialog.tsx

* Update SlashCommands.tsx
2022-11-07 13:45:34 +00:00
Arne Wilken 0c0706db22
Update src/components/structures/MatrixChat.tsx
getContent already does the || {} step

Co-authored-by: Robin <robin@robin.town>
2022-10-28 10:51:54 +02:00
Arnei b3e535a7aa Merge remote-tracking branch 'upstream/develop' into last-admin-leave-room-warning 2022-10-21 14:18:18 +02:00
Michael Telatynski fde9a527a7
Improve typing (#9474) 2022-10-21 11:44:33 +01:00
Michael Weimann 5f59ce182e
Resume voice broadcast on load (#9475) 2022-10-21 09:30:02 +02:00
kegsay e946674df3
Store refactor: use non-global stores in components (#9293)
* Add Stores and StoresContext and use it in MatrixChat and RoomView

Added a new kind of class:
- Add God object `Stores` which will hold refs to all known stores and the `MatrixClient`. This object is NOT a singleton.
- Add `StoresContext` to hold onto a ref of `Stores` for use inside components.

`StoresContext` is created via:
- Create `Stores` in `MatrixChat`, assigning the `MatrixClient` when we have one set. Currently sets the RVS to `RoomViewStore.instance`.
- Wrap `MatrixChat`s `render()` function in a `StoresContext.Provider` so it can be used anywhere.

`StoresContext` is currently only used in `RoomView` via the following changes:
- Remove the HOC, which redundantly set `mxClient` as a prop. We don't need this as `RoomView` was using the client from `this.context`.
- Change the type of context accepted from `MatrixClientContext` to `StoresContext`.
- Modify alllll the places where `this.context` is used to interact with the client and suffix `.client`.
- Modify places where we use `RoomViewStore.instance` and replace them with `this.context.roomViewStore`.

This makes `RoomView` use a non-global instance of RVS.

* Linting

* SDKContext and make client an optional constructor arg

* Move SDKContext to /src/contexts

* Inject all RVS deps

* Linting

* Remove reset calls; deep copy the INITIAL_STATE to avoid test pollution

* DI singletons used in RoomView; DI them in RoomView-test too

* Initial RoomViewStore.instance after all files are imported to avoid cyclical deps

* Lazily init stores to allow for circular dependencies

Rather than stores accepting a list of other stores in their constructors,
which doesn't work when A needs B and B needs A, make new-style stores simply
accept Stores. When a store needs another store, they access it via `Stores`
which then lazily constructs that store if it needs it. This breaks the
circular dependency at constructor time, without needing to introduce
wiring diagrams or any complex DI framework.

* Delete RoomViewStore.instance

Replaced with Stores.instance.roomViewStore

* Linting

* Move OverridableStores to test/TestStores

* Rejig how eager stores get made; don't automatically do it else tests break

* Linting

* Linting and review comments

* Fix new code to use Stores.instance

* s/Stores/SdkContextClass/g

* Update docs

* Remove unused imports

* Update src/stores/RoomViewStore.tsx

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

* Remove empty c'tor to make sonar happy

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-10-19 13:07:03 +01:00
Arnei 2f4fac0f37 Add leave room warning for last admin
If the last room administrator leaves a room, other users cannot
gain admin privilges anymore, leaving the room in an unmoderable
state. To help in avoiding this scenario without actually preventing
an admin from leaving the room if they really want, this commit
adds a new warning message.

Attempts to help with: https://github.com/vector-im/element-web/issues/2855

Signed-off-by: Arne Wilken arnepokemon@yahoo.de
2022-10-19 12:51:31 +02:00
Michael Telatynski 1800cb8c71
Remove unused packages and fix invariant violation on AsyncStore `onNotReady` (#9404)
* Remove traces of browser-request & mocha

* Remove unused matrix-react-test-utils

* Fix dispatcher invariant violation

* Add null-guard

* Improve types

* Fix null-guard

* Fix issue with authed users going directly to /#/login
2022-10-13 09:22:32 +01: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
Travis Ralston f92f7beb47
Delete the remainder of groups (#9357)
* Delete the remainder of groups

Fixes https://github.com/vector-im/element-web/issues/22770
Continues https://github.com/matrix-org/matrix-react-sdk/pull/8027

* Don't need the strings either
2022-10-05 17:44:46 +00:00
Germain c2e2f406af
Fixes silenced notification preventing notification prompt to be shown (#9336) 2022-09-30 16:11:04 +01:00
Germain 3e076c8246
Fixes to ensure account data values do not go stale (#9331)
* Fixes to ensure account data values do not go stale

* Remove unneeded cli.off

* fix test
2022-09-29 13:05:06 -06:00
Germain e15ef9f3de
Add device notifications enabled switch (#9324) 2022-09-28 18:13:09 +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
Michael Telatynski 5fbeb20df8
Some small tidying up (#9149)
* Remove stale comment

* Fix typing

* Install katex type definitions
2022-08-09 11:55:49 +00:00
Michael Telatynski f566c600e2
Port remaining Puppeteer tests over to Cypress (#9104)
* Port remaining Puppeteer tests over to Cypress

* Remove puppeteer support files

* Fix lifecycle matrixclientpeg setup race condition

* Alternative solution to the lifecycle problem

* Dismiss the notifications toast
2022-07-29 14:03:25 +00:00
Šimon Brandner 787ace9dc5
Add `Reply in thread` button to the right-click message context-menu (#9004) 2022-07-23 12:13:49 +00:00
Michael Weimann fa1bff67cf
Wire local room logic (#9078)
* Wire local room logic

* Migrate to testling-lib; update test descriptions
2022-07-20 09:26:25 +02:00
Michael Weimann 742b21ca46
Extract ValidatedServerConfig (#9054) 2022-07-14 15:03:34 +02:00
Janne Mareike Koschinski f5f79158ed
Implement Use Case Selection screen (#8984)
* Introduce new splash page wrapper
* Introduce new use case selection screen
2022-07-13 15:43:44 +02:00
Valere f137bf3fd3
Fix all megolm error reported as unknown (#8916)
* Fix all megolm error reported as unknown

* code review

* bad paste in comment
2022-06-30 08:55:05 +01:00
Janne Mareike Koschinski 8b841951db
Move New Search Experience out of beta (#8859) 2022-06-28 12:02:08 +02: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 a7f1a0c4f8
Fix 'Logout' inline link on the splash screen (#8770)
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2022-06-06 07:00:16 +00:00
Michael Telatynski f3f14afbbf
Move spaces tests from Puppeteer to Cypress (#8645)
* Move spaces tests from Puppeteer to Cypress

* Add missing fixture

* Tweak synapsedocker to not double error on a docker failure

* Fix space hierarchy loading race condition

Fixes https://github.com/matrix-org/element-web-rageshakes/issues/10345

* Fix race condition when creating public space with url update code

* Try Electron once more due to perms issues around clipboard

* Try set browser permissions properly

* Try to enable clipboard another way

* Try electron again

* Try electron again again

* Switch to built-in cypress feature for file uploads

* Mock clipboard instead

* TMPDIR ftw?

* uid:gid pls

* Clipboard tests can now run on any browser due to mocking

* Test Enter as well as button for space creation

* Make the test actually work

* Update cypress/support/util.ts

Co-authored-by: Eric Eastwood <erice@element.io>

Co-authored-by: Eric Eastwood <erice@element.io>
2022-05-26 10:19:00 +01:00
Michael Telatynski d75e2f19c5
Fix font not resetting when logging out (#8670)
* Fix font not resetting when logging out

* Adopt on_logged_in and on_logged_out into DispatcherAction

* Add tests

* Add copyright
2022-05-26 09:56:53 +01:00
Germain 8080c2cc04
Remove experimental threads disclaimer (#8445) 2022-05-06 08:32:33 +00:00
Robin dd880df6ae
Forcefully disconnect from video rooms on logout and tab close (#8375)
* Forcefully disconnect from video rooms on logout

* Forcefully disconnect from video rooms on tab close
2022-04-21 07:41:58 -04:00
Travis Ralston 4057833036 Merge branch 'develop' into travis/remove-skinning 2022-04-05 10:50:37 -06:00
Robin 1f64835fab
Update video rooms to new design specs (#8207)
* Remove radio component

* "Voice room" → "video room"

* Remove interactivity from video room tiles

* Update connection state when joining via widget

* Simplify room header buttons for video rooms

* Split out video room creation into a separate menu option

* Simplify room options for video rooms

* Update video room tile layout

* Tell the Jitsi widget whether it's a video channel

* Update tests

* "Voice" → "video" in more places

* Fix tests

* Re-add frame to immersive Jitsi widgets

* Comment ack

* Make updateDevices more readable

* Type FacePile
2022-04-01 14:36:10 +00:00
Travis Ralston 661b8d595c Step 8.7: Introduce `focus-visible` import where needed to repair tests
There is an import in `MatrixChat` which no longer gets executed when we don't skin the entire app, so bring it in manually.
2022-03-28 14:02:31 -06:00
Travis Ralston 3ab21224df Step 8.5: Move user tab enum 2022-03-28 14:02:31 -06:00
Travis Ralston 1c8ac2c2e5 Step 8.5: Move leave behaviour 2022-03-28 14:02:31 -06:00
Travis Ralston 1126fdbd99 Step 8.5: Move isLoggedIn helper 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
Travis Ralston fce36ec826
Delete groups (legacy communities system) (#8027)
* Remove deprecated feature_communities_v2_prototypes

* Update _components

* i18n

* delint

* Cut out a bit more dead code

* Carve into legacy components

* Carve into mostly the room list code

* Carve into instances of "groupId"

* Carve out more of what comes up with "groups"

* Carve out some settings

* ignore related groups state

* Remove instances of spacesEnabled

* Fix some obvious issues

* Remove now-unused css

* Fix variable naming for legacy components

* Update i18n

* Misc cleanup from manual review

* Update snapshot for changed flag

* Appease linters

* rethemedex

* Remove now-unused AddressPickerDialog

* Make ConfirmUserActionDialog's member a required prop

* Remove useless override from RightPanelStore

* Remove extraneous CSS

* Update i18n

* Demo: "Communities are now Spaces" landing page

* Restore linkify for group IDs

* Demo: Dialog on click for communities->spaces notice

* i18n for demos

* i18n post-merge

* Update copy

* Appease the linter

* Post-merge cleanup

* Re-add spaces_learn_more_url to the new SdkConfig place

* Round 1 of post-merge fixes

* i18n

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-03-22 23:07:37 +00:00
Germain 2bf1d2b287
Change stable threads dialog copy (#8099) 2022-03-22 09:23:55 +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
Germain 59584cdc3e
Threads experimental transition modal (#8065) 2022-03-16 16:35:25 +00:00
J. Ryan Stinnett 65691202f7
Add lint for unused locals (#8007) 2022-03-09 12:05:16 +00:00
Michael Telatynski 7a32a68a0b
Fix right panel soft crashes due to missing room prop (#7923) 2022-03-01 11:15:23 +00:00
Michael Telatynski 7fa01ffb06
Improve typing around event emitter handlers (#7816) 2022-02-22 12:18:08 +00:00
Kerry 5b8d440406
type Actions (#7862)
* type ViewHomPage action

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

* type spacestore actions

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

* lint

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

* add action types

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

* use new action types in stores

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

* remove debug change

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

* stricter keyboard shortcut types

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

* action comments

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-22 10:04:27 +00:00
Johannes Krude 32e127e098
Add `#/dm` command to be used as a link in custom `home.html` (#7783) 2022-02-18 08:43:19 +00:00
Michael Telatynski 658590e5bc
More posthog tracking around joining rooms and room search (#7807) 2022-02-17 18:03:27 +00:00
Michael Telatynski 8d4e83084c
Remove Countly analytics integration (#7808) 2022-02-15 16:58:30 +00:00
Michael Telatynski 0d6ef76605
Add analytics for the ViewRoom action (#7666) 2022-02-10 14:29:55 +00:00
Michael Telatynski 5620b83d34
Wire up more Posthog tracking (#7689) 2022-02-09 14:25:58 +00:00
Michael Telatynski 91ccbe4395
Add way to track posthog user properties and send numSpaces (#7716) 2022-02-09 09:21:56 +00:00
Michael Telatynski ed185240a5
Move new search experience to a Beta (#7718) 2022-02-08 14:02:36 +00:00
Michael Telatynski 5d89230271
Remove IA 1.1 feedback toast (#7720) 2022-02-07 12:46:48 +00:00
Šimon Brandner ddb15cb19e
Bypass rageshake when warning about devtools (#7717) 2022-02-04 13:30:18 +00:00
Šimon Brandner bb03298e6d
Add a warning to the console to discourage attacks and encourage contributing (#7673) 2022-02-01 17:24:17 +00:00
Michael Telatynski 8dd0722e04
Update eventName=Screen to $screen to match PostHog's special behaviour (#7667) 2022-02-01 15:49:49 +00:00
Michael Telatynski d75c1bc0d6
Fall back to legacy analytics for guest users (#7616) 2022-01-24 15:58:31 +00:00
Faye Duxovni 582a1b093f
Track decryption failures for visible events only, with a shorter grace period (#7579) 2022-01-19 14:31:43 -05:00
Faye Duxovni 3eb5130cda
Add labs flag to automatically rageshake on decryption errors (#7307)
Also sends a to-device message to the sender, prompting them to auto-rageshake too if they have this lab enabled as well.

Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-01-13 10:55:25 -05:00
Michael Telatynski 8c20bcfe56
Prevent mutations of js-sdk owned objects as it breaks accountData (#7504) 2022-01-10 17:09:35 +00:00
Faye Duxovni 59ef2704f0
Give Posthog a correct total count of decryption failures (#7475) 2022-01-07 09:15:33 -05: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
Michael Telatynski ea7ac453bc
Fix spotlight cmd-k wrongly expanding left panel (#7463) 2022-01-05 10:07:04 +00:00
Michael Telatynski d25d325387
Don't show `Testing small changes` without UIFeature.Feedback (#7427) 2021-12-21 14:59:59 +00:00
Michael Telatynski fb494a5098
Fix notification badge for All Rooms space (#7401) 2021-12-17 11:02:06 +00: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
James Salter 43f264ccfc
Integrate analytics stubs (#7186)
* Add matrix-analytics-events as a dependency
* Make IEvent look like a stub definition
* Update pageview tracking to track screens, using a hypothetical definition of a screen event
* Remove distinction between pseudo and anon tracking, will need to rework it considering stubs
2021-12-06 21:43:42 +11:00
Michael Telatynski f410d52bc1
Finish sending pending messages before leaving room (#7276) 2021-12-06 09:25:53 +00:00
Michael Telatynski 336f159004
Update URL when room aliases are modified (#7289) 2021-12-06 09:25:05 +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
Dariusz Niemczyk 961fec9081
Refactor matrix-linkify module (#7279)
Refactor the module to make it easier for upgrade and proper separation of code contexts
2021-12-03 14:00:56 +00:00
Šimon Brandner cbb34d8ac7
Make `CallHandler` more `EventEmitter`y (#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
Michael Telatynski 8fe582b094
Tweaks to informational architecture 1.1 (#7052)
* Move user avatar to Space panel

* Add room list header for 'Home' or 'Space Name' to room list
Add existing Space context menus to room list header

* Re-add pending room join spinner

* Iterate RoomListHeader plus context menu

* Iterate space context menu

* Iterate room list + interactions

* Move DND to new iA model

* Replace composer custom status management with usermenu one

* Cull Quick Actions

* Iterate minimized room list state

* delint

* Merge the RoomListNumResults into the RoomListHeader

* Make the search shortcut prompt semi-bold

* Iterate RoomListHeader based on design review

* Iterate UserMenu based on feedback

* Add name to expanded spacepanel usermenu button

* i18n

* Make room sub list aux button components more generic

* Change left panel explore button to only refer to room directory

* Iterate RoomListHeader

* Fix custom user status input field width in Chrome

* Bring back Notification settings button

* delint

* i18n

* post-merge fix

* iterate pr

* Remove unused state

* update copy

* Apply suggestions from PR review

* delint

* Update invite iconography

* Iterate Space context menu to match Figma

* Fix chevron alignment

* Fix edge case for RoomListHeader on metaspaces

* Wire up general rageshake-driven feedback mechanism

* Add IA1.1 info toast

* add missing alt attribute

* delint

* delint

* tweak ia toast priority

* e2e test account for new toast

* autofocus feedback field and remove old subheading

* tweak copy

* Iterate space panel colours to match Figma

* Iterate PR

* delint

* Fix feedback submission with object setting values

* iterate based on review

* Tweak colours and update splash image

* Tweaks based on review

* Remove room list prompt, made redundant by the big fat `+`

* Fix edge cases around User Menu positioning and dnd

* Add missing import, bad merge?

* Update aria label in e2e test

* Fix room list space rooms context menu explore button behaviour

* Tweak copy

* Revert order of options in the UserMenu

* Tweak copy

* i18n
2021-11-30 18:08:46 +00:00
Renan Cleyson ae0dba4e87
Add `view_room` to `Action` enum (#7203)
* Add ViewRoom action to Action enum

Signed-off-by: Renan <renancleyson.f@gmail.com>

* Change view_room occurrences to Action.ViewRoom

Signed-off-by: Renan <renancleyson.f@gmail.com>

* Add missing Action import
2021-11-25 21:49:43 +01:00
Michael Telatynski 5ad3261cb2
Implement more meta-spaces (#7077) 2021-11-11 13:07:41 +00:00
Šimon Brandner c5bd1fb32d
Convert `/src/async-components/views/dialogs/security` to TS (#6923)
* Convert RecoveryMethodRemovedDialog to TS

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

* Convert NewRecoveryMethodDialog to TS

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

* Convert ImportE2eKeysDialog to TS

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

* Convert ExportE2eKeysDialog to TS

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

* Convert CreateSecretStorageDialog to TS

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

* Convert CreateKeyBackupDialog to TS

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

* Fix types

This is somewhat hacky though I don't know of a better way to do this

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-10-22 21:32:16 -06:00
Travis Ralston d188d32423
Add a developer mode flag and use it for accessing space timelines (#6994)
Fixes https://github.com/vector-im/element-web/issues/19416
2021-10-20 06:55:22 -06:00
Michael Telatynski e8b998c19c Use prettier hsName during 3pid registration where possible 2021-10-19 09:43:34 +01:00
Dariusz Niemczyk 2c66403b3c Replace console.info with logger.info
Related https://github.com/vector-im/element-web/issues/18425
2021-10-18 14:08:23 +02:00
Dariusz Niemczyk 5290afcc4c Replace console.warn with logger.warn
Related https://github.com/vector-im/element-web/issues/18425
2021-10-18 14:08:23 +02: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 020eca6922 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/19010
 Conflicts:
	src/components/structures/SpaceRoomView.tsx
	src/components/views/rooms/MemberList.tsx
	src/components/views/rooms/RoomList.tsx
2021-10-14 11:05:29 +01:00
Michael Telatynski d6cab320e9 Fix space invite edge cases 2021-09-29 14:04:02 +01:00
Šimon Brandner 30599554f1
Convert PageTypes to TS
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-27 14:41:03 +02: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
Michael Telatynski e17318a364 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/18088 2021-09-16 10:05:20 +01:00
Šimon Brandner 6972cb248f
Merge remote-tracking branch 'upstream/develop' into task/remove-message_send_failed 2021-09-14 19:31:12 +02:00
Šimon Brandner db25147a19
Remove message_send_failed as it was unused
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-14 17:49:18 +02:00
Aaron Raimist 354d0cfba4
Redirect from /#/welcome to /#/home if already logged in
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-09-11 10:52:33 -05:00
Michael Telatynski a688e5b8b3 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/18088
 Conflicts:
	src/components/structures/LoggedInView.tsx
	src/stores/SpaceStore.tsx
2021-09-06 11:41:09 +01:00
Michael Telatynski 4ce79148cf Clear currentRoomId when viewing home page, fixing document title 2021-08-31 17:14:50 +01:00
James Salter 16d02f24bd lint 2021-08-16 13:06:19 +01:00
James Salter cc9ddb351f Remove test error on startup, and send correct user text 2021-08-11 18:01:22 +01:00
James Salter de398f46f4 initial spike 2021-08-11 18:00:21 +01:00
Michael Telatynski be85dcd1bf Delabs Spaces, keeping it as a default-on preference for the time being 2021-08-11 14:52:40 +01:00
James Salter dc7aad1abf Revert "Revert "Add support for Posthog Analytics under a labs flag""
This reverts commit c5ea253181.
2021-08-03 11:55:02 +01:00
James Salter c5ea253181
Revert "Add support for Posthog Analytics under a labs flag" 2021-08-03 07:30:02 +01:00
James Salter a1ffd240e1 Use .instance pattern 2021-07-29 14:40:18 +01:00
James Salter bd7e2dee3d Merge remote-tracking branch 'origin' into posthog-analytics 2021-07-28 11:13:22 +01:00
James Salter 1d81bdc6f9 Interface changes and anonymity fixes 2021-07-28 09:37:08 +01:00
James Salter 5e0a397631 Refactor anonymity derivation 2021-07-23 17:58:31 +01:00
James Salter c34afdb4bd Refactor platform properties loading 2021-07-21 18:35:25 +01:00
James Salter f358deb6c4 Manually track page views 2021-07-21 16:52:57 +01:00
James Salter 34f8c60b34 Hook analytics into the SDK 2021-07-21 16:15:18 +01:00
Michael Telatynski e6869797d7 remove unused prop 2021-07-20 09:27:32 +01:00
Michael Telatynski ce78cdf4ad Conform to new react and typescript eslint rules 2021-07-19 22:43:11 +01:00
Michael Telatynski 9d45a3760f Fix types of the various query params dicts, arrays can be included e.g via 2021-07-16 13:11:43 +01:00
James Salter 9cb3c71afe Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into copy-room 2021-07-16 09:34:30 +01:00
James Salter 685b59235d Make error message consistent with menu title 2021-07-16 09:24:46 +01:00
Michael Telatynski 50b6c5c557 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/spacesperf
 Conflicts:
	src/components/views/dialogs/InviteDialog.tsx
2021-07-15 10:19:04 +01:00
Michael Telatynski 90d380c8ae Cache value of feature_spaces* flags as they cause page refresh so are immutable 2021-07-15 08:26:49 +01:00
Germain c7c29f2119
Merge pull request #6365 from psrpinto/fix/naming 2021-07-15 08:07:03 +01:00
James Salter 2fe5ad5d4b Slightly refine error message 2021-07-14 15:07:22 +01:00
James Salter 8bf5e61acc Add "Copy" to room context menu.
This menu item creates a matrix.to link for the room and copies it to the clipboard.
2021-07-14 14:58:18 +01:00
Paulo Pinto 6884b2aa6d Standardise spelling of identity server
Signed-off-by: Paulo Pinto <paulo.pinto@automattic.com>
2021-07-13 16:28:43 +01:00
Michael Telatynski a645cebb49 Fix setTimeout/setInterval typing 2021-07-12 09:02:46 +01:00
Šimon Brandner 68d194444a
FocusComposer -> FocusSendMessageComposer
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-08 17:36:31 +02:00
Šimon Brandner 68011056cc
Eleventh and final batch of burning
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-03 12:24:07 +02:00
Šimon Brandner 5d054519dc
Tenth batch of burning
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-03 11:57:05 +02:00
Michael Telatynski 82119a08f7
Merge branch 'develop' into t3chguy/ts/11 2021-07-02 11:03:54 +01:00
David Baker 80f5232217 Comply with new member-delimiter-style rule
Just `eslint --fix` with rule from
https://github.com/matrix-org/eslint-plugin-matrix-org/pull/9 in place
2021-07-01 23:23:03 +01:00
Michael Telatynski 88f691776f Use sleep from js-sdk as no point duplicating it 2021-07-01 22:55:27 +01:00
Michael Telatynski c0fab6647d Use defer from js-sdk as it has a better ts definition 2021-07-01 22:50:06 +01:00
J. Ryan Stinnett 782e793925 Merge remote-tracking branch 'origin/develop' into jryans/rework-linting-2 2021-06-29 15:27:24 +01:00
J. Ryan Stinnett 0551becafd Fix long lines 2021-06-29 13:42:51 +01:00
J. Ryan Stinnett ae0a8b8da4 Auto-fix lint errors 2021-06-29 13:11:58 +01:00
Germain Souquet 6607294573 Deprecate Tinter and TintableSVG 2021-06-28 17:13:23 +01:00
Michael Telatynski 0e2f617d94 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/15051 2021-06-24 09:33:39 +01:00
Michael Telatynski a839d0f396 More typescript conversion 2021-06-22 17:23:13 +01:00
Michael Telatynski 47ddd33d21 Remove explicit `.js` imports 2021-06-16 10:24:51 +01:00
Germain Souquet 011a2f2bb6 Remove test data for develop pipeline 2021-06-15 10:59:57 +01:00
Germain Souquet d5f7f524e1 Slow down registration process 2021-06-15 10:24:07 +01:00
Travis Ralston c9883f346c Build pass 1 2021-06-01 22:21:04 -06:00
J. Ryan Stinnett a8b6094482
Merge pull request #5674 from churchtools/default-username
Add url param `defaultUsername` to prefill the login username field
2021-06-01 10:12:31 +01:00
Germain Souquet 29c4d9ffd0 Restore toggle LHS logic 2021-05-28 10:03:46 +01:00