• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

umputun / remark42 / 26203772393
85%
master: 85%

Build:
Build:
LAST BUILD BRANCH: docs-audit-fixes
DEFAULT BRANCH: master
Ran 21 May 2026 03:34AM UTC
Jobs 1
Files 52
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

21 May 2026 03:31AM UTC coverage: 84.582% (+0.3%) from 84.273%
26203772393

Pull #2067

github

paskal
fix(security): set Cache-Control: no-store on image-proxy error paths, sync stale route comment

Addresses two review comments on #2067:

1. Cache-Control: max-age=2592000 and Etag were set before the
   load/download/validation block, so 404/400/415 error responses inherited
   the 30-day cache TTL and the versioned etag — a transient failure (or an
   intentionally triggered 415) would be pinned in browser/intermediary
   caches for that TTL, keeping users locked out even after the underlying
   cause was resolved. Now: etag is computed but not set as a header until
   after validation succeeds; error paths route through sendImageProxyError
   which sets Cache-Control: no-store and never sets Etag. The 304
   short-circuit still sets both because that path serves the same validated
   content the client already has cached.

2. The comment at rest.go:282 still described the prototyped
   no-cache/must-revalidate Cache-Control policy that was reverted before
   the PR landed. Updated to match the actual 30-day max-age behavior.

Tests: TestImage_ContentTypeHandling now asserts reject paths carry
Cache-Control: no-store and have no Etag header, and accept paths carry
the max-age=2592000 + v2: etag.
Pull Request #2067: fix(security): reject non-image content-types in image proxy and /picture/ to prevent stored XSS

85 of 86 new or added lines in 4 files covered. (98.84%)

6347 of 7504 relevant lines covered (84.58%)

34.76 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
88.74
4.41% backend/app/rest/proxy/image.go
Jobs
ID Job ID Ran Files Coverage
1 26203772393.1 21 May 2026 03:34AM UTC 52
84.58
GitHub Action Run
Source Files on build 26203772393
  • Tree
  • List 52
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #2067
  • PR Base - master (#26202461678)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc