Show a cover letter.

GET /api/1.2/covers/2222441/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2222441,
    "url": "http://patchwork.ozlabs.org/api/1.2/covers/2222441/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/swupdate/cover/cover.1775844632.git.konrad.schwarz@siemens.com/",
    "project": {
        "id": 58,
        "url": "http://patchwork.ozlabs.org/api/1.2/projects/58/?format=api",
        "name": "swupdate development",
        "link_name": "swupdate",
        "list_id": "swupdate.googlegroups.com",
        "list_email": "swupdate@googlegroups.com",
        "web_url": "https://github.com/sbabic/swupdate",
        "scm_url": "git://github.com/sbabic/swupdate",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<cover.1775844632.git.konrad.schwarz@siemens.com>",
    "list_archive_url": null,
    "date": "2026-04-11T19:45:15",
    "name": "[RFC,0/3] Sticky FAILURE State",
    "submitter": {
        "id": 92117,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/92117/?format=api",
        "name": "Konrad Schwarz",
        "email": "konrad.schwarz@gmail.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/swupdate/cover/cover.1775844632.git.konrad.schwarz@siemens.com/mbox/",
    "series": [
        {
            "id": 499571,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/499571/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/swupdate/list/?series=499571",
            "date": "2026-04-11T19:45:17",
            "name": "Sticky FAILURE State",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/499571/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/2222441/comments/",
    "headers": {
        "Return-Path": "<swupdate+bncBCM7PUF6Q4ORBFGK5LHAMGQECX6LJJY@googlegroups.com>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=googlegroups.com header.i=@googlegroups.com\n header.a=rsa-sha256 header.s=20251104 header.b=dJUpc1Uk;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=Un3u0ro5;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com\n (client-ip=2607:f8b0:4864:20::83f; helo=mail-qt1-x83f.google.com;\n envelope-from=swupdate+bncbcm7puf6q4orbfgk5lhamgqecx6ljjy@googlegroups.com;\n receiver=patchwork.ozlabs.org)"
        ],
        "Received": [
            "from mail-qt1-x83f.google.com (mail-qt1-x83f.google.com\n [IPv6:2607:f8b0:4864:20::83f])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4ftPLg0T12z1yH2\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 12 Apr 2026 05:46:33 +1000 (AEST)",
            "by mail-qt1-x83f.google.com with SMTP id\n d75a77b69052e-50d8c192b3fsf57492801cf.1\n        for <incoming@patchwork.ozlabs.org>;\n Sat, 11 Apr 2026 12:46:33 -0700 (PDT)",
            "by 2002:a05:6214:226b:b0:89a:1a93:3389 with SMTP id\n 6a1803df08f44-8ac83506a4els26676446d6.2.-pod-prod-06-us; Sat, 11 Apr 2026\n 12:46:28 -0700 (PDT)",
            "by 2002:a05:6504:32cd:10b0:2f6:91ae:47ef with SMTP id\n a1c4a302cd1d6-2f6d846fdfdmsc7a;\n        Sat, 11 Apr 2026 12:45:30 -0700 (PDT)",
            "from mail-wm1-x329.google.com (mail-wm1-x329.google.com.\n [2a00:1450:4864:20::329])\n        by gmr-mx.google.com with ESMTPS id\n 2adb3069b0e04-5a3eeec2bafsi97520e87.3.2026.04.11.12.45.28\n        for <swupdate@googlegroups.com>\n        (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n        Sat, 11 Apr 2026 12:45:28 -0700 (PDT)",
            "by mail-wm1-x329.google.com with SMTP id\n 5b1f17b1804b1-488ba840146so29742825e9.1\n        for <swupdate@googlegroups.com>; Sat, 11 Apr 2026 12:45:28 -0700 (PDT)",
            "from dinmPF4XJWP1.ad001.siemens.net ([147.161.169.23])\n        by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-488d5b56d1asm165661065e9.15.2026.04.11.12.45.26\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Sat, 11 Apr 2026 12:45:27 -0700 (PDT)"
        ],
        "ARC-Seal": [
            "i=2; a=rsa-sha256; t=1775936790; cv=pass;\n        d=google.com; s=arc-20240605;\n        b=JXUFGrZU97xXMW/orqNySXICUZB0GarntLmkwVEUsX2u/gsnANr/zKz8Yvw6x8uC2w\n         w3omDxFuFWR67x6LMsPWKkSj/XRcZ8nWM1hkRDhg2eNaDMJBAfoDRS+Tzpr6edezEoZ9\n         YO/43eQ2MNTjL7RWovV3gyvfJqrNHkGfc5rvoUQzkIa1YVFgWjEEljSgsyIGTowXKq8p\n         Pld86A3Nhvru4zR3RKhIYZAbQOlevGULZ3XoI5NYI+p+spxRW+GUy6hMMvhb/sVvTAHn\n         mfxNK25hjBJYqwnJn5+HvnMVh8G4LIsWbgQYwLPbNplKf4UAztKgEDfKSYYAjVt0Rl1b\n         Ucpw==",
            "i=1; a=rsa-sha256; t=1775936728; cv=none;\n        d=google.com; s=arc-20240605;\n        b=KOG0pdLcMP5Ipz23GvRx+pG4GxSvKVHt2tO7y0T89vXtbsmgJzNal1UqnLmIvjxo17\n         QbNy9kCi4d96hJT6nJ7ipeD9cI96+uhHK5gVUZ8Nrc70490bwbzjF3ECiE7FmIgOUUGF\n         cLn/MZ/QtUjbJ4qzfy5bu0yNoswsk+m+fDAKtP2HPTUuLAGjDAwk6Sog/gY2fxfQAY9M\n         WRoWexgQnA1nTwmrSTyl/gxOdfB2E2JnVK3OaQpKERI9j0KWrXyIzxByk0R/zTelm/0G\n         EIRpL8JrK7Z4equUFoUb+mzWdt23s1aNPdNroDFnW+foSIBdmKhKdwJ4kgd5prQT2G2A\n         qiGw=="
        ],
        "ARC-Message-Signature": [
            "i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post\n         :list-id:mailing-list:precedence:mime-version:message-id:date\n         :subject:cc:to:from:sender:dkim-signature:dkim-signature;\n        bh=0P+nQ7t2cP9ZouH+DiZIqkUZsS9ZOokuQAtGZMrO0Gw=;\n        fh=ZJUsBlPMzvvrCD4OTzGuHMRk20VckovW0P203s9B/a4=;\n        b=AWZ+jiq5QAoTYm+10fNvNxffqAwdYDGeKN9JnSnfKkXS1DAs7TliOUy2WUFT1FWF3o\n         FkJkNiEtRxMqxQ3IWsxgLKkg4RNYUpmFKQ6hkCNMxsHV0qmmeOVM8fTDjDcZiOXzEMXj\n         CEOH4vfJdL5OX4QvgSVc28pHodU8wg3km1BCJr0VAwKNYuimh/BPR6uycGziJGs1qz6P\n         15GFUXlmNeDZ02XIjxqhYve3GNZxZjSwbM7E1HUVPrAaf50CpJ1+L4MKsjKSH1MvTW9C\n         hTc51BdOPCYLv2AnY9Kv4YdiqewjedH0MtN1ydWasrUCGptyVwH0uHJel0DDU3nZRo4+\n         locw==;\n        darn=patchwork.ozlabs.org",
            "i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n         :to:from:dkim-signature;\n        bh=ihnnzt3qbdfxdxTry11p3aHQiPha+b+/B5H59irXdqA=;\n        fh=FthF95OvfOvalfC4EROW/dNj38UH98VcAVz7s05+GI8=;\n        b=bBK+34z9LSFRe41a/Jx3gDQTJ7ME95JPxNX8M1K+kn0sua8L4nd3d0fdN6RCshSLt9\n         GPBRs+K/zwBGJZ1OQUik4OywKY6ssyL7vz6pTpbv1BO4lZzwSKUeS4a8r9ZPDpwO4ync\n         pUJrRyZvb5OGfusJcw4vJSNYeP+5EIB9YB6tCvXpObpZRjk2VNc6XByn4p078LKNW43o\n         NmWzO2EN5yu+Pqg7hejEM06ZN3uTMjPbUPrHgrP21siceNvNbaisi+MEHBZI+XID9Q+p\n         ZVE+ZnJanBD/GgBviQN5EfVX63lYmNcz+Wa9qhGXxd5thAoZPo0k5BIKGBlXC0Vs4k0q\n         CJFQ==;\n        dara=google.com"
        ],
        "ARC-Authentication-Results": [
            "i=2; gmr-mx.google.com;\n       dkim=pass header.i=@gmail.com header.s=20251104 header.b=jTjyKnUe;\n       spf=pass (google.com: domain of konrad.schwarz@gmail.com designates\n 2a00:1450:4864:20::329 as permitted sender)\n smtp.mailfrom=konrad.schwarz@gmail.com;\n       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com;\n       dara=pass header.i=@googlegroups.com",
            "i=1; gmr-mx.google.com;\n       dkim=pass header.i=@gmail.com header.s=20251104 header.b=jTjyKnUe;\n       spf=pass (google.com: domain of konrad.schwarz@gmail.com designates\n 2a00:1450:4864:20::329 as permitted sender)\n smtp.mailfrom=konrad.schwarz@gmail.com;\n       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com;\n       dara=pass header.i=@googlegroups.com"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=googlegroups.com; s=20251104; t=1775936790; x=1776541590;\n darn=patchwork.ozlabs.org;\n        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post\n         :list-id:mailing-list:precedence:x-original-authentication-results\n         :x-original-sender:mime-version:message-id:date:subject:cc:to:from\n         :sender:from:to:cc:subject:date:message-id:reply-to;\n        bh=0P+nQ7t2cP9ZouH+DiZIqkUZsS9ZOokuQAtGZMrO0Gw=;\n        b=dJUpc1Uk5VVZHta+lEeZQYGaA56wHSPYR0qycRc1wCKLfXhNvgdh6pGivB6gpm1vTU\n         588xYvy1ndmaSkL1XsoURhAHwVidLURaHwIG2bJt3o+jRO2zIPUkHMXIEicmcdWb6vmO\n         qRSFJvZC6+Zn6zKP5HYw92epIMkGRhCaHQBySvh5Fb5tY3XIeHh/vtmUT7VoXWR4ueRl\n         a1Hla/mK6KdUuv1uKuYP1GEf50Wy1OtFV8nueYwLkJkNajdqCsd09wGI4q+IjOW2FYww\n         ArsUOK+k0E3ePa+KzXHyL2dObVONikjnJA5XWGHFa/XLqNoXN/iIUFT+56DuXhZHjDe6\n         OVVg==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=gmail.com; s=20251104; t=1775936790; x=1776541590;\n darn=patchwork.ozlabs.org;\n        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post\n         :list-id:mailing-list:precedence:x-original-authentication-results\n         :x-original-sender:mime-version:message-id:date:subject:cc:to:from\n         :from:to:cc:subject:date:message-id:reply-to;\n        bh=0P+nQ7t2cP9ZouH+DiZIqkUZsS9ZOokuQAtGZMrO0Gw=;\n        b=Un3u0ro5vJDUaFEkVVKHezqeGg+HcUNtHPYCBJuzTMFLJdaVVp7KgueaM6MO+5Tv3U\n         wMgOC/maIeunNLCt1aTaGFNp5tzFm3EAvswydgPdjNr5SGyYQCgVDyJ4IzM4RVbVihOA\n         yevImogmDkw2pBlV4shBoNA/oIyE/em6r6yE9BP5uaYNm+7mgjo5NXTGKWJD9Ut13UPr\n         PCmOF47W30gNpvOlexe4ng/W0H5HLl8o3lwchJFmKQ0lxArGCxDQk03C/gd2NuBNOd6s\n         noIDaSBlPr6soieSXcLsxSPy5NY7WLKwL5GqwMqcK+8IaozN+y1zaQa3K4PBsoizKL38\n         dlCA=="
        ],
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1775936790; x=1776541590;\n        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post\n         :list-id:mailing-list:precedence:x-original-authentication-results\n         :x-original-sender:mime-version:message-id:date:subject:cc:to:from\n         :x-gm-gg:x-beenthere:x-gm-message-state:sender:from:to:cc:subject\n         :date:message-id:reply-to;\n        bh=0P+nQ7t2cP9ZouH+DiZIqkUZsS9ZOokuQAtGZMrO0Gw=;\n        b=o76ObNtpQvWzZHvzvFTW1kL5V9hu6WrU+pmfqx8nIVVkUje4AY8UjhqdoZGHRFWyFK\n         CGDWpGp3IrmWDpoFjmxr7VDzEwY6GVn47mP5YRQLbzPyXzNz598sMgj4748pRHD/xhd7\n         5kvSRH+Rl7d+N3vdTly3XjceoU5fQEt0jcosqp/fVLtHfe4nOnByLnsFuxW30bbtJKp7\n         w3corKMHVX5KTIM37Z2U9aybB833f3/bXsORrlns4oIrrmI8/HR0qhz6ANGOm22W8BmT\n         Bw8JJcWDc5/R0GtO/RWDPlLOf3yYKbTQOmucil6J6NWXv0jg6eRcVpcGh/i0kCiO5CSj\n         0Nmw==",
        "Sender": "swupdate@googlegroups.com",
        "X-Forwarded-Encrypted": "i=2;\n AJvYcCW1KJrzNky5tdm/6MBLqK5jITYzpRw6hYw2O7hHXP7zB6R/EO7Zg6aMOibvpfcrWUU7R0PyAe117Q==@patchwork.ozlabs.org",
        "X-Gm-Message-State": "AOJu0YwgE38Ya0ZxzggTNR+QYiCw6+AtxoqV6qjRb2+Ju1fYo9Vb/wmr\n\tfZA8zdBykr04EeQ14wiOksrcG9M0eTmv8Zx5GXRU1u0WD52/xKsZCFAC",
        "X-Received": [
            "by 2002:a05:622a:4a15:b0:509:1a36:6aca with SMTP id\n d75a77b69052e-50dd5bd9509mr124081671cf.17.1775936790571;\n        Sat, 11 Apr 2026 12:46:30 -0700 (PDT)",
            "by 2002:a05:6214:2b06:b0:8a1:bcce:86ba with SMTP id\n 6a1803df08f44-8ac862ab60emr132027066d6.40.1775936787893;\n        Sat, 11 Apr 2026 12:46:27 -0700 (PDT)",
            "by 2002:a05:6512:33c8:b0:5a2:9635:b1e0 with SMTP id\n 2adb3069b0e04-5a3ef90b25dmr2547779e87.16.1775936728343;\n        Sat, 11 Apr 2026 12:45:28 -0700 (PDT)",
            "by 2002:a05:600c:3b0e:b0:487:20ee:bef6 with SMTP id\n 5b1f17b1804b1-488d67e65fdmr102340295e9.11.1775936727380;\n        Sat, 11 Apr 2026 12:45:27 -0700 (PDT)"
        ],
        "X-BeenThere": "swupdate@googlegroups.com;\n h=\"AYAyTiLyRjgMob4qWQSB4V+Xn+m81o399USzvTdIeQROXlNXbw==\"",
        "Received-SPF": "pass (google.com: domain of konrad.schwarz@gmail.com designates\n 2a00:1450:4864:20::329 as permitted sender) client-ip=2a00:1450:4864:20::329;",
        "X-Gm-Gg": "AeBDieuB9Dm8eo5H3qtcUstRZ00uXEnNiKk+7ybLnI3fc/PKVbN0flR65q4XwnToN7R\n\tL6wcL7k8AGron6O0tF7xtxE4Ytrga/LGeDyMmQrYO8ss7O4sUcJwjr45rGzSMYvNcR6nbK06jM+\n\tG1X/8DDQdlF1L2C2IZE0ZD6ZgGJVBYQuVpfQd7twIF+GXPprObEs8IGYi6lNpFr0v1Guo/Dgs8N\n\tOycmeY/Cz1O4sPec/X6PSesdUCgE0IQvzmUQpkQbzUoKDwERN0o7phDot4kkflPYpZ2QyOQRBRT\n\txizV6JsZD+TXHMtuOeOFj9D3Xvzn0+fRMOoiKlwudzufnUtMKlKTwaMtz5y4A/lx4TRZ8oW/sBF\n\tnrH8OOEZ6Xi7AlUVkEpZ2nvBqNikNKVc/Aq9ZteNsHtSifbDHnmepslvQGR4KKS6Q0ps6sLgEh5\n\tOTJsxh1AxsNGBv4uH/jTPThXso3OdHZwzQ29RHJ/WSj5UCRCQh2JjlWcZ/fC8=",
        "From": "Konrad Schwarz <konrad.schwarz@gmail.com>",
        "To": "swupdate@googlegroups.com",
        "Cc": "Konrad Schwarz <konrad.schwarz@siemens.com>",
        "Subject": "[swupdate] [RFC PATCH 0/3] Sticky FAILURE State",
        "Date": "Sat, 11 Apr 2026 21:45:15 +0200",
        "Message-ID": "<cover.1775844632.git.konrad.schwarz@siemens.com>",
        "X-Mailer": "git-send-email 2.47.3",
        "MIME-Version": "1.0",
        "X-Original-Sender": "konrad.schwarz@gmail.com",
        "X-Original-Authentication-Results": "gmr-mx.google.com;       dkim=pass\n header.i=@gmail.com header.s=20251104 header.b=jTjyKnUe;       spf=pass\n (google.com: domain of konrad.schwarz@gmail.com designates\n 2a00:1450:4864:20::329 as permitted sender)\n smtp.mailfrom=konrad.schwarz@gmail.com;\n       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com;\n       dara=pass header.i=@googlegroups.com",
        "Content-Type": "text/plain; charset=\"UTF-8\"",
        "Precedence": "list",
        "Mailing-list": "list swupdate@googlegroups.com;\n contact swupdate+owners@googlegroups.com",
        "List-ID": "<swupdate.googlegroups.com>",
        "X-Google-Group-Id": "605343134186",
        "List-Post": "<https://groups.google.com/group/swupdate/post>,\n <mailto:swupdate@googlegroups.com>",
        "List-Help": "<https://groups.google.com/support/>,\n <mailto:swupdate+help@googlegroups.com>",
        "List-Archive": "<https://groups.google.com/group/swupdate",
        "List-Subscribe": "<https://groups.google.com/group/swupdate/subscribe>,\n <mailto:swupdate+subscribe@googlegroups.com>",
        "List-Unsubscribe": "\n <mailto:googlegroups-manage+605343134186+unsubscribe@googlegroups.com>,\n <https://groups.google.com/group/swupdate/subscribe>"
    },
    "content": "From: Konrad Schwarz <konrad.schwarz@siemens.com>\n\nThe swupdate-progress interface defines a message\nwho's key field is a field \"state\".\nIntuitively, this field would represent the\ncurrent state of the update state machine.\n\nIn practice however, a few state=PROGRESS messages follow a\nstate=FAILURE message.\n\nThis is surprising to progress monitors, since the state\nof the update attempt is still (or should be) FAILURE and not\n(update-in-) PROGRESS.\n\nProgress monitors that wish to indicate the current\nstate need to track the messages and implement\na (little) state machine to make sure they remain\nin FAILURE state until the next status=START message.\n\nThe following change integrates that state machine into\nthe core progress thread, which\nwill simplify logic in progress monitors.\n\nThis change affects the standard tools/swupdate-progress monitor.\n\ntools/swupdate-progress is able to trigger certain events when\nreaching FAILURE (or SUCCESS).\nWith the above change, such events would be\ntriggered several times, once for each message with state FAILURE.\nOne event option is a user-defined \"post script\".\n\nTo prevent this, the second patch adds \"edge filtering\"\nto tools/swupdate-progress, so that events\nare triggered only on the transition to FAILURE.\n\nSince this is in some sense an incompatible change,\nthe final patch bumps the message API patch level.\n\nKonrad Schwarz (3):\n  swupdate-progress: make FAILURE state sticky\n  tools/swupdate-progress: sticky FAILURE state modifications\n  swupdate-progress: indicate modified API\n\n core/progress_thread.c    | 16 ++++++++++++++++\n include/progress_ipc.h    |  2 +-\n tools/swupdate-progress.c | 11 ++++++++++-\n 3 files changed, 27 insertions(+), 2 deletions(-)"
}