Mateusz Szklarek
bd885c7745
Add missing localizations for hardcoded strings
2025-08-14 12:01:37 +02:00
Mateusz Szklarek
68e4d48505
Implement missing actions in MessageAddressActionView
2025-08-14 11:58:41 +02:00
Jacek Krasiukianis
33aaa32d81
ET-4265 Exclude directories from iCloud backup
2025-08-13 12:39:46 +00:00
Alex Morral
af844bd9e1
feat(accountSettings): ET-4070 Add row showing storage quota in Settings screen
2025-08-11 13:52:12 +00:00
Mateusz Szklarek
4dc37e9c10
Extract Undo button title to CommonL10n.swift
2025-08-11 11:11:51 +02:00
Jacek Krasiukianis
ac062e361c
ET-638 Share extension
2025-08-08 09:58:24 +00:00
Mateusz Szklarek
5b769f5695
Fix all compilations errors after RustSDK bump to 0.119.0
2025-08-07 13:50:40 +02:00
Mateusz Szklarek
c976fd69bc
Provide separate protocol for opening single recipient
2025-08-06 11:18:29 +02:00
Mateusz Szklarek
dbd476f2a2
Implement open in calendar action
2025-08-05 10:51:57 +02:00
Jacek Krasiukianis
3a64d321b0
ET-2593 Migrate mobile signature
2025-08-01 16:27:55 +02:00
Jacek Krasiukianis
7edb25ed20
Rust SDK 0.114.0
2025-07-31 14:26:26 +00:00
Maciej Gomółka
9c0b353945
Merge branch 'main' into task/ET-3953
2025-07-31 16:20:51 +02:00
Xavi Gil
20ad2bad62
ET-3960: Composer password protection
2025-07-31 12:59:20 +02:00
Maciej Gomółka
45cd82bb9b
Add logger in places that may fail
2025-07-31 11:39:58 +02:00
Mateusz Szklarek
ca960552b0
Simplify date formatting by using newer API
...
New API https://developer.apple.com/documentation/foundation/date/formatted(_:)
2025-07-30 12:34:04 +00:00
Mateusz Szklarek
06a0abd303
Rename calendarUTC to calendarGMT
2025-07-30 12:34:04 +00:00
Mateusz Szklarek
3a7b9b8fd6
Fix issue with non-deterministic tests
...
`calendarUTC` was using system locale and because formatters are static
when they were created start using wrong locale instead of hardcoded one
2025-07-30 12:34:04 +00:00
Mateusz Szklarek
81df18784d
Implement logic for RSVPDateFormatter
2025-07-30 12:34:04 +00:00
Jacek Krasiukianis
e684a4b949
Collect Bundle extensions in one place
2025-07-30 13:35:31 +02:00
Timotei-Alexandru Palade
59998aea3f
chore: ET-3715 Add Rust logs to Sentry crashes
2025-07-30 08:29:34 +00:00
Jacek Krasiukianis
be4620c6fe
ET-611 Upsell screen
2025-07-25 13:56:49 +00:00
Ludovico Rossi
1debd93e18
feat(ET-2969): Add change password setting
2025-07-24 16:25:15 +01:00
Jacek Krasiukianis
29ca6fde80
Print logs from webView console
2025-07-21 14:41:06 +02:00
Maciej Gomółka
b5f86ccaf2
Refactor after the CR
2025-07-18 12:38:33 +02:00
Mateusz Szklarek
c8c0398844
Fix last failing snapshot tests - use traits with hardcoded calendar/date
2025-07-17 11:56:24 +01:00
Mateusz Szklarek
ceb3879057
Fix failing tests in ContactFormatterTests - use UTC calendar
2025-07-17 11:57:02 +02:00
Mateusz Szklarek
38c46c165d
Refactor: Replace nonisolated(unsafe) Calendar with @TaskLocal
...
The `DateEnvironment.calendar` property was previously marked with `nonisolated(unsafe)`,
which disables crucial compiler safety checks for a mutable global variable.
This pattern is unsafe and can lead to data races and unpredictable behavior in
concurrent environments.
This commit replaces `nonisolated(unsafe)` with the modern `@TaskLocal`
property wrapper available in Swift 6.1. This provides a much safer API
for managing context-specific data.
The key benefits of this change are:
- **Thread Safety:** `@TaskLocal` is inherently safe. The property is read-only by default, and modifications are confined to the specific task's scope.
- **Scoped Modifications:** Changes to the calendar are made via the `withValue` function, which guarantees that the modification only applies within a local scope and does not leak, preventing global state pollution.
- **Improved Clarity:** The API now clearly expresses its intent. Consumers must explicitly create a local scope to use a different calendar, making the code more predictable and easier to reason about.
2025-07-16 16:35:40 +02:00
Jacek Krasiukianis
d21f99a61d
Xcode 26 compatibility
2025-07-07 17:32:39 +02:00
Jacek Krasiukianis
59d08e38a1
ET-638 Reusable APIConfig and ApiEnvId initializers
2025-07-07 08:18:23 +00:00
Jacek Krasiukianis
2622a6a43f
ET-638 Reusable lock screen
2025-07-02 15:48:02 +02:00
Timotei-Alexandru Palade
f451650d9b
chore: Increase the min mail version to 7.0.1
2025-07-02 12:20:05 +00:00
Maciej Gomółka
814f729283
Use correct dsn
2025-06-25 14:29:37 +02:00
Maciej Gomółka
00697123e1
Disable not needed Sentry SDK options
2025-06-25 13:32:29 +02:00
Xavi Gil
eba4398f7e
ET-3415: Fix, to handle web view process termination
2025-06-20 08:56:47 +00:00
Mateusz Szklarek
88ba47c15a
Replace ComposerContactEmail with existing SingleRecipientEntry model
2025-06-17 15:19:23 +02:00
Mateusz Szklarek
4e08a972db
Pass displayName instead of empty string when opening composer
2025-06-17 15:00:27 +02:00
Mateusz Szklarek
8cc58c414f
Extend ContactsDraftPresenter protocol with new function for opening group
2025-06-12 16:09:00 +02:00
Maciej Gomółka
9e8453af9c
Refactor after the CR
2025-06-12 13:52:56 +00:00
Maciej Gomółka
ee449d9f17
Integrate Sentry
2025-06-12 13:52:56 +00:00
Mateusz Szklarek
06c4a9e97a
Refactor interface for opening draft with given contact
2025-06-12 08:47:54 +00:00
Mateusz Szklarek
caf0c2b1f8
Implement openDraft with contacts method
...
Extend `DraftPresenter` with `ContactsDraftPresenter` protocol
2025-06-12 08:47:54 +00:00
Mateusz Szklarek
00265b6cf5
Implement openURL action in ContactDetailsStateStore
2025-06-12 08:47:54 +00:00
Xavi Gil
35fb60d46e
ET-3323: Change sender feature
2025-06-12 08:12:47 +00:00
Jacek Krasiukianis
13da72b6f1
Remove unused code
2025-06-10 08:15:16 +00:00
Jacek Krasiukianis
9ac03facad
CR: more explicit generic parameter
2025-06-03 13:15:39 +00:00
Jacek Krasiukianis
de1dcc0337
ET-2995 Do not update badge when secondary accounts receive notifications
2025-06-03 13:15:39 +00:00
Xavi Gil
3d529e62aa
ET-625: Schedule Send custom date picker
2025-05-28 10:58:33 +00:00
Xavi Gil
e46e601143
ET-2993: Schedule send, SDK integration for scheduling
2025-05-21 13:16:36 +00:00
Jacek Krasiukianis
534e22ae21
CR: avoid access level on extension
2025-05-21 11:22:16 +00:00
Jacek Krasiukianis
146edc3d42
Remove unused code
2025-05-21 11:22:16 +00:00