David Baker
3071587f11
Fix addPendingEvent with pending event order == chronological
...
When the pending event order setting was set to 'chronological'
(the default) `addPendingEvent` would NPE because Room no longer
has a `this._filter` property. It should get the filter from the
event timeline set instead, as it does in the previous line when
checking or the presence of a filter.
We should strongly consider changing the default pending event order
to 'detached' and probably removing 'chronological' or comitting to
support it properly: it's not really tested and is prone to breakage
like this.
Applies flumpt's fix from https://github.com/matrix-org/matrix-js-sdk/issues/599
Fixes https://github.com/matrix-org/matrix-js-sdk/issues/599
2019-08-28 16:34:09 -04:00
Travis Ralston
fe4ac06f43
Use the correct media endpoints
2019-07-10 13:24:11 -06:00
Travis Ralston
a3c8eac38b
Process ephemeral events outside timeline handling
2019-07-10 10:26:21 -06:00
J. Ryan Stinnett
24a869d15b
Update copyright header
2019-07-05 15:07:56 +01:00
J. Ryan Stinnett
1d427a1ea8
Block read marker and read receipt from advancing into pending events
...
This changes the methods that update the read marker and read receipts to
prevent advancing into pending events.
Part of https://github.com/vector-im/riot-web/issues/9952
2019-07-05 13:59:04 +01:00
Travis Ralston
43ca920b10
Change the known safe room version to version 4
...
The default room version in the spec is v4 due to widespread adoption. We should mirror that.
2019-06-25 15:19:28 -06:00
Huan LI (李卓桓)
ee0a1d281d
Use cameCase instead of underscore
...
To make all the variable names to be consistent
2019-06-23 11:56:05 +08:00
Bruno Windels
6059df1b67
move CANCELLED check deeper into aggregation path
2019-06-13 12:28:02 +02:00
Bruno Windels
4462f4b90e
add isRedaction helper on Event
2019-06-13 12:28:02 +02:00
Bruno Windels
5602b94dcb
make sure where not re-adding cancelled events when undoing local red.
2019-06-13 12:26:38 +02:00
Bruno Windels
624c6f0a6e
get the txnId from the correct place to delete event after remote echo
2019-06-13 12:26:38 +02:00
Bruno Windels
3f917b39c9
fix lint
2019-06-13 12:26:38 +02:00
Bruno Windels
831aec6488
emit remote id once received so enqueued relations have it when sent
2019-06-13 12:26:38 +02:00
Bruno Windels
6eb229ac1e
first look in pending event list for event being redacted
...
in case the redacted event hasn't been sent yet
2019-06-13 12:26:38 +02:00
Bruno Windels
1bc9ee7110
Merge pull request #937 from matrix-org/bwindels/redactions-local-echo
...
Local echo for redactions
2019-06-05 07:49:31 +00:00
Bruno Windels
4e040f8e77
correct comments about redaction events
2019-06-05 09:41:52 +02:00
Bruno Windels
58f163ed5c
emit Room.redactionCancelled event when undoing redaction local echo
2019-06-04 18:45:13 +02:00
Bruno Windels
d33395e46d
improve naming and commenting for _aggregateNonLiveRelation
2019-06-04 15:54:31 +02:00
Bruno Windels
78cf175f5a
also look for redaction local echo event in pendingList
...
also re-aggregate the relation if it's redaction has been cancelled
2019-06-04 11:55:48 +02:00
Travis Ralston
1b78856a7d
Merge pull request #934 from matrix-org/travis/re-check-version
...
Refresh safe room versions when the server looks more modern than us
2019-06-04 01:40:57 -06:00
Bruno Windels
2eecea9a07
handle redactions in room pending event logic
2019-06-03 18:37:01 +02:00
Travis Ralston
e473315a89
Check for the correct capability when refreshing
2019-06-03 09:56:55 -06:00
Travis Ralston
a532cc5cf9
Add v4 as a safe room version
...
It's listed as stable in the spec, and this is for our fallback.
2019-06-02 23:36:02 -06:00
Travis Ralston
60c6c5bc41
Refresh safe room versions when the server looks more modern than us
...
Fixes https://github.com/vector-im/riot-web/issues/9845
2019-06-02 23:34:58 -06:00
janith
9a2bf78a8e
logger.dir changed to a log
2019-05-30 12:58:32 +05:30
Janith Kasun
de8063a43a
Merge branch 'develop' into loglevel-extend
2019-05-19 09:40:38 +05:30
jkasun
a73dabcb67
Console logging to loglevel
2019-05-19 09:29:40 +05:30
Bruno Windels
e23ba50dd8
only call aggregation code for local echo for relations
2019-05-16 14:42:09 +01:00
Bruno Windels
261ab7ae68
don't block local echo for m.replace anymore!
2019-05-16 14:40:55 +01:00
Bruno Windels
266d0f9d05
remove flag for edits as it's not handled separately anymore
2019-05-16 14:40:17 +01:00
Bruno Windels
33e9eb371e
use relation handling in timelineset for replacements
2019-05-16 14:35:50 +01:00
J. Ryan Stinnett
875c6b973b
Remove cancelled relations from the relations collection
...
This listens for event status changes on sending events in case they might be
cancelled and removes them from aggregation if so.
Part of https://github.com/vector-im/riot-web/issues/9731
2019-05-16 12:29:28 +01:00
J. Ryan Stinnett
21e1312dd7
Allow relations into the pending event list
...
Relations actually should go into the pending event list, just like messages.
This is the easiest way to keep them in a holding area in case of unverified
devices, etc.
We still want the relations to local echo immediately, so we directly trigger
the aggregation on the timeline sets.
2019-05-16 12:26:36 +01:00
Bruno Windels
a35e6a0f54
Merge pull request #918 from matrix-org/bwindels/message-edit-editor3
...
Message editing: filter out replacements for senders that are not the original sender
2019-05-15 17:21:03 +00:00
Bruno Windels
3f2bac71c6
filter out replacements for senders that are not the original sender
2019-05-15 15:52:37 +01:00
J. Ryan Stinnett
f17ecba519
Add getRelation helper
...
This adds a `getRelation` helper to ensure we always read relation info from the
wire content as required in E2E rooms.
2019-05-15 15:48:33 +01:00
Bruno Windels
1c1781ce76
make replacements work in e2e rooms
2019-05-15 14:54:21 +01:00
Bruno Windels
db7a402e9b
mark original event as replaced instead of replacing the event object
...
this is more in line with what happens on the server-side,
and also doesn't break existing reply relations.
2019-05-15 12:05:39 +01:00
Bruno Windels
852c88c341
add unstableClientRelationReplacements in js-sdk
2019-05-14 15:33:49 +01:00
Bruno Windels
455f52f1f5
remove logging
2019-05-14 15:25:47 +01:00
Bruno Windels
df6012c58d
completely avoid local echo for edits for now
2019-05-14 15:25:07 +01:00
Bruno Windels
f68a3dde46
cleanup
2019-05-14 15:24:57 +01:00
Bruno Windels
25e6b1cac8
handle m.replace relations in room, emit Room.replaceEvent
2019-05-14 15:24:36 +01:00
J. Ryan Stinnett
3a20114c39
Change to event-level beforeRedaction event for efficiency
...
To avoid an O(n^2) situation with every relations container trying to process
every redaction that may occur in a room, this switches to an event-level
notification, so that the specific relations container who cares can listen to
just the events it wants to know about.
2019-05-13 14:35:39 +01:00
J. Ryan Stinnett
00851df25c
Always add pending relation events to the timeline sets directly
...
This special cases pending relation events to go directly to the timeline sets
and ignores the `pendingEventOrdering` option. This feels a bit strange in the
code, so we should revisit this choice when we stabilized relation support.
2019-05-13 13:52:37 +01:00
J. Ryan Stinnett
53d8cf0852
Update relation collections after redaction
...
This watches for redactions of relations and updates the relations collection
to match, including various aggregations. In addition, a redaction event is
emitted on the redaction collection to notify consumers of the change.
Part of https://github.com/vector-im/riot-web/issues/9574
Part of https://github.com/vector-im/riot-web/issues/9485
2019-05-13 13:52:37 +01:00
J. Ryan Stinnett
6078bbbe24
Add basic read path for relations
...
This adds a read path for relations (gated behind an unstable option). A few
basic client-side grouping and sorting operations are supported. Consumers are
expected to ask the `EventTimelineSet` for a relation container when desired.
2019-05-08 18:05:52 +01:00
Travis Ralston
13d3be637b
Copyright 2019 NV
2019-04-09 09:58:33 -06:00
Travis Ralston
3aa8bfa6ca
Flag v3 rooms as safe
...
The spec says they are, so we might as well too.
2019-04-09 09:25:07 -06:00
J. Ryan Stinnett
58b752c63b
Document checking crypto state before using hasUnverifiedDevices
...
It's unclear what `hasUnverifiedDevices` should do when crypto is disabled on
the current device. Let's at least document that callers should first check
crypto status.
2019-04-08 16:24:25 +01:00