From fb8abcaa740efd3a27a3ac29e3f527c4a81ad635 Mon Sep 17 00:00:00 2001 From: kristianwind Date: Thu, 8 Oct 2026 19:34:05 +0200 Subject: [PATCH] =?UTF-8?q?fix(docs):=20nullable=20er=20ikke=203.1,=20og?= =?UTF-8?q?=20eksemplet=20h=C3=B8rte=20til=20nabofeltet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To fejl i samme blok, begge mine. `nullable: true` er OpenAPI 3.0. Specen er 3.1, hvor det blev fjernet til fordel for en type-union, og den havde allerede fortilfældet stående: `type: [integer, "null"]`. Redocly afviste de to steder som struktur-fejl. Og min lokale kontrol stillede et svagere spørgsmål end CI's: jeg læste filen med `yaml.safe_load` og fik "gyldig" tilbage. Den svarede på, om det er YAML — ikke om det er en gyldig OpenAPI. CI's egen validator kører nu lokalt, før den kører der. Den anden fejl fandt kun en ADVARSEL: `example: ["labels"]` tilhørte sidebar_collapsed, og min indsættelse landede før den, så en strengliste hang på et heltalsfelt. Ankeret dækkede ikke hele blokken, jeg skød ind efter. CI fejler kun på fejl, så den var sluppet igennem — på to felter ad gangen, for sidebar_collapsed stod samtidig uden sit eget eksempel. Advarsler: 253, som før ændringen. Specen er gyldig. Co-Authored-By: Claude Opus 5 --- docs/openapi.yaml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/docs/openapi.yaml b/docs/openapi.yaml index ddc40c9..4de31af 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -304,8 +304,7 @@ paths: type: object properties: minutes: - type: integer - nullable: true + type: [integer, "null"] maximum: 0 minimum: -10080 description: | @@ -4844,18 +4843,18 @@ components: The sidebar headings this person has folded away. Always an array, never null: a client that has to check for both an absent array and an empty one will one day check for only one of them. + example: ["labels"] default_reminder_min: - type: integer - nullable: true + type: [integer, "null"] description: | The account's standing alarm on tasks that have a clock, as minutes relative to the due moment and negative for before it. Null is off, which is where every account starts. - Nullable rather than a number with a sentinel, because zero is a real - setting here — an alarm exactly at the due moment — so "off" and "at - the time" have to stay different answers. - example: ["labels"] + A type union rather than a number with a sentinel, because zero is a + real setting here — an alarm exactly at the due moment — so "off" and + "at the time" have to stay different answers. + example: -10 created_at: { type: string, format: date-time } RecoveryCodes: