Commit graph

49 commits

Author SHA1 Message Date
mup
e5a284ed72 Add separated ESBuild for calendar build
This commit adds an argument to ESBuild allowing to choose between
mail app or calendar app
2024-07-29 14:44:20 +02:00
and
418b9bc3f9 [Calendar] Clean project code
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.
2024-07-26 16:43:00 +02:00
mup
2b61600397 [Calendar] Fix rollup and imports 2024-07-26 16:43:00 +02:00
wrd
d279d0b775 open calendar view on startup
Co-authored-by: rih <rih@tutao.de>
2024-07-26 16:42:15 +02:00
wrd
d6c9d5161e Make new app file for calendar, separate build for android app
Co-authored-by: @rih-tutao, @andrehgdias
2024-07-26 16:42:15 +02:00
wrd
8ab3b14edd Move files to new folder structure
Co-authored-by: @rih-tutao
2024-07-26 16:42:13 +02:00
ivk
acbc430161
[build] Improve tuta-wasm-loader API, allow not generating the fallback 2024-07-02 16:10:27 +02:00
mup
40846e4db9 Handle wasm loading from Node process
This commit adds the resolving of wasm files also available to calls
from the Node part, reading the file and returning the exports object.
2024-05-28 13:32:27 +00:00
ivk
ad83f751b2 Extended notification preview, change credential encryption
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>
2024-05-22 14:10:08 +00:00
mup
4dd743dfa0 Fix Tests for Fallback
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.
2024-05-22 08:47:10 +00:00
mup
74ebf6834d Add Wasm fallback generation to build process
This commit adds the generation of WASM files and their respective
fallback to the build process.
2024-05-22 08:47:10 +00:00
mup
1733b27684 Add JavaScript fallback for Liboqs & Argon2
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>
2024-05-22 08:47:10 +00:00
jop
476d19e0f9 generate invoices on the client
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
2024-01-22 12:17:29 +01:00
nig
212ce6720f remove keytar 2024-01-18 14:23:01 +01:00
vaf
15713f1047 add tuta-crypt hybrid post-quantum encryption support
tutadb#1639
2023-12-21 10:41:51 +01:00
ivk
3bf53aa5c2 [ci] Use cached better-sqlite3 in github actions 2023-12-01 12:41:55 +01:00
tutao
d79c542eda Fix non-universal libraries being included when building universal 2023-11-27 13:37:36 +00:00
jat
38a70be346 Fix desktop script building both x86_64 and arm64 at the same time
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.
2023-11-27 13:37:36 +00:00
nig
4e6cf85640 [build] cleanup build for desktop client
re-create the artifacts folder before starting to use it
2023-10-19 17:14:11 +02:00
nig
e60e78c9c4 move dist build to just ./build 2023-10-18 12:12:10 +02:00
nig
09cbcdb4e6 enable credentials migration from the old to the new domain
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.
2023-10-18 12:12:10 +02:00
nig
b710ce8488 use app.tuta.com for the mail app domain
leaves references to the https://tutanota.com domain alone
2023-10-18 12:12:10 +02:00
ivk
58721df61a Introduce domain configs to support 2FA across domains
#5638
2023-10-18 10:16:11 +02:00
nig
fe210ff0a0 reorder some files to make sqlworker.ts loadable in dev and prod build
#5112
2023-09-22 12:09:18 +02:00
nig
e57b9c7ff2 threaded sqlcipher
#5112
2023-09-22 12:09:18 +02:00
vaf
49449c426d Support Argon2id
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
2023-08-18 16:29:22 +02:00
nig
978d9780c2 fix linter errors for missing node: protocol
close #4367
2023-05-05 11:29:09 +02:00
ivk
a8564c77da [build] Make building packages faster
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.
2023-03-09 10:59:05 +00:00
nig
7cba629cb6 [desktop] use a nonbroken electron-updater version on each platform
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.
2023-01-30 10:20:44 +01:00
ivk
50b23ebd1b Run prettier on the whole project 2022-12-27 16:08:23 +01:00
jom
4162c65761 Implement password generator
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
2022-07-21 14:54:04 +02:00
jom
1660ebaab1 Adapt to gift cards model change 2022-06-13 13:34:56 +02:00
ivk
6998fdbc33
[build] Run typecheck with better output 2022-05-27 16:17:01 +02:00
jom
ca177b74f5
Add framework for migrating offline database
When there is a model change on the server that would conflict with
the entities stored in the offline database, we need to do a migration
We generate some model diffs with the code generator and use them
for a compile-time check.

Co-authored-by: ivk <ivk@tutao.de>
2022-05-25 16:30:34 +02:00
ivk
e3fc4135be
Set initial EventBusClient state to Terminated, fix #4143
1. It only makes sense
2. It prevents reconnection attempts/indication before we log in
2022-05-17 16:06:47 +02:00
ivk
86e180b2c8
Cleanup/fixes after esbuild conversion 2022-05-11 11:44:43 +02:00
ivk
6980c847cb
[build] Changes after review 2022-05-10 17:56:48 +02:00
ivk
c86cfd6d71
[build] Cleanup build 2022-05-10 17:56:07 +02:00
ivk
1d829e9597
[build] esbuild: do not inline translations 2022-05-10 17:55:24 +02:00
ivk
458412795e
[build] esbuild for tests 2022-05-10 17:55:23 +02:00
ivk
3f7c080055
[build] esbuild for dev build 2022-05-10 17:53:21 +02:00
ivk
b0066f98ef
[build, desktop] Fix building better-sqlite3 on Windows, fix #4089
- Fix unpacking .node file form .asar
 - Update to correct build of better_sqlite3
 - Fix passing correct path to better_sqlite3
2022-05-05 18:00:59 +02:00
thp
63bb7de308 Always build packages when building tutanota
Use composite flag and incremental builds for packages
Add package dependencies as project references
2022-02-18 10:52:52 +01:00
thp
916ee1ed1d Refactor dist.js #3221
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
2022-02-18 10:52:52 +01:00
sas
7cb4828c56 Introduce persistent cache for desktop, close #3823 2022-02-15 09:54:54 +01:00
thp
de6465e28f [build] Do not forward 'clean' option with buildOpts. Fix #3841 2022-02-03 09:12:47 +01:00
ivk
253441b9ac Convert codebase to Typescript, close #3746 close #3594
Co-authored-by: jom <jom@tutao.de>
Co-authored-by: thp <thp@tutao.de>
Co-authored-by: vis <vis@tutao.de>
2022-01-07 16:21:07 +01:00
jom
7ae19fef25 [build] don't restart flow everytime after doing a clean build
reviewed with ivk
2021-11-10 13:35:54 +01:00
jom
c3de877fce [build] refactor make.js + android.js to modularise dev build 2021-11-09 09:23:59 +01:00