Commit graph

161 commits

Author SHA1 Message Date
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
d258402186
Typescript updates (#9658)
* Typescript updates

* Update @types/node

* Fix more types
2022-11-30 11:32:56 +00:00
Michael Telatynski
8c0d202df4
Enable tsc alwaysStrict, strictBindCallApply, noImplicitThis (#9600)
* Enable tsc alwaysStrict

* Enable tsc strictBindCallApply

* Enable tsc noImplicitThis

* Add d.ts

* Improve types

* Add ?

* Increase coverage

* Improve coverage
2022-11-21 11:24:59 +00:00
Travis Ralston
1032334b20
Convert inputs on Export/Import Room Key dialogs to be real Fields (#9350)
* Convert inputs on Export/Import Room Key dialogs to be real Fields

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

* Correctly label the second field

* Appease the linter
2022-10-04 23:28:57 -06: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
394e181854
Define interface for RLS to ease wiring in Sliding Sync (#9150)
* Define iface for RLS

* Iterate interface
2022-08-09 20:46:59 +01:00
ElementRobot
7b7181be18
Upgrade dependencies (#8749)
* [create-pull-request] automated change

* Remove conflicting HTMLStyleElement type improvement

* Pin postcss-hexrgba as 2.1.0 needs postcss 8

* Bump typescript version

* Add missing crypto stub

Co-authored-by: t3chguy <t3chguy@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-07-13 17:11:19 +01: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
Michael Telatynski
ad4d3f9a88
Move threads e2e tests over to cypress (#8501)
* Add non-consent (default) Synapse template

* Add consent test

* Add create room test

* Stash work

* Initial threads tests

* fix

* Delete old threads e2e tests, plan new ones

* Fix typed s'more

* Try something else

* specify d.ts

* Fix types once and for all?

* Fix the consent tests

* Iterate threads test harness

* Fix dispatcher types

* Iterate threads test

* fix typing

* Alternative import attempt

* let it break let it break let it break

* Tweak types

* Stash

* delint and update docs

* null-guard scrollIntoView

* Iterate threads test

* Apply suggestions from code review
2022-05-10 17:09:31 +00:00
Hugh Nimmo-Smith
457fc542da
Replace browser-encrypt-attachment with matrix-encrypt-attachment (#7795)
* Replace browser-encrypt-attachment with matrix-encrypt-attachment

matrix-encrypt-attachment is maintained and includes TS typings

* Upgrade matrix-encrypt-attachment to latest with default exports
2022-04-05 11:29:27 -06:00
Travis Ralston
d89fcf17fb Step 8.4.2: Refactor ActiveRoomObserver out of existence
The `RoomTile` was the last class to use it. Note that we also update the RVS to change its `instance` declaration type to fix a few tests.
2022-03-28 14:02:31 -06:00
Travis Ralston
7e21da0c7f Step 4: Disable/remove bulk of skinner code 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
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
Michael Telatynski
288e47fd81
Update m.render_in to is_falling_back (+ unstable field) (#7979) 2022-03-09 16:15:53 +00:00
Kerry
e6ea58e84d
Load icons using @svgr (#7928)
* extend svg module

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

* POC in QuickSettingsButton

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

* stylelint

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

* update copyright

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

* remove aria-hidden, quick docs

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-02 10:18:45 +01:00
Travis Ralston
a5ce1c9dcb
Add support for redirecting to external pages after logout (#7905)
* Add support for redirecting to external pages after logout

This is primarily useful for deployments where the account is managed and needs to be logged out in other places too, like an SSO system.

See docs for more information.

* Add e2e test and fix Windows instructions

* Fix performance gathering stats

* use logger
2022-03-01 11:06:17 -07:00
Michael Telatynski
8fccef86d8
Wire up drag-drop file uploads for the thread view (#7860) 2022-02-22 11:14:56 +00:00
Michael Telatynski
8d4e83084c
Remove Countly analytics integration (#7808) 2022-02-15 16:58:30 +00:00
Michael Telatynski
0e3b559671
Fix electron typing again again (#7788) 2022-02-11 13:03:51 +00:00
Michael Telatynski
0541a224b5
Fix electron type conflict (#7786) 2022-02-11 11:40:35 +00:00
Šimon Brandner
73899bb2e3
Switch to IPC channel for getDesktopCapturerSources (#7782) 2022-02-11 10:41:15 +00:00
Michael Telatynski
5c44cb5cc6
Improve QueryMatcher TypeScript definition (#7555) 2022-01-17 14:08:36 +00: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
Timo
325e2ba99b
Right panel store refactor (#7313)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2022-01-05 16:14:44 +01:00
Michael Telatynski
7033f8696a
Improve typing (#7349) 2021-12-14 15:34:54 +00:00
Michael Telatynski
c96b9413e7
Update Typescript to 4.5 (#7344) 2021-12-13 11:22:53 +00:00
Michael Telatynski
aa7cae08aa
Add utility method mxLoginWithAccessToken to login with existing access token (#7261) 2021-12-02 13:46:44 +00:00
Michael Telatynski
5ad3261cb2
Implement more meta-spaces (#7077) 2021-11-11 13:07:41 +00:00
Michael Telatynski
82807434b8
Remove redundant duplicate mimetype field which doesn't conform to spec (#7045) 2021-10-28 09:40:38 +01:00
James Salter
8170697bbf
Add a global mxSendSentryReport so we can debug sentry from the console (#7042) 2021-10-27 13:05:58 +00:00
Travis Ralston
fe0a68b71e
Merge pull request #6869 from SimonBrandner/task/src-ts
Convert `/src` to TS
2021-09-30 12:48:23 -06:00
Jaiwanth
208b914cb0 Merge branch 'develop' into export-conversations 2021-09-29 19:32:05 +05:30
Šimon Brandner
ff30dacc84
Convert theme to TS
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-27 14:41:08 +02:00
Šimon Brandner
6adf762569
Convert Skinner to TS
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-27 14:41:08 +02:00
Šimon Brandner
b6fc10b65e
Merge remote-tracking branch 'upstream/develop' into task/rageshake-ts
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-27 09:56:09 +02:00
Šimon Brandner
af9429c8a0
Convert ActiveWidgetStore to TS
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-26 19:57:02 +02:00
Šimon Brandner
2584b5bc6b
Convert rageshake to TS
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-26 16:53:43 +02:00
Jaiwanth
94e4fb71c1 Merge branch 'develop' into export-conversations 2021-09-22 18:07:01 +05:30
Šimon Brandner
2f1ee610d9
Use source id directly
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-02 14:27:55 +02:00
Šimon Brandner
7ae9f3d1ae
Remove Element-specifc screen-sharing code out of the js-sdk
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-01 18:45:13 +02:00
Jaiwanth
036d8a15c6 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into export-conversations 2021-08-09 10:36:43 +05:30
James Salter
c5ea253181
Revert "Add support for Posthog Analytics under a labs flag" 2021-08-03 07:30:02 +01:00
Jaiwanth
46e2f67f54 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into export-conversations 2021-08-03 10:03:16 +05:30
James Salter
d401789f9e Ignore eslint conventions in disastrous posthog type definitions 2021-07-28 17:26:24 +01:00
James Salter
e4722ee457 Override posthog type definitions to point to a locally fixed type definition file
Posthog's type definitions refer to types in transitive dependencies we don't want to include.

Clone posthog.d.ts locally, remove the offending types from it, and provide an overriding mapping in tsconfig.

If this proves annoying to maintain, posthog.d.ts could just be an empty file.
2021-07-28 17:14:36 +01:00
Jaiwanth
371d1026fa Add jest-raw-loader 2021-07-27 12:11:08 +05:30
Jaiwanth
57590b9a8a Use raw-loaders to import svgs and exportJS 2021-07-27 11:37:47 +05:30