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

decentraland / events / 30384530012
66%

Build:
DEFAULT BRANCH: master
Ran 28 Jul 2026 06:00PM UTC
Jobs 1
Files 30
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

28 Jul 2026 05:47PM UTC coverage: 67.341% (+0.2%) from 67.092%
30384530012

push

github

web-flow
fix: fail closed on malformed <link> openers in sanitizeEventDescription (#1002)

* fix: fail closed on malformed <link> openers in sanitizeEventDescription

the markup-tag regex body is now `[^>]*` instead of `[^<>]*`, so a malformed
opener that embeds a nested tag (`<link="javascript:…"<b>`) is captured as one
span up to the first `>` and rejected whole. previously the outer `<link…`
fragment went unmatched and, after the inner tag was stripped, the leftover
pieces re-assembled into a live `<link="javascript:alert(1)">` opener,
reintroducing the Application.OpenURL vector the sanitizer is meant to close.
prose like `5 < 10 > 3` and markdown are still preserved (a `<` not immediately
followed by a letter is not a tag).

regression test added for the exact shape.

* fix: sanitize descriptions to a fixed point so stripped markup can't reassemble

a single strip pass can leave a `<` (from before a removed tag) fused to the
following text, forming a new `<link="javascript:…">` opener the pass never
revisits (`<<b>link="javascript:alert(1)">click</link>`). re-run the strip to a
fixed point; each changing pass strictly shortens the string so it converges,
and at the stable point only validated-safe links remain. fail closed (strip
every angle bracket) if a pathological input doesn't stabilize within the cap.

regression test added for the reassembly shape.

* fix: neutralize unclosed <link openers left by the fixed-point strip

a stripped tag can leave an UNCLOSED `<link=…` fragment (its `>` was consumed by
the removed tag), which a stable pass leaves in place. rather than rely on TMP
needing the `>`, stripPass now also drops the leading `<` of any `<link` with no
closing `>` before the next `<`/end, folded into the same fixed-point loop; safe
links keep their `>` and are untouched.

validated with a 1M-input fuzz harness: no complete unsafe <link> tag ever
survives, output is stable + idempotent, and legitimate safe links are preserved.
regression test ad... (continued)

698 of 954 branches covered (73.17%)

Branch coverage included in aggregate %.

72 of 73 new or added lines in 1 file covered. (98.63%)

1 existing line in 1 file now uncovered.

3830 of 5770 relevant lines covered (66.38%)

7.17 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
74.22
1.2% src/entities/Event/utils.ts

Coverage Regressions

Lines Coverage ∆ File
1
74.22
1.2% src/entities/Event/utils.ts
Jobs
ID Job ID Ran Files Coverage
1 30384530012.1 28 Jul 2026 06:00PM UTC 60
66.92
GitHub Action Run
Source Files on build 30384530012
  • Tree
  • List 30
  • Changed 18
  • Source Changed 1
  • Coverage Changed 18
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30384530012
  • 3a553322 on github
  • Prev Build on master (#29952657091)
  • Next Build on master (#30481595113)
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