mirror of https://github.com/pixelfed/pixelfed
renovate/pestphp-pest-5.x-lockfile
shleeable-patch-1
l10n_crowdin_translations
renovate/phpstan-packages
renovate/lock-file-maintenance
renovate/guzzlehttp-guzzle-8.x-lockfile
renovate/github-actions
staging
dev
fix/timeline-feed-state-header
fix/username-case-insensitive
configcache-v2.1-api
fix/dm-remote-delete-media-leak
fix/hashtags-outside-bmp
copilot/review-old-issues
groups
vue3
v0.1.9
v0.10.0
v0.10.1
v0.10.10
v0.10.2
v0.10.3
v0.10.4
v0.10.5
v0.10.6
v0.10.7
v0.10.8
v0.10.9
v0.11.0
v0.11.1
v0.11.10
v0.11.11
v0.11.12
v0.11.13
v0.11.2
v0.11.3
v0.11.4
v0.11.5
v0.11.6
v0.11.7
v0.11.8
v0.11.9
v0.12.0
v0.12.1
v0.12.10
v0.12.11
v0.12.12
v0.12.2
v0.12.3
v0.12.4
v0.12.5
v0.12.6
v0.12.7
v0.12.8
v0.12.9
v0.13.0
v0.14.0
v0.14.1
v0.14.2
v0.14.3
v0.14.4
v0.14.5-rc
v0.14.5-rc1
v0.15.0
v0.15.0-rc1
v0.15.1
v0.15.2
v0.5.9
v0.6.0
v0.6.1
v0.7.6
v0.8.0
v0.8.5
v0.8.6
v0.9.0
v0.9.4
v0.9.5
v0.9.6
${ noResults }
1 Commits (75a519e9a4b5801bc98b0db437ed3195619a4c81)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
75a519e9a4 |
Stop re-warming an instance-wide timeline that has nothing to warm
A member count of zero was the only guard on the local and network warms, and a warm that finds no eligible posts leaves the count at zero, so a new instance, or one whose network feed has aged out, ran the full candidate query on every single timeline request. Both warms now record an empty outcome and both read paths consult that record as well as the count, so the query runs once per hour instead of once per request. Any write to either feed puts the warm straight back in play. The lock closures return a value as well, so a request that lost the lock is distinguishable from one that completed a warm; both used to come back as null. |
6 days ago |