Commit graph

742 commits

Author SHA1 Message Date
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
RiotRobot
78bda2b6da Upgrade matrix-js-sdk to 19.1.0-rc.1 2022-07-12 14:09:05 +01:00
Michael Telatynski
7fb48d24e4
Upgrade to Cypress 10 (#9008)
* Upgrade to Cypress 10

* Remove stale comment
2022-07-08 13:14:13 +01:00
Travis Ralston
7f5bb61a79
Support a module API surface for custom functionality (#8246)
* Early implementation of module API surface + functions for ILAG module

* Wire up dialog functions and ILAG-needed surface

* Ensure component renders for modules get overridden

* Respond to changes from module API interface

* Use a real module-api dependency

* Update for new Dialogs interface

* Add support for getConfigValue from module API

* Update the remainder of the module API interface

* Docs & cleanup

* Add some unit tests around module stuff

Needs end-to-end tests still.

* Appease early linters

* Break import cycles by not directly depending on Lifecycle

* Appease the linter

* Fix bad merge
2022-07-05 12:26:44 -06:00
RiotRobot
bdc05ec268 Reset matrix-js-sdk back to develop branch 2022-07-05 14:16:38 +01:00
RiotRobot
517494d619 Upgrade matrix-js-sdk to 19.0.0 2022-07-05 14:12:58 +01:00
RiotRobot
b0cea630a3 Upgrade matrix-js-sdk to 19.0.0-rc.1 2022-06-28 16:10:33 +01:00
Michael Telatynski
7f7ad10b04
Update matrix-web-i18n (#8914) 2022-06-28 14:15:51 +01:00
Michael Telatynski
d3fb6ff906
Move the user view tests from Puppeteer to Cypress (#8787)
* Move the user view tests from Puppeteer to Cypress

* Iterate snapshot test

* Actually import the new module

* Specify widths

* Update cypress & percy

* Try fix percy

* Finish cypress upgrade

* Tidy cypress.config.ts

* Revert "Tidy cypress.config.ts"

This reverts commit d913052cc4e12f836b99645bda81bbcf21d5f3c8.

* Revert "Finish cypress upgrade"

This reverts commit b5aba3b8a32edbc36549fbd8a27eb0de0390da2a.

* Revert "Update cypress & percy"

This reverts commit f846a364f81b23b173d9af67230aa074bd248cf6.

* delint

* Update percy
2022-06-08 22:12:56 +01:00
Michael Telatynski
8036985204
Update matrix-analytics-events to @matrix-org/analytics-events (#8778)
* Update matrix-analytics-events to @matrix-org/analytics-events

* Update install-deps.sh

* Update layered.sh

* Update BeaconMarker-test.tsx.snap

* Update BeaconStatus-test.tsx.snap
2022-06-07 20:08:36 +01:00
RiotRobot
5da187d520 Reset matrix-js-sdk back to develop branch 2022-06-07 12:13:34 +01:00
RiotRobot
d4647936c4 Merge branch 'master' into develop 2022-06-07 12:13:24 +01:00
RiotRobot
812ac75d9d Upgrade matrix-js-sdk to 18.1.0 2022-06-07 12:10:11 +01:00
Kerry
158e42f764
Unit test MessageActionBar (#8732)
* test most basic paths in messageactionbar

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

* tidy

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

* add rtl

* add code style note about using rtl

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

* downgrade to rtl 12

* use rtl for MessageActionBar test

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

* try mocking settingsstore for ci only failure

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

* mock setValue too

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

* uupdate lockfile

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-06-02 10:25:56 +02:00
RiotRobot
7ca3b6bb13 Upgrade matrix-js-sdk to 18.1.0-rc.1 2022-05-31 11:35:17 +01:00
Kerry
f742e3a17d
matrix-mock-request 2.0 (#8717) 2022-05-30 12:19:13 +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
RiotRobot
d214387c88 Reset matrix-js-sdk back to develop branch 2022-05-24 13:04:54 +01:00
RiotRobot
1ca34540e7 Merge branch 'master' into develop
# Conflicts:
#	yarn.lock
2022-05-24 13:03:34 +01:00
RiotRobot
076598ca85 Upgrade matrix-js-sdk to 18.0.0 2022-05-24 12:41:56 +01:00
RiotRobot
3c2e9c364a Upgrade matrix-js-sdk to 18.0.0-rc.2 2022-05-20 10:58:03 +01:00
t3chguy
bf1a19ab1a [create-pull-request] automated change 2022-05-17 19:03:57 +00:00
RiotRobot
a68032760e Upgrade matrix-js-sdk to 18.0.0-rc.1 2022-05-17 18:32:12 +01:00
Michael Telatynski
d9b7e0721c
Add visual tests using Percy in Cypress (#8610)
* Add basic Percy tests

* Run Percy in CI

* Fix snapshot timing

* Fix bad selector

* Hide another bit of dynamic text

* Add docs
2022-05-17 15:16:14 +00: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
RiotRobot
38f34c3d6a Reset matrix-js-sdk back to develop branch 2022-05-10 15:07:41 +01:00
RiotRobot
3d2866917a Merge branch 'master' into develop 2022-05-10 15:03:45 +01:00
RiotRobot
ee47cb8024 Upgrade matrix-js-sdk to 17.2.0 2022-05-10 14:54:47 +01:00
Janne Mareike Koschinski
e05a3e6446
fix: update matrix-analytics-events (#8543) 2022-05-09 14:18:15 +00:00
Kerry
2c19d286ed
Eslint - require copyright header rule (#8514)
* bump eslint plugin to 0.5.2

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

* add rule

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

* add missing copyright headers

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

* fix comment order

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-05-06 09:09:28 +00:00
Michael Telatynski
9c8a887361 Pin linkify version due to breaking changes 2022-05-03 23:35:08 +01:00
t3chguy
c1af28188e [create-pull-request] automated change 2022-05-03 21:49:01 +00:00
RiotRobot
fab2a49a53 Upgrade matrix-js-sdk to 17.2.0-rc.1 2022-05-03 15:26:00 +01:00
Michael Telatynski
7477a2df7d
Switch coverage over to SonarQube (#8463) 2022-05-02 21:34:31 +01:00
Germain
45180111d0
Update analytics SDK (#8437) 2022-04-28 12:19:00 +01:00
Germain
1ed68a718f
Add new user signup event tracking in PostHog (#8412) 2022-04-28 11:46:02 +01:00
Janne Mareike Koschinski
9b0ab3321c
Add opt-in analytics to onboarding tasks (#8409)
* Add interaction tracking to explore room, send DM and create room events in onboarding view and elsewhere
* Update matrix analytics events dependency
2022-04-26 13:31:53 +02:00
RiotRobot
c7c0fdbcc5 Reset matrix-js-sdk back to develop branch 2022-04-26 12:15:33 +01:00
RiotRobot
ba624c8ef2 Merge branch 'master' into develop 2022-04-26 11:50:38 +01:00
RiotRobot
bff1a3b088 Upgrade matrix-js-sdk to 17.1.0 2022-04-26 11:36:14 +01:00
Michael Telatynski
74cab0323f
Upgrade dependencies (#8362)
* Upgrade dependencies

* delint
2022-04-21 08:08:03 +01:00
RiotRobot
1da1460baf Upgrade matrix-js-sdk to 17.1.0-rc.1 2022-04-19 14:54:05 +01:00
David Baker
b8013fc52a
Add a Cypress Test 🌲 (#8295)
* A first, maybe working cypress test

Plus cypress plugins to manage synapses in docker containers

* Fix yaml

* This file is important

* try & find where it's put the artifact

* Download artifact to a directory

* pics or it didn't happen

* Add conditional, otherwise no artifacts on failure...

* Try increasing timeout

also actually give the test a name

* Try in chrome

* Get docker logs to see why it's failing

also document the chrome setting

* Try changing mode on homeserver.yaml

* debug

* More debugging

* more file permissions debugging

* ARGH

* more debug

* sigh

* Eugh, that's not how arguments work

* Add the option to really allow open registration

and remove debug logging / comment fixes

* failure to yaml

* Upload docker logs as artifacts

and temporarily remove contional to test

* Put the conditional back

* Upgrade types in end to end tests

to be compatible with fs-extra types

* Try reducing timeout a bit

also make password more... sensible

* Hex is not octal

* Remove file mode

Seems to be unnecessary since the signing key is perfectly fine

* Give the log files extensions

* Rename workflow file now it also does tests

* Add cypress scripts

* copyright headers

* Use ? operator

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Use develop synapse image

* Tidy up any remaining synapses after each spec run

Also:
 * Move the synapseStart / synapseStop functions out to the top level
   so they can be reused
 * Add a tsconfig file
 * Give the containers names

* Don't upload video on test pass

We don't upload it anyway so tell cypress not to so it can not
bother encoding them

* Enable linting on cypress files

and fix existing lint errors

* Type check cypress files

and make it pass the type checks, specifically:
 * Upgrade sinon fake timers to a version that has the right types
 * Set module resolution
 * Type check cypress files separately

* Rename workflow file again

Probably better to just call it an element web build

* Don't plus + characters in container name

* Fix yaml

* Stream logs to file

* Add note to end to end tester to sya what's been ported

* Put docker rm in finally block

Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-04-14 10:41:58 +01:00
RiotRobot
42dbe14f36 Reset matrix-js-sdk back to develop branch 2022-04-12 10:38:05 +01:00
RiotRobot
336492275a Merge branch 'master' into develop 2022-04-12 10:36:00 +01:00
RiotRobot
7844c3ac8d Upgrade matrix-js-sdk to 17.0.0 2022-04-12 10:31:47 +01:00
David Baker
285dc25b3e
Add a test for URL previews being disabled in e2e rooms (#8270)
* Add a test for URL previews being disabled in e2e rooms

Regression test for https://github.com/matrix-org/matrix-react-sdk/pull/8227

* Fix the types
2022-04-08 18:32:35 +01:00
Kerry
efb44e1b7d
update yarn lock (#8237)
* update yarn lock

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

* remove beta.6

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-04-06 13:33:05 +02: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
RiotRobot
7571552836 Upgrade matrix-js-sdk to 16.0.2-rc.1 2022-04-05 18:12:37 +01:00
Travis Ralston
97efdf7094 Merge branch 'develop' into travis/remove-skinning 2022-03-31 19:25:43 -06:00
dependabot[bot]
4e665dedb9
Bump ansi-regex from 4.1.0 to 4.1.1 (#8178)
Bumps [ansi-regex](https://github.com/chalk/ansi-regex) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/chalk/ansi-regex/releases)
- [Commits](https://github.com/chalk/ansi-regex/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: ansi-regex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-29 00:02:49 -06:00
Travis Ralston
a6564d9ab9 Step 14: Remove reskindex 2022-03-28 15:30:30 -06:00
Travis Ralston
15b84bd9a6 Step 2: Remove the decorator 2022-03-28 14:02:31 -06:00
RiotRobot
2520d81784 Reset matrix-js-sdk back to develop branch 2022-03-28 16:19:31 +01:00
RiotRobot
7507d4f43d Merge branch 'master' into develop 2022-03-28 16:19:20 +01:00
RiotRobot
eb51ba1d2a Upgrade matrix-js-sdk to 16.0.1 2022-03-28 16:16:39 +01:00
dependabot[bot]
e844938235
Bump minimist from 1.2.5 to 1.2.6 (#8156)
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-25 10:43:59 -06:00
Michael Telatynski
bc01efa124
Improve handling of animated GIF and WEBP images (#8153) 2022-03-25 16:31:40 +00:00
Šimon Brandner
3534e9b6ce
Upgrade emojibase and twemoji (#7286)
Co-authored-by: Tulir Asokan <tulir@maunium.net>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-03-23 17:08:34 +00:00
RiotRobot
cbb704fb24 Upgrade matrix-js-sdk to 16.0.1-rc.1 2022-03-22 21:46:47 +00:00
Michael Telatynski
7a22682a80
Install typings for escape-html package (#8098) 2022-03-21 17:02:22 +00:00
RiotRobot
2778fd135e Reset matrix-js-sdk back to develop branch 2022-03-15 14:34:00 +00:00
RiotRobot
ddb3f57470 Upgrade matrix-js-sdk to 16.0.0 2022-03-15 14:26:48 +00:00
RiotRobot
6dbcf837e5 Upgrade matrix-js-sdk to 16.0.0-rc.1 2022-03-08 14:53:26 +00:00
RiotRobot
b02d5ecb97 Merge branch 'master' into develop 2022-02-28 17:01:22 +00:00
RiotRobot
9feae296f4 Upgrade matrix-js-sdk to 15.6.0 2022-02-28 16:48:46 +00:00
Michael Telatynski
75e41b4c1c
Basic threads analytics into Posthog MVP (#7871) 2022-02-28 14:11:14 +00:00
Kerry
6e143c313e
eslint to 8.9.0 (#7889)
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-24 15:54:06 +01:00
RiotRobot
a793815aa2 Upgrade matrix-js-sdk to 15.6.0-rc.1 2022-02-22 13:39:33 +00:00
Andy Balaam
eed8db4c26 Bump matrix-events-sdk to 0.0.1-beta.7 (#7837)
* Bump matrix-events-sdk to 0.0.1-beta.7

* Update lockfile
2022-02-22 13:00:03 +00:00
Andy Balaam
213b32bf14
Bump matrix-events-sdk to 0.0.1-beta.7 (#7837)
* Bump matrix-events-sdk to 0.0.1-beta.7

* Update lockfile
2022-02-22 11:54:56 +00:00
Kerry
9db59d75b9
Bump react-focus-lock (#7858)
* react-focus-lock to 2.5.1

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

* use enzyme in ASSD test so focus lock finds active element

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

* findById and flushPromises to test utils

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-21 17:09:01 +00:00
Michael Telatynski
38a547b5d0
Remove ResizeObserver Polyfill (#7844) 2022-02-18 13:51:27 +00:00
Michael Telatynski
658590e5bc
More posthog tracking around joining rooms and room search (#7807) 2022-02-17 18:03:27 +00:00
Travis Ralston
aba61fa390 Revert "Support refresh tokens (#7802)"
This reverts commit 839593412c.
2022-02-16 12:32:38 -07:00
Travis Ralston
839593412c
Support refresh tokens (#7802)
MSC: https://github.com/matrix-org/matrix-doc/pull/2918
Fixes https://github.com/vector-im/element-web/issues/18698
Fixes https://github.com/vector-im/element-web/issues/20648
**Requires https://github.com/matrix-org/matrix-js-sdk/pull/2178**

**Note**: There's a lot of logging in this PR. That is intentional to ensure that if/when something goes wrong we can chase the exact code path. It does not log any tokens - just where the code is going. Overall, it should be fairly low volume spam (and can be relaxed at a later date).

----

This approach uses indexeddb (through a mutex library) to manage which tab actually triggers the refresh, preventing issues where multiple tabs try to update the token. If multiple tabs update the token then the server might consider the account hacked and hard logout all the tokens.

If for some reason the timer code gets it wrong, or the user has been offline for too long and the token can't be refreshed, they should be sent to a soft logout screen by the server. This will retain the user's encryption state - they simply need to reauthenticate to get an active access token again.

This additionally contains a change to fix soft logout not working, per the issue links above.

Of interest may be the IPC approach which was ultimately declined in favour of this change instead: https://github.com/matrix-org/matrix-react-sdk/pull/7803
2022-02-15 20:16:49 +00:00
Michael Telatynski
cfa6e266cd
Wire up new fields on the ViewRoom posthog event and more interactions (#7787) 2022-02-14 19:31:13 +00:00
RiotRobot
9b3af6c493 Reset back to develop branch 2022-02-14 15:41:31 +00:00
RiotRobot
0304d3245c Merge branch 'master' into develop 2022-02-14 15:39:33 +00:00
RiotRobot
7558568158 Upgrade matrix-js-sdk to 15.5.1 2022-02-14 15:19:06 +00:00
Michael Telatynski
87ca70edb1
Switch to web-specific screens and $pageview event (#7777) 2022-02-10 14:38:31 +00:00
Michael Telatynski
fd832488f1
Update slash command posthog enum (#7776) 2022-02-10 13:11:10 +00:00
Michael Telatynski
f6565bfbc8
Send how many favorited rooms a user has to Posthog (#7772) 2022-02-10 10:02:34 +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
David Baker
df5aa10935
Yarn upgrade (#7750) 2022-02-08 19:17:23 +00:00
RiotRobot
ec571ddd8d Upgrade matrix-js-sdk to 15.5.1-rc.1 2022-02-08 15:37:07 +00:00
J. Ryan Stinnett
7f3f186044
Switch back to upstream Linkify (#7677) 2022-02-04 17:21:03 +00:00
Kerry
292971dd0e
Upgrade to jest 27 (#7699)
* use jest@27.4.0, replace jest-environment-jsdom-sixteen with jest-environment-jsdom

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

* polyfill setImmediate

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

* remove done from async test cases

* useRealTimers in test relying on promise flushing

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

* remove jest environment file

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

* replace ts-jest mocked with jest utils mocked

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-02 13:02:17 +01:00
RiotRobot
82f3888cee Reset matrix-js-sdk back to develop branch 2022-02-01 15:52:28 +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
David Baker
9ffc141350
Yarn upgrade (#7683) 2022-01-31 16:54:01 +00:00
RiotRobot
8221faad6c Reset matrix-js-sdk back to develop branch 2022-01-31 14:57:25 +00:00
RiotRobot
a25fea9f96 Merge branch 'master' into develop 2022-01-31 14:57:13 +00:00
RiotRobot
e0b041bdca Upgrade matrix-js-sdk to 15.5.0 2022-01-31 14:48:14 +00:00
Kerry
085ecc7f5f
Chat export parameter customisation (#7647)
* use export settings and hide fields

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

* fix exporter tests

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

* test ExportDialog with settings

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

* tidy debugs, rename setting to Parameters

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

* use reasonable 100gb limit

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

* use normal setting instead of UIFeature

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

* use a customisation

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

* move validateNumberInRange to utils

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

* use nullish coalesce

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

* use 8gb size limit for customisation

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

* update comments

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-31 12:54:14 +01:00
RiotRobot
01d1e0292c Upgrade matrix-js-sdk to 15.5.0-rc.1 2022-01-26 17:01:37 +00:00
J. Ryan Stinnett
51a44f491e
Upgrade linkifyjs to fix schemes as domain prefixes (#7628) 2022-01-25 17:37:54 +00:00
J. Ryan Stinnett
010cbadc8e Tweak lockfile 2022-01-21 15:51:15 +00:00