diff --git a/bridges/ItchioBridge.php b/bridges/ItchioBridge.php
index 6ba724d2..96bb761b 100644
--- a/bridges/ItchioBridge.php
+++ b/bridges/ItchioBridge.php
@@ -20,8 +20,6 @@ class ItchioBridge extends BridgeAbstract {
or returnServerError('Could not request: ' . $url);
$title = $html->find('.game_title', 0)->innertext;
- $timestampOriginal = $html->find('span.icon-stopwatch', 0)->parent()->title;
- $timestampFormatted = str_replace('@', '', $timestampOriginal);
$content = 'The following files are available to download:
';
foreach ($html->find('div.upload') as $element) {
@@ -30,17 +28,20 @@ class ItchioBridge extends BridgeAbstract {
$content = $content . $filename . ' (' . $filesize . ')
';
}
- // NOTE: At the time of writing it is not clear under which conditions
- // itch updates the timestamp. In case they don't always update it,
- // we include the file list as well when computing the UID hash.
- $uidContent = $timestampFormatted . $content;
+ // On 2021-04-28/29, itch.io changed their project page format so that the
+ // 'last updated' timestamp is only shown to logged-in users.
+ // Since we can't use the last-updated date to identify a post, we include
+ // the description text in the input for the UID hash so that if the
+ // project posts an update that changes the description but does not add
+ // or rename any files, we'll still flag it as an update.
+ $project_description = $html->find('div.formatted_description', 0)->plaintext;
+ $uidContent = $project_description . $content;
$item = array();
$item['uri'] = $url;
$item['uid'] = $uidContent;
- $item['title'] = 'New release for ' . $title;
+ $item['title'] = 'Update for ' . $title;
$item['content'] = $content;
- $item['timestamp'] = $timestampFormatted;
$this->items[] = $item;
}
}