diff --git a/src/providers/instatus.test.ts b/src/providers/instatus.test.ts
index 8cb7965..58678f3 100644
--- a/src/providers/instatus.test.ts
+++ b/src/providers/instatus.test.ts
@@ -154,6 +154,50 @@ describe("parseInstatusAtom", () => {
});
});
+// A scheduled maintenance announced well before it runs:
Duration: 8 minutes
+Jul 8, 07:24:48 GMT+0
Identified -
+ We plan to perform a minor upgrade at this time..
Jul 19, 06:00:01 GMT+0
Identified -
+ Maintenance is now in progress.
Jul 19, 06:07:55 GMT+0
Completed -
+ Maintenance has completed successfully..
\s*([\s\S]*?)<\/small>\s*
\s*([^<]+)<\/strong>\s*-\s*([\s\S]*?)<\/p>/g;
let m: RegExpExecArray | null;
@@ -138,7 +161,7 @@ function parseUpdateBlocks(content: string, publishedIso: string, isMaintenance:
const small = plainText(m[1]);
const statusWord = m[2].trim();
if (statusWord.endsWith(":")) continue; // header block, not an update
- const created = parseUpdateTimestamp(small, publishedIso) ?? publishedIso;
+ const created = parseUpdateTimestamp(small, anchorIso) ?? anchorIso;
const status = isMaintenance
? canonicalMaintenanceStatus(statusWord)
: canonicalIncidentStatus(statusWord);
@@ -159,6 +182,8 @@ export function parseInstatusAtom(xml: string): Incident[] {
const name = decodeEntities(firstMatch(entry, /