mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-10 08:52:39 +01:00
Give organizers in ICS exports a dummy email address to placate Gmail
Summary: Ref T10747. In the in-email ICS event card that Gmail shows, it has a "Who" field which reads "Unknown Organizer*" if the URI for the organizer isn't email-address-like. Previously, we used a URI like `https://phabricator.install.com/p/username`, which I think is OK as far as RFC 5545 is concerned, but Gmail doesn't like it. Instead, use `PHID-USER-asdfa@phabricator.install.com`, which doesn't go anywhere, but makes Gmail happy. Users don't normally see this URI anyway. Test Plan: Got a readable "Who" in Gmail when importing an event exported from Calendar: {F1890571} Reviewers: chad Reviewed By: chad Maniphest Tasks: T10747 Differential Revision: https://secure.phabricator.com/D16772
This commit is contained in:
parent
d9c91f857c
commit
e1a9b76945
1 changed files with 12 additions and 2 deletions
|
@ -758,8 +758,18 @@ final class PhabricatorCalendarEvent extends PhabricatorCalendarDAO
|
|||
|
||||
$host_handle = $handles[$host_phid];
|
||||
$host_name = $host_handle->getFullName();
|
||||
$host_uri = $host_handle->getURI();
|
||||
$host_uri = PhabricatorEnv::getURI($host_uri);
|
||||
|
||||
// NOTE: Gmail shows "Who: Unknown Organizer*" if the organizer URI does
|
||||
// not look like an email address. Use a synthetic address so it shows
|
||||
// the host name instead.
|
||||
$install_uri = PhabricatorEnv::getProductionURI('/');
|
||||
$install_uri = new PhutilURI($install_uri);
|
||||
|
||||
// This should possibly use "metamta.reply-handler-domain" instead, but
|
||||
// we do not currently accept mail for users anyway, and that option may
|
||||
// not be configured.
|
||||
$mail_domain = $install_uri->getDomain();
|
||||
$host_uri = "mailto:{$host_phid}@{$mail_domain}";
|
||||
|
||||
$organizer = id(new PhutilCalendarUserNode())
|
||||
->setName($host_name)
|
||||
|
|
Loading…
Reference in a new issue