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

decentraland / atlas-server / 39789475306
55%
master: 94%

Build:
Build:
LAST BUILD BRANCH: fix/read-the-latest-block-instead-of-pinning
DEFAULT BRANCH: master
Ran 22 Oct 2026 01:45PM UTC
Jobs 1
Files 40
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

22 Oct 2026 12:59PM UTC coverage: 54.68% (+12.1%) from 42.536%
39789475306

push

github

web-flow
fix: start the map in the background and drop stale cached prices and districts (#146)

## Cause
- interfaces 1.5 starts components one after another, and `map.start()`
awaited the whole first load plus a `sleep(REFRESH_INTERVAL)`, so the
HTTP server port stayed closed for minutes. A failed first load rejected
`tiles` and never polled again.
- The S3 cache is reused as is and `addSpecialTiles` only adds missing
ids, so the `district` tiles removed in #142 survive every restart.
- Trade prices have no `expiresAt`, so `expireOrders` never clears them
and the S3 cache carries them across restarts (prd shows parcels/estates
for sale that the marketplace doesn't list).

## Fix
- `start()` kicks off the load without awaiting it; a failed load is
retried every `REFRESH_INTERVAL`. Futures are resolved once, when the
load succeeds (same moment `ready` flips). `stop()` ends the retry/poll
loops.
- The cache is discarded and fresh data fetched when a cached tile's
special type disagrees with `specialTiles.json`
(`hasStaleSpecialTiles`).
- Each trades pass first clears trade-derived prices (price without
`expiresAt`; order prices always carry one) and then applies the active
trades. `getActiveTrades` rethrows, so a DB failure skips the pass and
keeps the previous prices.

## Verification
- New `map.spec.ts` / `map-utils.spec.ts`, updated `trades.spec.ts`;
`jest` 89/89, `tsc` clean.

512 of 670 branches covered (76.42%)

Branch coverage included in aggregate %.

296 of 326 new or added lines in 4 files covered. (90.8%)

4 existing lines in 1 file now uncovered.

2140 of 4180 relevant lines covered (51.2%)

17.6 hits per line

Uncovered Changes

Lines Coverage ∆ File
17
0.0
0.0% src/modules/s3/component.ts
13
80.0
80.0% src/modules/map/component.ts

Coverage Regressions

Lines Coverage ∆ File
4
71.13
5.25% src/adapters/legacy-tiles.ts
Jobs
ID Job ID Ran Files Coverage
1 39789475306.1 22 Oct 2026 01:44PM UTC 80
53.17
GitHub Action Run
Source Files on build 39789475306
  • Tree
  • List 40
  • Changed 38
  • Source Changed 4
  • Coverage Changed 38
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #39789475306
  • 974a67e0 on github
  • Prev Build on master (#39782561064)
  • Delete
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