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

comunica / comunica / 11249941405
100%
master: 100%

Build:
Build:
LAST BUILD BRANCH: renovate/nginx-1.x
DEFAULT BRANCH: master
Ran 09 Oct 2024 07:10AM UTC
Jobs 3
Files 611
Run time 2min
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

09 Oct 2024 07:06AM UTC coverage: 100.0%. Remained the same
11249941405

push

github

web-flow
Refactor HTTP fetch and retry logic

**Migrated HTTP request retry logic into its own `ActorHttpRetry` actor**
* This will enable retries to work on everything in the HTTP bus.
* The new actor also handles HTTP status codes 429 and 503 with `Retry-After` header, and delays subsequent requests to the associated host by the time instructed by the server.
* The retry logic with regards to server responses has also been adjusted, and the client now skips retries when the error code is in the 400 or 500 ranges (except those two exceptions mentioned earlier), because retrying a bad request or retrying against a failing server does not make any sense.

**Simplified `ActorHttpFetch` considerably**
* Now that the retry logic is elsewhere, this actor could be simplified a lot.
* Moved the Inrupt Solid client workaround to only occur once in the main actor itself, instead of being duplicated in the init preprocessor.
* Removed the `node-fetch` workaround in the init preprocessor, due to `node-fetch` not being used anymore.

**Adjusted browser detection logic**
* The current version of Comunica detects Deno as a browser, according to my hobby server nginx logs. This means that someone is running Comunica on Deno, after all, but it also means the current browser detection is not working.
* Here, I have changed the code to check for the existence of `globalThis.window.document`, which should be unlikely to exist outside browsers. This new check is located in a static method of `ActorHttp` since it is used more than once.

**Adjusted HTTP `User-Agent` header**
* The header value in Node/Deno/others will now be of the form `Comunica/<major_ver>.0 (<operating_system>; <system_architecture>) <actor_name>/<actor_version> <runtime_user_agenr>`, for example `Comunica/3.0 (linux; x64) ActorHttpFetch/3.2.1 Node.js/22`.
* This follows the example set by some browsers, bots and others, and better reflects the configuration of Comunica used.

**Other small cl... (continued)

3838 of 3838 branches covered (100.0%)

Branch coverage included in aggregate %.

127 of 127 new or added lines in 7 files covered. (100.0%)

10165 of 10165 relevant lines covered (100.0%)

4764.89 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-18.x - 11249941405.1 09 Oct 2024 07:10AM UTC 0
100.0
GitHub Action Run
2 run-22.x - 11249941405.2 09 Oct 2024 07:10AM UTC 0
100.0
GitHub Action Run
3 run-20.x - 11249941405.3 09 Oct 2024 07:10AM UTC 0
100.0
GitHub Action Run
Source Files on build 11249941405
Detailed source file information is not available for this build.
  • Back to Repo
  • Github Actions Build #11249941405
  • b37d7e00 on github
  • Prev Build on next/major (#11236294425)
  • Next Build on next/major (#11250689028)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc