From c68b5bbbc952cdd1085bbffe37d71034db86607e Mon Sep 17 00:00:00 2001 From: Martin Donadieu Date: Thu, 16 Jul 2026 15:46:29 +0200 Subject: [PATCH 1/2] fix: cache /data metrics and point copy at global_stats Use sessionStorage so a second reload in the same session paints instantly, and align the success-rate copy with the Capgo global_stats source. Co-authored-by: Cursor --- .../data-page-cache-global-stats.webp | Bin 0 -> 16566 bytes apps/web/src/pages/data.astro | 56 +++++++++++++++--- 2 files changed, 47 insertions(+), 9 deletions(-) create mode 100644 .github/pr-assets/data-page-cache-global-stats.webp diff --git a/.github/pr-assets/data-page-cache-global-stats.webp b/.github/pr-assets/data-page-cache-global-stats.webp new file mode 100644 index 0000000000000000000000000000000000000000..7fa92b20fe395479d4b94ea1d9d4bbb51e70560d GIT binary patch literal 16566 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

q34Puv=+=`^RxpKFey87)&L_!}`NFxI9~JviE<# z6G`S+8OUZ_(2Hc18AznwAN`Jh^Q_<1dk8tzMjO7Yi)en){o__so5`$gJZdKHv_prt z0?ZVcXtKuRuc}qakYI{=GegDKE$Hdqpw87vo-PBC^%Ano0nP7{O1lU2U)K1`IL2`nAyHr@F zE}FPsbS;UR@OA;Ks(Y&Il-%=b5LVkrGSuYRF${JdSraTdHn5#tH2zK)?0v#iWR_F-Bs*Zroe2}fAcbf}KS$jfG1 z=V*D=-(){MtjK&XVC$C5qM~(EDxTTCUpw#}F=em_5Z9h1Lfz(TY?ZBLwU}ho_LXT# zNzSdWL|(Op9jZ)LIA7Y2!{2ydt8^ImP0BIb0b(CAv2heO;h2?VX=2rCXpS>GIXbf4 zVdFP6j_4MpqMoi^duj&z(`kY4j{0RKz=wY}vvf9mn84iFmdQ6ie2zt(XOar(Ox8CJ z4?bQ9@3HMtgu>N$js&l&dA`szHq2KCj{gk$bA&#R6OFporftf%)I;V7d8+TG6P>VrIS;Y*|(w9;*&zbKFGB!gHP5Kkqkb62mp z+1d2zI?}>HMC9YzIBE1}HK57UKVt4Gmq#=Q7Y#&WA}NT7{VusmETyf(p!yg`pl~p} zN0FgYAWU~NmD#U-b118Ut<}XvBLJoXL*04;UZpW{bh#HsJ=}6&UG7;G-dKW#7V$WR z+%P8wEGeklb%aOnPb^LS_eQn+%tV}zndrM`KkJU_4Fk0Jn z>bz5y?gl{e7kmK*&{v`(_cg19eFxu_mCK#>l^s{LQl_}?Y}1B;8Y=Kufz literal 0 HcmV?d00001 diff --git a/apps/web/src/pages/data.astro b/apps/web/src/pages/data.astro index 6e2fae647..f8e6ad4eb 100644 --- a/apps/web/src/pages/data.astro +++ b/apps/web/src/pages/data.astro @@ -19,7 +19,7 @@ const content = {

Public aggregate data

Live Update reliability, measured clearly.

-

A privacy-safe 30-day view of install outcomes. Every result is grouped by app, device, and UTC day before percentages are calculated.

+

A privacy-safe 30-day view of Live Update reliability. Success rate comes from the same global_stats snapshot as the Capgo admin dashboard.

Loading current reliability data…

@@ -31,13 +31,13 @@ const content = {

Install reliability

Daily success rate

-

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

+

Success rate matches Capgo global_stats. Failure reasons stay deduplicated by app, device, and UTC day.

-

30-day success rate

+

Success rate

Reporting window

30 days
-

Counting unit

Device / day
+

Source

global_stats
-

Success rate matches Capgo global_stats. Failure reasons stay deduplicated by app, device, and UTC day.

+

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

-

Success rate

+

30-day success rate

Reporting window

30 days
-

Source

global_stats
+

Counting unit

Device / day