Commit Graph

188 Commits

Author SHA1 Message Date
Clark Fischer
53a9b6447b
Fix MessageEditHistoryDialog crashing on complex input (#10018)
* noImplicitAny fixes for MessageDiffUtils

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>

* Add tests for MessageDiffUtils

Adds mostly snapshot tests for MessageDiffUtils to guarantee consistent
behavior.

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>

* Strict mode fixes for MessageDiffUtils

Gets `MessageDiffUtils` to pass under `tsc --strict`.

Fixes https://github.com/vector-im/element-web/issues/23665 - no longer errors,
though it still isn't correct.

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>

* Remove obsolete DiffDOM workaround

Workaround is no longer necessary as of DiffDOM 4.2.1

See https://github.com/fiduswriter/diffDOM/issues/90

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>

---------

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>
2023-01-31 09:55:20 +00:00
Michael Telatynski
5095bc0427
Fix new tests introduced by html export tweaks (#10022) 2023-01-30 15:52:38 +00:00
Clark Fischer
4c1e4f5127
Fix "[object Promise]" appearing in HTML exports (#9975)
Fixes https://github.com/vector-im/element-web/issues/24272
2023-01-30 14:31:32 +00:00
Germain
3e2bf5640e
Update to supportsThreads (#9907) 2023-01-30 12:20:11 +00:00
Clark Fischer
222f8a919d
Fix failing userAgentParser tests (#9988) 2023-01-25 18:14:15 +00:00
Michael Weimann
ed06ed0185
Fix seekbar position for zero length audio (#9949) 2023-01-23 17:28:31 +01:00
Travis Ralston
badb2c4b27
Use js-sdk imports for poll event types instead of events-sdk (#9904)
* Use js-sdk imports for poll event types instead of events-sdk

* Attempt to appease some tsc --strict errors

* Manually create poll response in cypress test
2023-01-13 10:02:33 -07:00
Michael Weimann
f34c1609c3
Disable bubbles for broadcasts (#9860) 2023-01-05 12:33:28 +01:00
Michael Weimann
488a08a25e
Allow reactions for broadcasts (#9856) 2023-01-05 08:40:09 +01:00
Michael Weimann
064a5ad422
Show regular avatar for broadcasts (#9835) 2022-12-29 10:03:24 +00:00
Germain
e9224f6fce
Add mark as read option in room setting (#9798) 2022-12-22 13:18:38 +00:00
Michael Weimann
b81582d045
Improve live voice broadcast detection by testing if the started event has been redacted (#9780) 2022-12-22 10:37:07 +00:00
Germain
2d2755d145
🧵 Enable threads by default (#9736)
* Delabs threads

* remove threads reload when labs is toggled

* Fix ts strict

* fix rebase mistake

* remove .only

* fix pr comments

* re-introduce backwards compat

* Fix export test

* Fix SearchREsultTile test

* strict ts
2022-12-13 15:09:15 +00:00
Michael Weimann
27c5b793e9
Merge branch 'develop' into weeman1337/prettier 2022-12-12 16:09:11 +01:00
Michael Weimann
57e1822add
Add voice broadcast ended message (#9728) 2022-12-12 16:03:56 +01:00
Michael Weimann
526645c791
Apply prettier formatting 2022-12-12 12:24:14 +01:00
Germain
3a501003e2
Add setting to hide bold notifications (#9705) 2022-12-06 09:59:17 +00:00
Kerry
82ad8d5aa2
Snooze the bulk unverified sessions reminder on dismiss (#9706)
* test bulk unverified sessions toast behaviour

* unverified sessions toast text tweak

* only show bulk unverified sessions toast when current device is verified

* add Setting for BulkUnverifiedSessionsReminder

* add build config for BulkUnverifiedSessionsReminder

* add more assertions for show/hide toast, fix strict errors

* fix strict error

* add util methods for snoozing in local storage

* rename nag to reminder

* set and read snooze for toast

* test snooze

* remove debug

* strict fix

* remove unused code
2022-12-06 06:18:03 +00:00
Michael Weimann
70a7961681
Update voice broadcast time display (#9646) 2022-11-30 08:47:29 +01:00
Robin
69e03860a0
Show day counts in call durations (#9641)
* Show day counts in call durations

Previously call durations over a day long would be truncated, for example displaying as '2h 0m 0s' instead of '1d 2h 0m 0s'.

* Fix strict mode errors

* Fix strings

Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-11-29 14:21:51 -07:00
Michael Telatynski
d341c56b1f
Fix issues around up arrow event edit shortcut (#9645) 2022-11-29 14:55:48 +00:00
Germain
c10339ad68
Make clear notifications work with threads (#9575) 2022-11-15 10:27:13 +00:00
Michael Weimann
fca6ff271c
Extract requestMediaPermissions (#9568) 2022-11-11 10:38:51 +01:00
Robin
06f69abad9
Don't switch to the home page needlessly after leaving a room (#9477)
Currently, if you leave a room that you're not currently viewing, you'll get sent back to the home page for no reason. This creates needless friction when trying to leave multiple rooms belonging to a space from the room list.

In addition to that fix, this improves the behavior when leaving a subspace, by making it take you to the parent space rather than all the way back home.
2022-11-10 07:34:43 -05:00
Michael Weimann
f6347d24ef
Show time left for voice broadcast recordings (#9564) 2022-11-10 10:53:49 +00:00
Michael Weimann
abec724387
Add voice broadcast pre-recoding PiP (#9548) 2022-11-10 09:38:48 +01:00
Michael Telatynski
04bc8fb71c
Optimise Jest run in CI (#9542) 2022-11-04 10:48:08 +00:00
Janne Mareike Koschinski
d92fdc1f5b
Loading threads with server-side assistance (#9356)
* Fix bug with message context menu
* fix bug where ThreadSummary failed if no last reply is available
* Fix relations direction API
* Use same API for threads as for any other timeline
* Determine if event belongs to thread on jumping to event
* properly listen to thread deletion
* Add thread redaction tests
* Add fetchInitialEvent tests
* Paginate using default TimelinePanel behaviour
* Remove unused threads deleted code

Co-authored-by: Germain <germain@souquet.com>
Co-authored-by: Germain <germains@element.io>
2022-10-28 13:48:15 +02:00
Michael Telatynski
b7ff56a726
Add type assertions where we know an event is a room event (has room_id) (#9498) 2022-10-25 18:57:36 +00:00
Travis Ralston
10a429c68d
Include a file-safe room name and ISO date in chat exports (#9440)
* conversation export named after room

* sanitization added for exported file name

* sanitization added for exported file name

* sanitization added for exported file name

* sanitization added for exported file name=>lint error fixed

* sanitization added for exported file name=>lint error fixed

* sanitization added for exported file name=>redundancy removed

* sanitization added for exported file name=>redundancy removed

* reverted to previous commit

* sanitization added for exported file name=>redundancy removed

* exported chat date iso formatted

* conversation export named after room

* conversation export named after room

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

* code refacto filename date format

* Add docs to fn

* Bring in a util library for sanitizing

* Extract file naming function and make consistent for all 3 types

Also use the library we dragged in

* Write tests & associated fixes

* Apply linters locally

* Include new date util in index

Co-authored-by: Sinharitik589 <sinharitik18112835@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: yaya-usman <yayaazeez222@gmail.com>
Co-authored-by: Sinharitik589 <67551927+Sinharitik589@users.noreply.github.com>
2022-10-17 19:54:10 -06:00
Germain
714ba6db94
Do not create account data event for guests (#9407)
* Do not create account data event for guests

* fix test
2022-10-13 13:15:34 +01:00
Michael Telatynski
8b54be6f48
Move from browser-request to fetch (#9345) 2022-10-12 18:59:07 +01:00
Kerry
9e055ee99d
use correct default for notification silencing (#9388) 2022-10-11 17:11:11 +01:00
Kerry
4a98e26c4a
Device manager - UA parsing tweaks (#9382)
* parseUA - use full client version

* dont check for custom element model and os when device type is unknown

* ignore OS version in browser based sessions
2022-10-11 09:29:19 +02:00
Kerry
c795ada78c
Device manager - eagerly create m.local_notification_settings events (#9353)
* eagerly save m.local_notification_settings events

* unskip test

* create local notification settings after first non-cached sync
2022-10-10 15:18:38 +01:00
Šimon Brandner
26a74a193f
Add Element Call room settings (#9347)
Co-authored-by: Robin <robin@robin.town>
2022-10-07 18:10:17 +00:00
Oliver Sand
9a3ae2398e
Pass language to Jitsi Widget (#9346)
Signed-off-by: Oliver Sand <oliver.sand@nordeck.net>

Signed-off-by: Oliver Sand <oliver.sand@nordeck.net>
2022-10-06 13:19:01 -06:00
Kerry
3e4f3152bc
Device manager - parse user agent for device information (#9352)
* record device client inforamtion events on app start

* matrix-client-information -> matrix_client_information

* fix types

* remove another unused export

* add docs link

* display device client information in device details

* update snapshots

* integration-ish test client information in metadata

* tests

* fix tests

* export helper

* DeviceClientInformation type

* Device manager - select all devices (#9330)

* add device selection that does nothing

* multi select and sign out of sessions

* test multiple selection

* fix type after rebase

* select all sessions

* rename type

* use ExtendedDevice type everywhere

* rename clientName to appName for less collision with UA parser

* fix bad find and replace

* rename ExtendedDeviceInfo to ExtendedDeviceAppInfo

* rename DeviceType comp to DeviceTypeIcon

* update tests for new required property deviceType

* add stubbed user agent parsing

* setup test cases

* detect device type correctly

* 80% working ua parser

* parse asera gents for device info

* combine clientName/Version into one field, remove debug from tests
2022-10-06 10:06:29 +02:00
Kerry
bd270b08df
Device manager - add foundation for extended device info (#9344)
* record device client inforamtion events on app start

* matrix-client-information -> matrix_client_information

* fix types

* remove another unused export

* add docs link

* display device client information in device details

* update snapshots

* integration-ish test client information in metadata

* tests

* fix tests

* export helper

* DeviceClientInformation type

* Device manager - select all devices (#9330)

* add device selection that does nothing

* multi select and sign out of sessions

* test multiple selection

* fix type after rebase

* select all sessions

* rename type

* use ExtendedDevice type everywhere

* rename clientName to appName for less collision with UA parser

* fix bad find and replace

* rename ExtendedDeviceInfo to ExtendedDeviceAppInfo

* rename DeviceType comp to DeviceTypeIcon

* update tests for new required property deviceType

* add stubbed user agent parsing
2022-10-05 11:41:01 +00:00
Kerry
16c3efead5
Device manager - display client information in device details (PSG-682) (#9315)
* record device client inforamtion events on app start

* matrix-client-information -> matrix_client_information

* fix types

* remove another unused export

* add docs link

* display device client information in device details

* update snapshots

* integration-ish test client information in metadata

* tests

* fix tests

* export helper

* DeviceClientInformation type
2022-10-04 13:12:23 +00:00
Kerry
0ded5e0505
Device manager - record device client information on app start (PSG-633) (#9314)
* record device client inforamtion events on app start

* matrix-client-information -> matrix_client_information

* fix types

* remove another unused export

* add docs link

* add opt in setting for recording device information
2022-10-04 09:53:23 +02:00
Germain
c2e2f406af
Fixes silenced notification preventing notification prompt to be shown (#9336) 2022-09-30 16:11:04 +01:00
Michael Weimann
7a33818bd7
Extract createVoiceMessageContent (#9322) 2022-09-29 13:06:49 -06:00
Germain
a49603b9b8
Inhibit local notifications when local notifications are silenced (#9328) 2022-09-29 14:23:02 +00:00
Germain
e15ef9f3de
Add device notifications enabled switch (#9324) 2022-09-28 18:13:09 +01:00
Michael Telatynski
56c95467de
Don't show feedback prompts when that UIFeature is disabled (#9305) 2022-09-22 15:08:14 +01:00
Michael Weimann
516b4f0ff8
Add array concat util (#9306) 2022-09-21 20:06:05 +02:00
Robin
cb735c9439
Element Call video rooms (#9267)
* Add an element_call_url config option

* Add a labs flag for Element Call video rooms

* Add Element Call as another video rooms backend

* Consolidate event power level defaults

* Remember to clean up participantsExpirationTimer

* Fix a code smell

* Test the clean method

* Fix some strict mode errors

* Test that clean still works when there are no state events

* Test auto-approval of Element Call widget capabilities

* Deduplicate some code to placate SonarCloud

* Fix more strict mode errors

* Test that calls disconnect when leaving the room

* Test the get methods of JitsiCall and ElementCall more

* Test Call.ts even more

* Test creation of Element video rooms

* Test that createRoom works for non-video-rooms

* Test Call's get method rather than the methods of derived classes

* Ensure that the clean method is able to preserve devices

* Remove duplicate clean method

* Fix lints

* Fix some strict mode errors in RoomPreviewCard

* Test RoomPreviewCard changes

* Quick and dirty hotfix for the community testing session

* Revert "Quick and dirty hotfix for the community testing session"

This reverts commit 37056514fbc040aaf1bff2539da770a1c8ba72a2.

* Fix the event schema for org.matrix.msc3401.call.member devices

* Remove org.matrix.call_duplicate_session from Element Call capabilities

It's no longer used by Element Call when running as a widget.

* Replace element_call_url with a map

* Make PiPs work for virtual widgets

* Auto-approve room timeline capability

Because Element Call uses this now

* Create a reusable isVideoRoom util
2022-09-16 11:12:27 -04:00
Michael Telatynski
4a23630e06
Fix soft crash around inviting invalid MXIDs in start DM on first message flow (#9281)
* Fix soft crash around inviting invalid MXIDs

* Make ts --strict happier

* Prevent suggesting invalid MXIDs

* Add tests

* Fix coverage

* Fix coverage

* Make tsc --strict happier

* Fix test

* Add tests
2022-09-16 09:03:17 +01:00
Michael Telatynski
52fc8ff255
Fix html export not including images (#9260)
* Fix html export not including images

* Respect showPlaceholder

* Add tests
2022-09-08 10:00:58 +00:00