@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

+12 -2
+12 -2
src/applications/calendar/storage/PhabricatorCalendarEvent.php
··· 758 758 759 759 $host_handle = $handles[$host_phid]; 760 760 $host_name = $host_handle->getFullName(); 761 - $host_uri = $host_handle->getURI(); 762 - $host_uri = PhabricatorEnv::getURI($host_uri); 761 + 762 + // NOTE: Gmail shows "Who: Unknown Organizer*" if the organizer URI does 763 + // not look like an email address. Use a synthetic address so it shows 764 + // the host name instead. 765 + $install_uri = PhabricatorEnv::getProductionURI('/'); 766 + $install_uri = new PhutilURI($install_uri); 767 + 768 + // This should possibly use "metamta.reply-handler-domain" instead, but 769 + // we do not currently accept mail for users anyway, and that option may 770 + // not be configured. 771 + $mail_domain = $install_uri->getDomain(); 772 + $host_uri = "mailto:{$host_phid}@{$mail_domain}"; 763 773 764 774 $organizer = id(new PhutilCalendarUserNode()) 765 775 ->setName($host_name)