Update Sender Domain inline notice

Remove unused notices displayed before enforcement date.

[MAILPOET-5844]
This commit is contained in:
Brezo Cordero
2024-01-30 16:30:16 -06:00
committed by Aschepikov
parent 01afa2ef31
commit 1e373ab7e0
7 changed files with 4 additions and 58 deletions

View File

@ -8,8 +8,8 @@ import { SenderActions } from './sender-domain-notice-actions';
export type SenderRestrictionsType = { export type SenderRestrictionsType = {
lowerLimit: number; lowerLimit: number;
isNewUser: boolean; isAuthorizedDomainRequiredForNewCampaigns?: boolean;
isEnforcementOfNewRestrictionsInEffect: boolean; campaignTypes?: string[];
alwaysRewrite?: boolean; alwaysRewrite?: boolean;
}; };
@ -56,20 +56,12 @@ function SenderDomainInlineNotice({
const LOWER_LIMIT = senderRestrictions?.lowerLimit || 500; const LOWER_LIMIT = senderRestrictions?.lowerLimit || 500;
const isNewUser = senderRestrictions?.isNewUser ?? true;
const isEnforcementOfNewRestrictionsInEffect =
senderRestrictions?.isEnforcementOfNewRestrictionsInEffect ?? true;
// TODO: Remove after the enforcement date has passed
const onlyShowWarnings =
!isNewUser && !isEnforcementOfNewRestrictionsInEffect;
const isSmallSender = subscribersCount <= LOWER_LIMIT; const isSmallSender = subscribersCount <= LOWER_LIMIT;
if ( if (
isSmallSender || isSmallSender ||
isPartiallyVerifiedDomain || isPartiallyVerifiedDomain ||
senderRestrictions.alwaysRewrite || senderRestrictions.alwaysRewrite
onlyShowWarnings
) { ) {
isAlert = false; isAlert = false;
} }
@ -103,7 +95,6 @@ function SenderDomainInlineNotice({
isFreeDomain={isFreeDomain} isFreeDomain={isFreeDomain}
isPartiallyVerifiedDomain={isPartiallyVerifiedDomain} isPartiallyVerifiedDomain={isPartiallyVerifiedDomain}
isSmallSender={isSmallSender} isSmallSender={isSmallSender}
onlyShowWarnings={onlyShowWarnings}
/> />
</InlineNotice> </InlineNotice>
); );

View File

@ -7,14 +7,12 @@ function SenderDomainNoticeBody({
isFreeDomain, isFreeDomain,
isPartiallyVerifiedDomain, isPartiallyVerifiedDomain,
isSmallSender, isSmallSender,
onlyShowWarnings = false,
alwaysRewrite = false, alwaysRewrite = false,
}: { }: {
emailAddressDomain: string; emailAddressDomain: string;
isFreeDomain: boolean; isFreeDomain: boolean;
isPartiallyVerifiedDomain: boolean; isPartiallyVerifiedDomain: boolean;
isSmallSender: boolean; isSmallSender: boolean;
onlyShowWarnings?: boolean;
alwaysRewrite?: boolean; alwaysRewrite?: boolean;
}) { }) {
const renderMessage = (messageKey: string) => { const renderMessage = (messageKey: string) => {
@ -27,11 +25,6 @@ function SenderDomainNoticeBody({
"MailPoet cannot send email campaigns from shared 3rd-party domains like <emailDomain/>. Please send from your site's branded domain instead.", "MailPoet cannot send email campaigns from shared 3rd-party domains like <emailDomain/>. Please send from your site's branded domain instead.",
'mailpoet', 'mailpoet',
), ),
// TODO: Remove freeWarning after the enforcement date has passed
freeWarning: __(
"Starting on February 1st, 2024, MailPoet will no longer be able to send from email addresses on shared 3rd party domains like <emailDomain/>. Please send from your site's branded domain instead.",
'mailpoet',
),
partiallyVerified: __( partiallyVerified: __(
'Update your domain settings to improve email deliverability and meet new sending requirements.', 'Update your domain settings to improve email deliverability and meet new sending requirements.',
'mailpoet', 'mailpoet',
@ -48,22 +41,11 @@ function SenderDomainNoticeBody({
const defaultMessage = messages[messageKey] || messages.default; const defaultMessage = messages[messageKey] || messages.default;
return createInterpolateElement(__(defaultMessage, 'mailpoet'), { return createInterpolateElement(defaultMessage, {
emailDomain: <strong>{escapeHTML(emailAddressDomain)}</strong>, emailDomain: <strong>{escapeHTML(emailAddressDomain)}</strong>,
}); });
}; };
// TODO: Remove after the enforcement date has passed
if (onlyShowWarnings) {
if (isFreeDomain) {
return renderMessage(isSmallSender ? 'freeSmall' : 'freeWarning');
}
if (isPartiallyVerifiedDomain) {
return renderMessage('partiallyVerified');
}
return renderMessage('smallSender');
}
if (isFreeDomain) { if (isFreeDomain) {
return renderMessage(isSmallSender || alwaysRewrite ? 'freeSmall' : 'free'); return renderMessage(isSmallSender || alwaysRewrite ? 'freeSmall' : 'free');
} }

View File

@ -155,9 +155,6 @@ interface Window {
mailpoet_partially_verified_sender_domains?: string[]; mailpoet_partially_verified_sender_domains?: string[];
mailpoet_sender_restrictions?: { mailpoet_sender_restrictions?: {
lowerLimit: number; lowerLimit: number;
upperLimit: number;
isNewUser: boolean;
isEnforcementOfNewRestrictionsInEffect: boolean;
isAuthorizedDomainRequiredForNewCampaigns?: boolean; isAuthorizedDomainRequiredForNewCampaigns?: boolean;
campaignTypes?: string[]; campaignTypes?: string[];
}; };

View File

@ -152,9 +152,6 @@ class Newsletters {
$data['all_sender_domains'] = $this->senderDomainController->getAllSenderDomains(); $data['all_sender_domains'] = $this->senderDomainController->getAllSenderDomains();
$data['sender_restrictions'] = [ $data['sender_restrictions'] = [
'lowerLimit' => AuthorizedSenderDomainController::LOWER_LIMIT, 'lowerLimit' => AuthorizedSenderDomainController::LOWER_LIMIT,
'upperLimit' => AuthorizedSenderDomainController::UPPER_LIMIT,
'isNewUser' => $this->senderDomainController->isNewUser(),
'isEnforcementOfNewRestrictionsInEffect' => $this->senderDomainController->isEnforcementOfNewRestrictionsInEffect(),
'isAuthorizedDomainRequiredForNewCampaigns' => $this->senderDomainController->isAuthorizedDomainRequiredForNewCampaigns(), 'isAuthorizedDomainRequiredForNewCampaigns' => $this->senderDomainController->isAuthorizedDomainRequiredForNewCampaigns(),
'campaignTypes' => NewsletterEntity::CAMPAIGN_TYPES, 'campaignTypes' => NewsletterEntity::CAMPAIGN_TYPES,
]; ];

View File

@ -106,9 +106,6 @@ class Settings {
$data['all_sender_domains'] = $this->senderDomainController->getAllSenderDomains(); $data['all_sender_domains'] = $this->senderDomainController->getAllSenderDomains();
$data['sender_restrictions'] = [ $data['sender_restrictions'] = [
'lowerLimit' => AuthorizedSenderDomainController::LOWER_LIMIT, 'lowerLimit' => AuthorizedSenderDomainController::LOWER_LIMIT,
'upperLimit' => AuthorizedSenderDomainController::UPPER_LIMIT,
'isNewUser' => $this->senderDomainController->isNewUser(),
'isEnforcementOfNewRestrictionsInEffect' => $this->senderDomainController->isEnforcementOfNewRestrictionsInEffect(),
]; ];
} }

View File

@ -8,7 +8,6 @@ use MailPoet\Services\Bridge\API;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Util\License\Features\Subscribers; use MailPoet\Util\License\Features\Subscribers;
use MailPoet\WP\Functions as WPFunctions; use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon;
class AuthorizedSenderDomainController { class AuthorizedSenderDomainController {
const OVERALL_STATUS_VERIFIED = 'verified'; const OVERALL_STATUS_VERIFIED = 'verified';
@ -22,8 +21,6 @@ class AuthorizedSenderDomainController {
const LOWER_LIMIT = 100; const LOWER_LIMIT = 100;
const UPPER_LIMIT = 200; const UPPER_LIMIT = 200;
const ENFORCEMENT_START_TIME = '2024-02-01 00:00:00 UTC';
const INSTALLED_AFTER_NEW_RESTRICTIONS_OPTION = 'installed_after_new_domain_restrictions'; const INSTALLED_AFTER_NEW_RESTRICTIONS_OPTION = 'installed_after_new_domain_restrictions';
const SENDER_DOMAINS_KEY = 'mailpoet_sender_domains'; const SENDER_DOMAINS_KEY = 'mailpoet_sender_domains';
@ -261,11 +258,6 @@ class AuthorizedSenderDomainController {
return $this->currentRecords; return $this->currentRecords;
} }
// TODO: Remove after the enforcement date has passed
public function isEnforcementOfNewRestrictionsInEffect(): bool {
return Carbon::now() >= Carbon::parse(self::ENFORCEMENT_START_TIME);
}
public function isNewUser(): bool { public function isNewUser(): bool {
$installedVersion = $this->settingsController->get('version'); $installedVersion = $this->settingsController->get('version');
@ -306,9 +298,6 @@ class AuthorizedSenderDomainController {
'allSenderDomains' => $this->getAllSenderDomains(), 'allSenderDomains' => $this->getAllSenderDomains(),
'senderRestrictions' => [ 'senderRestrictions' => [
'lowerLimit' => self::LOWER_LIMIT, 'lowerLimit' => self::LOWER_LIMIT,
'upperLimit' => self::UPPER_LIMIT,
'isNewUser' => $this->isNewUser(),
'isEnforcementOfNewRestrictionsInEffect' => $this->isEnforcementOfNewRestrictionsInEffect(),
'alwaysRewrite' => false, 'alwaysRewrite' => false,
], ],
]; ];

View File

@ -426,13 +426,6 @@ class AuthorizedSenderDomainControllerTest extends \MailPoetTest {
$this->assertFalse($this->getController()->isNewUser()); $this->assertFalse($this->getController()->isNewUser());
} }
public function testItKnowsWhenNewRestrictionsStartGettingEnforced(): void {
Carbon::setTestNow(Carbon::parse('2024-01-31 00:00:00 UTC'));
$this->assertFalse($this->getController()->isEnforcementOfNewRestrictionsInEffect());
Carbon::setTestNow(Carbon::parse('2024-02-01 00:00:01 UTC'));
$this->assertTrue($this->getController()->isEnforcementOfNewRestrictionsInEffect());
}
public function testIsSmallSenderIfSubscribersUnderLowerLimit(): void { public function testIsSmallSenderIfSubscribersUnderLowerLimit(): void {
$subscribersMock = $this->make(Subscribers::class, [ $subscribersMock = $this->make(Subscribers::class, [
'getSubscribersCount' => Expected::once($this->lowerLimit), 'getSubscribersCount' => Expected::once($this->lowerLimit),