Repository navigation
feat(mail): mail apps find calendars and contacts on their own, so the per-mailbox URL modal is gone — GH #1917 - #1998
Merged
Merged
Conversation
…e per-mailbox URL modal is gone — GH #1917 Thunderbird now finds a mailbox's address books during account setup, not only its calendars, so the "Calendar & contacts" row action and its URL modal no longer earn their place. Mail apps use the domain's _caldavs._tcp and _carddavs._tcp SRV records and the mail host's /.well-known redirects. With the URLs gone, those SRV records are the only way in. A panel-hosted zone already publishes them, but the mail DNS record list shown to an external-DNS domain left them out. It now lists both, with the same target the zone gets: mail.<domain>:443, or the GH #1462 override host and port. The plaintext :80 rows stay off that list. The override-aware SRV content moves to dnscompile.DAVSecureSRV. The DAV override reconciler and the hint list both call it, so they cannot drift. The user email doc gains a Calendar and contacts section, including iPhone/Mac setup (the .mobileconfig profile has no CalDAV/CardDAV payload). Claude-Session: https://claude.ai/code/session_0173PcNd4h6NceYPc4FuhvXj
…nnot look them up — GH #1917 Claude-Session: https://claude.ai/code/session_0173PcNd4h6NceYPc4FuhvXj
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
GH #1917 (johnnyq): the "Calendar & contacts" modal is no longer needed. Thunderbird now finds a mailbox's address books during account setup, not only its calendars.
What changes
MailSyncInfoModal) are removed. Mail apps find calendars and contacts on their own through the domain's_caldavs._tcp/_carddavs._tcpSRV records and the mail host's/.well-known/caldav|carddav.GET /domains/:id/email), shown to an external-DNS domain under DNS records, left them out. It now lists both, with the same target the zone gets:mail.<domain>:443, or the GH Feature: Overide CalDAV / CardDav Server Address Per Mail Domain #1462 override host and port.:80DAV rows stay off that list.dnscompile.DAVSecureSRV. Both the DAV override reconciler and the hint list call it, so they cannot drift.docs/site/user/email.mdgets a Calendar and contacts section. It covers apps that discover (Thunderbird, DAVx⁵), iPhone/Mac setup (the.mobileconfigprofile has no CalDAV/CardDAV payload), and external DNS. It also drops the stale "not exposed in the panel UI yet" line.docs/site/mail.mdis updated to match.Tests
TestDomainEmail_Get_ListsDAVDiscoverySRVcovers three cases: built-in DAV, a calendar override with a port, and a contacts override. It also checks that the plaintext SRV is never listed.TestDAVSecureSRVcovers the helper.DAVSecureSRVignore the port failedTestDAVSecureSRVand the existingTestReconcileDAVOverride_HostPort.go test ./internal/api/ ./internal/dnscompile/ ./internal/reconciler/;tsc -b;src/components/mail src/shells/user/mail(52 passed).https://claude.ai/code/session_0173PcNd4h6NceYPc4FuhvXj