Commit graph

19 commits

Author SHA1 Message Date
ivk
9100edc7b8 [ios] Add notification counter badge to app icon
Add a persistent counter that is incremented from notification
extension. The counter is reset on app being put into foreground.

Close #1757
2025-10-16 18:01:17 +02:00
ivk
7ebdd2896e [ios] Fix suspension handling, normalize headers in RestClient
Previously suspension handling was not working because SDK was
expecting the headers to be lowercased. This was not the case
for Swift impl of RestClient.

Additionally, fix logging errors from notification extension by
setting correct privacy modifier when interpolating.

Close #9740

Co-authored-by: hrb-hub <hrb-hub@users.noreply.github.com>
2025-10-02 13:15:50 +02:00
tutao-mac
12a34dc4a3 Add suspension handling to swift notificationservice
Close #9619

Co-authored-by: ivk <ivk@tutao.de>
Co-authored-by: wrd <wrd@tutao.de>
2025-09-23 14:34:05 +02:00
sug
eab1d9d64d
[sdk] change mailFacade's getMail function to return parsedEntity
Since mobile clients are fetching mails using the SDK and putting them
in offlineStorage, we have to insert them as `ServerParsedInstance`.
However, notifications need the mail instances to be deserialized and
mapped. So this commit breaks down the mail pipeline in the SDK into
two steps.

Co-authored-by: sug <sug@tutao.de>
2025-07-02 12:09:16 +02:00
kib
b4fc2deaa4
[iOS/android] adapt sqlCipherFacade queries to use TypeId for Mail
Co-authored-by: sug <sug@tutao.de>
2025-05-12 18:18:51 +02:00
Kinan
edbf281b88
switch to typeIds and attrIds, add SystemMV126, TutanotaMV86, BaseMV2
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>
2025-04-28 12:44:35 +02:00
ivk
54fc269033 [ios] Fix downloading mails for notifications
After URLSession refactoring we did not pass the headers that SDK passed
to the RestClient to the actual HTTP request.

Additionally, change NotificationService so that the errors do not cause
timeout and are logged.

Co-authored-by: wrd <wrd@tutao.de>
2025-03-17 11:17:25 +01:00
ivk
a1967c97bd [ios] Fix warnings & legacy code 2025-03-14 10:14:50 +01:00
wrd
4fc5480453 [ios] Use the same URLSession across the app
Close #8691

Co-authored-by: ivk <ivk@tutao.de>
2025-03-14 10:14:50 +01:00
nig
edb6dcfde4
[ios] fix wrong parameter label for rest client 2024-11-29 12:25:36 +01:00
tutao-mac
98a4f36287 fix unwrapping of mail id 2024-11-07 09:19:18 +01:00
vaf
bbbff18610
fixed ios build 2024-10-30 11:13:17 +01:00
paw
b9f1d60591 [ios] Add service calls
Hooks up the previously added iOS actions to the SDK so they work.

Co-authored-by: BijinDev <BijinDev@users.noreply.github.com>
Co-authored-by: hrb-hub <hrb-hub@users.noreply.github.com>
2024-10-18 12:37:17 +02:00
wrd
57b420d177 [ios] Add notification actions on iOS
close #7654

Co-authored-by: charlag <charlag@tuta.io>
2024-10-18 12:37:17 +02:00
nig
628926fbf1
[tutasdk] use client version from bump-version script 2024-10-14 16:57:46 +02:00
ivk
1575434fe7
[ios] Implement opening mails from notifications
Document openMailBox

Close #7372

Co-authored-by: jat <jat@tutao.de>
Co-authored-by: paw <paw-hub@users.noreply.github.com>
2024-09-03 16:08:44 +02:00
ivk
7f722e029e
[sdk] Improve API & internal state
We changed the point at which the credentials are fixed in the sdk. Now
they are passed in to login() method and not when creating SDK. This
makes for a cleaner separation of a stateless, shared SDK and stateful,
account-bound LoggedInSDK. Rest resources are now always bound to a
session which allows for parallel logins and prevents accidental bugs
2024-09-03 16:08:41 +02:00
tutao
2280579a03 Implement subject & sender name in iOS notification
Add encryptedPassphraseKey to stored credentials to avoid doing KDF in
notification process which is not possible on iOS due to memory limit.

Co-authored-by: paw <paw-hub@users.noreply.github.com>
2024-08-06 16:00:36 +02: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