Add a mobileBuild parameter to webapp build script to avoid trying to
copy wasm file that would be already deleted by the scandelete of
F-Droid.
Co-authored-by: vis <vis@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>
This commit implements the production build script of Calendar's webapp.
Calendar app contains user management, so this commit also moves
settings page files that are related to it to the common chunk.
This commit not only sets up the build for windows on jenkins,
it also consolidates how we get prebuilt binaries for native modules i.e. keytar and better-sqlite3
and generally has some refactorings
Split dist.js (desktop.js, webapp.js)
Simplify command line interface for dist builds
Extract utilities used from dist builds
Extract fetching and publishing dictionaries into its own build step
Extract signing installers into its own build step
Extract .deb packaging and publishing into its own build step
Add some documentation, verbosity and general improvements to the code
We can only specify flavor in F-Droid metadata so that's what we do to
avoid specifying signing (F-Droid manages the signing on its own).
We now also run tests on new JDK. We needed to update Robolectric to do
that.