Electron uses xdg-open to open files. On GNOME it will try to use gio
open which reads user configs from a few files. To detect those config
files it uses `XDG_CURRENT_DESKTOP` env variable.
Electron overwrites `XDG_CURRENT_DESKTOP` to enable some compatibility
functions in Chromium. This breaks gio because it can't locate the
config files for default apps. It can be reproduced on Ubuntu with
GNOME. There is a fix in Electron to restore the env for opening files,
but it doesn't work.
We worked around that by invoking xdg-open directly with correct env.
Additionally, we fixed opening the directories having the same issue and
getting stuck by using showItemInFolder instead. This also has an
additional benefit of highlighting the file in the file manager.
Close#9696
Co-authored-by: hrb-hub <hrb-hub@users.noreply.github.com>
Co-authored-by: wrd <wrd@tutao.de>
Co-authored-by: paw <paw-hub@users.noreply.github.com>
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`.
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>
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>
adds spell check & correction capabilities to the context menu,
including the ability to change the checked language.
dictionaries are pulled from <updateUrl>/../dictionaries/ except
for custom builds. in that case, the downloader is pointed to
mail.tutanota.com/desktop/dictionaries/
the dist.js build script gained a --get-dicts flag, which will
result in the dictionaries released with the used electron version being
downloaded from
https://github.com/electron/electron/releases/
download/v${version}/hunspell_dictionaries.zip
and extracted into a directory next to the given --out-dir
or build/dist/dictionaries during the build.
should the build not create .deb packages, the dicts
will end up next to the desktop installers since the
local tutadb will serve them from there.
This commit fixes loading the debug build in Safari and occasional
failure to load in other browsers.
node server didn't work with Safari, I noticed that it tries to load js
files without .js extension. I compared debugging with Chrome and
noticed that we do some replacement in system-resolve.js. This was not
running in Safari and in fact system-resolve was not loaded at all in
Safari. I checked where it's imported and there was an error in make.js
where it was not waiting for the import of system-resolve to import
src/app.js. This was a timing issue and it explains why we had such a
problem in other browsers but only occasionally: sometimes it was fast
enough to patch systemjs when it was from disk/code cache.
added mailto handling to desktop client. closes#670
proper handling of logout event, closes#682
made winsigner optional, made client version available from devTools, fixed#678
made F5 refresh not break the app. closes#673fixed#674
reenabled HTML5 notifications. fixes#672 once tutanota starts showing notifications for new mail.
fixed#691 & fixed#716
integration of IPC into WorkerProtocol, closes#669
public key for code signing
code signing for the linux client
fixed Jenkinsfile to correctly link snapshot
upgrade to electron 4.0.0-beta.7 #718
made the add 2FA dialog not reload the page #718
added support for Ctrl + Scroll zooming. #755
added F11 maximize/unmaximize support, #755
added Ctrl + P printing support, #755
fixed make script for desktop client
A search bar for the Desktop Client, #755
added async imports for nativewrappercommands
fixed focus loss for desktop ctrl+f search bar
Context menu for the Desktop client, #763
Code signing for mac & windows
linking of mac & windows snapshots
targetURL for mac snapshot
Settings View for the Desktop Client
better icons
prevented handleMailto from being called before app is ready
made showRequestPasswordDialog focus the input element
implementation of link tooltips for desktop
restricted mouse hover URL reveal for desktop to anchor elements inside the mail viewer
rich text toolbar overhaul, #873
upgrade to electron 4.0.0-beta.9