Commit graph

21 commits

Author SHA1 Message Date
ivk
fba2b284ec [desktop] Use @signalapp/sqlcipher fork for db
Co-authored-by: paw <paw-hub@users.noreply.github.com>
2025-06-04 10:37:52 +02:00
ivk
2ed48135a8
Replace esbuild with Rolldown
- switch desktop build to esm
 - convert mithril to esm
 - run worker as esm module
 - fix dependency from DesktopAlarmScheduler to calendar app
 - switch napi-rs cli to 3.0
 - fix mimimi imports
 - remove hacky method on generated dispatcher
 - refactor native rollup plugins

 Co-authored-by: bir <bir@tutao.de>
2025-01-13 10:05:18 +01:00
Kinan
bbf81a95b4 build node-mimimi and sdk for the desktop client
Co-authored-by: map <mpfau@users.noreply.github.com>
Co-authored-by: nig <nig@tutao.de>
Co-authored-by: kitsugo <hayashi.jiro@kitsugo.com>
2025-01-02 16:52:08 +01:00
ivk
a42907e55a [build] Add type checking to buildSrc
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.
2024-08-06 16:00:04 +02:00
ivk
82a41c3f2b [build] Include node ABI version in native module filename
This prevents issues when node is updated
2024-02-23 14:40:02 +01:00
nig
212ce6720f remove keytar 2024-01-18 14:23:01 +01:00
ivk
3bf53aa5c2 [ci] Use cached better-sqlite3 in github actions 2023-12-01 12:41:55 +01:00
tutao
4707e39dbb update keytar & downgrade electron
this is necessary to be able to re-use our keytar build from 3.118.13

#6050
2023-11-27 13:37:36 +00:00
tutao
d79c542eda Fix non-universal libraries being included when building universal 2023-11-27 13:37:36 +00:00
nig
978d9780c2 fix linter errors for missing node: protocol
close #4367
2023-05-05 11:29:09 +02:00
ivk
50b23ebd1b Run prettier on the whole project 2022-12-27 16:08:23 +01:00
nig
e1d48c4f6c [android/ci] build and use android-database-sqlcipher
* add new jenkinsfile for building loadable sqlcipher aar
* use it as a dependency if it's in the app-android/libs dir

close #4294
2022-08-04 10:38:22 +02:00
ivk
3f7c080055
[build] esbuild for dev build 2022-05-10 17:53:21 +02:00
jom
636501198b [maintenance] update commander to v9 2022-05-03 15:57:33 +02:00
jom
9009a57f8e Encrypt offline database using sqlcipher, #3816
The database key is stored and encrypted alongside the user's stored credentials

we depend on our own fork of Signal's fork of better-sqlite3 which replaces sqlite3 with sqlcipher. Our fork was necessary in order to obtain the newest version of better-sqlite-3. This fork also has a modification that makes it not try to resolve the nativeBindingPath into an absolute path, because otherwise it was not possible to make it load the native module from within the bundled app

In Desktop, we don't know what kind of storage to use until the use is logging in, so we want to delay initialisation until then by using a proxy storage implementation. The loginfacade may not use the cache in this case.
2022-03-17 14:44:14 +01:00
ivk
350d522533 [build] Fixes for admin client
1. Change getVersion() in nativeLibraryProvider to handle curious
`npm list` behavior.
2. Reorganize rollup plugins so that admin client can import our helper
plugins without importing rollup plugins from node_modules. This makes
it more resilient when we link against local tutanota-3 (libs hoisted
to upper level will not be found across the symlink).
3. Change LaunchHtml to not rely on mithril for the same reason.
2022-03-08 12:00:01 +01:00
ivk
532d5ce551 [build] Fix nativeLibraryProvider.js to work with admin client 2022-03-08 12:00:01 +01:00
jom
591554aa51 [build] Build better-sqlite3 on windows during Jenkins CI
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
2022-03-07 10:26:06 +01:00
sas
cebfbbb480 Fix getting version of installed package using npm 2022-03-01 09:07:22 +01:00
ivk
29cef91986 [build] FIXME keytar version grab 2022-02-22 14:31:28 +01:00
ivk
d54be5a7c2 [build] Change keytar to be compiled on demand
Compiling keytar in postinstall is problematic because we need node-gyp
to successfully finish installation. Because of that it is hard to
depend on tutanota-3 (e.g. in admin client).

Doing this on demand avoids the issue.
2022-02-22 14:31:28 +01:00
Renamed from buildSrc/cachedSqliteProvider.js (Browse further)