From 987217529b22b8841a677763d7d798c7a71ad96b Mon Sep 17 00:00:00 2001 From: Martin Donadieu Date: Thu, 16 Jul 2026 02:12:56 +0200 Subject: [PATCH 1/6] fix: drop awkward device-total copy on /data/ Stop calling out API internals and unpublished totals on the public reliability page. Co-authored-by: Cursor --- apps/web/src/pages/data.astro | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/web/src/pages/data.astro b/apps/web/src/pages/data.astro index b4415c3eb..05fefbfee 100644 --- a/apps/web/src/pages/data.astro +++ b/apps/web/src/pages/data.astro @@ -57,7 +57,7 @@ const content = {

Platform mix

Share of active devices

-

Only percentage distribution is published. Exact device totals never leave the API.

+

Relative share of active devices across iOS, Android, and Electron.

{ @@ -80,7 +80,7 @@ const content = {

Failure distribution

Top failure reasons

-

Each reason is deduplicated by app, device, and day. The list shows percentage share only.

+

Each reason is deduplicated by app, device, and day.

    @@ -94,7 +94,7 @@ const content = {

    Adoption context

    Leading updater version

    -

    The most-used updater version each day is shown as a percentage, without publishing device totals.

    +

    The most-used updater version each day, shown as a share of active devices.

    -

    One success and one failure at most are counted for each app, device, and day. Repeated file-level errors cannot inflate the result.

    +

    Each app, device, and day counts once. A day that eventually installs successfully counts as success.

    From dca0dacc19a8612bead5ce11c7ba568a7ce03db7 Mon Sep 17 00:00:00 2001 From: Martin Donadieu Date: Thu, 16 Jul 2026 02:48:00 +0200 Subject: [PATCH 4/6] docs: add /data/ success-copy visual proof Co-authored-by: Cursor --- .github/pr-assets/data-page-success-copy.webp | Bin 0 -> 12952 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .github/pr-assets/data-page-success-copy.webp diff --git a/.github/pr-assets/data-page-success-copy.webp b/.github/pr-assets/data-page-success-copy.webp new file mode 100644 index 0000000000000000000000000000000000000000..3447b107a5751b91ad1e1f59847f697c3f7de1d3 GIT binary patch literal 12952 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 Date: Thu, 16 Jul 2026 02:55:15 +0200 Subject: [PATCH 5/6] fix: clarify /data/ device-day success counting copy Co-authored-by: Cursor --- apps/web/src/pages/data.astro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/src/pages/data.astro b/apps/web/src/pages/data.astro index 31f533a94..6e2fae647 100644 --- a/apps/web/src/pages/data.astro +++ b/apps/web/src/pages/data.astro @@ -31,7 +31,7 @@ const content = {

    Install reliability

    Daily success rate

    -

    Each app, device, and day counts once. A day that eventually installs successfully counts as success.

    +

    Counted per app, device, and UTC day. If that combination eventually installs successfully, it counts as success.

    From 5e8ad0582b38aafe2fad9d5871240cb59cc6c654 Mon Sep 17 00:00:00 2001 From: Martin Donadieu Date: Thu, 16 Jul 2026 02:58:55 +0200 Subject: [PATCH 6/6] docs: refresh /data/ success-copy screenshot Co-authored-by: Cursor --- .github/pr-assets/data-page-success-copy.webp | Bin 12952 -> 13472 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.github/pr-assets/data-page-success-copy.webp b/.github/pr-assets/data-page-success-copy.webp index 3447b107a5751b91ad1e1f59847f697c3f7de1d3..5b2180c6bf58114c0a070400bfef9590e3f10c7c 100644 GIT binary patch literal 13472 zcmeI1Q;;T1u%^Gpv~AnAZOyc8+qSJ~f8Eoz-92sFwr!jHAMDu^d$qe~Z#H7-YD32*34D`I`OA zd5V5N{@Qk~x%DA@{XWmR{zUlVe%!wKXP)bK=R4^a?4$Y<>nvfw_xxL+ALmEfhyBy^ zX3ou5p*ODc_CxnQzfh;|8|Pcj)%KC#oqzNL≪v{f7RCV8!>}ulXC0kMK9hcfxD` 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