tutanota/buildSrc
sug f11e59672e
improve inbox rule handling and run spam prediction after inbox rules
Instead of applying inbox rules based on the unread mail state in the
inbox folder, we introduce the new ProcessingState enum on
the mail type. If a mail has been processed by the leader client, which
is checking for matching inbox rules, the ProcessingState is
updated. If there is a matching rule the flag is updated through the
MoveMailService, if there is no matching rule, the flag is updated
using the ClientClassifierResultService. Both requests are
throttled / debounced. After processing inbox rules, spam prediction
is conducted for mails that have not yet been moved by an inbox rule.
The ProcessingState for not matching ham mails is also updated using
the ClientClassifierResultService.

This new inbox rule handing solves the following two problems:
 - when clicking on a notification it could still happen,
   that sometimes the inbox rules where not applied
 - when the inbox folder had a lot of unread mails, the loading time did
   massively increase, since inbox rules were re-applied on every load

Co-authored-by: amm <amm@tutao.de>
Co-authored-by: Nick <nif@tutao.de>
Co-authored-by: das <das@tutao.de>
Co-authored-by: abp <abp@tutao.de>
Co-authored-by: jhm <17314077+jomapp@users.noreply.github.com>
Co-authored-by: map <mpfau@users.noreply.github.com>
Co-authored-by: Kinan <104761667+kibibytium@users.noreply.github.com>
2025-10-22 09:40:45 +02:00
..
review Improve review script, review direct eslint deps 2025-07-18 11:02:44 +02:00
buildPackages.js [build] Make building packages faster 2023-03-09 10:59:05 +00:00
buildUtils.js [desktop] Use @signalapp/sqlcipher fork for db 2025-06-04 10:37:52 +02:00
buildWebapp.js [build] Fix F-Droid build failing because of crypto-primitives wasm 2025-08-28 16:40:25 +02:00
bump-version.js Change bump-version to only update tuta-sdk and node-mimimi 2025-06-05 17:06:49 +02:00
createHtml.js Moves common functions between worker and app 2024-07-30 14:27:45 +02:00
createReleaseDraft.js Reorganize build/release pipelines 2024-12-12 15:47:00 +01:00
cryptoPrimitivesUtils.js Setup release pipline for crypto-primitives.wasm 2025-08-07 09:51:21 +02:00
DesktopBuilder.js [build, desktop] Fix bundling simple-windows-notifications 2025-07-21 13:41:05 +02:00
DevBuild.js Make sure the offline storage version is consistent with migrations 2025-08-29 10:59:04 +02:00
DomainConfigs.js Use test system sources (features, faq entries, terms) if Tuta is run on test, #7336 2024-08-05 16:39:36 +02:00
electron-package-json-template.js [build, desktop] Enable code integrity & other hardening via fuses 2025-09-23 15:05:46 +02:00
env.js Update dependencies 2025-07-18 10:01:00 +02:00
fetchDictionaries.js [build] Add type checking to buildSrc 2024-08-06 16:00:04 +02:00
fixFdroidDeps.js Remove winreg, use WindowsRegistryFacade 2025-08-29 10:26:11 +02:00
generateMigration.js Move files to new folder structure 2024-07-26 16:42:13 +02:00
getInstalledModuleVersion.js build node-mimimi and sdk for the desktop client 2025-01-02 16:52:08 +01:00
getNativeCacheLocation.js [ci] Fix getting the path to the built sqlcipher in Github workflow 2025-06-20 10:17:13 +02:00
getNodeGypLibrary.js [build] Rename getNativeLibrary.js to getNodeGypLibrary.js 2025-01-13 14:08:25 +01:00
graph.js [build] Add type checking to buildSrc 2024-08-06 16:00:04 +02:00
index.template.js fix tuta logo on wasm or browser not supported fallback page 2025-08-14 14:54:11 +02:00
installerSigner.js enable winsigner to use the new signing cert 2024-09-13 15:57:04 +02:00
LaunchHtml.js fix(captcha): Add media-src CSP header for the audio captcha 2025-07-14 14:16:55 +02:00
mac-entitlements.plist fix: camera permission from macOS 2025-09-09 11:19:00 +02:00
napiPlugin.js [desktop] Use @signalapp/sqlcipher fork for db 2025-06-04 10:37:52 +02:00
nativeLibraryProvider.js [desktop] Use @signalapp/sqlcipher fork for db 2025-06-04 10:37:52 +02:00
nodeGypPlugin.js [desktop] Notification fixes 2025-07-18 11:35:51 +02:00
notarize.cjs update dependencies 2022-12-08 11:37:59 +01:00
packageBuilderFunctions.js don't build rust code for browser-only tests 2025-01-02 16:52:08 +01:00
postinstall.js update submodule before compiling liboqs and make clean build work properly 2025-02-06 09:10:20 +01:00
prebuild.js Run prettier on the whole project 2022-12-27 16:08:23 +01:00
prepareMobileBuild.js [build] Fix prepareMobileBuild script 2025-07-21 15:27:44 +02:00
publish.js [ci] Fix publish desktop job 2024-12-23 10:57:03 +01:00
releaseNotes.js Reformat JS with Prettier 3.5.3 2025-07-18 10:01:01 +02:00
RollupConfig.js improve inbox rule handling and run spam prediction after inbox rules 2025-10-22 09:40:45 +02:00
RustGenerator.js [sdk] serialize missing final ivs like in TS 2025-05-13 14:48:45 +02:00
sh.js [ci] Use cached better-sqlite3 in github actions 2023-12-01 12:41:55 +01:00
signDesktopClients.js [ci] Containerize Jenkins release 2024-07-30 17:04:06 +02:00
tsconfig.json build node-mimimi and sdk for the desktop client 2025-01-02 16:52:08 +01:00
updateLibs.js improve inbox rule handling and run spam prediction after inbox rules 2025-10-22 09:40:45 +02:00
versionUtils.js Move files to new folder structure 2024-07-26 16:42:13 +02:00
windows-installer.nsh [desktop] update registry entries for windows, depend on install mode 2021-12-21 09:15:35 +01:00
winsigner.cjs enable winsigner to use the new signing cert 2024-09-13 15:57:04 +02:00