From 4b3031628c7297bb9005711651fe71318aeadf4a Mon Sep 17 00:00:00 2001 From: Spencer Bryngelson Date: Fri, 21 Aug 2026 20:24:26 -0500 Subject: [PATCH] Give the link check a longer timeout and retries Master went red on lijunsun.github.io/files/ScientificWritingV39.pdf, which returns 200 from a normal network and resolves to GitHub Pages. It is a large PDF, so the default 10s timeout is the likely cause rather than a block. Raising the timeout to 20s with three retries covers that class of failure without another blanket exemption. --- mlc_config.json | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/mlc_config.json b/mlc_config.json index 58efc6d..b19511c 100644 --- a/mlc_config.json +++ b/mlc_config.json @@ -2,14 +2,19 @@ "_comment": [ "aliveStatusCodes deliberately omits 0. A status of 0 is a connection or DNS", "failure, so allowing it made the checker report genuinely dead links as", - "healthy -- three of them survived that way, including an NXDOMAIN host.", + "healthy -- three survived that way, including an NXDOMAIN host.", "", - "The cost is that hosts which block datacenter IPs also return 0 from GitHub's", - "runners while resolving fine in a browser. Those are listed below; each was", - "verified as returning 200 from a normal network. Add to this list only after", - "checking the link by hand." + "The cost is false positives from CI: some hosts refuse datacenter IPs, and", + "large files can exceed the default 10s timeout. The timeout and retries", + "below cover the slow cases; ignorePatterns lists hosts that block outright.", + "Every entry was verified by hand as returning 200 from a normal network.", + "Add to the list only after checking the link yourself." ], "aliveStatusCodes": [417, 403, 200, 429, 206], + "timeout": "20s", + "retryOn429": true, + "retryCount": 3, + "fallbackRetryDelay": "5s", "ignorePatterns": [ { "pattern": "^https?://(www\\.)?ted\\.com/" }, { "pattern": "^https?://(www\\.)?catb\\.org/" },