diff options
| author | 2025-07-26 15:57:58 +0200 | |
|---|---|---|
| committer | 2025-07-26 15:57:58 +0200 | |
| commit | fe9ef3b5063b89ffe9f18e7a729007be484c398d (patch) | |
| tree | a4af78cf624511a93fca05bda5a56c295c59a169 | |
| parent | fbcf0b00fa5400bf31b227d172167f4d1070393e (diff) | |
Include enclosures in entries hash (#7719)
* Include enclosures in entries hash
Fix https://github.com/FreshRSS/FreshRSS/issues/7718
Negative side-effect: users using the option to automatically mark updated articles as unread will have some articles with enclosures appear as unread
* Changelog with warning
| -rw-r--r-- | CHANGELOG.md | 2 | ||||
| -rw-r--r-- | app/Models/Entry.php | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index b0c43a056..bb442bddc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,8 @@ See also [the FreshRSS releases](https://github.com/FreshRSS/FreshRSS/releases). * Fix multiple authentication HTTP headers [#7703](https://github.com/FreshRSS/FreshRSS/pull/7703) * Fix HTML queries with a single feed [#7730](https://github.com/FreshRSS/FreshRSS/pull/7730) * WebSub: only perform a redirection when coming from WebSub [#7738](https://github.com/FreshRSS/FreshRSS/pull/7738) + * Include enclosures in entries’ hash [#7719](https://github.com/FreshRSS/FreshRSS/pull/7719) + * Negative side-effect: users of the option to *automatically mark updated articles as unread* will once have some articles with enclosures re-appear as unread * Fix cancellation of slider exit UI [#7705](https://github.com/FreshRSS/FreshRSS/pull/7705) * Honor *disable update* on update page [#7733](https://github.com/FreshRSS/FreshRSS/pull/7733) * Fix no registration limit setting [#7751](https://github.com/FreshRSS/FreshRSS/pull/7751) diff --git a/app/Models/Entry.php b/app/Models/Entry.php index 190b435c8..7ba0d3793 100644 --- a/app/Models/Entry.php +++ b/app/Models/Entry.php @@ -481,8 +481,9 @@ HTML; public function hash(): string { if ($this->hash === '') { + $attributes = empty($this->attributeArray('enclosures')) ? '' : json_encode($this->attributes(), JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); //Do not include $this->date because it may be automatically generated when lacking - $this->hash = md5($this->link . $this->title . $this->authors(true) . $this->originalContent() . $this->tags(true)); + $this->hash = md5($this->link . $this->title . $this->authors(true) . $this->originalContent() . $this->tags(true) . $attributes); } return $this->hash; } |
