Commit Graph

742 Commits (21677e67e826430dae827f265fa4491a57e11370)

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