Šimon Brandner
a12e6185f9
Update call notification push rule to match MSC3914 ( #2781 )
2022-10-21 15:17:34 +00:00
Valere
1c3dd0e51e
Encryption should not hinder verification ( #2734 )
...
Co-authored-by: Faye Duxovni <fayed@matrix.org >
2022-10-18 15:56:34 -04:00
Michael Telatynski
041f9951c5
Remove deprecated m.room.aliases references ( #2759 )
2022-10-17 10:58:48 +01:00
Michael Telatynski
34c5598a3f
Modernize http-api - move from browser-request to fetch ( #2719 )
2022-10-12 18:59:04 +01:00
Dominik Henneke
913660c818
Correct the dir parameter of MSC3715 ( #2745 )
2022-10-12 16:56:50 +02:00
Šimon Brandner
e37aab2967
Fix power_level_content_override type ( #2741 )
2022-10-07 16:40:40 +02:00
Germain
62007ec673
Fix sync init when thread unread notif is not supported ( #2739 )
...
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com >
2022-10-07 10:38:53 +00:00
Germain
21a6f61b7b
Add support for unread thread notifications ( #2726 )
2022-10-05 10:37:45 +01:00
Michael Telatynski
f349663329
Add CI to protect against mixing src and lib imports ( #2704 )
2022-09-30 09:05:28 +01:00
Germain
0403e4bedc
Fix incorrect MSC3890 unstable prefix ( #2703 )
2022-09-28 15:37:13 +02:00
RiotRobot
14aa7846a5
Merge branch 'master' into develop
2022-09-28 14:05:21 +01:00
RiotRobot
a587d7c360
Resolve multiple CVEs
...
CVE-2022-39249
CVE-2022-39250
CVE-2022-39251
CVE-2022-39236
2022-09-28 13:55:15 +01:00
Germain
209a101be7
Add local notification settings capability ( #2700 )
2022-09-27 11:41:20 +01:00
Hugh Nimmo-Smith
dacef048be
Typings for MSC3824 ( #2691 )
2022-09-23 16:23:50 -06:00
Hugh Nimmo-Smith
caadc6f95b
Implementation of MSC3882 login token request ( #2687 )
2022-09-22 16:36:37 +01:00
Hugh Nimmo-Smith
39bc7e2bb3
Refer to explicit Matrix spec versions instead of Latest ( #2668 )
2022-09-22 15:28:11 +00:00
Germain
2b1fab928b
Add unstable device_id field for MSC3881 ( #2688 )
2022-09-22 15:44:54 +02:00
Germain
516f52c5a4
Support to remotely toggle push notifications ( #2686 )
2022-09-22 08:37:54 +00:00
Šimon Brandner
fb565f301b
Remove support for unstable private read receipts ( #2624 )
2022-09-12 18:04:14 +02:00
Hugh Nimmo-Smith
a57c430b09
Implementation of MSC3824 to add action= param on SSO login ( #2398 )
...
Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com >
2022-09-11 21:18:33 +00:00
Hugh Nimmo-Smith
583e48086b
Add login flow types from matrix-react-sdk ( #2633 )
...
Co-authored-by: Faye Duxovni <fayed@element.io >
2022-09-11 21:50:10 +01:00
Šimon Brandner
6316a6ae44
Add support for stable prefixes for MSC2285 ( #2524 )
...
Co-authored-by: Travis Ralston <travisr@matrix.org >
2022-08-05 17:33:49 +02:00
Šimon Brandner
7cb3b40493
Use stable prefixes for MSC3827 ( #2537 )
2022-07-27 20:10:39 +02:00
Šimon Brandner
5822730797
Implement MSC3827: Filtering of /publicRooms by room type ( #2469 )
2022-06-20 16:21:46 +02:00
Eric Eastwood
b64dbdce74
Timeline needs to refresh when we see a MSC2716 marker event ( #2299 )
...
Inform the client that historical messages were imported in the timeline and they should refresh the timeline in order to see the new events.
Companion `matrix-react-sdk` PR: https://github.com/matrix-org/matrix-react-sdk/pull/8354
The `marker` events are being used as state now because this way they can't be lost in a timeline gap. Regardless of when they were sent, we will still have the latest version of the state to compare against. Any time we see our latest state value change for marker events, prompt the user that the timeline needs to refresh.
> In a [sync meeting with @ara4n](https://docs.google.com/document/d/1KCEmpnGr4J-I8EeaVQ8QJZKBDu53ViI7V62y5BzfXr0/edit#bookmark=id.67nio1ka8znc ), we came up with the idea to make the `marker` events as state events. When the client sees that the `m.room.marker` state changed to a different event ID, it can throw away all of the timeline and re-fetch as needed.
>
> For homeservers where the [same problem](https://github.com/matrix-org/matrix-doc/pull/2716#discussion_r782499674 ) can happen, we probably don't want to throw away the whole timeline but it can go up the `unsigned.replaces_state` chain of the `m.room.marker` state events to get them all.
>
> In terms of state performance, there could be thousands of `marker` events in a room but it's no different than room members joining and leaving over and over like an IRC room.
>
> *-- https://github.com/matrix-org/matrix-spec-proposals/pull/2716#discussion_r782629097 *
### Why are we just setting `timlineNeedsRefresh` (and [prompting the user](https://github.com/matrix-org/matrix-react-sdk/pull/8354 )) instead of automatically refreshing the timeline for the user?
If we refreshed the timeline automatically, someone could cause your Element client to constantly refresh the timeline by just sending marker events over and over. Granted, you probably want to leave a room like this 🤷 . Perhaps also some sort of DOS vector since everyone will be refreshing and hitting the server at the exact same time.
In order to avoid the timeline maybe going blank during the refresh, we could re-fetch the new events first, then replace the timeline. But the points above still stand on why we shouldn't.
2022-06-01 16:31:20 -05:00
Johannes Marbach
f44510e65f
Add support for HTML renderings of room topics ( #2272 )
...
* Add support for HTML renderings of room topics
Based on extensible events as defined in [MSC1767]
Relates to: vector-im/element-web#5180
Signed-off-by: Johannes Marbach <johannesm@element.io >
[MSC1767]: https://github.com/matrix-org/matrix-spec-proposals/pull/1767
* Use correct MSC
* Add overloads for setRoomTopic
* Fix indentation
* Add more tests to pass the quality gate
Co-authored-by: Johannes Marbach <jm@Johanness-Mini.fritz.box >
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com >
2022-05-16 10:37:34 +01:00
Michael Telatynski
72013341db
More sonar tweaks and typing improvements ( #2366 )
...
* More sonar tweaks and typing improvements
* delint
* Write some tests
* Attempt to make TS happy
* Stash tests
* Add tests
* Add `istanbul ignore if` around logging special-case for test env
* Add test
* Comments
2022-05-13 18:08:36 +00:00
Michael Telatynski
4721aa1d24
Fix up more types & Sonar warnings ( #2363 )
...
* Fix up more types & Sonar warnings
* Fix test
* Add first test for callEventHandler
2022-05-12 10:12:39 +01:00
Michael Telatynski
706b4d6054
Improve typing ( #2352 )
...
* Fix typing of the store interface
* Fix typed s'more
* re-add check
* Be less dumb
* arg
* Fix types
2022-05-09 11:58:52 +01:00
Šimon Brandner
da69ca215b
Implement changes to MSC2285 (private read receipts) ( #2221 )
...
* Add `ReceiptType`
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
* Implement changes to MSC2285
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
* Improve tests
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
* Apply suggestions from review
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
* Update `getEventReadUpTo()` to handle private read receipts
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
* Write tests for `getEventReadUpTo()`
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
* Give `getReadReceiptForUserId()` a JSDOC
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
* Types!
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
* Try to use receipt `ts`s
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
2022-05-06 21:32:41 +02:00
Kerry
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
Robin
b8321290f8
Add Element video room type ( #2273 )
2022-04-04 10:29:35 -04:00
Germain
6192325fe0
Thread list ordering by last reply ( #2253 )
2022-03-23 14:43:30 +00:00
Robin
65316ffb5c
Voice rooms prototype ( #2249 )
...
* Support call room type from MSC3417
Signed-off-by: Robin Townsend <robin@robin.town >
* Make it more clear that call room type is unstable
Signed-off-by: Robin Townsend <robin@robin.town >
2022-03-22 16:14:23 -06:00
Kerry
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
Kerry
d064d82fcc
Beacon event types from MSC3489 ( #2230 )
...
* ASSET_NODE_TYPE -> M_ASSET
Signed-off-by: Kerry Archibald <kerrya@element.io >
* export const M_TIMESTAMP = new UnstableValue("m.ts", "org.matrix.msc3488.ts");
Signed-off-by: Kerry Archibald <kerrya@element.io >
* LOCATION_EVENT_TYPE -> M_LOCATION
Signed-off-by: Kerry Archibald <kerrya@element.io >
* extensible event types for location
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add locationevent parsing helpers
Signed-off-by: Kerry Archibald <kerrya@element.io >
* rename
Signed-off-by: Kerry Archibald <kerrya@element.io >
* comment
Signed-off-by: Kerry Archibald <kerrya@element.io >
* revert makelocationcontent signature
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add beacon event types
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add variable* to type and comment
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add content helper functions for beacon_info and beacon
Signed-off-by: Kerry Archibald <kerrya@element.io >
* copyright
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add m.beacon_info.live from msc3672
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-03-14 12:13:28 +00:00
Kerry
e16e7bc098
Location event helper functions ( #2229 )
...
* ASSET_NODE_TYPE -> M_ASSET
Signed-off-by: Kerry Archibald <kerrya@element.io >
* export const M_TIMESTAMP = new UnstableValue("m.ts", "org.matrix.msc3488.ts");
Signed-off-by: Kerry Archibald <kerrya@element.io >
* LOCATION_EVENT_TYPE -> M_LOCATION
Signed-off-by: Kerry Archibald <kerrya@element.io >
* extensible event types for location
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add locationevent parsing helpers
Signed-off-by: Kerry Archibald <kerrya@element.io >
* rename
Signed-off-by: Kerry Archibald <kerrya@element.io >
* comment
Signed-off-by: Kerry Archibald <kerrya@element.io >
* revert makelocationcontent signature
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-03-10 18:40:13 +01:00
Kerry
6bc584ba8b
add LocationAssetType enum ( #2214 )
...
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-03-03 10:49:16 +01:00
Michael Telatynski
7d9800b817
Stop using development /spaces API in favour of v1 /hierarchy API ( #2204 )
2022-02-25 10:43:24 +00:00
Travis Ralston
e86d8861b9
Add functions to support refresh tokens ( #2178 )
...
* Add functions for refreshing access tokens
* Add function to change the client's access token in flight
* Appease the linter
* Use sensible code style
2022-02-15 20:07:36 +00:00
Germain
6b822ccd61
Improve thread partitioning for 2nd degree relations ( #2165 )
2022-02-10 15:09:46 +00:00
Germain
66b98844a2
Refactor thread model to be created from the root event ( #2142 )
2022-02-01 08:58:39 +00:00
Andy Balaam
a50a627300
Support m.asset in m.location event content ( #2109 )
2022-01-19 09:08:41 +00:00
Travis Ralston
0a8b825702
Move polls to events-sdk, and invent a RelatedRelations type ( #2102 )
...
* Move polls handling to events-sdk & invent a multi-relation handler
Polls are now fully handled by the events-sdk instead of by the js-sdk.
The multi-relation handler (RelatedRelations) is primarily meant to handle unstable & stable support in polls when it becomes stable.
* update events-sdk for polls
* Update events-sdk for polls bugfix
* Update events-sdk for maintenance
2022-01-17 10:06:42 -07:00
David Teller
96d1b30012
MSC3531: Hiding messages during moderation ( #2041 )
2022-01-12 11:27:33 +01:00
Michael Telatynski
3eaed30446
Iterate typing around sync, usage limits and errors ( #2077 )
2021-12-16 09:57:07 +00:00
Andy Balaam
72643026a3
Remove now-unused makePollContent from its old location ( #2078 )
2021-12-15 17:08:21 +00:00
Andy Balaam
d6980cb8fa
Provide a makeLocationContent to create a location content event ( #2076 )
2021-12-15 16:32:24 +00:00
Andy Balaam
dcd24fd516
Add consts for location and extensible events types ( #2074 )
2021-12-15 13:49:26 +00:00
Andy Balaam
75cc873d77
Copy the polls constants to matrix-js-sdk from matrix-react-sdk ( #2073 )
2021-12-15 12:15:38 +00:00