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

decentraland / profile-images / 31641320772
89%

Build:
DEFAULT BRANCH: main
Ran 12 Aug 2026 09:12PM UTC
Jobs 1
Files 21
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

12 Aug 2026 09:11PM UTC coverage: 88.443% (+0.5%) from 87.962%
31641320772

push

github

web-flow
fix: increase SQS visibility timeout and add cross-batch pointer dedup (#160)

* fix: increase SQS visibility timeout and add cross-batch pointer dedup

Two resilience fixes for the profile-images queue consumer, confirmed
necessary by Prometheus data from the Aug 5-6 attack (534 req/min).

**Fix 1 — SQS VisibilityTimeout: 60s → 300s**
The hardcoded 60s visibility timeout was shorter than the worst-case
Godot render cycle (15s base + 10s × 10 avatars = ~115s). Under load,
messages became re-visible and were re-delivered while still processing,
causing duplicate renders that wasted capacity and compounded the backlog.
Evidence: skip-ratio spiked to ~70% mid-backlog, the signature of
duplicate message re-delivery.
The new default of 300s covers all batch sizes with room to spare.
Also adds QueueComponent.extendVisibility() and SqsClient.changeMessageVisibility()
for future dynamic extension if needed.

**Fix 2 — Cross-batch per-pointer dedup in MessageValidator**
Adds a time-windowed Map tracking recently-processed wallet pointers.
If the same wallet appears in the queue within 60s of a successful render,
the message is suppressed before Catalyst fetch or S3 HEAD, saving IO.
Pointer is marked processed by the consumer only after a successful
outcome, so failures still retry normally.
The within-batch per-entityId dedup (existing) is unchanged.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: resolve CI lint and test failures

Fix prettier formatting in sqs.ts and message-validator.ts, and add
missing changeMessageVisibility method to the integration test SQS mock.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: restore multi-line union type formatting for CI prettier

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: address P1 review findings on pointer dedup

- Within-batch dedup now keeps the newest message per pointer (by entity
  timestamp) instead of the first, preventing newer legitimate updates
  ... (continued)

222 of 276 branches covered (80.43%)

Branch coverage included in aggregate %.

55 of 58 new or added lines in 4 files covered. (94.83%)

528 of 572 relevant lines covered (92.31%)

22.92 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
94.44
-5.56% src/logic/queue.ts
1
90.0
-10.0% src/adapters/sqs.ts
Jobs
ID Job ID Ran Files Coverage
1 31641320772.1 12 Aug 2026 09:12PM UTC 42
89.58
GitHub Action Run
Source Files on build 31641320772
  • Tree
  • List 21
  • Changed 17
  • Source Changed 4
  • Coverage Changed 17
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #31641320772
  • 4b9fbe68 on github
  • Prev Build on main (#28242288805)
  • Next Build on main (#31714772014)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc