Commit Graph

31463 Commits

Author SHA1 Message Date
David Baker 572fa99e67 Fix virtual / native room mapping on call transfers (#7848)
* Fix virtual / native room mapping on call transfers

By just sending them through the same code path as regular calls.

Also re-do the tests & add a test for transfer specifically.

* Optional arg

* Types
2022-02-21 12:17:09 +00:00
Andy Balaam f1e1b7be86 Support "closed" polls whose votes are not visible until they are ended (#7842) 2022-02-21 10:21:35 +00:00
Šimon Brandner eca64d776a Remove layout workaround (#7853) 2022-02-21 10:05:01 +00:00
Šimon Brandner 9aa77f3417 Remove autoplayGifsAndVideos workaround (#7852) 2022-02-21 10:02:45 +00:00
Kerry fc9a221371 Focus trap in poll creation dialog (#7847)
* add autofocus

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

* test

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

* scope ids

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

* whitespace

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-18 16:35:08 +00:00
Michael Telatynski 5f5bb4a4fe Consolidate TileShape into TimelineRenderingType (#7843) 2022-02-18 15:56:05 +00:00
Šimon Brandner ca89d3b96e Fix editEvent() call (#7846)
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-02-18 15:15:18 +00:00
Šimon Brandner fe7f1688dd Move editEvent() to EventUtils (#7836) 2022-02-18 15:01:32 +00:00
Travis Ralston 34567b9aab Add labs flag: Show only current profile on historical messages (#7815)
* Add labs flag: Show only current profile on historical messages

For https://github.com/vector-im/element-web/issues/3768
Related https://github.com/vector-im/element-web/issues/4677

* Use the member's user ID
2022-02-18 07:58:04 -07:00
J. Ryan Stinnett acd051db43 Remove unused LeftPanel dimension tracking (#7845) 2022-02-18 14:46:33 +00:00
Travis Ralston b756f03563 Keep unsent voice messages in memory until they are deleted or sent (#7840)
Fixes https://github.com/vector-im/element-web/issues/17979
2022-02-18 07:29:08 -07:00
Michael Telatynski 38a547b5d0 Remove ResizeObserver Polyfill (#7844) 2022-02-18 13:51:27 +00:00
Michael Telatynski 29c1c8d1e1 Fix ScrollPanel data-scrollbar not responding to window resizing (#7841) 2022-02-18 13:03:16 +00:00
Kerry 6fccd6b183 add cursor: pointer to actionable poll options (#7826)
* add cursor: pointer to actionable poll options

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

* eof

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-18 11:43:07 +01: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
Kerry 08a0c6f86c Don't aggregate rooms and users in SpaceStore (#7723)
* add direct child maps

* track rooms, users and space children in flat hierarchy in spacestore

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

* update spacefiltercondition to use new spacestore

* remove unused code

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

* typos

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

* only build flattened rooms set once per space when updating notifs

* copyright

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

* remove unnecessary currying

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

* rename SpaceStore spaceFilteredRooms => roomsIdsBySpace, spaceFilteredUsers => userIdsBySpace

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

* cache aggregates rooms and users by space

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

* emit events recursively up parent spaces on changes

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

* exclude meta spaces from aggregate cache

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

* stray log

* fix emit on member update

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

* call order

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

* extend existing getKnownParents fn

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

* refine types and comments

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-17 21:24:05 +01:00
Michael Telatynski 658590e5bc More posthog tracking around joining rooms and room search (#7807) 2022-02-17 18:03:27 +00:00
Germain e997676ae2 Opt out from check for pre-join UISI for threads (#7834) 2022-02-17 17:34:20 +00:00
J. Ryan Stinnett a939184e10 Tear down AppTile using lifecycle tracking (#7833) 2022-02-17 16:30:36 +00:00
Michael Telatynski 07d5b4139d Add way to join room address via new search dialog (#7830) 2022-02-17 15:40:12 +00:00
Germain 2160fd81c2 Fixes React.js console errors (#7829) 2022-02-17 11:46:19 +00:00
Andy Balaam 93d4364455 Prevent forwarding polls (#7819) 2022-02-17 10:57:12 +00:00
Michael Telatynski 4292381202 Fix layout inconsistencies with the room search minimized button (#7824) 2022-02-17 10:33:36 +00:00
Michael Telatynski 2f1d2ed5f8 Fix space panel notification badge behaviour and metrics (#7823) 2022-02-17 09:20:48 +00:00
Andy Balaam 7387f3c80a Allow editing polls (#7806) 2022-02-17 09:13:05 +00:00
Travis Ralston fa9af44523 Fix left panel widgets causing app crashes (again) (#7814)
* Add type safety around left panel widget handling

* lint
2022-02-16 13:26:18 -07:00
Travis Ralston bd1568f4e4 Un-break crypto for soft logout 2022-02-16 12:33:33 -07:00
Travis Ralston aba61fa390 Revert "Support refresh tokens (#7802)"
This reverts commit 839593412c.
2022-02-16 12:32:38 -07:00
Šimon Brandner 81f52283cf Don't change KEYBOARD_SHORTCUTS and do some refactoring (#7818) 2022-02-16 15:24:00 +00:00
J. Ryan Stinnett 0dc1355441 Fix right panel data flow (#7811) 2022-02-16 11:19:28 +00:00
Michael Telatynski c2cf3a2d9e Fix room create tile not showing up with hidden events shown (#7810)
* Replace m.room.create with enum

* Fix room create tile not showing up with hidden events shown
2022-02-15 21:05:41 +00: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
David Baker a958cd20f1 Fix delayed badge update for mentions in encrypted rooms (#7813)
* Fix delayed badge update for mentions in encrypted rooms

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

More detail on the issue

* Remove unused import

* Fix listener removal
2022-02-15 20:06:29 +00:00
Michael Telatynski 8d4e83084c Remove Countly analytics integration (#7808) 2022-02-15 16:58:30 +00:00
Charlie Calendre bb5f62edce Fix add existing space not showing any spaces (#7801) 2022-02-15 13:53:20 +00:00
Michael Telatynski 0a084601c4 Abstract spotlight to allow non-room results too (#7804) 2022-02-15 13:36:32 +00:00
David Baker 5fe8442f44 Add an end-to-end test for stickers (#7733)
* Add an end-to-end test for stickers

* More logs on login

* Wait for spinners to go away

* Factor out spinner waiting as it seems useful

* Move stickers to the end

* More waiting

* When all else fails... add sleeps

* Waiting for the server picker to appear seems to work..?

* Typos

Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>

* remove commented code from registration usecase

Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2022-02-15 11:49:53 +00:00
Andy Balaam 84e15fa148 Display '(edited)' next to edited polls (#7789) 2022-02-15 08:52:51 +00:00
Michael Telatynski 6793ef33ba Use the resize observer polyfill consistently (#7796) 2022-02-14 23:59:03 +00:00
Michael Telatynski 0cf15d27dc Fix edge cases around event list summaries with hidden events and redactions (#7797) 2022-02-14 23:58:29 +00:00
Michael Telatynski 76fb2abae1 Consolidate, simplify and improve copied tooltips (#7799) 2022-02-14 23:54:46 +00:00
Michael Telatynski 226eed2a7f Hide Clear room list filter field shortcut if new search enabled (#7798) 2022-02-14 23:38:29 +00:00
Michael Telatynski 8d3c2eddd6 Improve styling of edge case devtools state keys (#7794) 2022-02-14 23:37:45 +00:00
Michael Telatynski 401e5127f4 Don't scroll to bottom when executing non-message slash commands (#7793) 2022-02-14 23:36:06 +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
Michael Telatynski 0e3b559671 Fix electron typing again again (#7788) 2022-02-11 13:03:51 +00:00
Kerry b5e7d12f76 Add config option to autorageshake when key backup is not enabled (#7741)
* report on not enabled

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

* add setting

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

* check key backup status after crypto init

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

* remove log

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

* test encryption setup in DeviceListener

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

* i18n

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

* sendLogs for key backup auto-report event

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

* remove reloadOnChagneController

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-11 14:00:37 +01:00
Michael Telatynski 0541a224b5 Fix electron type conflict (#7786) 2022-02-11 11:40:35 +00:00
Michael Telatynski ac6a356027 End-to-end test alias publishing flow (#7779) 2022-02-11 11:37:31 +00:00
Šimon Brandner 73899bb2e3 Switch to IPC channel for getDesktopCapturerSources (#7782) 2022-02-11 10:41:15 +00:00