fix(theme): 补抠封闭白区(光环/车架/轮圈内),人物与单车加渐隐遮罩

问题(用户发现):
1. 光环环内是白块 —— 此前只用「边界洪泛」抠底,被图形围起来的封闭白色
   区域(光环内圈、单车车架三角、轮圈内扇形)与边界不连通,没被处理
2. 人物与单车直接贴在页面上显得突兀

修复:
- 对三张图再补一次「封闭白色区域」清理(按面积阈值):
  人物抠 3675px(含光环 2665)、单车抠 19657px、图标抠 308px;并同步重生成 favicon
  已验证脸部 / 袜子 / 衣服等服装白未被误抠(保留 34px 噪点级)
- 立绘 opacity .92 + 上下渐隐遮罩;单车 opacity .8 + 两端渐隐 + saturate(.92)

验证:四套脚本 81 项全通过;1440 宽 0 横向溢出;局部放大确认光环内圈可透出背景
This commit is contained in:
tamakyi
2026-10-13 21:06:29 +08:00
parent fa7c708878
commit 6f9a2d33ce
18 changed files with 242 additions and 229 deletions
+7 -2
View File
@@ -304,13 +304,13 @@ UptimeRobot 的探测来自其多个节点,适合作为**异地视角**与自
| 位置 | 元素 | 取自设定 |
| --- | --- | --- |
| 左上 logo / 浏览器图标 | **简约风半身头像**(光环 + 狼耳 + 围巾)+ 青色光环环(呼吸式外扩动画) | 生成插画的半身裁切 |
| 右下角 | **简约风全身立绘**(透明底,约 44vh,窄身设计:实测 1280 / 1440 / 1920 下都不遮挡表格,页面也无横向滚动) | 生成插画 |
| 右下角 | **简约风全身立绘**(透明底,约 44vh,窄身设计:实测 1280 / 1440 / 1920 下都不遮挡表格,页面也无横向滚动);半透明 + 上下渐隐,融入背景 | 生成插画 |
| 顶栏底边 | **天蓝色围巾飘带**:波浪形状 + 5 处褶皱纹路(自绘) | 天蓝色围巾是星野送给她的信物 |
| 页脚下方 | **光环水印**(自绘:倾斜椭圆环 + 四方位带圆头的短杆) | 白子的光环是倾斜的椭圆环,四个方位各有一条带圆头的短杆,整体形似全息瞄准镜准星 |
| 状态点 | **迷你光环**(外圈 + 中心点,在线时缓慢脉冲外扩) | 光环是基沃托斯学生的标志 |
| 分组标题 | **青色倒十字发饰**(旋转 45°,自绘) | 她左侧刘海上别的青色十字发夹 |
| 刷新按钮加载态 | **公路车轮**(轮圈 + 辐条 + 花鼓)旋转 | 她最爱的公路车(Bianchi ARIA 原型) |
| 左下角 | 公路车插画(简约扁平风,与人物同一套视觉语言) | 她最爱的公路车(Bianchi ARIA 原型) |
| 左下角 | 公路车插画(简约扁平风,与人物同一套视觉语言;半透明 + 两端渐隐) | 她最爱的公路车(Bianchi ARIA 原型) |
| 配色 | 天蓝 / 青 + 藏蓝 + 灰白;「正常」色改为青绿(`#12b0a2`) | 阿拜多斯藏蓝校服 + 天蓝围巾 + 灰白发色 |
左下公路车、页脚光环、右下立绘构成页脚下方的一条装饰带,三者互不遮挡。
@@ -441,6 +441,11 @@ UptimeRobot 的探测来自其多个节点,适合作为**异地视角**与自
- [x] 页脚改为展示「数据更新于 … + 下次检查 Ns」,tooltip 内含服务端更新节奏与快照生成时间
- [x] `scripts/verify.cjs` 适配纯外部数据源部署(自动跳过不适用的探测类断言),并新增「倒计时对齐服务端」断言
### v0.8.3 已实现
- [x] **修复抠图漏区**:此前只用「边界洪泛」抠底,光环**环内**、单车**车架三角区与轮圈内扇形**这些被围起来的封闭白色区域没被处理,会留成白块。改为再补一次「封闭白色区域」按面积清理(人物/单车/图标三张图都处理了;脸部、袜子等服装白已确认保留)
- [x] **人物与单车加半透明 + 渐隐遮罩**:立绘 `opacity .92` + 上下渐隐,单车 `opacity .8` + 两端渐隐 + 轻微降饱和,不再像贴上去的贴纸
### v0.8.2 已实现
- [x] 左下角公路车换成**简约扁平风插画**(AI 生成 + 抠底,与人物同一套视觉语言),替换掉此前自绘的线稿 SVG;页脚下方装饰带(公路车 / 光环 / 人物)风格统一
Binary file not shown.

Before

Width:  |  Height:  |  Size: 312 KiB

After

Width:  |  Height:  |  Size: 305 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 KiB

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 KiB

After

Width:  |  Height:  |  Size: 422 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 453 KiB

After

Width:  |  Height:  |  Size: 735 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 311 KiB

After

Width:  |  Height:  |  Size: 257 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 KiB

After

Width:  |  Height:  |  Size: 224 KiB

+1 -1
View File
@@ -11,7 +11,7 @@
import { connect } from 'cloudflare:sockets';
const VERSION = '0.8.2';
const VERSION = '0.8.3';
const HISTORY_LIMIT = 48;
const UPTIME_DAYS = 90;
const USER_AGENT = 'shiroko-monitor/0.3 (lightweight uptime panel)';
+1 -1
View File
@@ -35,7 +35,7 @@ const CONCURRENCY = 8;
const WRITE_DEBOUNCE_MS = 300;
const DEFAULT_INTERVAL_SEC = 60;
const PORT = Number(process.env.PORT || 8787);
const VERSION = '0.8.2';
const VERSION = '0.8.3';
const UR_DEFAULT_POLL_SEC = 300;
const UR_MIN_REFRESH_GAP_MS = 60000;
+1 -1
View File
@@ -1,4 +1,4 @@
const VERSION = '0.8.2';
const VERSION = '0.8.3';
const HB_LIMIT = 48;
const UPTIME_DAYS = 90;
const BROWSER_CONCURRENCY = 6;
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

+10 -2
View File
@@ -89,7 +89,11 @@ body[data-theme="shiroko"]::before {
height: 93px;
pointer-events: none;
z-index: 0;
opacity: 0.85;
/* 半透明 + 两端渐隐,弱化「一块贴图」的突兀感 */
opacity: 0.8;
filter: saturate(0.92);
mask-image: linear-gradient(180deg, transparent 0, #000 16%, #000 84%, transparent 100%);
-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 16%, #000 84%, transparent 100%);
background: url("shiroko-bike.webp") no-repeat center / contain;
}
@@ -213,7 +217,11 @@ body[data-theme="shiroko"] .artwork {
z-index: 0;
pointer-events: none;
user-select: none;
filter: drop-shadow(0 6px 18px rgb(23 60 100 / 15%));
/* 半透明 + 上下渐隐遮罩:让它像背景插画而不是贴上去的贴纸 */
opacity: 0.92;
filter: drop-shadow(0 6px 18px rgb(23 60 100 / 12%));
mask-image: linear-gradient(180deg, transparent 0, #000 5%, #000 90%, rgb(0 0 0 / 40%) 100%);
-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 5%, #000 90%, rgb(0 0 0 / 40%) 100%);
}
/* 窄屏:立绘与固定装饰全部撤掉,避免压住内容或溢出(手机只保留配色与围巾飘带) */
@media (max-width: 820px) {
+1 -1
View File
@@ -56,7 +56,7 @@
<span id="ur-chip" class="footer-item warn-chip" hidden>UptimeRobot 同步异常</span>
<span id="updated-at" class="footer-item">–</span>
<span id="countdown" class="footer-item">–</span>
<span class="footer-item version">shiroko-monitor v0.8.2</span>
<span class="footer-item version">shiroko-monitor v0.8.3</span>
</footer>
<script type="module" src="assets/app.js"></script>
+221 -221
View File
@@ -1,8 +1,8 @@
{
"prober": "shiroko-monitor-node/0.7.0",
"demo": false,
"generatedAt": "2026-10-13T12:51:06.452Z",
"dataUpdatedAt": "2026-10-13T12:50:44.858Z",
"generatedAt": "2026-10-13T13:06:27.328Z",
"dataUpdatedAt": "2026-10-13T13:05:50.691Z",
"updateIntervalSec": 300,
"dataFilter": "uptimerobot",
"stats": {
@@ -10,12 +10,12 @@
"up": 5,
"down": 1,
"pending": 0,
"avgLatency": 1030,
"avgLatency": 991,
"avgUptime90": 83.3,
"memory": {
"rssMB": 67.9,
"heapUsedMB": 10.6,
"heapTotalMB": 16.2
"rssMB": 77.5,
"heapUsedMB": 10.7,
"heapTotalMB": 16
}
},
"sources": {
@@ -23,19 +23,19 @@
"enabled": true,
"ok": true,
"error": null,
"lastSyncAt": "2026-10-13T12:46:17.954Z",
"lastSyncAt": "2026-10-13T13:03:02.502Z",
"count": 6,
"syncing": false,
"lastSyncMs": 1791895576434
"lastSyncMs": 1791896580947
}
},
"monitors": {
"ur-792059439": {
"status": "up",
"latency": 415,
"latency": 277,
"code": null,
"detail": "UptimeRobot:运行正常",
"lastCheck": "2026-10-13T12:42:00.000Z",
"lastCheck": "2026-10-13T12:58:00.000Z",
"history": [
{
"t": "2026-10-12T13:50:00.000Z",
@@ -203,20 +203,20 @@
"ms": 395
},
{
"t": "2026-10-13T12:02:00.000Z",
"t": "2026-10-13T12:22:00.000Z",
"ok": true,
"ms": 342
"ms": 302
},
{
"t": "2026-10-13T12:42:00.000Z",
"t": "2026-10-13T12:58:00.000Z",
"ok": true,
"ms": 415
"ms": 277
}
],
"daily": {
"2026-10-13": {
"total": 19,
"up": 19
"total": 23,
"up": 23
}
},
"meta": {
@@ -243,191 +243,191 @@
},
"ur-795497022": {
"status": "up",
"latency": 732,
"latency": 749,
"code": null,
"detail": "UptimeRobot:运行正常",
"lastCheck": "2026-10-13T12:46:00.000Z",
"lastCheck": "2026-10-13T13:02:00.000Z",
"history": [
{
"t": "2026-10-12T13:40:00.000Z",
"t": "2026-10-12T13:55:00.000Z",
"ok": true,
"ms": 935
"ms": 1017
},
{
"t": "2026-10-12T14:20:00.000Z",
"t": "2026-10-12T14:35:00.000Z",
"ok": true,
"ms": 802
"ms": 814
},
{
"t": "2026-10-12T15:00:00.000Z",
"t": "2026-10-12T15:15:00.000Z",
"ok": true,
"ms": 720
"ms": 710
},
{
"t": "2026-10-12T15:40:00.000Z",
"t": "2026-10-12T15:55:00.000Z",
"ok": true,
"ms": 798
"ms": 792
},
{
"t": "2026-10-12T16:20:00.000Z",
"ok": true,
"ms": 685
},
{
"t": "2026-10-12T17:00:00.000Z",
"t": "2026-10-12T16:35:00.000Z",
"ok": true,
"ms": 700
},
{
"t": "2026-10-12T17:40:00.000Z",
"t": "2026-10-12T17:15:00.000Z",
"ok": true,
"ms": 694
"ms": 689
},
{
"t": "2026-10-12T18:20:00.000Z",
"t": "2026-10-12T17:55:00.000Z",
"ok": true,
"ms": 703
"ms": 725
},
{
"t": "2026-10-12T19:00:00.000Z",
"t": "2026-10-12T18:35:00.000Z",
"ok": true,
"ms": 729
"ms": 744
},
{
"t": "2026-10-12T19:40:00.000Z",
"t": "2026-10-12T19:15:00.000Z",
"ok": true,
"ms": 713
"ms": 723
},
{
"t": "2026-10-12T20:20:00.000Z",
"t": "2026-10-12T19:55:00.000Z",
"ok": true,
"ms": 784
"ms": 698
},
{
"t": "2026-10-12T21:00:00.000Z",
"t": "2026-10-12T20:35:00.000Z",
"ok": true,
"ms": 628
"ms": 768
},
{
"t": "2026-10-12T21:40:00.000Z",
"t": "2026-10-12T21:15:00.000Z",
"ok": true,
"ms": 629
"ms": 616
},
{
"t": "2026-10-12T22:20:00.000Z",
"t": "2026-10-12T21:55:00.000Z",
"ok": true,
"ms": 751
"ms": 626
},
{
"t": "2026-10-12T23:00:00.000Z",
"t": "2026-10-12T22:35:00.000Z",
"ok": true,
"ms": 674
},
{
"t": "2026-10-12T23:15:00.000Z",
"ok": true,
"ms": 624
},
{
"t": "2026-10-12T23:40:00.000Z",
"t": "2026-10-12T23:55:00.000Z",
"ok": true,
"ms": 715
"ms": 640
},
{
"t": "2026-10-13T00:20:00.000Z",
"t": "2026-10-13T00:35:00.000Z",
"ok": true,
"ms": 683
"ms": 673
},
{
"t": "2026-10-13T01:00:00.000Z",
"ok": true,
"ms": 643
},
{
"t": "2026-10-13T01:40:00.000Z",
"ok": true,
"ms": 641
},
{
"t": "2026-10-13T02:20:00.000Z",
"t": "2026-10-13T01:15:00.000Z",
"ok": true,
"ms": 609
},
{
"t": "2026-10-13T03:00:00.000Z",
"t": "2026-10-13T01:55:00.000Z",
"ok": true,
"ms": 606
"ms": 759
},
{
"t": "2026-10-13T03:40:00.000Z",
"t": "2026-10-13T02:35:00.000Z",
"ok": true,
"ms": 720
"ms": 581
},
{
"t": "2026-10-13T04:20:00.000Z",
"t": "2026-10-13T03:15:00.000Z",
"ok": true,
"ms": 711
"ms": 666
},
{
"t": "2026-10-13T05:00:00.000Z",
"t": "2026-10-13T03:55:00.000Z",
"ok": true,
"ms": 598
"ms": 662
},
{
"t": "2026-10-13T05:40:00.000Z",
"t": "2026-10-13T04:35:00.000Z",
"ok": true,
"ms": 729
"ms": 685
},
{
"t": "2026-10-13T06:20:00.000Z",
"t": "2026-10-13T05:15:00.000Z",
"ok": true,
"ms": 676
"ms": 647
},
{
"t": "2026-10-13T07:00:00.000Z",
"t": "2026-10-13T05:55:00.000Z",
"ok": true,
"ms": 691
"ms": 588
},
{
"t": "2026-10-13T07:40:00.000Z",
"t": "2026-10-13T06:40:00.000Z",
"ok": true,
"ms": 696
"ms": 625
},
{
"t": "2026-10-13T08:20:00.000Z",
"t": "2026-10-13T07:20:00.000Z",
"ok": true,
"ms": 677
"ms": 673
},
{
"t": "2026-10-13T09:00:00.000Z",
"t": "2026-10-13T08:00:00.000Z",
"ok": true,
"ms": 969
"ms": 758
},
{
"t": "2026-10-13T09:40:00.000Z",
"t": "2026-10-13T08:40:00.000Z",
"ok": true,
"ms": 669
"ms": 826
},
{
"t": "2026-10-13T10:20:00.000Z",
"t": "2026-10-13T09:20:00.000Z",
"ok": true,
"ms": 840
"ms": 749
},
{
"t": "2026-10-13T11:31:00.000Z",
"t": "2026-10-13T10:00:00.000Z",
"ok": true,
"ms": 630
"ms": 791
},
{
"t": "2026-10-13T12:09:00.000Z",
"t": "2026-10-13T10:40:00.000Z",
"ok": true,
"ms": 841
"ms": 678
},
{
"t": "2026-10-13T12:46:00.000Z",
"t": "2026-10-13T11:20:00.000Z",
"ok": true,
"ms": 732
"ms": 740
},
{
"t": "2026-10-13T12:25:00.000Z",
"ok": true,
"ms": 819
},
{
"t": "2026-10-13T13:02:00.000Z",
"ok": true,
"ms": 749
}
],
"daily": {
"2026-10-13": {
"total": 19,
"up": 19
"total": 23,
"up": 23
}
},
"meta": {
@@ -454,10 +454,10 @@
},
"ur-795556828": {
"status": "up",
"latency": 235,
"latency": 414,
"code": null,
"detail": "UptimeRobot:运行正常",
"lastCheck": "2026-10-13T12:43:00.000Z",
"lastCheck": "2026-10-13T12:58:00.000Z",
"history": [
{
"t": "2026-10-12T13:50:00.000Z",
@@ -625,20 +625,20 @@
"ms": 334
},
{
"t": "2026-10-13T12:07:00.000Z",
"t": "2026-10-13T12:22:00.000Z",
"ok": true,
"ms": 212
"ms": 393
},
{
"t": "2026-10-13T12:43:00.000Z",
"t": "2026-10-13T12:58:00.000Z",
"ok": true,
"ms": 235
"ms": 414
}
],
"daily": {
"2026-10-13": {
"total": 19,
"up": 19
"total": 23,
"up": 23
}
},
"meta": {
@@ -665,16 +665,11 @@
},
"ur-792059414": {
"status": "up",
"latency": 3287,
"latency": 3103,
"code": null,
"detail": "UptimeRobot:运行正常",
"lastCheck": "2026-10-13T12:42:00.000Z",
"lastCheck": "2026-10-13T12:59:00.000Z",
"history": [
{
"t": "2026-10-12T13:25:00.000Z",
"ok": true,
"ms": 3598
},
{
"t": "2026-10-12T14:10:00.000Z",
"ok": true,
@@ -826,20 +821,20 @@
"ms": 1960
},
{
"t": "2026-10-13T12:02:00.000Z",
"t": "2026-10-13T12:19:00.000Z",
"ok": true,
"ms": 2676
"ms": 2258
},
{
"t": "2026-10-13T12:42:00.000Z",
"t": "2026-10-13T12:59:00.000Z",
"ok": true,
"ms": 3287
"ms": 3103
}
],
"daily": {
"2026-10-13": {
"total": 19,
"up": 19
"total": 23,
"up": 23
}
},
"meta": {
@@ -866,191 +861,196 @@
},
"ur-798788113": {
"status": "up",
"latency": 483,
"latency": 410,
"code": null,
"detail": "UptimeRobot:运行正常",
"lastCheck": "2026-10-13T12:44:00.000Z",
"lastCheck": "2026-10-13T12:59:00.000Z",
"history": [
{
"t": "2026-10-12T14:00:00.000Z",
"t": "2026-10-12T13:45:00.000Z",
"ok": true,
"ms": 434
"ms": 361
},
{
"t": "2026-10-12T14:40:00.000Z",
"ok": true,
"ms": 298
},
{
"t": "2026-10-12T15:20:00.000Z",
"ok": true,
"ms": 410
},
{
"t": "2026-10-12T16:00:00.000Z",
"ok": true,
"ms": 481
},
{
"t": "2026-10-12T16:40:00.000Z",
"ok": true,
"ms": 368
},
{
"t": "2026-10-12T17:20:00.000Z",
"ok": true,
"ms": 373
},
{
"t": "2026-10-12T18:00:00.000Z",
"ok": true,
"ms": 290
},
{
"t": "2026-10-12T18:40:00.000Z",
"ok": true,
"ms": 401
},
{
"t": "2026-10-12T19:20:00.000Z",
"ok": true,
"ms": 458
},
{
"t": "2026-10-12T20:00:00.000Z",
"t": "2026-10-12T14:25:00.000Z",
"ok": true,
"ms": 346
},
{
"t": "2026-10-12T20:40:00.000Z",
"t": "2026-10-12T15:05:00.000Z",
"ok": true,
"ms": 417
"ms": 439
},
{
"t": "2026-10-12T21:20:00.000Z",
"t": "2026-10-12T15:45:00.000Z",
"ok": true,
"ms": 415
"ms": 462
},
{
"t": "2026-10-12T22:00:00.000Z",
"t": "2026-10-12T16:25:00.000Z",
"ok": true,
"ms": 366
"ms": 288
},
{
"t": "2026-10-12T22:40:00.000Z",
"t": "2026-10-12T17:05:00.000Z",
"ok": true,
"ms": 258
"ms": 409
},
{
"t": "2026-10-12T23:20:00.000Z",
"t": "2026-10-12T17:45:00.000Z",
"ok": true,
"ms": 252
"ms": 334
},
{
"t": "2026-10-13T00:00:00.000Z",
"t": "2026-10-12T18:25:00.000Z",
"ok": true,
"ms": 472
},
{
"t": "2026-10-12T19:05:00.000Z",
"ok": true,
"ms": 370
},
{
"t": "2026-10-12T19:45:00.000Z",
"ok": true,
"ms": 353
},
{
"t": "2026-10-12T20:25:00.000Z",
"ok": true,
"ms": 274
},
{
"t": "2026-10-13T00:40:00.000Z",
"t": "2026-10-12T21:05:00.000Z",
"ok": true,
"ms": 535
},
{
"t": "2026-10-12T21:45:00.000Z",
"ok": true,
"ms": 340
},
{
"t": "2026-10-12T22:25:00.000Z",
"ok": true,
"ms": 470
},
{
"t": "2026-10-12T23:05:00.000Z",
"ok": true,
"ms": 245
},
{
"t": "2026-10-12T23:45:00.000Z",
"ok": true,
"ms": 270
},
{
"t": "2026-10-13T00:25:00.000Z",
"ok": true,
"ms": 244
},
{
"t": "2026-10-13T01:20:00.000Z",
"t": "2026-10-13T01:05:00.000Z",
"ok": true,
"ms": 394
"ms": 302
},
{
"t": "2026-10-13T02:00:00.000Z",
"t": "2026-10-13T01:45:00.000Z",
"ok": true,
"ms": 277
},
{
"t": "2026-10-13T02:25:00.000Z",
"ok": true,
"ms": 463
},
{
"t": "2026-10-13T03:05:00.000Z",
"ok": true,
"ms": 437
},
{
"t": "2026-10-13T03:45:00.000Z",
"ok": true,
"ms": 335
},
{
"t": "2026-10-13T04:25:00.000Z",
"ok": true,
"ms": 320
},
{
"t": "2026-10-13T02:40:00.000Z",
"t": "2026-10-13T05:05:00.000Z",
"ok": true,
"ms": 364
"ms": 532
},
{
"t": "2026-10-13T03:20:00.000Z",
"t": "2026-10-13T05:45:00.000Z",
"ok": true,
"ms": 430
"ms": 334
},
{
"t": "2026-10-13T04:00:00.000Z",
"t": "2026-10-13T06:25:00.000Z",
"ok": true,
"ms": 400
"ms": 425
},
{
"t": "2026-10-13T04:40:00.000Z",
"t": "2026-10-13T07:05:00.000Z",
"ok": true,
"ms": 357
"ms": 346
},
{
"t": "2026-10-13T05:20:00.000Z",
"t": "2026-10-13T07:45:00.000Z",
"ok": true,
"ms": 372
"ms": 278
},
{
"t": "2026-10-13T06:00:00.000Z",
"t": "2026-10-13T08:25:00.000Z",
"ok": true,
"ms": 426
"ms": 368
},
{
"t": "2026-10-13T06:40:00.000Z",
"t": "2026-10-13T09:05:00.000Z",
"ok": true,
"ms": 314
"ms": 381
},
{
"t": "2026-10-13T07:20:00.000Z",
"t": "2026-10-13T09:45:00.000Z",
"ok": true,
"ms": 449
"ms": 576
},
{
"t": "2026-10-13T08:00:00.000Z",
"t": "2026-10-13T10:25:00.000Z",
"ok": true,
"ms": 279
"ms": 513
},
{
"t": "2026-10-13T08:40:00.000Z",
"t": "2026-10-13T11:05:00.000Z",
"ok": true,
"ms": 407
"ms": 381
},
{
"t": "2026-10-13T09:20:00.000Z",
"t": "2026-10-13T11:43:00.000Z",
"ok": true,
"ms": 317
"ms": 1257
},
{
"t": "2026-10-13T10:00:00.000Z",
"t": "2026-10-13T12:23:00.000Z",
"ok": true,
"ms": 627
"ms": 471
},
{
"t": "2026-10-13T10:40:00.000Z",
"t": "2026-10-13T12:59:00.000Z",
"ok": true,
"ms": 505
},
{
"t": "2026-10-13T11:20:00.000Z",
"ok": true,
"ms": 424
},
{
"t": "2026-10-13T12:08:00.000Z",
"ok": true,
"ms": 1116
},
{
"t": "2026-10-13T12:44:00.000Z",
"ok": true,
"ms": 483
"ms": 410
}
],
"daily": {
"2026-10-13": {
"total": 19,
"up": 19
"total": 23,
"up": 23
}
},
"meta": {
@@ -1090,7 +1090,7 @@
],
"daily": {
"2026-10-13": {
"total": 19,
"total": 23,
"up": 0
}
},