There was a missing check that migrations bring the version to the
latest one.
In addition, we were checking the version against non-populated
metadata which worked accidentally on the first run because
`undefined < 1 === false`.
In order to make use of the crypto-primitives crate from the web client
we now generate wasm file using wasm-pack and included these steps into
the dev and webapp build process.
In order to test the behavior we also made use of the exported primitives from the Ed255519Facade
Also adds test for the Ed25519 exported functions.
tuta#2102, tuta#2099, tuta#2098
Co-authored-by: hec <hec@tutao.de>
Co-authored-by: bedhub <bedhub@users.noreply.github.com>
Fixed notification click on Windows after the notification is put into
Action Center. We used @indutny/simple-windows-notifications to
re-implement notifications on Windows.
Fixed dismissing mail & alarm notifications on window focus. Grouped
notifications now use actual user ids.
Fixed awaiting config in createComponents.
Close#6946
Co-authored-by: paw <paw-hub@users.noreply.github.com>
- Introduce Proof-of-Work Captcha to prevent mass signups.
- The PoW captcha executes when the user begins entering information into the sign-up form.
- The progressDialog will appear if the PoW captcha is not solved when the user clicks the "Next" button.
- Update SystemModel to v134
Co-authored-by: nig <nig@tutao.de>
Co-authored-by: toj<toj@tutao.de>
Refactor our instance deserialization/serialization pipeline, both on
TypeScript and on Rust [sdk] to use typeId and attributeIds instead of
typeNames and attributeNames. We furthermore ignore cardinalities
on associations until the instance layer and always
store associations as arrays. This commit introduces **eventual
consistency** on the client, i.e. we are from now on always storing data
in the newest schema format (activeApplicationVersionsForWritingSum)
which ensures that all data is already available on the client after
updating the client to a newer version. This removes the need for
offline migrations on the client and also removes backward migrations
on the server. Furthermore, the server model types are now available
on the client, retrievable through the ApplicationTypesFacade. This is
our first step towards FastSync.
Co-authored-by: nig <nig@tutao.de>
Co-authored-by: abp <abp@tutao.de>
Co-authored-by: jomapp <17314077+jomapp@users.noreply.github.com>
Co-authored-by: map <mpfau@users.noreply.github.com>
Co-authored-by: sug <sug@tutao.de>
Co-authored-by: Kinan <104761667+kibibytium@users.noreply.github.com>
eml and mbox file import in desktop client
pause/resume functionality
chunking for mails and attachments to reduce server requests
testing for imap import source
wisely designed in the alps
Co-authored-by: map <mpfau@users.noreply.github.com>
Co-authored-by: jhm <17314077+jomapp@users.noreply.github.com>
Co-authored-by: Kinan <104761667+kibibytium@users.noreply.github.com>
Co-authored-by: kitsugo <hayashi.jiro@kitsugo.com>
Co-authored-by: nif <nif@tutao.de>
Co-authored-by: sug <sug@tutao.de>
It isn't invoked automatically anywhere but the editors should pick it
up and it can also be run manually.
It also fixes few little issues, e.g. getPrebuiltNativeModuleForWindows
was getting called with the right arguments.
Co-authored-by: Murilo Pereira <34790144+murilopereirame@users.noreply.github.com>
This commit fixes the Build scripts and missing imports
from rebase. Fixes tests after apps split, and This commit fixes the
Android project changing the gradle task used to build the Android app.
Also fixes some import errors caused by the rebase.
Implemented extended notifications which include the sender.
Re-implemented credential encryption and storage, moved credential
data to the native storage, changed credential encryption on mobile to
always be device lock + implement app lock independently of encryption.
Re-implemented SSE on desktop in a more modular way.
Re-organized iOS app to share the code between the main app code and
app extensions.
Close#6608
Co-authored-by: wec43 <wec@tutao.de>
Adapt the tests to work with the new format of loading the fallback and
the wasm files. This commit also fixes the ESBuild function to correctly
resolve the fallback and generate it.
Remove the hardcoded make command and add the option to use a provided
command instead of make. Also adds the possibility to provide env vars
and a working dir for Wasm generation.
This commit adds the generation of a JavaScript transpile for the Liboqs
and Argon2 WebAssembly files. This is done through wasm2js that's
builtin on emcc.
WASM/JS fallbacks use the same interface and reduce the extra type
casting once initialized.
Co-authored-by: wec43 <wec@tutao.de>
Co-authored-by: paw <paw-hub@users.noreply.github.com>
includes sys model v93 for the InvoiceDataService that returns
all data needed to use the PdfInvoiceGenerator to generate a
PDF/A compliant Pdf invoice.
The generator uses the classes in src/api/worker/pdf to write create
the PDF, which contains one high-level imperative PdfDocument that and
defines the document contents and the low level PdfWriter that actually
writes the bytes to a buffer.
tutadb issue 1458
Added a new flag `-a` which allows the developer to set the architecture
of the built client. It causes an error when an unsupported combination
of platform & architecture is used. By default, it uses the architecture
the installed node binary uses.
two ways this can happen:
* starting on old domain
* starting on new domain
in each case, the starting tab opens the other domain in a new
tab to then use window.postMessage to transfer the credentials.
Allow deriving keys with it if the server requests it, but do not use it
by default to create new keys.
tutadb#1559
Co-authored-by: @vitoreiji, @paw-hub, @charlag
Building packages is a part of most build invocations. Our old approach
during dev builds was to
1. Invoke npm once to run build-packages
2. Invoke npm per each package to run tsc.
Unfortunately, npm is very slow. Additionally, the old approach was
leading to tsc re-checking some packages multiple times because of
dependencies between them. This would only worsen with time.
In our new approach we
1. invoke tsc only once
2. try to avoid invoking npm as much as possible
Unfortunately there is still one case where we invoke npx because we
can't be sure that the location of node_modules/.bin is stable as we
are sometimes used as a package. Without this we could reduce the time
even further.
5.3.0 couldn't handle windows machines with a restricted powershell.
6.0.0 fixed that, but the alpha that's currently available does not
work on linux because it's opening the child process wrong.
We manually merged the contents of branch `password-generator-thesis`
onto a new branch, because the typescript migration changes broke the
mergeability of the existing implementation
#327