cketti
462736e0d6
IMAP: Add support for untagged COPYUID responses
2023-12-02 18:31:53 +01:00
cketti
4e344b13b9
Convert UidCopyResponseTest
to Kotlin
2023-12-02 00:51:25 +01:00
cketti
68c1180e77
Rename .java to .kt
2023-12-02 00:51:25 +01:00
cketti
fdbfb06d07
Convert UidCopyResponse
to Kotlin
2023-12-02 00:51:22 +01:00
cketti
2516846945
Rename .java to .kt
2023-12-02 00:15:48 +01:00
cketti
6500e16fd9
Remove unused import
2023-11-28 14:02:35 +01:00
cketti
68eec72c7b
Merge pull request #7381 from thunderbird/add_MissingCapabilityException
...
Add `MissingCapabilityException`
2023-11-28 12:21:09 +01:00
cketti
f79db8e28d
Add MissingCapabilityException
2023-11-27 18:49:52 +01:00
cketti
122eac0b57
Use AuthenticationFailedException
when appropriate
2023-11-27 15:29:37 +01:00
cketti
b4ef2fb15b
IMAP: Use MOVE command if available
2023-11-20 17:39:46 +01:00
cketti
8b66b04692
IMAP move operation should ignore expunge policy
...
Because the original IMAP specification doesn't include a move operation, we implement it as copy, followed by deleting the source message. Deleting messages in IMAP is a two stage process. First a message is marked as deleted, then the EXPUNGE command is issued. However, the EXPUNGE command will remove all messages in a folder marked as deleted. For a move operation, we don't want to remove other messages, and therefore won't issue the EXPUNGE command. However, if the server supports the UIDPLUS extension, we can specify which messages exactly should be expunged. So if that extension is available, we will use the UID EXPUNGE command on the source message of a move operation.
Since the EXPUNGE command removes all messages marked as deleted, K-9 Mail has a setting that controls when the command is issued (when deleting a message, when polling, manually via a menu option). Previously this setting was also used for move operations. However, that probably should have never been the case.
2023-11-18 18:09:08 +01:00
cketti
1de41d9177
Add FolderFetcher
2023-11-10 22:24:15 +01:00
Wolf-Martell Montwé
7565bb8e66
Fix max-line-length issues manually as auto format does fail
2023-11-07 10:40:08 +01:00
cketti
77ff16bcf7
IMAP: Add app version to ID command
2023-11-02 17:56:55 -04:00
Wolf-Martell Montwé
e9535ecdaa
Bump Spotless 6.14.0 -> 6.21.0 and KtLint 0.48.2 -> 0.50.0, and reformat/fix code
2023-09-06 18:13:23 +02:00
cketti
8e7a5f3541
Add an AuthStateStorage
parameter to ServerSettingsValidator
...
Typically we use `Account` to hold the (OAuth 2.0) authorization state. But during account setup we don't have an `Account` instance yet. So we allow a `ServerSettingsValidator` caller to pass an `AuthStateStorage` that we then use with `OAuth2TokenProviderFactory` to create an `OAuth2TokenProvider` instance. When setting up an account we can use an `AuthStateStorage` implementation that will simply hold the state in memory.
2023-07-29 23:36:02 +02:00
cketti
2706107519
Add ImapServerSettingsValidator
2023-06-23 17:20:06 +02:00
cketti
1e42e92b1b
Include more information in IMAP-specific ServerSettings
...
The additional properties are necessary to validate server settings.
2023-06-23 17:13:22 +02:00
cketti
8143ae53ec
Add responseText
property to NegativeImapResponseException
2023-06-23 14:11:30 +02:00
cketti
3abe666bd3
Convert NegativeImapResponseException
to Kotlin
2023-06-23 14:11:30 +02:00
cketti
289eadd575
Rename .java to .kt
2023-06-23 14:11:30 +02:00
cketti
ff31f79dc2
Fetch List-Post
header when downloading partial message
2023-06-20 15:04:43 +02:00
cketti
ef498c60e4
Update assertk to version 0.26
2023-05-16 17:20:25 +02:00
cketti
5498567bf2
Switch assertions to assertk
2023-05-14 13:00:28 +02:00
cketti
07d2a42a4d
Add tests for sending the IMAP ID command
2023-04-26 14:58:44 +02:00
Self Not Found
f2ce1fe344
IMAP: Add support for sending ID command with app name
2023-04-26 14:58:44 +02:00
Wolf Montwé
71079908aa
Bump Gradle 8.0.2 -> 8.1.1 and remove suppress dsl scope violation
2023-04-25 17:21:58 +02:00
cketti
98b59f1709
Fix bugs in ImapResponseParser
2023-04-19 19:36:31 +02:00
cketti
7ba404dd21
Clean up ImapResponseParserTest
2023-04-11 14:37:23 +02:00
cketti
5d030c0ccd
Convert ImapResponseParserTest
to Kotlin
2023-04-05 21:00:55 +02:00
cketti
aeedd17e1c
Rename .java to .kt
2023-04-05 21:00:55 +02:00
Wolf Montwé
cbf1a8fa78
Change imap module to assertk
2023-03-21 14:00:23 +01:00
Wolf Montwé
b4b6b841a0
Convert ImapCommandSplitterTest to Kotlin
2023-03-21 13:57:58 +01:00
Wolf Montwé
6059ca9c54
Rename ImapCommandSplitterTest.java to ImapCommandSplitterTest.kt
2023-03-21 13:57:58 +01:00
cketti
76b52d17ac
IMAP: Ignore errors during LOGIN fallback and throw original exception
2023-03-17 14:37:53 +01:00
cketti
7e5022ef36
IMAP: Put server response text in AuthenticationFailedException
2023-03-15 19:04:50 +01:00
Wolf Montwé
00b7bf45d7
Change truth testing library to legacy and only allow usage in old modules
2023-03-14 12:20:55 +01:00
Wolf Montwé
22d8e4b924
Change build files from Groovy to Kotlin
2023-02-23 14:52:16 +01:00
Wolf Montwé
96e2784b22
Rename build.gradle files to build.gradle.kts
2023-02-23 14:52:15 +01:00
Wolf Montwé
29d5220995
Add trailing comma allowance to code style
2023-02-17 16:14:13 +01:00
Wolf Montwé
45da12646b
Change to jvm build plugin
2023-02-15 17:40:57 +01:00
Wolf Montwe
1854a2c911
Change Kotlin code format
2023-02-03 17:23:57 +01:00
cketti
2618664c4f
Fetch BCC header when only partially downloading a message
2023-02-01 22:37:39 +01:00
cketti
6762b2c488
IMAP: Add Sender
to list of headers to fetch by default
2023-01-24 18:21:51 +01:00
cketti
1052bd07c7
Rename some Gradle version catalog entries
2023-01-16 14:49:14 +01:00
Bastian Wilhelm
a3f6995a2e
Migrate to Gradle's version catalog
2023-01-16 14:49:14 +01:00
Goooler
4b0567744d
Cleanup
2022-12-07 19:21:12 +01:00
Goooler
d4055ea252
Configure java extensions in allprojects
2022-12-07 19:04:23 +01:00
cketti
77756e56da
Add support for search in recipient addresses
2022-11-28 18:16:45 +01:00
cketti
05d0038a67
Don't wrap exceptions when trying to connect to IMAP/SMTP servers
2022-11-01 11:47:05 +01:00