From 012b965bd85737208fb796d1274ad8e6b41bde1e Mon Sep 17 00:00:00 2001 From: brandonkelly Date: Sat, 25 Jan 2025 12:34:50 -0800 Subject: [PATCH 1/2] Stop showing outdated attribute statuses for anything besides derivative drafts Continuation of 48f91f72b80571ebdb929c29c89dd4dc639cd864 --- CHANGELOG.md | 1 + src/base/Element.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5cc6d85e352..0c0f588496d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Unreleased - Fixed a bug where Entries fields’ entry select modals could show expand/collapse toggles for Structure sections, for elements that didn’t have any selectable descendants. ([#16506](https://github.com/craftcms/cms/issues/16506)) +- Fixed a bug where native fields (e.g. Title) were showing changed statuses when viewing revisions, if they had been updated since the time the revision was created. ## 4.14.1 - 2025-01-22 diff --git a/src/base/Element.php b/src/base/Element.php index dcf8d292349..87e4eabe8dc 100644 --- a/src/base/Element.php +++ b/src/base/Element.php @@ -4010,7 +4010,7 @@ public function isAttributeModified(string $name): bool */ private function _outdatedAttributes(): array { - if (!static::trackChanges() || $this->getIsCanonical()) { + if (!static::trackChanges() || !$this->getIsDraft() || $this->getIsCanonical()) { return []; } From e83eccf2b66df79f826aa3d1c75d2abddffe80a9 Mon Sep 17 00:00:00 2001 From: brandonkelly Date: Sat, 25 Jan 2025 13:03:17 -0800 Subject: [PATCH 2/2] $transportAdapter is null here --- src/helpers/MailerHelper.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/helpers/MailerHelper.php b/src/helpers/MailerHelper.php index 22b7ceb54b8..2a24dd21297 100644 --- a/src/helpers/MailerHelper.php +++ b/src/helpers/MailerHelper.php @@ -18,7 +18,6 @@ use craft\mail\transportadapters\Smtp; use craft\mail\transportadapters\TransportAdapterInterface; use yii\base\Event; -use yii\helpers\Inflector; /** * Class MailerHelper @@ -152,13 +151,6 @@ public static function settingsReport(Mailer $mailer, ?TransportAdapterInterface foreach ($settingsAttributes as $name) { $transportSettings[$transportAdapter->getAttributeLabel($name)] = $transportAdapter->$name; } - } else { - // Otherwise just output whatever public properties we have available on the transport - /** @var array $asArray */ - $asArray = (array)$transportAdapter; - foreach ($asArray as $name => $value) { - $transportSettings[Inflector::camel2words($name, true)] = $value; - } } foreach ($transportSettings as $label => $value) {