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

decentraland / archipelago-workers / 30662368603
93%
main: 79%

Build:
Build:
LAST BUILD BRANCH: chore/decommission-archipelago-core
DEFAULT BRANCH: main
Ran 31 Jul 2026 08:19PM UTC
Jobs 1
Files 38
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

31 Jul 2026 08:18PM UTC coverage: 82.051% (+3.4%) from 78.61%
30662368603

Pull #128

github

LautaroPetaccio
refactor: align ws-connector with WKC component standards

Counterpart to the same pass on comms-gatekeeper, on the code that becomes
the sole consumer of engine.peer.*.island_changed once core is removed.

- Extract the deny list out of the WebSocket handler into
  src/adapters/deny-list. It was a full adapter inlined into a 301-line
  controller: hardcoded URL, hand-rolled TTL cache, global fetch. The URL is
  now DENYLIST_JSON_URL, and the 5 minute TTL plus the deliberate
  advance-the-timestamp-even-on-failure behaviour are preserved.
- Inject the fetch component into ban-checker and deny-list instead of
  reaching for global fetch. It was already wired in BaseComponents and
  simply not passed.
- Take dependencies as Pick<AppComponents, ...> rather than inline
  structural types, matching stats/src/logic/subscriptions.ts.
- Move ban-checker, ban-sweep, peers-registry and deny-list to the
  component/types/index folder layout, with interfaces out of the
  implementation files. banSweep is now a named IBanSweepComponent.
- Upgrade @well-known-components/interfaces to ^1.5.2 in both workspaces and
  move ban-sweep to [START_COMPONENT]/[STOP_COMPONENT]. 1.4.3 neither
  exported the symbols nor deprecated the plain form. ban-sweep was the only
  component with a lifecycle to convert. The nats and server warnings that
  remain come from upstream packages.
- Add getErrorMessage, replacing four competing idioms and the catch (e: any)
  that went with them.
- Reuse the guarded() NATS callback wrapper from the stats service: a throw
  escaping one of these callbacks stops delivery on every subject, and
  comms-gatekeeper is the only publisher after this branch lands.
- JSDoc on the adapter factories and interfaces.

Tests:

- ws-handler.spec.ts tested no production code. It imported only Stage and
  WsUserData, never registerWsHandler, and every block re-implemented the
  logic it claimed to verify ("Replicates the FIXED fetchDenyList logic",
  "Replicates... (continued)
Pull Request #128: feat: remove archipelago-core (clustering moves to Pulse)

83 of 124 branches covered (66.94%)

Branch coverage included in aggregate %.

116 of 144 new or added lines in 19 files covered. (80.56%)

27 existing lines in 2 files now uncovered.

493 of 578 relevant lines covered (85.29%)

5.74 hits per line

Uncovered Changes

Lines Coverage ∆ File
10
52.0
ws-connector/src/adapters/ban-checker/component.ts
7
45.83
10.12% ws-connector/src/service.ts
6
30.0
ws-connector/src/logic/nats.ts
1
92.0
stats/src/logic/subscriptions.ts
1
91.67
ws-connector/src/adapters/ban-sweep/component.ts
1
88.89
ws-connector/src/logic/errors.ts
1
66.67
ws-connector/test/mocks/fetch-mock.ts
1
90.0
ws-connector/test/mocks/peers-registry-mock.ts

Coverage Regressions

Lines Coverage ∆ File
21
79.52
13.55% ws-connector/src/controllers/handlers/ws-handler.ts
6
45.83
10.12% ws-connector/src/service.ts
Jobs
ID Job ID Ran Files Coverage
1 30662368603.1 31 Jul 2026 08:19PM UTC 38
82.05
GitHub Action Run
Source Files on build 30662368603
  • Tree
  • List 38
  • Changed 5
  • Source Changed 5
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30662368603
  • Pull Request #128
  • PR Base - main (#28120164718)
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