Measured on 2026-10-15: the feed list and item lists went out uncompressed at over 100 KB; ipx read 2.6 GB of feed bodies a day and the directory 3.9 GB. - ipx-web compresses with zstd or gzip, leaving out /api/events, which a compressor would hold back, and /media (#239). - A body identical to the last one (SHA-256 in feeds.body_hash) is taken as a 304, unless something is missing a read would fill or the check is forced; and a feed without a schedule of its own whose body has been the same waits a twelfth of that, up to four hours, beside the failure backoff (#242). 35 Patreon show feeds sent ~300 KB each hourly, about 250 MB a day. - The directory checks each feed every twelve hours, not six (#243). - reqwest accepts brotli and zstd too (#244). #240 (cache the feed list's counts) is left open: at production's size on the test Postgres that count takes 12 ms and All Subscriptions 32 ms, against 366 and 300 ms in production, so the cause is production's database, not the query (#241). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Changed
|
||||
|
||||
- The page and the API's answers are sent compressed, zstd or gzip, which the feed list and item lists, over 100 KB each, were not; live updates and audio are not compressed (#239).
|
||||
|
||||
## [1.0.2] - 2026-10-15
|
||||
|
||||
### Fixed
|
||||
|
||||
@@ -57,6 +57,12 @@ http://{$WEB_BIND::8080} {
|
||||
}
|
||||
}
|
||||
|
||||
# Compressed, zstd or gzip as the browser takes them: the feed list and a page of items went
|
||||
# out at over 100 KB each (#239). Not the live updates, which a compressor would hold back
|
||||
# until it had enough to send, nor /media, which is audio and video already compressed.
|
||||
@compress not path /api/events /media/*
|
||||
encode @compress zstd gzip
|
||||
|
||||
# Before anything else, so no page or API call sees them: only ipx sets these.
|
||||
@forged not remote_ip {$TUNNEL_PEER:255.255.255.255}
|
||||
request_header @forged -Cf-Access-Authenticated-User-Email
|
||||
|
||||
Reference in New Issue
Block a user