Commit Graph

109 Commits (6d3e7730ef50bfcf7d3156072078ca26094488e6)

Author SHA1 Message Date
Michael Telatynski 02e72d8b04 Fix more type definitions 2021-06-17 14:24:53 +01:00
Michael Telatynski 9315a87ebf Convert EventIndex to Typescript 2021-06-07 10:57:11 +01:00
Travis Ralston 5b2dacd99e Adapt for js-sdk MatrixClient conversion to TS
For https://github.com/matrix-org/matrix-js-sdk/pull/1718
2021-06-01 21:36:28 -06:00
Germain Souquet f9f10de0da use renamed decrypt event method 2021-05-18 13:01:38 +01:00
Germain Souquet 1cfd4b6e1a Use client.decryptEvent to avoid accessing js-sdk private members 2021-05-18 11:41:20 +01:00
Germain Souquet 871c48f69b stop assuming that decryption happens ahead of time 2021-05-18 10:02:21 +01:00
Germain Souquet da1df70557 Improve comments and explainer for new decryption approach 2021-05-11 10:18:53 +01:00
Germain Souquet c96f11db7d appease linter 2021-05-10 17:22:33 +01:00
Germain Souquet d0d2907a07 Decrypt events ahead of storing them in the index 2021-05-10 15:19:46 +01:00
Šimon Brandner 232b87a3b4
Improve formatting
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-04-29 19:57:02 +02:00
Šimon Brandner 46bfbbadf9
Enable indent rule and fix indent
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-04-27 17:23:27 +02:00
J. Ryan Stinnett 3b39007a5d Move initialisers to field 2021-04-26 14:06:25 +01:00
J. Ryan Stinnett d7e6f4b4b5 Add basic types 2021-04-23 17:05:50 +01:00
J. Ryan Stinnett 31a28b1a9e Update extensions for some files with types
This migrates one bucket of files using some amount of Flow typing to mark them
as TypeScript instead. The remaining type errors are fixed in subsequent
commits.
2021-04-23 16:05:30 +01:00
Germain Souquet 5104d7bed8 Improve error reporting when EventIndex fails on a supported environment 2021-03-24 11:51:39 +00:00
Travis Ralston 1d9d0cd7be Convert a bunch more js-sdk imports to absolute paths
Turns out a lot of the typescript warnings about improper warnings were correct. TypeScript appears to be pulling in two copies of the js-sdk when we do this, which can lead to type conflicts (or worse: the wrong code entirely). We fix this at the webpack level by explicitly importing from `src`, but some alternative build structures have broken tests because of this - jest ends up pulling in the "wrong" js-sdk, breaking things.
2021-03-18 20:50:34 -06:00
Damir Jelić 860b1b46e0 event-index: Use camel case for the user/device id. 2020-10-13 17:03:58 +02:00
Damir Jelić 5989a21dfb event-index: Pass the user/device id pair when initializing the event index. 2020-10-13 16:34:25 +02:00
J. Ryan Stinnett ce226ab534 Replace Riot with Element in docs and comments
This only covers the simple cases of references to issues and repos. More
complex areas, such as deployment scripts, will be handled separately.

Part of https://github.com/vector-im/element-web/issues/14864
2020-08-03 18:33:36 +01:00
Travis Ralston 1f7f40736b Fix imports for SettingLevel to point at new file 2020-07-28 11:53:43 -06:00
Jorik Schellekens 22994bddf4
Update src/indexing/BaseEventIndexManager.ts
Co-authored-by: Travis Ralston <travpc@gmail.com>
2020-07-21 16:22:17 +01:00
Jorik Schellekens be5db851ca Revert unsafe rename and use boolean coercion 2020-07-21 10:29:05 +01:00
Jorik Schellekens 7699aafcaf Use new eslint package- fix lint issues in ts and js 2020-06-23 17:01:19 +01:00
Damir Jelić e3ae05b6b9 Merge branch 'poljar/eventindex-user-version' into develop 2020-06-19 09:50:40 +02:00
Damir Jelić 253212d8c8 Merge remote-tracking branch 'origin/poljar/eventindex-new-encrypted-rooom' into develop 2020-06-19 09:50:22 +02:00
Damir Jelić 2aa00cbf41 EventIndex: Bump our user version and delete the db if it's an old db. 2020-06-17 17:13:25 +02:00
Damir Jelić 9f9f24c624 BaseEventIndexManager: Add support to read/write user versions. 2020-06-17 17:12:13 +02:00
Damir Jelić 5c42294336 EventIndex: Store and restore the encryption info for encrypted events. 2020-06-09 15:26:34 +02:00
Damir Jelić 2c81d3eda8 EventIndex: Use the correct variable to get the room id. 2020-06-08 17:30:26 +02:00
Damir Jelić 7a2bb4b112 EventIndex: Check if a newly encrypted room is indexed before adding a checkpoint. 2020-06-08 16:43:20 +02:00
Damir Jelić ea35fc2881 EventIndex: Fix some lint issues. 2020-06-08 15:14:14 +02:00
Damir Jelić f802668fff EventIndex: Add a missing await. 2020-06-08 15:14:14 +02:00
Damir Jelić 39bcd8d56d EventIndex: Add a checkpoint if a room turns into a encrypted one. 2020-06-08 15:14:13 +02:00
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