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>
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>
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.
`electron-builder` has undocumented support for building universal
binaries with `electron/universal`.
It's mentioned in `electron-builder`'s change logs & in
/packages/app-builder-lib/src/macPackager.ts#L109 inside
`electron-builder`'s repo.
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.
the desktop build builds two clients
with one call (for prod and test)
this caused the second client to include
the first one because we built it into
the build dir.
now there's a separate dir where all
the things we want to publish are stashed.
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.
* according to rollups type definitions, the output option property is
ignored by rollup.rollup, so it moved to bundle.write
* we don't use commonjs deps in the desktop bundle anymore, so the
commonjs plugin can go away from DesktopBuilder
[build] remove some unnecessary rollup plugins
[build] unify the native plugins
[build] vendor keytar
[build] vendor better-sqlite3 deps and restrict module resolution
it's now checked in and can be updated with buildSrc/updateLibs.js
close#4213
DatabaseKeyFactory, used from worker and main, was
in a bundle that also includes code calling
assertMainOrNode()
removed rollup visualizer plugin dependency
because it requires rollup 2
fix db90ac26abfix#5065
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 previously used a .png because of rendering issues, but this new
icon file should not have these problems.
This means Windows won't need to use nearest scaling, making the
application icon look better on the desktop.
Fixes#4235
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.
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
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.
The dist build was refactored in commit:
916ee1ed1d
The format of the desktop options was changed from a raw object to a map,
but the usages in DesktopBuilder weren't adapted. This change adapts them
and also tidies it up a bit.
reviewed with sas