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

archetech / archon / 34256125985
87%

Build:
DEFAULT BRANCH: main
Ran 08 Sep 2026 05:20PM UTC
Jobs 1
Files 96
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

08 Sep 2026 05:16PM UTC coverage: 92.509% (-0.04%) from 92.553%
34256125985

push

github

web-flow
fix(ipfs): Replace the Helia backend with an in-memory store (#1079)

* fix(ipfs): Replace the Helia backend with an in-memory store

Helia shipped a high-severity advisory to everyone installing
@didcid/ipfs -- @libp2p/kad-dht below 16.2.6, unvalidated PUT_VALUE
records allowing unbounded disk exhaustion -- for a backend no service
selects. Every production path builds a KuboClient; HeliaClient's only
callers were 38 test files, which need somewhere to put operations, not
a libp2p node.

Upgrading was the alternative and it does not pay. Helia 7 wants
multiformats 14 against the 13 pinned in cipher, keymaster and
filecoin-wallet, and restructures its API. Helia 6 typechecks and clears
the advisory, but @peculiar/webcrypto arrives with libp2p 3 and jest
transforms nothing under node_modules, so all ten suites that load it
fail to run.

MemoryClient is a Map behind the IPFSClient interface. It addresses JSON
through generateCID, which is how KuboClient addresses it too, so a DID
minted in a test is the DID a node would mint. Text and binary are
stored whole rather than chunked through unixfs, so those CIDs differ
from a node's -- nothing pins one, and each test round-trips through one
client.

The prefetch target list is empty now: @ipshipyard/node-datachannel came
in through @libp2p/webrtc and was the only entry. The seeding steps stay
wired into the images, and its guard no longer requires the list to be
non-empty.

Closes #1078

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GYGMfX3foBcVqP7AQNXjWj

* fix(ci): Let the prefetch script lint with no targets left to seed

sonarjs/no-empty-collection reads the loop over TARGETS as a mistake.
The list is empty deliberately and the loop is what a new native
dependency needs in order to work, so the rule is silenced where it
fires rather than the loop being removed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai... (continued)

3948 of 4536 branches covered (87.04%)

Branch coverage included in aggregate %.

22 of 22 new or added lines in 1 file covered. (100.0%)

8574 of 9000 relevant lines covered (95.27%)

725.45 hits per line

Jobs
ID Job ID Ran Files Coverage
1 34256125985.1 08 Sep 2026 05:20PM UTC 192
93.59
GitHub Action Run
Source Files on build 34256125985
  • Tree
  • List 96
  • Changed 81
  • Source Changed 0
  • Coverage Changed 81
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #34256125985
  • 72392571 on github
  • Prev Build on main (#34242882561)
  • Next Build on main (#34260439067)
  • 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