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

decentraland / profile-images / 31797865521
89%

Build:
DEFAULT BRANCH: main
Ran 14 Aug 2026 11:52AM 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

14 Aug 2026 11:50AM UTC coverage: 89.274% (+0.2%) from 89.085%
31797865521

push

github

web-flow
feat: per-pointer rate limiting to throttle repeated renders (#164)

* feat: per-pointer rate limiting to throttle repeated renders

Adds a 300-second per-pointer rate limit that caps how often any wallet
can trigger a re-render, regardless of visual changes. Rate-limited
messages are left in the SQS queue for redelivery rather than deleted,
so legitimate updates are deferred, not discarded. This closes the gap
where the existing dedup only catches stale entity timestamps — the
attacker bypasses it by deploying unique entity IDs with minimal visual
differences (~1,500/min). A new `pointer_rate_limited_count` metric
tracks suppression volume.

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

* fix: prune window uses max of dedup and rate-limit windows, remove unused type member

Use Math.max(DEFAULT_POINTER_DEDUP_WINDOW_SECONDS, DEFAULT_POINTER_RATE_LIMIT_SECONDS)
for pruning so entries aren't removed before the rate-limit window expires if
the constants diverge. Remove unused 'pointer_rate_limited' from ValidationError
type to fix Prettier lint.

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

* feat: add message_validation_result_total metric with result labels

Replace pointer_rate_limited_count with message_validation_result_total
counter labeled by result (valid, rate_limited, stale_pointer, stale_in_batch,
undefined_body, invalid_json, invalid_entity_type). Gives full visibility
into every validation outcome for Grafana dashboarding.

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

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

234 of 288 branches covered (81.25%)

Branch coverage included in aggregate %.

17 of 17 new or added lines in 2 files covered. (100.0%)

590 of 635 relevant lines covered (92.91%)

25.75 hits per line

Jobs
ID Job ID Ran Files Coverage
1 31797865521.1 14 Aug 2026 11:52AM UTC 42
90.38
GitHub Action Run
Source Files on build 31797865521
  • Tree
  • List 21
  • Changed 18
  • Source Changed 3
  • Coverage Changed 17
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #31797865521
  • 360afbac on github
  • Prev Build on main (#31743493857)
  • Next Build on main (#31802451387)
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