8e29f8ead0
Improve hasUserReadEvent and getUserReadUpTo realibility with threads ( #3031 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2023-01-11 09:53:27 +00:00
d02559cf3c
Make error handling in decryptionLoop more generic ( #3024 )
...
Not everything is a `DecryptionError`, and there's no real reason that we
should only do retries for `DecryptionError`s
2023-01-05 15:02:19 +00:00
349c2c2587
Apply prettier formatting
2022-12-09 09:38:20 +01:00
8d018f9c2d
Enable noImplicitAny ( #2895 )
...
* Stash noImplicitAny work
* Enable noImplicitAny
* Update olm
* Fun
* Fix msgid stuff
* Fix tests
* Attempt to fix Browserify
2022-12-06 18:21:44 +00:00
720248466f
Include pending events in thread summary and count again ( #2922 )
...
* Include pending events in thread summary and count again
* Pass through pending event status
2022-12-02 15:01:43 +01:00
a7f0ba97cd
Fixes unwanted highlight notifications with encrypted threads ( #2862 )
2022-11-11 09:27:16 +00:00
9f2f08dfd3
Fix more typescript --strict violations ( #2795 )
...
* Stash tsc fixes
* Iterate
* Iterate
* Iterate
* Fix tests
* Iterate
* Iterate
* Iterate
* Iterate
* Add tests
2022-10-25 18:31:40 +01:00
12a4d2a749
Make more of the code conform to Strict TSC ( #2756 )
2022-10-14 15:57:08 +01:00
34c5598a3f
Modernize http-api - move from browser-request
to fetch
( #2719 )
2022-10-12 18:59:04 +01:00
4ba083e6af
Bump IDB crypto store version ( #2705 )
...
* Bump IDB crypto store version
* lint fix
2022-09-28 15:39:37 +01:00
14aa7846a5
Merge branch 'master' into develop
2022-09-28 14:05:21 +01:00
a587d7c360
Resolve multiple CVEs
...
CVE-2022-39249
CVE-2022-39250
CVE-2022-39251
CVE-2022-39236
2022-09-28 13:55:15 +01:00
2967ee6309
Read receipts for threads ( #2635 )
2022-09-21 07:50:44 +00:00
be3e731499
Fix: Handle parsing of a beacon info event without asset ( #2591 )
...
* test case
* handle missing beacon info asset
* default beacon info asset type to self
* make BeaconLocationState.assetType optional
2022-08-16 15:33:19 +02:00
fc946ab0fa
expose latestLocationEvent on beacon model ( #2467 )
2022-06-17 13:39:23 +02:00
9b843daf2f
Live location share - add start time leniency (PSF-1081) ( #2465 )
...
* remove some of the confusing time travel in beacon.spec
* test cases
* add start time leniency to beacon liveness check
2022-06-16 15:00:45 +02:00
2982bd79f6
Live location sharing - monitor liveness of beacons yet to start (PSF-1081) ( #2437 )
...
* monitor liveness of beacons yet to start
* make watch interval a timeout instead
2022-06-07 17:04:58 +02:00
c6af997542
Add a catastrophic throw to thread constructor ( #2375 )
...
This is an attempt to narrow down https://github.com/vector-im/element-web/issues/22141
2022-05-17 00:20:41 -06:00
6b5f4aa0a9
Prune both clear & wire content on redaction ( #2346 )
2022-05-05 07:14:23 +01:00
f963feab0f
Live location sharing - Aggregate beacon locations on beacons ( #2268 )
...
* add timestamp sorting util
Signed-off-by: Kerry Archibald <kerrya@element.io >
* basic wiring
Signed-off-by: Kerry Archibald <kerrya@element.io >
* quick handle for redacted beacons
Signed-off-by: Kerry Archibald <kerrya@element.io >
* remove fdescribe
Signed-off-by: Kerry Archibald <kerrya@element.io >
* test adding locations
Signed-off-by: Kerry Archibald <kerrya@element.io >
* tidy comments
Signed-off-by: Kerry Archibald <kerrya@element.io >
* test client
Signed-off-by: Kerry Archibald <kerrya@element.io >
* fix monitorLiveness for update
Signed-off-by: Kerry Archibald <kerrya@element.io >
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-04-08 12:26:05 +01:00
781fdf4fdc
Live location sharing - update beacon_info implementation to latest MSC ( #2281 )
...
* remove M_BEACON_INFO_VARIABLE
Signed-off-by: Kerry Archibald <kerrya@element.io >
* create beacon_info events with non-variable event type
Signed-off-by: Kerry Archibald <kerrya@element.io >
* remove isBeaconInfoEventType
Signed-off-by: Kerry Archibald <kerrya@element.io >
* refer to msc3673 instead of msc3489
Signed-off-by: Kerry Archibald <kerrya@element.io >
* remove event type suffix
Signed-off-by: Kerry Archibald <kerrya@element.io >
* update beacon identifier to use state key
Signed-off-by: Kerry Archibald <kerrya@element.io >
* fix beacon spec
Signed-off-by: Kerry Archibald <kerrya@element.io >
* fix room-state tests
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add beacon identifier
Signed-off-by: Kerry Archibald <kerrya@element.io >
* dont allow update to older beacon event
Signed-off-by: Kerry Archibald <kerrya@element.io >
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io >
* unnest beacon_info content
Signed-off-by: Kerry Archibald <kerrya@element.io >
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io >
* check redaction event id
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-04-08 10:50:06 +02:00
71b7521f42
Live location sharing - handle redacted beacons ( #2269 )
...
* emit beacon destroy event on destroy
Signed-off-by: Kerry Archibald <kerrya@element.io >
* handle redacted beacon events in room-state
Signed-off-by: Kerry Archibald <kerrya@element.io >
* empty line
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-04-04 10:17:49 +02:00
a6fe8797f0
Use beacon info event type as beacon identifier ( #2251 )
...
* use beacon info event type as beacon identifier
Signed-off-by: Kerry Archibald <kerrya@element.io >
* test cases
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-03-22 11:14:43 +01:00
524322280b
add upsert function for updating beacon events ( #2247 )
...
* add upsert function for updating beacon events
Signed-off-by: Kerry Archibald <kerrya@element.io >
* expose event type on beacon model
Signed-off-by: Kerry Archibald <kerrya@element.io >
* allow setting timestamp in beaconinfo content helper
Signed-off-by: Kerry Archibald <kerrya@element.io >
* expose parsed beacon info
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-03-18 09:52:27 +01:00
18943d6519
emit aggregate room beacon liveness ( #2241 )
...
* emit aggregate room beacon liveness
Signed-off-by: Kerry Archibald <kerrya@element.io >
* tidy and comment
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add export for models/beacon
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add owner and roomId
Signed-off-by: Kerry Archibald <kerrya@element.io >
* copyright
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-03-16 08:54:13 +00:00
c2fdb4478d
Live location sharing - create m.beacon_info events ( #2238 )
...
* add content helpers
Signed-off-by: Kerry Archibald <kerrya@element.io >
* stubbed Beacon class
Signed-off-by: Kerry Archibald <kerrya@element.io >
* beacon test utils
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add beacon test utils
Signed-off-by: Kerry Archibald <kerrya@element.io >
* copyrights
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add beacons to room state
Signed-off-by: Kerry Archibald <kerrya@element.io >
* tidy comments
Signed-off-by: Kerry Archibald <kerrya@element.io >
* unit test RoomState.setBeacon
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-03-15 10:31:32 +01:00
963c7690b6
Iterate typing to work towards noImplicitAny ( #2061 )
2021-12-14 14:32:35 +00:00
f8097221e6
Improve typing ( #2055 )
2021-12-09 14:22:58 +00:00
db9936e07c
Standardise content type handling in MSC3089 createFile() and createNewVersion() ( #2014 )
...
* Provide cross platform compatible versions of createFile() and createNewVersion()
The exist implementations are deprecated as they only work in a browser and support a different type of contents from MatrixClient.uploadContent()
* Fix MSC3089 content upload meta data in NodeJS runtime
* Break unstable createFile() and createNewVersion() instead of deprecating
Test using NodeJS types instead of mocked browser Blob
* chore: remove incorrect comment
2021-11-30 09:02:41 +00:00
eab0c54663
Appease the linter
2021-09-25 20:47:59 -06:00
82a254b7bd
Implement file versioning for tree spaces
...
The diff isn't super clear on how this works, but the general idea is that the MSC3089Branches (files) now know which directory they came from, and the directories (MSC3089TreeSpace) can tell when files are triggering uploads referencing themselves so it can add all the replacement metadata onto the event.
There's a few challenges with how relations work in the js-sdk which has shaped the API surface exposed by this change. Specifically, there is a `getVersionHistory()` function instead of a function to get a certain prior version: the js-sdk doesn't track parent events in the relation structures so cannot determine what the event could have replaced.
In order to trigger the built-in relations structures, we must trigger decryption with `emit: true`. This is so an internal listener in the relations system can pick up `Event.decrypted`.
2021-09-25 20:44:17 -06:00
799606b73c
Merge pull request #1909 from matrix-org/travis/fsdk/locking
...
Add file locking to MSC3089 branches
2021-09-14 12:39:41 -06:00
d9f8710758
Add missing tests for MSC3089 implementation
...
Fixes https://github.com/vector-im/element-web/issues/18461
2021-09-10 14:44:50 -06:00
3a9d5439a2
Add tests
2021-09-10 14:18:11 -06:00
026260502b
Fix linting issues in TypeScript test files
2021-08-05 11:37:27 +02:00
75719c3e0f
Merge pull request #1744 from matrix-org/travis/keyshare-file-trees
...
Add keysharing on invites to File Tree Spaces
2021-06-22 10:48:57 -06:00
36bd4b5408
Merge remote-tracking branch 'origin/develop' into travis/event-fixes
2021-06-18 11:15:00 -06:00
c1bff0b2ea
delint
2021-06-17 17:38:57 -06:00
39892c98f9
Add keysharing on invites to File Tree Spaces
2021-06-17 17:36:49 -06:00
b15487ec03
Misc lint
2021-06-17 14:24:39 -06:00
fe5bfbf76f
The linter needed appeasing
2021-06-16 20:27:03 -06:00
d924617672
Add invite retries to file trees
2021-06-16 20:24:48 -06:00
13c9c4bea5
Add functions to assist in immutability of Event objects
2021-06-15 14:23:27 -06:00
e41a2beb65
de-lint
2021-06-09 22:09:26 -06:00
bcccc909c5
Pre-lint format
2021-06-09 21:55:06 -06:00
b3a11030f2
Early file management APIs
2021-06-09 21:54:17 -06:00
baaf76668f
Early directory management
2021-06-09 21:54:17 -06:00
9084b4e7aa
Early implementation of MSC3089 (file trees)
...
MSC: https://github.com/matrix-org/matrix-doc/pull/3089
Includes part of MSC3088 (room subtyping): https://github.com/matrix-org/matrix-doc/pull/3088
The NamespacedValue stuff is borrowed from the Extensible Events implementation PR in the react-sdk as a useful thing to put here. When/if the MSCs become stable, we'd convert the values to enums and drop the constants (or keep them for migration purposes, but switch to stable).
This flags the whole thing as unstable because it's highly subject to change.
2021-06-08 14:43:20 -06:00