Remove redundant updates on finishing a media item

This commit is contained in:
Timothy Warren 2021-10-08 22:55:54 -04:00
parent 7efa34efee
commit 694e7cc01c
2 changed files with 20 additions and 0 deletions

View File

@ -30,6 +30,12 @@ query ($slug: String!) {
canonical canonical
localized localized
} }
...on Anime {
episodeCount
}
...on Manga {
chapterCount
}
} }
updatedAt updatedAt
} }

View File

@ -65,6 +65,7 @@ abstract class HistoryTransformer {
foreach ($base as $entry) foreach ($base as $entry)
{ {
// Filter out other media types
if (strtolower($entry['media']['__typename']) !== $this->type) if (strtolower($entry['media']['__typename']) !== $this->type)
{ {
continue; continue;
@ -195,6 +196,19 @@ abstract class HistoryTransformer {
return NULL; return NULL;
} }
// Hide the last episode update (Anime)
foreach (['episodeCount', 'chapterCount'] as $count)
{
if ( ! empty($entry['media'][$count]))
{
$update = $entry['changedData']['progress'][1] ?? 0;
if ($update === $entry['media'][$count])
{
return NULL;
}
}
}
$action = ($this->isReconsuming($entry)) $action = ($this->isReconsuming($entry))
? "{$this->reconsumeAction} {$item}" ? "{$this->reconsumeAction} {$item}"
: "{$this->progressAction} {$item}"; : "{$this->progressAction} {$item}";