Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
565 commits
Select commit Hold shift + click to select a range
0ac4acf
Dev: use PSBuild to initialize Toolchain/SDK
lxbndr Nov 29, 2019
94b248f
Dev: remove unnecessary linker flags
lxbndr Nov 29, 2019
6c4df82
Fix superclass for MCONNTPDisconnectOperation (#1852)
bbarenblat Dec 16, 2019
b3b457a
Dev: add install dependencies step
Dec 18, 2019
7b5981f
Fix: load MCOMailProvidersManager from bundle
Dec 20, 2019
40f9f19
Dev: add more libs to install phase
Dec 23, 2019
0a70677
System: rename binary dependencies directory
lxbndr Jan 2, 2020
c5d3bd7
Merge pull request #33 from readdle/feature/windows
lxbndr Jan 2, 2020
b684b63
Fix: time representation conversion on Windows
lxbndr Jan 2, 2020
5dfa2fa
Merge pull request #34 from readdle/fix/win-time-parse-issue
lxbndr Jan 2, 2020
2c835e9
Fix: tweak existing date conversion code for better compatibility
lxbndr Jan 2, 2020
702eee6
Merge pull request #35 from readdle/fix/win-time-parse-issue
lxbndr Jan 2, 2020
1b09c2b
Cleanup: drop PSBuild resolver
lxbndr Jan 2, 2020
8bf5a75
Merge pull request #36 from readdle/feature/faster-win-build
lxbndr Jan 2, 2020
a2ba662
Exclude driverkit SDK from macosx sdk version variable. (#1855)
futureimperfect Jan 5, 2020
ea78b69
System: use our ctemplate fork
Jan 6, 2020
5c02e41
Merge pull request #37 from readdle/feature/windows-ctemplate
kgominyuk Jan 6, 2020
d6a46bf
Merge remote-tracking branch 'origin/spark2' into fix/threadSafe
livsik Jan 28, 2020
3d14300
Merge pull request #29 from readdle/fix/threadSafe
livsik Jan 28, 2020
376a6bd
Fix: change public function declaration in attempt to make it crosspl…
lxbndr Jan 29, 2020
358600f
Refactor: minor compiler warnings
lxbndr Jan 29, 2020
f1f2854
Fix: crossplatform locks usage
lxbndr Jan 29, 2020
465c0df
System: actualize local podspec
lxbndr Jan 29, 2020
14aaf15
Merge pull request #38 from readdle/fix/build-issues
lxbndr Jan 30, 2020
03e0cd6
System: loose cmake required version
lxbndr Jan 30, 2020
7c5c951
Merge pull request #39 from readdle/fix/cmake-requirements
lxbndr Jan 30, 2020
fa0fc15
Fix: possible deadlock with cancel
foxinushka Feb 7, 2020
bc61365
Merge pull request #40 from readdle/fix/cancel
foxinushka Feb 7, 2020
62f4912
Merge branch 'upstream/master' into spark2
foxinushka Feb 26, 2020
7217c13
Dev: SPC-2198, correct EUC-KR character set encoding/detection
vs-savchenko May 22, 2020
c549dc9
Dev: SPC-2198, decode base64 line by line, lossy
vs-savchenko May 22, 2020
f877377
Dev: SPC-2198, correct character set detection, flatten html before f…
vs-savchenko May 22, 2020
bf365fd
System: update RDSQLite3/icu to 3.28.2 in podspec file
vs-savchenko May 22, 2020
0e0ff26
System: SPC-2198, update podspec file
vs-savchenko May 22, 2020
92a7602
Dev: cleanup warning
vs-savchenko May 22, 2020
9182b40
Dev: fix MCObject destructor
vs-savchenko May 22, 2020
1580dcb
Dev: SPC-2198, return hintCharset if character detection failed
vs-savchenko May 22, 2020
0a25921
Dev: SPC-2198, fix afterMainOnMainThread method signature
vs-savchenko May 22, 2020
bde9bd4
Dev: SPC-2198, use performMethodOnCallbackThread for Android
vs-savchenko May 22, 2020
cfc1241
Dev: SPC-2198, Object destructor
vs-savchenko May 22, 2020
697e4fa
Dev: SPC-2198, check input len in MCDecodeBase64ByLines
vs-savchenko May 22, 2020
27783a8
Dev: SPC-2198, correct GBK character detection
vs-savchenko May 23, 2020
4a667a4
Dev: SPC-2198, correct 'windows-874' encoding detection
vs-savchenko May 23, 2020
d9e17fa
Dev: SPC-2198, correct character set detection logic
vs-savchenko May 25, 2020
28596e7
Dev: SPC-2198, restore encoding detection
vs-savchenko May 25, 2020
817bee9
Dev: SPC-2198, prefer 'window-874' over 'euc-kr'
vs-savchenko May 25, 2020
d0c3170
Dev: SPC-2198, prefer explicit 'gb18030' over detected 'big5'
vs-savchenko May 25, 2020
0471879
Dev: prefer explicit 'windows-1251' to detected 'iso-8859-1'
vs-savchenko May 25, 2020
ec5497f
Dev: SPC-2198, cleanup
vs-savchenko May 25, 2020
4d34dfb
Dev: SPC-2198, normalize koi8-r character set type
vs-savchenko May 25, 2020
91b3851
Merge pull request #41 from readdle/fix/SPC-2198
vs-savchenko May 25, 2020
5ad2b28
Dev: SPC-2198, 'windows-1252' character set detection
vs-savchenko May 27, 2020
b21250a
Merge pull request #42 from readdle/fix/SPC-2198-windows-1252-encodin…
vs-savchenko May 27, 2020
590409c
Fix: thread-safety crashes related to CIMAPNamespace
foxinushka Jun 10, 2020
9304a4b
Merge pull request #43 from readdle/fix/namespace-crashes
foxinushka Jun 10, 2020
b92fac2
Revert "Fix: thread-safety crashes related to CIMAPNamespace"
foxinushka Jun 10, 2020
7e533fa
Revert "Dev: SPC-2198, use performMethodOnCallbackThread for Android"
foxinushka Jun 10, 2020
498b3b1
Revert "Dev: SPC-2198, fix afterMainOnMainThread method signature"
foxinushka Jun 10, 2020
d0bd9df
Revert "Fix intermittent crashes on iOS - added to header file. (#1673)"
foxinushka Jun 10, 2020
6ef33ff
Merge pull request #44 from readdle/fix/namespace-crash-2
foxinushka Jun 10, 2020
f7060f6
System: update libetpan to 1.9.4
livsik Jun 19, 2020
866b92d
System: update libetpan to 1.9.4 #2
livsik Jun 22, 2020
e77d4f6
Fix: crash while parsing rfc822 (SPC-2940)
foxinushka Jul 1, 2020
bfb7eb4
Merge pull request #45 from readdle/fix/crash-while-parsing-rfc822-SP…
foxinushka Jul 1, 2020
1b1da6a
Revert "System: update libetpan to 1.9.4 #2"
foxinushka Jul 1, 2020
3b448f8
Revert "System: update libetpan to 1.9.4"
foxinushka Jul 1, 2020
cda909a
System: bump ICU version to 67
lxbndr Jul 3, 2020
3a7bdb4
Merge pull request #46 from readdle/feature/windows-icu-67
lxbndr Jul 6, 2020
77adca9
System: update libetpan to 1.9.4 #6
livsik Jul 7, 2020
a439ad5
System: update libetpan to 1.9.4 #7
livsik Jul 7, 2020
ae1330f
System: update libetpan to 1.9.4 #8
livsik Jul 8, 2020
332dbae
Dev: fix base64 by line decoding, ignore newline symbols
vs-savchenko Jul 13, 2020
4c63bde
Dev: fix input data iteration
vs-savchenko Jul 14, 2020
93389c9
Merge pull request #48 from readdle/fix/base64-decoding-by-lines
vs-savchenko Jul 14, 2020
523d6e5
Dev: improve windows encodings checks
asavkov Jul 16, 2020
6831054
Dev: update check
asavkov Jul 16, 2020
fa3ce5b
Merge pull request #47 from readdle/fix/etpan194_3
livsik Jul 16, 2020
c9a58b1
Merge pull request #49 from readdle/readdle/win-encodings
asavkov Jul 16, 2020
16481f3
System: adjust build definitoons for latest VC, AB#5537
lxbndr Sep 9, 2020
c516090
Merge pull request #50 from readdle/fix/windows-build-vc-14.27
lxbndr Sep 9, 2020
dcbd274
System: turn on pdb generation
Oct 1, 2020
594b7c8
Merge pull request #51 from readdle/feature/windows-pdb-generation
kgominyuk Oct 2, 2020
f0ef7ff
fix: AB-7181 - Fix encoding processing on Windows
Krizai Oct 21, 2020
82a5105
Merge pull request #52 from readdle/task/AB-7181_encodings_on_windows
Krizai Oct 21, 2020
0e327ba
AB#8334 - update libetpan to rev #298460a2ad, STARTTLS fix
vs-savchenko Nov 16, 2020
9fc4fc1
Merge pull request #53 from readdle/fix/AB-8334-update-libetpan
vs-savchenko Nov 16, 2020
590f6a0
System: switch ctemplate cloning to custom tag for Android
andriydruk Nov 17, 2020
278bbcd
System: switch libetpan cloning to custom tag for Android
andriydruk Nov 17, 2020
5e9571e
Cleanup: remove legacy versioning
andriydruk Nov 17, 2020
3a38419
Dev: fix android ci script
andriydruk Nov 18, 2020
b45d8f6
Merge pull request #54 from readdle/feature/new-dependencies-versioni…
andriydruk Nov 18, 2020
5771e6a
System: update rdtidy dependency
lxbndr Nov 19, 2020
2f7fbd6
Merge pull request #56 from readdle/feature/update-tidy
lxbndr Nov 19, 2020
9878d29
AB#11485 - Update openssl
Krizai Feb 26, 2021
0c9c6f4
Merge pull request #57 from readdle/feature/AB-12461-update-openssl
Krizai Mar 2, 2021
4dca365
AB#11485 - Fix install build step after updating openssl
Krizai Mar 2, 2021
e390af1
Merge pull request #58 from readdle/feature/AB-12461-update-openssl
Krizai Mar 2, 2021
cfc9de6
Add: new architecture and xcframework output for dependencies
lxbndr Apr 16, 2021
3a84d74
System: update dependency versions
lxbndr Apr 16, 2021
030722b
Fix: IMAP session connect on Apple platforms
lxbndr May 6, 2021
798255d
System: update libetpan revisions
lxbndr May 11, 2021
34f6e37
Cleanup: remove commented debug code
lxbndr May 11, 2021
1f8ae14
Merge pull request #59 from readdle/feature/apple-m1-support
lxbndr May 11, 2021
eb19f35
Dev: pass all arguments from wrapper to actual build script
lxbndr Jun 1, 2021
28cd3f8
Add: separate step script for downloading and unpacking prebuilt mail…
lxbndr Jun 1, 2021
5710b46
Fix: don't install mailcore PDBs when install flag not specified
lxbndr Jun 1, 2021
69ce255
Fix: throw instead of success exit when S3 key not specified
lxbndr Jun 1, 2021
92ba148
Dev: switch libetpan to Readdle fork
lxbndr Jun 1, 2021
f696786
Dev: conditionally build or download mailcore
lxbndr Jun 1, 2021
2939eb3
Dev: export git revisions
lxbndr Jun 4, 2021
e538c25
Merge pull request #60 from readdle/feature/AB-16609-use-prebuilt-mai…
lxbndr Jun 7, 2021
bba3033
Fix: add missing library to installation
lxbndr Jun 7, 2021
ac68ba3
Merge pull request #61 from readdle/fix/AB-16609-missing-lib
lxbndr Jun 8, 2021
40518dc
Dev: fix swift 5.4 compilation
andriydruk Jul 29, 2021
356fbc6
Dev: update ctemplate with Swift 5.4
andriydruk Jul 30, 2021
ea65c62
AB#18754 - add 'QResyncCompatible' IMAP session attribute
vs-savchenko Aug 26, 2021
29e6b44
Merge pull request #62 from readdle/fix/AB-19618-qresync
vs-savchenko Aug 26, 2021
41fde9e
Dev: AB-19928 Revert mailimap_ssl_connect_voip for all non windows pl…
andriydruk Sep 1, 2021
6c517be
Update src/core/imap/MCIMAPSession.cpp
andriydruk Sep 2, 2021
d23f251
Merge pull request #63 from readdle/fix/AB-19928-revert-mailimap-ssl-…
andriydruk Sep 2, 2021
d546ba0
System: bump prebuilt win mailcore2 version to 2
lxbndr Sep 7, 2021
0e76e6c
Dev: handle Azure artifacts archive specifics
lxbndr Sep 7, 2021
cf95a15
Merge pull request #64 from readdle/feature/AB-20070-update-prebuilt-…
lxbndr Sep 7, 2021
d2594a9
Merge branch 'spark2' into feature/swift-5.4
andriydruk Dec 16, 2021
7de0c08
Dev: fix arch folder for include
andriydruk Dec 21, 2021
3d8e43b
Dev: add prepare environment
andriydruk Dec 21, 2021
bb5df59
Dev: remove old TOOLCHAINS from build script
andriydruk Dec 21, 2021
902b9e3
Dev: fix timezone for Android emulator
andriydruk Dec 21, 2021
f8dc6c2
Merge pull request #65 from readdle/feature/swift-5.4
andriydruk Mar 6, 2022
3cc28f9
Fix: make curl fail when prebuilt depdendency fails to download
lxbndr Apr 12, 2022
c92f9c3
Merge pull request #66 from readdle/fix/handle-prebuild-download-fail
lxbndr Apr 12, 2022
3b4905d
Dev: add providers.json to MailCore.resources bundle on Windows
Apr 18, 2022
956a038
Merge pull request #67 from readdle/fix/win-yahoo-login
lxbndr Apr 19, 2022
88a7e98
Dev: update OpenSSL 1.1.1 for Android
andriydruk Jun 27, 2022
2e66dea
Merge pull request #68 from readdle/feature/AB-26450-update-open-sll-…
andriydruk Jun 27, 2022
75ed1e0
System: update local podspec
lxbndr Jun 30, 2022
9a463ad
Dev: update Android swift toolchain to 5.4R3
andriydruk Jul 13, 2022
1326807
Dev: rename prepare android env script
andriydruk Jul 13, 2022
b8198b2
Dev: restore LosAngeles timezone
andriydruk Jul 13, 2022
f72c387
Merge pull request #71 from readdle/fix/update-android-ci-scripts
andriydruk Jul 13, 2022
b03e044
fix: prefer `koi8-r` encoding to `iso-8859-1` when `hintCharset` equa…
Subuday Jul 15, 2022
c759e82
Merge pull request #72 from readdle/fix/AB-32036-incorrect-encoding
Subuday Jul 19, 2022
8cf4bb2
System: update ICU version to 69
foxinushka Aug 30, 2022
15f1f57
Dev: make isVoIPEnable mutable AB#35224.
OleksiiShvachenko Sep 15, 2022
ed666d1
Merge pull request #73 from readdle/feature/AB-35224-control-voip-par…
OleksiiShvachenko Sep 15, 2022
d8a5f35
Dev: add whitespaces to skipcharacter list AB#44546
OleksiiShvachenko Mar 17, 2023
96f8c51
Merge pull request #74 from readdle/feature/AB-44546-update-base64-de…
OleksiiShvachenko Mar 17, 2023
b77d3fb
Dev: ignore whitespaces in the begging of the line AB#44546
OleksiiShvachenko Mar 20, 2023
1f87948
Dev: delete all leading whitespaces at the beginning of new line AB#4…
OleksiiShvachenko Mar 20, 2023
d4a0478
Dev: simplify logic AB#44546
OleksiiShvachenko Mar 21, 2023
3d1b684
Merge pull request #75 from readdle/feature/AB-44546-update-base64-de…
OleksiiShvachenko Mar 21, 2023
7e85f58
Fix: unguarded multithread access to the completionBlock in the MCOIM…
lxbndr Mar 31, 2023
a5abd3f
System: update podspec
lxbndr Mar 31, 2023
eef7613
Dev: remove unnecessary locking in deinit, AB#45349
lxbndr Mar 31, 2023
e6011d5
Dev: remove unnecessary assign in deinit, AB#45349
lxbndr Mar 31, 2023
334df1b
Merge pull request #76 from readdle/fix/AB-43959-search-op-crashes
lxbndr Apr 3, 2023
70f3400
System: update libetpan dependency AB#48861
OleksiiShvachenko Jun 9, 2023
257e538
Merge pull request #77 from readdle/feature/AB-48861-fix-ios17-crash
OleksiiShvachenko Jun 9, 2023
0d51f8f
System: download zlib dependency from prebuilt storage
lxbndr Oct 24, 2023
d275b9f
Merge pull request #78 from readdle/fix/AB-55766-mailcore2-win-build
lxbndr Oct 24, 2023
026dbe9
Dev: fix ICU library names for Swift Android 5.7 and update min versi…
andriydruk Aug 30, 2023
953e634
Dev: disable iconv cause it crash on iOS 17.1 and macOS 14.1
OleksiiShvachenko Nov 7, 2023
b4a4350
Merge pull request #79 from readdle/fix/AB-56098-disable-iconv
lxbndr Nov 7, 2023
a01d1dc
Merge pull request #80 from readdle/feature/android-swift-5.7
andriydruk Dec 4, 2023
39401f4
Dev: adopt new Swift toolchain/SDK on Windows
lxbndr Dec 13, 2023
69c491d
Dev: switch to VS 2022 toolset
lxbndr Dec 13, 2023
3a1574e
Dev: adjust build for new build system and vs2022
lxbndr Dec 13, 2023
36bd30d
Fix: downloading prebuilt mailcore
lxbndr Dec 13, 2023
9cb67db
Dev: faster prebuilt archive expanding
lxbndr Dec 13, 2023
755509c
Dev: do not vendor export libraries
lxbndr Dec 13, 2023
0b884e8
Dev: move swift 5.10 build scripts to dedicated folder, AB#57642
lxbndr Dec 13, 2023
527b2fb
Cleanup: whitespaces, remove unnecessary files
lxbndr Dec 13, 2023
4820859
Merge pull request #81 from readdle/feature/AB-55698-swift-5.10-windows
lxbndr Dec 13, 2023
47a120b
Dev: add spm support for Android
andriydruk Jan 16, 2024
839403e
Dev: add SPM support for macOS/iOS
andriydruk Jan 25, 2024
568ac0c
Dev: rollback android data
andriydruk Feb 5, 2024
3ab696f
Dev: fix crash in unittest
andriydruk Jan 25, 2024
bb924de
Dev: fix unittest
andriydruk Feb 6, 2024
69bf0ee
Dev: add CI checks
andriydruk Feb 7, 2024
9ed841e
Dev: reconfigure libetpan with poll
andriydruk Feb 7, 2024
a21ed18
Dev: add dynamic library type for mailcore2
andriydruk Feb 7, 2024
2bd7168
Dev: remove swift-install support for this repo
andriydruk Mar 4, 2024
028f8e0
Fix: AB#64400 - Gmail SMTP certificate issue
andriydruk Mar 15, 2024
afa4fa0
Fix: AB#64400 - Gmail SMTP certificate issue
andriydruk Mar 15, 2024
01efb8d
Merge pull request #83 from readdle/fix/AB-64400-gmail-smtp-certifica…
andriydruk Mar 15, 2024
e45c2a4
Merge pull request #84 from readdle/fix/AB-64400-gmail-smtp-certifica…
asavkov Mar 18, 2024
9a7077a
Dev: fix unsigned char issue on Android
andriydruk Apr 30, 2024
5babf8c
System: use `#filePath` instead of `#file` in Package manifest, AB#67912
lxbndr May 14, 2024
94eb84d
System: update libetpan
lxbndr May 14, 2024
3adb81f
System: use fixed file lists in swift package, AB#67912
lxbndr May 14, 2024
140664a
Merge branch 'spark2' into feature/spm-support
lxbndr Jun 25, 2024
40a54af
System: update libetpan
lxbndr Jul 29, 2024
8fa1a49
Dev: try public macos runner for CI
lxbndr Jul 31, 2024
5b1f5de
Dev: try public macos runner for iOS CI
lxbndr Jul 31, 2024
4363fa4
Dev: actually change runner requirements for iOS
lxbndr Jul 31, 2024
7d3c355
Dev: try public macos runner for Android CI
lxbndr Jul 31, 2024
1a7d6ac
Dev: merge iOS and macOS checks into one with matrix
lxbndr Jul 31, 2024
129432e
System: bump libetpan version
lxbndr Jul 31, 2024
5eb7ade
Dev: put back android CI workload into the script
lxbndr Aug 1, 2024
2d12030
Dev: use xcbeautify for reporting
lxbndr Aug 1, 2024
2161423
Dev: fix timezone in CI android emulator
andriydruk Aug 5, 2024
ee2835b
Test: log providers.json loading
lxbndr Aug 9, 2024
e5cf7a1
Dev: include providers.json into package resources
lxbndr Aug 9, 2024
7898895
Dev: adjust resource loading for swift package
lxbndr Aug 9, 2024
9ec0fad
Cleanup: debug logging
lxbndr Aug 9, 2024
28a4bc1
System: update libetpan
lxbndr Aug 18, 2024
31b2be6
Merge pull request #85 from readdle/feature/spm-support-debug
lxbndr Aug 19, 2024
67d5ce5
Fix: emails with koi8-u encoding (composed in Outlook) AB#74787
OleksiiShvachenko Sep 30, 2024
d5f1420
Merge pull request #87 from readdle/fix/AB-74787-ukrainian-encoding
OleksiiShvachenko Sep 30, 2024
44c6332
System: update dependencies to tagged versions
lxbndr Oct 28, 2024
cc487f9
Merge pull request #88 from readdle/feature/spm-support
lxbndr Oct 29, 2024
437fee7
Dev: add additional headers support AB#74702
OleksiiShvachenko Nov 7, 2024
65cc401
Dev: update libetpan dependencies AB#74702
OleksiiShvachenko Nov 11, 2024
95d5add
Dev: update libetpan dependencies AB#70702
OleksiiShvachenko Nov 12, 2024
42838da
Refactor: rename useAdditionalHeaders to useXAttachmentId
OleksiiShvachenko Nov 12, 2024
3a92b56
Merge pull request #89 from readdle/fix/AB-74702-add-additional-headers
OleksiiShvachenko Nov 12, 2024
ea907d1
Fix: filename redaclaration AB#74702
OleksiiShvachenko Nov 12, 2024
3335255
Merge pull request #90 from readdle/fix/AB-74702-redeclaration
OleksiiShvachenko Nov 12, 2024
c37e4aa
Fix: windows dependencies
OleksiiShvachenko Nov 13, 2024
ca293cf
Merge pull request #91 from readdle/fix/AB-74702-windows-build
OleksiiShvachenko Nov 13, 2024
6b8ca26
Dev: add swift6 support for Android
andriydruk Jan 22, 2025
6b4edc7
System: bump libetpan to 1.9.3-readdle.7
lxbndr Mar 31, 2025
7158702
System: bump libetpan to 1.9.3-readdle.8 (Android compatibility)
lxbndr Mar 31, 2025
b53a85e
Merge branch 'spark2' into swift6-android
andriydruk Apr 4, 2025
a05452e
Dev: update android CI check
andriydruk Apr 10, 2025
5ea8664
Dev: update timezone in test to America/Los_Angeles
andriydruk Apr 12, 2025
4ecf660
Merge pull request #92 from readdle/swift6-android
andriydruk Apr 12, 2025
af2eb59
Dev: rollback to old libxml in Android toolchain
andriydruk Dec 13, 2025
a2e7675
Dev: update libetpan
andriydruk Dec 16, 2025
e1bfa9e
System: upgrade Android CI and build scripts to Swift 6.2
andriydruk Mar 7, 2026
2a8c007
System: update iOS test destination to iPhone 17 / iOS 26.2
andriydruk Mar 7, 2026
add9835
System: pin libetpan dependency to exact version
andriydruk Mar 7, 2026
bc2526e
Merge pull request #94 from readdle/swift-6.2-android
andriydruk Mar 7, 2026
520f54c
Update tidy-html5 dependency without deprecated headers
kyrylokhlopko Mar 30, 2026
0b28539
Merge pull request #95 from readdle/readdle/feature/tidy-html5-warnings
kyrylokhlopko Mar 30, 2026
4cc613c
Win32: open files by UTF-8 paths through wide-char CRT wrappers
OleksiiShvachenko Aug 27, 2026
72c919b
Win32: include io.h before the CRT wrapper macros
OleksiiShvachenko Aug 27, 2026
e521317
Merge pull request #96 from readdle/feature/DSK-658-support-non-ascii
OleksiiShvachenko Aug 28, 2026
ff0d459
Dev: bump Windows prebuilt to mailcore2-all-5 with DSK-658 non-ASCII …
OleksiiShvachenko Aug 28, 2026
89d4901
Merge pull request #97 from readdle/fix/DSK-658-bump-version
OleksiiShvachenko Aug 28, 2026
35726c2
Dev: add instruction how build mailcore for windows DSK-658
OleksiiShvachenko Aug 28, 2026
bc3dbea
Merge pull request #98 from readdle/feature/DSK-658-build-info
OleksiiShvachenko Aug 28, 2026
d1e8105
System: make MailCore2 independent from AWS COR-181
dbezverkhnii Sep 1, 2026
d1c291e
System: make MailCore2 independent from AWS COR-181
dbezverkhnii Sep 1, 2026
e44c2f7
System: make MailCore2 independent from AWS COR-181
dbezverkhnii Sep 1, 2026
147acf5
Merge pull request #104 from readdle/feature/COR-181-make-mailcore2-i…
dbezverkhnii Sep 1, 2026
da8a75b
Add: IMAP interrup command support COR-173
dbezverkhnii Sep 1, 2026
60946bb
Merge pull request #105 from readdle/feature/COR-173-imap-interrup-co…
dbezverkhnii Sep 1, 2026
271b9c1
Ensure checking SSL Certificate in IMAP StartTLS.
haithngn Feb 18, 2021
9b4b1c0
Merge pull request #106 from readdle/feature/COR-186-cherry-pick-imap…
dbezverkhnii Sep 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .arcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"phabricator.uri" : "https://phabricator.readdle.com/"
}
113 changes: 113 additions & 0 deletions .github/workflows/pull-request-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
name: Pull Request Check

on: pull_request

defaults:
run:
shell: zsh -l {0} # Use zsh iwth login as default shell

concurrency:
group: ${{ github.ref }}
cancel-in-progress: true

jobs:

Android:
name: "mailcore2 - Android"
runs-on: macos-latest

steps:
- uses: actions/checkout@v4

- name: Select Xcode 26.2
run: sudo xcode-select -s /Applications/Xcode_26.2.app

- name: Install Swift 6.2.1 toolchain
run: |
curl -L -O https://download.swift.org/swift-6.2.1-release/xcode/swift-6.2.1-RELEASE/swift-6.2.1-RELEASE-osx.pkg
sudo installer -pkg swift-6.2.1-RELEASE-osx.pkg -target /

- name: Install Swiftly shim
run: |
# The Readdle Gradle plugin invokes "swiftly run +6.2 swift build ..."
# Swiftly's install script does not support macOS 15 yet, so we create
# a shim that delegates to the Swift 6.2.1 toolchain (must match the
# SDK's module version exactly).
SWIFT_621="/Library/Developer/Toolchains/swift-6.2.1-RELEASE.xctoolchain/usr/bin"
mkdir -p ~/.swiftly/bin
cat > ~/.swiftly/bin/swiftly << SHIM
#!/bin/bash
if [ "\$1" = "run" ]; then
shift 2
exec env PATH="$SWIFT_621:\$PATH" "\$@"
fi
exec "\$@"
SHIM
chmod +x ~/.swiftly/bin/swiftly
echo "$HOME/.swiftly/bin" >> $GITHUB_PATH

- name: Install Readdle Swift Android SDK
run: |
swift sdk install https://github.com/readdle/swift-android-toolchain/releases/download/6.2-r1/readdle-swift-6.2.1-RELEASE_android.artifactbundle.tar.gz \
--checksum 2057ecd9cf71fcd9beaded08d370f4815f867983c073f2d0010796aefdf8c2f1
~/Library/org.swift.swiftpm/swift-sdks/readdle-swift-6.2.1-RELEASE_android.artifactbundle/swift-android/scripts/setup-android-sdk.sh

- name: Install Swift Android Build Tools
run: |
git clone https://github.com/readdle/swift-android-buildtools.git ~/swift-android-buildtools
echo "$HOME/swift-android-buildtools" >> $GITHUB_PATH

- name: Run connected android tests
run: swift-android build --build-tests

Windows:
name: "mailcore2 - Windows prebuilt"
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
contents: read

# There is no Windows CI: the C/C++ for Windows is built by hand and published as a release
# asset named after a digest of the sources. This job does not build anything - it only asks
# whether the archive for these sources exists, so that a forgotten upload is caught in the
# pull request instead of in the spark-core build days later. The digest is a hash of git
# tree entries, identical on every platform, so a Linux runner answers it in seconds.
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 2 # the pull request merge commit and both of its parents

- name: Check that a prebuilt is published for these sources
shell: pwsh
env:
GH_TOKEN: ${{ github.token }}
run: ./build-windows-5.10/Check-PrebuiltPublished.ps1

Darwin:
name: "mailcore2 - ${{ matrix.os }}"
runs-on: macos-latest
timeout-minutes: 60

strategy:
matrix:
os: [macOS, iOS]
include:
- os: macOS
os_lowercased: macos
- os: iOS
os_lowercased: ios

steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Run tests
run: ./build-scripts/test-${{ matrix.os_lowercased }}.sh
- name: Publish Report
uses: mikepenz/action-junit-report@v3
if: failure()
with:
report_paths: .build/reports/junit.xml
check_name: mailcore2 - ${{ matrix.os }} - Report
detailed_summary: true
include_passed: true
13 changes: 12 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ DerivedData
*.hmap
*.xcuserstate
*.xccheckout
build-mac/mailcore2.xcodeproj/project.xcworkspace/xcshareddata

#CocoaPods
Pods
Expand All @@ -33,7 +34,6 @@ Podfile.lock
*.opensdf
*.suo
Externals
build-mac/mailcore2.xcodeproj/project.xcworkspace/xcshareddata
build-windows/include
build-windows/_headers_depends
build-windows/mailcore2/Debug
Expand All @@ -48,4 +48,15 @@ build-windows/mailcore2/test/Release
build-windows/mailcore2/test/x64/Release
build-windows/mailcore2/test/Debug
build-windows/mailcore2/test/x64/Debug
build-windows/mailcore2/mailcore2/mailcore2.vcxproj.user
cocoapods-build
*.aar
.build
.vs

LinuxMain.swift
third-party
test.log
junit.xml
.build-ios
ndk-stack.log
15 changes: 15 additions & 0 deletions .sourcery.LinuxMain.stencil
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import XCTest
{{ argument.testimports }}

{% for type in types.classes|based:"XCTestCase" %}
{% if not type.annotations.disableTests %}extension {{ type.name }} {
static var allTests = [
{% for method in type.methods %}{% if not method.annotations.disableTest and method.parameters.count == 0 and method.shortName|hasPrefix:"test" %} ("{{ method.shortName }}", {{ method.shortName }}),
{% endif %}{% endfor %}]
}

{% endif %}{% endfor %}

XCTMain([
{% for type in types.classes|based:"XCTestCase" %}{% if not type.annotations.disableTests %} testCase({{ type.name }}.allTests),
{% endif %}{% endfor %}])
9 changes: 9 additions & 0 deletions .sourcery.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# This is config file for sourcery, just run `sourcery` in this folder
sources:
- unittest
templates:
- .sourcery.LinuxMain.stencil
output:
LinuxMain.swift
args:
testimports: '@testable import MailCoreTests'
1 change: 0 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,3 @@ os:
language: c++
before_script: scripts/travis/before-script.sh
script: scripts/travis/script.sh
osx_image: xcode7
98 changes: 98 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# Working in this repository

This is Readdle's fork of MailCore 2. Most of it is the upstream C++ library; the parts we
maintain are the C wrapper (`src/c`), the Swift bindings (`src/swift`) and the Windows build
under `build-windows-5.10`.

## Publishing the Windows prebuilt

Spark's Windows build does not compile the mailcore2 C++ from source. It downloads an archive
whose name is derived from the content of the C/C++ sources, so **sources that were never built
simply have no archive** and the Spark build says so:

```
Prebuilt MailCore not found: mailcore2-windows-<digest>.zip
Have you built and uploaded it yet?
```

There is no Windows CI. The `mailcore2 - Windows prebuilt` pull-request check asks the same
question earlier, on every pull request, and goes red when the answer is no. Either way,
someone has to build and publish from a Windows machine — that is what "build and upload the
Windows changes" means.

You can ask the same question yourself, from anywhere, without a Windows machine:

```powershell
pwsh ./build-windows-5.10/Check-PrebuiltPublished.ps1
```

### The whole procedure

On a Windows build machine, in a checkout of this repository **at the revision that needs the
prebuilt** (a branch head, a tag, anything committed):

```powershell
.\build-windows-5.10\Publish-Mailcore2Prebuilt.ps1
```

That is the entire job. It computes the digest, exits early if that archive already exists,
fetches the dependency archive, clears the previous build output, builds through
`Build-Mailcore2.ps1`, stamps the digest, packages, verifies the package, and adds it to the
release.

**Do not commit anything to mailcore2 afterwards.** The archive is named after the sources, so
the revision that needs it will find it. Committing, opening the PR and tagging are the
developer's job, not the agent's.

### The release

Archives live on the permanent `windows-prebuilt` release, set up by hand once.
`Publish-Mailcore2Prebuilt.ps1` only adds `mailcore2-windows-<digest>.zip` to it. If it is
somehow missing, say so rather than creating one.

### Requirements

The same machine that has always built mailcore2 for Windows: the toolchain the build expects
(Swift for Windows, VS 2022 Build Tools, the Windows SDK) and the internal RD PowerShell
modules. Nothing about the build changed.

What did change: no AWS credential. `SPARK_PREBUILT_KEY` is gone, and the three binaries it
used to fetch travel as one public asset on the release. Publishing additionally needs `gh`
authenticated as a user with write access (`gh auth login`).

The working tree must be committed. The digest describes `HEAD`, so uncommitted changes under
`src` (excluding `src/swift`), `CMakeLists.txt` or `build-windows-5.10` make the script refuse
to run.

### When it fails

- *Uncommitted changes under …* — commit them first, or test locally by passing
`-BuildMailcore2` to `Build-SwiftMailcore.ps1` instead of publishing.
- *The windows-prebuilt release does not exist* — ask the developer; see "The release" above.
- *Could not download the dependency archive* — `mailcore2-windows-deps-<n>.zip` carries
openssl, sasl and zlib and is attached to the release by hand. If it is not there, ask the
developer to attach it. The message names the path a local copy can be dropped at instead.
- *GitHub CLI is not authenticated* — `gh auth login`. Do not work around this with a token
pasted into the shell.
- Anything about ICU, libxml2 or the toolchain — that is the build machine's setup, unchanged by
this flow. Do not try to install or relocate it.

### What not to do

- Do not edit the archive by hand or upload one built from an uncommitted tree.
- Do not delete a published `mailcore2-windows-<digest>.zip`: revisions that were built against
it keep downloading it by name. Re-uploading the *same* digest after a rebuild is the only
legitimate replacement, and `-Force` exists for exactly that.
- Do not create the release or attach the dependency archive. Both are the developer's.
- Do not add a version number anywhere. The digest replaced it; there is nothing to bump.

### What the digest covers

`src` (without `src/swift`), `CMakeLists.txt`, and `build-windows-5.10` — the scripts included,
because they decide what gets compiled, which project files and redistributables get copied in,
and what ends up in the package. So there is no way to change the contents of an archive without
changing its name.

The price is the other direction: editing any script here, even a message or the pull-request
check, produces a new digest and asks for a rebuild. Expect that, and prefer to land script edits
together with whatever else needs republishing.
Loading
Loading