Caused by the shortcut being enabled when the `MailViewerViewModel` is
`null`, which happens because `!viewModel()?.isDraftMail()` is true when
the mail is not draft but also when the viewModel is null.
The same is true for the replyAll and forward shortcuts.
Close#9736
Add resize element on Mail List view column
Add device config for mail list size
Fix issue with delete swipe action showing when resizing
Improve ViewSlider distribution algorithm
Close#9427
Co-authored-by: ivk <ivk@tutao.de>
@vaf found a way for the server to forge the state of this field,
rendering it untrustworthy. We will not display the field's state to
the user until this problem is mitigated.
Sigh.
Show a snackbar that can undo moving mails. The user can click "Undo" or
press CTRL-Z (CMD-Z) to undo moving mails. If they do, this will move
the mails back and close the snackbar. Additionally, if the mails were
to be reported as spam, they won't be reported, either.
Removed the reporting snackbar and added a new message specifically
for mails being moved to spam.
Close#9321Close#9319Close#9318Close#9312Close#9205Close#9386Close#9428
Co-authored-by: paw <paw-hub@users.noreply.github.com>
Co-authored-by: hrb-hub <hrb-hub@users.noreply.github.com>
Previously mail view clearing was driven by the list state changing, but
in the case of opening a mail through a notification that is then moved
by an Inbox Rule we still want to view the mail even though it is no
longer in the list. Then doing an action on that mail would not clear
the mail view because the list state was not changing.
Co-authored-by: ivk <ivk@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>
When mails in list are grouped by conversation, reply/forward apply to
the latest mail in the conversation.
Close#8462
Co-authored-by: bir <bir@tutao.de>
Co-authored-by: ivk <ivk@tutao.de>