@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.

Email Preferences - round out options for Projects and Phriction

Summary: Fixes T8524, T8550. These were both missing "subscribers" and Phriction was also the only application with no "other".

Test Plan:
- Project
- set user A to notify only for project subscriber changes
- made a project with user A
- subscribed user B to project
- verified notification sent to user A
- used ./bin/mail to make sure no mail was sent to user A because "This mail has tags which control which users receive it, and this recipient has not elected to receive mail with any of the tags on this message (Settings > Email Preferences)."
- Phriction
- set user A to notify only for phriction document subscriber changes
- made a document with user A
- subscribed user B to document
- verified notification sent to user A
- used ./bin/mail to make sure no mail was sent to user A because "This mail has tags which control which users receive it, and this recipient has not elected to receive mail with any of the tags on this message (Settings > Email Preferences)."
- observed option for "other" in email preferences

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: epriestley, Korvin

Maniphest Tasks: T8524, T8550

Differential Revision: https://secure.phabricator.com/D13313

+25 -8
+4
src/applications/phriction/editor/PhrictionTransactionEditor.php
··· 391 391 pht("A document's content changes."), 392 392 PhrictionTransaction::MAILTAG_DELETE => 393 393 pht('A document is deleted.'), 394 + PhrictionTransaction::MAILTAG_SUBSCRIBERS => 395 + pht('A document\'s subscribers change.'), 396 + PhrictionTransaction::MAILTAG_OTHER => 397 + pht('Other document activity not listed above occurs.'), 394 398 ); 395 399 } 396 400
+11 -4
src/applications/phriction/storage/PhrictionTransaction.php
··· 9 9 const TYPE_MOVE_TO = 'move-to'; 10 10 const TYPE_MOVE_AWAY = 'move-away'; 11 11 12 - const MAILTAG_TITLE = 'phriction-title'; 13 - const MAILTAG_CONTENT = 'phriction-content'; 14 - const MAILTAG_DELETE = 'phriction-delete'; 12 + const MAILTAG_TITLE = 'phriction-title'; 13 + const MAILTAG_CONTENT = 'phriction-content'; 14 + const MAILTAG_DELETE = 'phriction-delete'; 15 + const MAILTAG_SUBSCRIBERS = 'phriction-subscribers'; 16 + const MAILTAG_OTHER = 'phriction-other'; 15 17 16 18 public function getApplicationName() { 17 19 return 'phriction'; ··· 280 282 case self::TYPE_DELETE: 281 283 $tags[] = self::MAILTAG_DELETE; 282 284 break; 283 - 285 + case PhabricatorTransactions::TYPE_SUBSCRIBERS: 286 + $tags[] = self::MAILTAG_SUBSCRIBERS; 287 + break; 288 + default: 289 + $tags[] = self::MAILTAG_OTHER; 290 + break; 284 291 } 285 292 return $tags; 286 293 }
+2
src/applications/project/editor/PhabricatorProjectTransactionEditor.php
··· 433 433 pht('Project membership changes.'), 434 434 PhabricatorProjectTransaction::MAILTAG_WATCHERS => 435 435 pht('Project watcher list changes.'), 436 + PhabricatorProjectTransaction::MAILTAG_SUBSCRIBERS => 437 + pht('Project subscribers change.'), 436 438 PhabricatorProjectTransaction::MAILTAG_OTHER => 437 439 pht('Other project activity not listed above occurs.'), 438 440 );
+8 -4
src/applications/project/storage/PhabricatorProjectTransaction.php
··· 14 14 // NOTE: This is deprecated, members are just a normal edge now. 15 15 const TYPE_MEMBERS = 'project:members'; 16 16 17 - const MAILTAG_METADATA = 'project-metadata'; 18 - const MAILTAG_MEMBERS = 'project-members'; 19 - const MAILTAG_WATCHERS = 'project-watchers'; 20 - const MAILTAG_OTHER = 'project-other'; 17 + const MAILTAG_METADATA = 'project-metadata'; 18 + const MAILTAG_MEMBERS = 'project-members'; 19 + const MAILTAG_SUBSCRIBERS = 'project-subscribers'; 20 + const MAILTAG_WATCHERS = 'project-watchers'; 21 + const MAILTAG_OTHER = 'project-other'; 21 22 22 23 public function getApplicationName() { 23 24 return 'project'; ··· 368 369 case self::TYPE_ICON: 369 370 case self::TYPE_COLOR: 370 371 $tags[] = self::MAILTAG_METADATA; 372 + break; 373 + case PhabricatorTransactions::TYPE_SUBSCRIBERS: 374 + $tags[] = self::MAILTAG_SUBSCRIBERS; 371 375 break; 372 376 case PhabricatorTransactions::TYPE_EDGE: 373 377 $type = $this->getMetadata('edge:type');