Commit Graph

76 Commits (c667ea69afba22620e0add944bdf0b4c22a5a184)

Author SHA1 Message Date
poljar 6c10cbc903
EventIndex: Use a warning when redactions don't have an event id.
Co-authored-by: Travis Ralston <travpc@gmail.com>
2020-05-26 21:48:10 +02:00
Damir Jelić 58f0814530 EventIndex: Handle invalid m.room.redaction events correctly.
Clients might send invalid redaction events, such events will not have a
valid redacts field containing the event id of the associated event that
was redacted.

Skip such events instead of ending up looping over the checkpoint
forever.
2020-05-26 21:27:45 +02:00
Damir Jelić 403a64bcc6 EventIndex: Print out the checkpoint if there was an error during a crawl. 2020-05-26 20:48:22 +02:00
Michael Telatynski 696f158be0
Merge pull request #4614 from matrix-org/t3chguy/toasts2
Convert BasePlatform and BaseEventIndexManager to Typescript
2020-05-22 14:57:25 +01:00
Michael Telatynski b27f1fa6db Convert BasePlatform and BaseEventIndexManager to Typescript
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-21 18:06:36 +01:00
Damir Jelić db72c645ba EventIndex: Add a missing semicolon. 2020-05-20 11:14:37 +02:00
Damir Jelić 86ad6de41e EventIndex: Handle null tokens in the crawler loop as well.
This is similar to 5eb510387c. But now the
checkpoint arrived during a crawl.
2020-05-20 11:06:52 +02:00
Damir Jelić c9ac726629 EventIndex: Remove an unused variable. 2020-05-05 10:21:18 +02:00
Damir Jelić f2df698e3b EventIndex: Reduce the logging the event index is producing. 2020-05-05 10:10:21 +02:00
Travis Ralston fdcdd2529e Take encrypted message search out of labs
Fixes https://github.com/vector-im/riot-web/issues/13262

This is part of the cross-signing shipping master plan. Known issues relating to this feature are:
* https://github.com/vector-im/riot-web/issues/12896
* https://github.com/vector-im/riot-web/issues/12385
* https://github.com/vector-im/riot-web/issues/11831
* https://github.com/vector-im/riot-web/issues/11155

In theory, these are issues we're comfortable with shipping as we're already enabling it by default. This just makes it easier on everyone by removing the flag (making it still enabled by default).
2020-04-22 10:58:11 -06:00
Damir Jelić 3781bdc975 EventIndex: Add a missing semicolon. 2020-04-20 10:10:16 +02:00
Damir Jelić 6084c08f34 EventIndex: Filter out events that don't have a propper content value. 2020-04-20 10:05:04 +02:00
Bruno Windels 8c2c777e2b disable reemitting on the client for events mapped from the indexer 2020-04-15 17:37:32 +02:00
Damir Jelić c6fcaf86ff EventIndex: Log if we had all events in a checkpoint but are continuing. 2020-04-08 11:15:13 +02:00
Damir Jelić bec061239a EventIndex: Mark the initial checkpoints for a full crawl.
The logic determining if a batch of events is already in the database
has been reported to be faulty. Since we know that when we add initial
checkpoints they need to go to the start of the timeline we can mark
them to do a full crawl which will skip the test if the events are
already in the database.

This is a quick fix for this and checkpoints that are added after a gap
in the timeline might incorrectly conclude the same resulting in missing
events if there was a gap and the issue is triggered.
2020-04-01 15:17:59 +02:00
Damir Jelić 836b348bff EventIndex: Add a trailing comma. 2020-03-30 14:49:28 +02:00
Damir Jelić 4371006c58 EventIndex: Better logging on how many events are added.
This adds a bit more info to how many events are added, how many skipped
and if they are skipped because they are undecryptable.
2020-03-30 14:49:28 +02:00
Damir Jelić 3185d6baf5 EventIndex: Add some logging to the file panel populating. 2020-03-20 13:58:29 +01:00
Damir Jelić 997a179e69 Merge branch 'poljar/shutdown' into develop 2020-03-17 10:15:12 +01:00
Damir Jelić 029624cbec Merge branch 'poljar/delete-events' into develop 2020-03-17 10:15:05 +01:00
Damir Jelić cb368a0601 EventIndex: Remove a checkpoint if the HTTP request returns a 403.
This fixes https://github.com/vector-im/riot-web/issues/12722.
2020-03-13 14:13:33 +01:00
Damir Jelić a612a66b69 EventIndex: Properly await the index closing. 2020-03-13 11:33:58 +01:00
Damir Jelić 25568fa15c EventIndex: More lint fixes. 2020-03-12 12:20:46 +01:00
Damir Jelić c02e839e9d EventIndex: Use a const instead of a let binding. 2020-03-12 12:15:46 +01:00
Damir Jelić cd515f1922 EventIndex: Add support to delete events from the index. 2020-03-12 12:01:50 +01:00
Damir Jelić 7f71e551da EventIndex: Split out the statements that check for a valid event type. 2020-02-19 14:50:59 +01:00
Damir Jelić 156c6b8db8 EventIndex: Document the return value of the isValidEvent method. 2020-02-19 14:50:59 +01:00
Damir Jelić 59f8b4f6b1 EventIndex: Don't index key verification events.
Since cross-signing is a thing key verification events have become part
of the timeline and room history.

Those events are m.room.message events for backwards compatibility, so
clients that don't support key verification in the timeline print out a
fall-back message.
2020-02-19 14:50:59 +01:00
Damir Jelić 75fe3c2219 ManageEventIndexDialog: Show how many rooms are being currently crawled. 2020-02-01 12:01:53 +01:00
Damir Jelić 01c1c2364b ManageEventIndexDialog: Add back a control for the crawler sleep time. 2020-01-31 18:46:45 +01:00
Damir Jelić 5eb510387c EventIndex: Don't process checkpoints that don't have a valid token.
Some rooms might have null as a token, don't add those to be crawled nor
to the index.

Catch any other errors that might occur during the addition of an
initial checkpoint and log them.
2020-01-31 18:46:45 +01:00
Damir Jelić 0e5fec5feb EventIndex: Catch errors when removing a crawler checkpoint. 2020-01-31 18:46:45 +01:00
Damir Jelić 5cabfb63a4 EventIndex: Don't mark the event listener method docs as jsdoc comments. 2020-01-28 16:13:56 +01:00
Damir Jelić 948ec203c6 BaseEventIndexManager: Fix the type hints for the empty promises. 2020-01-28 15:07:29 +01:00
Damir Jelić 0b7f23fa54 EventIndex: Improve the documentation a bit. 2020-01-28 15:06:43 +01:00
Damir Jelić e2dd2bd950 Merge branch 'poljar/seshat-ui-pr' into develop 2020-01-27 17:18:17 +01:00
Damir Jelić 37f289b120 EventIndex: Add docstrings for the FilePanel methods. 2020-01-24 14:24:25 +01:00
Damir Jelić ecfecfe559 EventIndex: Fix a small style issue. 2020-01-24 12:07:03 +01:00
Damir Jelić 0c3d507455 EventIndex: Cancel the crawler early after a message request.
If we're cancelling the crawler nowadays this means that we're likely
deleting the index. Processing these messages is wasted effort in that
case so break early.
2020-01-24 11:46:46 +01:00
Damir Jelić 38b1663755 EventIndex: Subclass the event emitter instead of putting one in a property. 2020-01-24 11:28:33 +01:00
Damir Jelić 825b6f7b7d EventIndexPeg: Style fix for a docstring. 2020-01-24 11:16:49 +01:00
Damir Jelić d9e933c915 EventIndex: Style fixes for the docstrings. 2020-01-24 11:15:57 +01:00
Damir Jelić 381fe95f67 EventIndex: Fix some lint errors. 2020-01-23 15:22:26 +01:00
Damir Jelić 947ea9823d Settings: Remove the crawler sleep time setting. 2020-01-23 13:32:27 +01:00
Damir Jelić 0d545ed335 EventIndexPeg: Small refactor and change the init logic.
This changes the way the event index is initialized, if it's disabled in
the settings it will not be initialized at all, before only the crawler
loop was not being started.
2020-01-23 12:23:23 +01:00
Damir Jelić 5fd121d2af ManageEventIndex: Remove the unused stats. 2020-01-23 11:44:56 +01:00
Damir Jelić 4627e3b282 EventIndex: Refactor out the addInitialCheckpoints method. 2020-01-23 11:02:44 +01:00
Damir Jelić 735ba4fd33 EventIndex: Correctly populate events on initial fill requests. 2020-01-22 16:11:54 +01:00
Damir Jelić a2892f5b02 EventIndex: Fix some lint issues. 2020-01-21 16:40:32 +01:00
Damir Jelić a0599dedf0 EventIndex: Use the newly exposed TimelineWindow methods. 2020-01-21 15:45:29 +01:00