Commit graph

325 commits

Author SHA1 Message Date
cketti
e24cbaaddb Map IMAP advanced settings when creating ServerSettings 2023-07-13 16:29:32 +02:00
cketti
cb78d34610 Add "Send client ID" to incoming server settings (IMAP) 2023-07-12 15:50:00 +02:00
cketti
30a248444f
Merge pull request #7047 from thundernest/fix_MiniDnsMxResolver
MX lookup: Avoid exception when domain couldn't be resolved
2023-07-10 12:36:08 +02:00
cketti
6394599ae3 MX lookup: Avoid exception when domain couldn't be resolved 2023-07-04 14:28:20 +02:00
cketti
07ccf3b0cb Use AuthenticationType when creating outgoing ServerSettings 2023-07-03 18:24:42 +02:00
cketti
89b590b46d Hide username field in outgoing server settings when not needed 2023-07-03 18:19:16 +02:00
cketti
ba07e162e4 Hide password field in outgoing server settings when not needed 2023-07-03 18:16:49 +02:00
cketti
37ea82bd8f Don't show OAuth 2.0 option for POP3 accounts 2023-07-03 18:00:56 +02:00
cketti
0f6a50df73 Use AuthenticationType when creating ServerSettings 2023-07-03 18:00:56 +02:00
cketti
e80a02579a Hide password field in incoming server settings when not needed 2023-07-03 17:59:00 +02:00
Wolf-Martell Montwé
1aa69635f5
Add launch import settings 2023-07-03 15:30:57 +02:00
Wolf-Martell Montwé
6cfd9481aa
Move AccountSetupFinishedLauncher to feature launcher 2023-07-03 10:21:14 +02:00
Wolf-Martell Montwé
b9e9dced5d
Move OkHttp dependency injection to account setup 2023-06-30 13:18:18 +02:00
Wolf-Martell Montwé
4cd261dcc7
Add feature launcher module to add host activity for composable views 2023-06-30 13:18:18 +02:00
Wolf-Martell Montwé
d5c3cf3bf8
Merge pull request #7032 from thundernest/add_account_creation
Add account creation
2023-06-30 12:31:21 +02:00
Wolf-Martell Montwé
fe180f282d
Add createAccount use case to account setup 2023-06-30 12:13:16 +02:00
Wolf-Martell Montwé
ece413d9a2
Cleanup account options 2023-06-30 12:04:27 +02:00
Wolf-Martell Montwé
5c076d4f69
Change AccountSetupExternalContract to suspend and wrap IO operations with coroutine IO dispatcher 2023-06-30 12:04:27 +02:00
Wolf-Martell Montwé
32a8f23dc7
Add create account use case 2023-06-30 12:04:27 +02:00
Wolf-Martell Montwé
1c142876d0
Add AccountOptions and state mapper 2023-06-30 12:04:27 +02:00
Wolf-Martell Montwé
5384350689
Add AccountCreator as external dependency for the account setup 2023-06-30 12:04:27 +02:00
cketti
176a1e5bb7 Add authentication type to outgoing server settings screen 2023-06-29 17:46:12 +02:00
cketti
7156b92187
Merge pull request #7035 from thundernest/add_incoming_authentication_type
Add authentication type to incoming server settings screen
2023-06-29 17:02:24 +02:00
Wolf-Martell Montwé
88a4b7913f
Add AccountOwnerNameProvider 2023-06-29 12:24:28 +02:00
Wolf-Martell Montwé
dbdbb25cdb
Add AccountSetupFinishedLauncher 2023-06-29 12:24:28 +02:00
Wolf-Martell Montwé
10aab087dd
Fix lint issues 2023-06-29 12:23:35 +02:00
cketti
d677c542ef Add authentication type to incoming server settings screen 2023-06-28 15:19:09 +02:00
cketti
5c445256b0 Remove unnecessary elements from outgoing server settings screen 2023-06-28 14:33:42 +02:00
cketti
e43ea29378 Use "imap" prefix for "useCompression" properties 2023-06-28 14:30:16 +02:00
cketti
428b586c88 Only display "use compression" option for IMAP 2023-06-28 14:26:15 +02:00
Wolf-Martell Montwé
780b1c4430
Fix imports 2023-06-27 13:51:28 +02:00
Wolf-Martell Montwé
ff28886001
Add checkSettings with loading, error and success states to outgoing config 2023-06-27 13:10:46 +02:00
Wolf-Martell Montwé
613c2a3b6b
Add AccountOutgoingConfigStateMapper that maps to server settings 2023-06-27 12:26:03 +02:00
Wolf-Martell Montwé
9acfe184e0
Add AccountOutgoingStringMapper 2023-06-27 12:16:33 +02:00
Wolf-Martell Montwé
56abe2f23c
Add error message mapping 2023-06-27 12:14:33 +02:00
Wolf-Martell Montwé
e49d9e5c5e
Add checkSettings with loading, error and success states to incoming config 2023-06-27 11:43:39 +02:00
Wolf-Martell Montwé
22d1784d60
Add SuccessView 2023-06-27 11:43:38 +02:00
Wolf-Martell Montwé
0a047a1e13
Change import 2023-06-27 11:43:38 +02:00
Wolf-Martell Montwé
d51a33ec3c
Add incoming settings check 2023-06-27 11:43:38 +02:00
Wolf-Martell Montwé
ea8c0beb5c
Add server config validation use cases and change check interface to SAM 2023-06-27 11:33:46 +02:00
Wolf-Martell Montwé
8e99d69442
Add MailConnectionSecurity 2023-06-26 16:59:47 +02:00
Wolf-Martell Montwé
1429327c69
Extract GetOAuthRequestIntent into own use case for use in the new account flow 2023-06-26 14:06:34 +02:00
Wolf-Martell Montwé
c12ac2fecd
Add app auth dependency to OAuth module 2023-06-23 11:57:30 +02:00
Wolf-Martell Montwé
526a6fe933
Refactor SuggestServerName 2023-06-23 11:46:05 +02:00
Wolf-Martell Montwé
03772c6a5c
Rename to SuggestServerName 2023-06-23 11:42:28 +02:00
Wolf-Martell Montwé
a56ca2cbdc
Change ServerNameSuggesterTest to Kotlin
Signed-off-by: Wolf-Martell Montwé <wolf@thunderbird.net>
2023-06-23 11:27:37 +02:00
Wolf-Martell Montwé
507da47b06
Rename .java to .kt
Signed-off-by: Wolf-Martell Montwé <wolf@thunderbird.net>
2023-06-23 11:26:59 +02:00
Wolf-Martell Montwé
bbfc232975
Add feature:account:oauth module and move ServerNameSuggester there 2023-06-23 11:24:45 +02:00
Wolf-Martell Montwé
00148f1a99
Change OAuth to not use OAuthProvider enum and delegate configuration creation to the app 2023-06-21 14:05:28 +02:00
Wolf-Martell Montwé
e64d030d22
Refactor OauthConfiguration to be placed in common module with added OAuthProvder and OAuthProviderSettings 2023-06-20 15:17:47 +02:00
Wolf-Martell Montwé
9e0f1bd815
Resolve app.core dependency blocking oauth extraction 2023-06-20 15:17:45 +02:00
Wolf-Martell Montwé
141dd0974c
Resolve app.testing dependency blocking oauth extraction 2023-06-20 14:57:44 +02:00
Wolf-Martell Montwé
b826961287
Add AccountAutoDiscoveryStateMapper and propagate to other view models 2023-06-20 14:32:44 +02:00
Wolf-Martell Montwé
d2685dbede
Add AutoDiscovery IncomingServerSettings and ConnectionSecurity mapping 2023-06-20 13:24:31 +02:00
Wolf-Martell Montwé
45f52bd68e
Add events to propagate finished states 2023-06-20 13:24:31 +02:00
Wolf-Martell Montwé
a898491c6b
Merge pull request #6986 from thundernest/change_account_setup_back_behaviour
Change account setup back behaviour
2023-06-20 13:01:00 +02:00
cketti
bf73b0a787
Merge pull request #6987 from thundernest/relaxed_email_address
Change `EmailAddressParser` to support addresses violating the specification
2023-06-16 14:59:44 +02:00
cketti
656a9d3862 Use relaxed mode to parse email addresses from message headers 2023-06-15 19:32:56 +02:00
Wolf-Martell Montwé
f97476b134
Add BackHandler to delegate back navigation to view model 2023-06-15 18:33:59 +02:00
Wolf-Martell Montwé
df604d9955
Rename AutoConfig to AutoDiscovery in class names and variables 2023-06-15 18:33:31 +02:00
Wolf-Martell Montwé
b1eaabf699
Rename autoconfig package to autodiscovery 2023-06-15 18:33:30 +02:00
Wolf-Martell Montwé
8a3cb578e7
Refactor validation tests to use test subject property 2023-06-15 18:17:27 +02:00
Wolf-Martell Montwé
d04a91f566
Add ConfigurationApproval validation 2023-06-15 18:02:35 +02:00
Wolf-Martell Montwé
9f96ab6ee0
Remove ValidationUseCase and replace by SAM interfaces to have more flexibility 2023-06-15 18:02:35 +02:00
Wolf-Martell Montwé
021d9ab9ef
Reduce visibility to internal where possible to hide implementation 2023-06-15 18:02:35 +02:00
Wolf-Martell Montwé
4d2712eeca
Change AutoDiscoveryServerSettingsView to also handle IP addresses 2023-06-15 17:45:59 +02:00
Wolf-Martell Montwé
ef6d35c44c
Change AutoDiscoveryStatusHeaderState to enum 2023-06-15 17:45:52 +02:00
Wolf-Martell Montwé
e0dd88d599
Add configuration approval view and state 2023-06-14 16:28:16 +02:00
Wolf-Martell Montwé
4549d25323
Add AutoDiscoveryStatusBodyView 2023-06-14 14:45:34 +02:00
Wolf-Martell Montwé
2a720fa5bf
Add AutoDiscoveryStatusItem 2023-06-14 14:45:34 +02:00
Wolf-Martell Montwé
8aadfe4bae
Cleanup AutoDiscovery entities 2023-06-14 14:24:42 +02:00
Wolf-Martell Montwé
30cc0b6ccf
Add retry behavior 2023-06-14 14:24:42 +02:00
Wolf-Martell Montwé
8df500b52e
Add AutoDiscovery loading 2023-06-14 14:24:42 +02:00
Wolf-Martell Montwé
54d082c919
Add loading and error views with state handling 2023-06-14 14:24:42 +02:00
Wolf-Martell Montwé
a7b0e92213
Add GetAutoDiscovery usecase and test implementation 2023-06-14 14:24:40 +02:00
Wolf-Martell Montwé
a4daa0beeb
Change error message to error classes 2023-06-14 14:23:41 +02:00
Wolf-Martell Montwé
a16b0834cc
Add autodiscovery dependency 2023-06-14 14:23:40 +02:00
cketti
eb68441379 Make AutoDiscoveryService return type non-nullable 2023-06-14 12:46:39 +02:00
Wolf-Martell Montwé
64727067c0
Add BooleanInputField 2023-06-12 10:16:05 +02:00
cketti
c2a2437b6b
Merge pull request #6968 from thundernest/autodiscovery_isTrusted
Add `isTrusted` property to `AutoDiscoveryResult.Settings`
2023-06-09 18:54:04 +02:00
Wolf-Martell Montwé
4fef436925
Add AccountAutoConfig validation 2023-06-09 13:30:43 +02:00
cketti
7562eb84ac Add MxLookupResult with isTrusted property 2023-06-08 17:16:01 +02:00
cketti
18ee442d97 Add isTrusted property to HttpFetchResult 2023-06-08 16:43:20 +02:00
cketti
0653fbfb68 Add isTrusted property to AutoDiscoveryResult.Settings 2023-06-08 15:23:30 +02:00
Wolf-Martell Montwé
c72745f915
Add email validation 2023-06-08 14:42:39 +02:00
Wolf-Martell Montwé
dcc063911b
Add content items for email address and password and add state handling 2023-06-08 14:42:39 +02:00
Wolf-Martell Montwé
0e84935977
Add common ListItem 2023-06-08 14:42:38 +02:00
Wolf-Martell Montwé
089c29c6fb
Change protocol type tests 2023-06-08 14:30:10 +02:00
Wolf-Martell Montwé
9b4d81ac1f
Change state tests 2023-06-08 14:12:02 +02:00
Wolf-Martell Montwé
fd3dfb3235
Add AccountAutoConfig contract and view model 2023-06-08 14:12:02 +02:00
Wolf-Martell Montwé
a644d37742
Add entities for auto config 2023-06-08 14:12:01 +02:00
Wolf-Martell Montwé
10b03863c5
Add email error mapping and move mapper to common 2023-06-08 14:12:01 +02:00
Wolf-Martell Montwé
aab7371750
Add common top header 2023-06-08 14:12:01 +02:00
cketti
55f50f009d
Merge pull request #6957 from thundernest/change_AutoDiscoveryResult
[Refactor] Change `AutoDiscoveryResult` to a sealed interface
2023-06-08 11:16:29 +02:00
cketti
e846b3b7fe
Merge pull request #6956 from thundernest/add_AutoconfigParserResult
[Refactor] Add custom result type for `AutoconfigParser`
2023-06-08 11:09:04 +02:00
Wolf-Martell Montwé
dbc9aaadeb
Add AccountIncomingConfig validation 2023-06-07 15:59:53 +02:00
Wolf-Martell Montwé
b09b83b1fa
Add ImapPrefix validator 2023-06-07 15:59:53 +02:00
Wolf-Martell Montwé
ae5e38e6ba
Change security and port on protocol type changed 2023-06-07 15:49:48 +02:00
Wolf-Martell Montwé
e04bc10729
Add AccountIncomingConfigContract and ViewModel 2023-06-07 15:49:47 +02:00
Wolf-Martell Montwé
2b436e7bc2
Change input fields to class instead of data class and add equals and hashCode 2023-06-07 15:49:16 +02:00
Wolf-Martell Montwé
d3d8821896
Add account incoming config content ui 2023-06-07 15:49:16 +02:00
Wolf-Martell Montwé
df0dba1c20
Add IncomingProtocolType 2023-06-07 15:25:13 +02:00
Wolf-Martell Montwé
d4c949e350
Fix validate port allowing 0 2023-06-07 15:12:25 +02:00
Wolf-Martell Montwé
3d311b554f
Add AccountOutgoingConfig validation 2023-06-07 15:05:43 +02:00
Wolf-Martell Montwé
e3175afc13
Add validation use case definition and concrete implementation for server, port, username and password 2023-06-07 15:05:42 +02:00
Wolf-Martell Montwé
b47f464872
Add AccountOutgoingConfigContract and ViewModel 2023-06-07 14:55:31 +02:00
Wolf-Martell Montwé
1f18130b5c
Change test setup to generalised event state testing 2023-06-07 14:55:31 +02:00
Wolf-Martell Montwé
fe86ef5878
Add account outgoing config content ui 2023-06-07 14:55:31 +02:00
Wolf-Martell Montwé
69a2643b4e
Add connection security 2023-06-07 14:55:31 +02:00
Wolf-Martell Montwé
440fa4957c
Add NumberInputField 2023-06-07 14:55:30 +02:00
Wolf-Martell Montwé
608cf6d3da
Fix inconsistencies 2023-06-07 14:54:39 +02:00
cketti
6a80fefd84 Change AutoDiscoveryResult to a sealed interface 2023-06-06 19:47:09 +02:00
cketti
66bb36bd9f Add custom result type for AutoconfigParser 2023-06-06 17:16:45 +02:00
cketti
08786a37a1 Extract common functionality to AutoconfigFetcher 2023-06-06 16:57:36 +02:00
cketti
9ae4c89c4e Add custom result type for HttpFetcher 2023-06-01 16:18:48 +02:00
cketti
87a1fd69cf Rename AutoconfigFetcher to HttpFetcher 2023-06-01 16:12:40 +02:00
cketti
27ba2b5d8d Remove use of EmailHelper from :feature:autodiscovery:autoconfig 2023-06-01 14:29:28 +02:00
cketti
c314b79dba Add AutoDiscoveryService to run auto discovery steps in parallel 2023-06-01 13:58:07 +02:00
Wolf-Martell Montwé
32a8b79a13
Add AccountOptions validation 2023-05-31 17:26:26 +02:00
Wolf-Martell Montwé
48ac48fda3
Change validation to use ValidationError interface for errors instead of exceptions 2023-05-31 17:17:22 +02:00
cketti
9bcd64f54e
Merge pull request #6931 from thundernest/add_AutoDiscovery_tests
Add tests for AutoDiscovery implementations
2023-05-31 11:44:50 +02:00
Wolf-Martell Montwé
d7c10e3304
Add AccountOptionsContract and ViewModel 2023-05-31 11:25:57 +02:00
Wolf-Martell Montwé
d1eecbf3af
Add InputField and StringInputField 2023-05-31 11:23:13 +02:00
Wolf-Martell Montwé
493356726a
Add turbine test assertion 2023-05-31 11:23:13 +02:00
Wolf-Martell Montwé
6b44ff4004
Add account options content ui 2023-05-31 11:23:12 +02:00
Wolf-Martell Montwé
d889d144f3
Add common item padding 2023-05-31 11:23:12 +02:00
Wolf-Martell Montwé
af60c73d62
Add EmailSettings types 2023-05-31 11:23:12 +02:00
Wolf-Martell Montwé
ac0e4422cf
Add validation use case definition and concrete implementation for AccountName, DisplayName and EmailSignature 2023-05-31 10:19:02 +02:00
Wolf-Martell Montwé
724b219d9a
Change AccountManualConfig to split into incoming and outgoing screens 2023-05-31 10:08:20 +02:00
Wolf-Martell Montwé
cda125af7c
Change AccountAutoConfig to new layout 2023-05-31 10:08:19 +02:00
Wolf-Martell Montwé
0f64e303f1
Change AccountOptions to new layout 2023-05-31 10:08:19 +02:00
Wolf-Martell Montwé
ec915d49da
Add common AccountSetupBottomBar and AccountSetupTopAppBar 2023-05-31 10:08:19 +02:00
Wolf-Martell Montwé
a2b43c70b5
Change navigation naming from screen to route to better reflect it's purpose and distinct from screen 2023-05-31 10:06:51 +02:00
cketti
04983db14a Add tests for MxLookupAutoconfigDiscovery 2023-05-26 19:03:54 +02:00
cketti
1c1465a702 Add tests for AutoconfigDiscovery 2023-05-26 19:03:31 +02:00
cketti
29ce3dbfaf Add AutoconfigParser interface 2023-05-26 17:00:11 +02:00
cketti
0ab058656e Add AutoconfigFetcher interface 2023-05-26 16:35:12 +02:00
cketti
50c1f6edb5 Reduce API surface of :feature:autodiscovery:autoconfig 2023-05-25 14:17:28 +02:00
Wolf-Martell Montwé
82810f5248
Fix failing tests 2023-05-25 14:01:49 +02:00
cketti
67d082f01f Make individual autoconfig steps suspendable and cancellable 2023-05-24 19:14:22 +02:00
cketti
ebe8dace2f Use new AutoDiscovery API in :feature:autodiscovery:autoconfig 2023-05-24 18:35:24 +02:00
cketti
f948fad797 Add new AutoDiscovery API 2023-05-24 18:35:24 +02:00
cketti
3bb0d2e529 Use EmailAddress class in :feature:autodiscovery:autoconfig module 2023-05-22 18:03:56 +02:00
cketti
57e3db5443 Use Domain class in :feature:autodiscovery:autoconfig module 2023-05-22 18:03:56 +02:00
cketti
2dbecb667c Move HostNameUtils to :core:common 2023-05-22 18:03:56 +02:00
cketti
e04306ea3d Ignore unsupported 'incomingServer' and 'outgoingServer' types 2023-05-19 16:40:12 +02:00
cketti
8790db6cfe Skip contents of unsupported 'incomingServer' and 'outgoingServer' elements 2023-05-19 16:07:10 +02:00
cketti
726027f961
Merge pull request #6903 from thundernest/mx_lookup_autoconfig_discovery
Add support for ISPDB query after DNS MX lookup
2023-05-17 18:05:13 +02:00
cketti
517fffaa0b
Merge pull request #6902 from thundernest/update_assertk
Update assertk to version 0.26
2023-05-17 18:02:22 +02:00
Wolf-Martell Montwé
6d1dc90528
Change onboarding screen function names 2023-05-17 16:47:49 +02:00
Wolf-Martell Montwé
c7112297b8
Change AccountSetup to use a contract that follows the unidirectional data flow 2023-05-17 16:47:49 +02:00
Wolf-Martell Montwé
39f24effdd
Add koin compose support 2023-05-17 16:47:49 +02:00
cketti
6dfc9c8ff0 Do ISPDB query after DNS MX lookup 2023-05-16 21:01:41 +02:00
cketti
37196c6431 Add code to do a DNS MX lookup 2023-05-16 21:00:34 +02:00
cketti
32d76d04ae Add code to extract the sub domain from a hostname 2023-05-16 21:00:34 +02:00
cketti
ef498c60e4 Update assertk to version 0.26 2023-05-16 17:20:25 +02:00
cketti
9f4597b48c Add code to extract the base domain from a hostname 2023-05-16 16:27:58 +02:00
cketti
510950da65 Change AutoconfigUrlProvider to accept a domain
The email address is now an optional parameter.
2023-05-16 16:27:58 +02:00
cketti
8376909043
Merge pull request #6897 from thundernest/rewrite_to_assertk
Switch assertions to assertk
2023-05-16 16:27:13 +02:00
cketti
9686270a1c Rewrite AutoconfigParser to be more robust 2023-05-15 15:20:24 +02:00
cketti
5498567bf2 Switch assertions to assertk 2023-05-14 13:00:28 +02:00
cketti
1de820571a
Merge pull request #6860 from thundernest/autoconfig_provider
Change autoconfig code to match Thunderbird's current behavior
2023-05-03 16:53:18 +02:00
Wolf Montwé
1e9a5dbb30
Add account screens 2023-05-02 14:00:38 +02:00
Wolf Montwé
0d57250352
Tweak onboarding for small screens 2023-05-02 14:00:37 +02:00
Wolf Montwé
25c529981e
Change onboarding namespace 2023-05-02 14:00:37 +02:00
Wolf Montwé
18969cc1df
Change LazyColumnWithFooter to LazyColumnWithHeaderFooter 2023-05-02 14:00:33 +02:00
Wolf Montwé
a007a5f9a0
Add account setup screen 2023-05-02 13:49:32 +02:00
cketti
630b606f72 Add config options to ProviderAutoconfigUrlProvider 2023-04-27 17:30:43 +02:00
cketti
686bba8b9c Change ProviderAutoconfigUrlProvider to match Thunderbird's behavior
See <https://searchfox.org/comm-central/rev/f1c212acd8e3c3c2d1f5e2d442bb66e1407243b5/mail/components/accountcreation/FetchConfig.jsm#94-154>
2023-04-27 17:06:28 +02:00
cketti
c585e05bc2 Make AutoconfigUrlProvider an interface
Have different implementations for an autoconfig server hosted by the email provider (`ProviderAutoconfigUrlProvider`) and the ISP DB (`IspDbAutoconfigUrlProvider`).
2023-04-27 16:51:59 +02:00
cketti
6b68a2d5d7 Use app.k9mail as base package name for all :feature:autodiscovery:* modules 2023-04-26 13:06:07 +02:00
cketti
5706539d3f Rename :feature:autodiscover:thunderbird to …:autoconfig 2023-04-25 19:33:51 +02:00
cketti
610d818f25 Move all :app:autodiscovery:* modules to :feature:autodiscovery 2023-04-25 19:30:14 +02:00
Wolf Montwé
eb1ffa0c7a
Fix missing logo background and padding 2023-04-11 14:18:00 +02:00
Wolf Montwé
64f9a7fd4f
Add onboarding feature 2023-04-03 18:24:16 +02:00