tutanota/packages/tutanota-utils/lib
map 5293be6a4a
Implement spam training data sync and add TutanotaModelV98
We sync the spam training data encrypted through our server to make
sure that all clients for a specific user behave the same when
classifying mails. Additionally, this enables the spam classification
in the webApp. We compress the training data vectors
(see clientSpamTrainingDatum) before uploading to our server using
SparseVectorCompressor.ts. When a user has the ClientSpamClassification
enabled, the spam training data sync will happen for every mail
received.

ClientSpamTrainingDatum are not stored in the CacheStorage.
No entityEvents are emitted for this type.
However, we retrieve creations and updates for ClientSpamTrainingData
through the modifiedClientSpamTrainingDataIndex.

We calculate a threshold per classifier based on the dataset ham to spam
ratio, we also subsample our training data to cap the ham to spam ratio
within a certain limit.

Co-authored-by: jomapp <17314077+jomapp@users.noreply.github.com>
Co-authored-by: das <das@tutao.de>
Co-authored-by: abp <abp@tutao.de>
Co-authored-by: Kinan <104761667+kibibytium@users.noreply.github.com>
Co-authored-by: sug <sug@tutao.de>
Co-authored-by: nif <nif@tutao.de>
Co-authored-by: map <mpfau@users.noreply.github.com>
2025-11-18 13:56:19 +01:00
..
ArrayUtils.ts Update socials and messengers dropdown for contacts 2025-11-10 15:16:41 +01:00
AsyncResult.ts Run prettier on the whole project 2022-12-27 16:08:23 +01:00
CollectionUtils.ts Reimplement search filters using Chips 2025-06-04 10:38:22 +02:00
Csv.ts Separate csv writer into header and body 2025-10-22 17:21:55 +02:00
DateUtils.ts Autosave drafts 2025-09-26 10:35:24 +02:00
Encoding.ts Enable stricter eslint rules 2025-08-04 13:34:21 +02:00
index.ts Update socials and messengers dropdown for contacts 2025-11-10 15:16:41 +01:00
LazyLoaded.ts Add an option for admins to enforce 2FA 2025-10-22 10:09:21 +02:00
MapUtils.ts [desktop] Notification fixes 2025-07-18 11:35:51 +02:00
MathUtils.ts Collapse the quoted reply by default when replying to a mail thread 2025-08-29 10:26:11 +02:00
memoized.ts Adds deepMemoized to memoize function with objects as args 2025-07-10 14:09:44 +02:00
PromiseMap.ts Run prettier on the whole project 2022-12-27 16:08:23 +01:00
PromiseUtils.ts List rewrite, mail list filter 2023-06-15 16:03:46 +02:00
SortedArray.ts Reformat JS with Prettier 3.5.3 2025-07-18 10:01:01 +02:00
StringUtils.ts update eslint to v9 2025-01-09 14:55:11 +01:00
TimeUtils.ts Autosave drafts 2025-09-26 10:35:24 +02:00
Tokenizer.ts update eslint to v9 2025-01-09 14:55:11 +01:00
TypeRef.ts store ServerModelParsedInstances in offline db 2025-05-06 18:45:27 +02:00
URLUtils.ts Update socials and messengers dropdown for contacts 2025-11-10 15:16:41 +01:00
Utils.ts Implement spam training data sync and add TutanotaModelV98 2025-11-18 13:56:19 +01:00
WebAssembly.ts Add JavaScript fallback for Liboqs & Argon2 2024-05-22 08:47:10 +00:00