Commit Graph
111 Commits
Author SHA1 Message Date
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