Commit Graph

277 Commits

Author SHA1 Message Date
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 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
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