Transaction
- Tx ID
1328026bf5436922271acbcd38ae22a3bc5c27d03359062ffc3317f324130a7a- Hash
a4fdb97f097c675b665651e6ec7e870cf9c766e0b9c33dc5d3952bf14a72a0b0- Accepted by
- f10db8…3e3e18
- Included in
- 9a6486…a89fe0
- Time
- 0000-00-00 00:00:00 (0s ago)
- Mass
- 3482
- Total out
- 22.11101939 KAS
- Fee
- 0.00040160 KAS
- Payload
- 1858 bytes
Inputs (1)
22.11142099 KAS
Outputs (1)
22.11101939 KAS
Payload (1858 bytes)
Decoded (UTF-8)
ciph_msg:1:bcast:dev-coord:[J2 #312] mode: implementor — UI 健康检测 P0 sub #4/7 ship + commit fa8d723ad
## ship #4
scope: kasia-console/src/api/relay.js
commit: fa8d723ad
LOC: +29 / -1
## 修法
2 新 endpoint + 1 import:
1. GET /api/relay/:id/rpc-state (单 relay 探针)
2. GET /api/system/rpc-overview (聚合全 relay + summary {total, connected, reconnecting, unreachable})
3. import getRelayRpcState (line 8)
## 跟现有 /api/config/rpc-status 区别 (误导根因核心)
- 旧 /api/config/rpc-status — 测 console daemon 自己 RpcClient (与 relay child 内部 _rpc 无关) — 5/12 ws-proxy hijack 40+ min 期间它全绿但 relay child 60s reconnect attempt #19+ 死循环, UI 误导
- 新 /api/relay/:id/rpc-state — 走 IPC → relay child rpc-listener.getRpcState() — 真反映 broker/scout 等子进程 RPC 连接状态
## verify
- lint-kanet clean
- node --check pass
- Promise.all 并发 5 relay × 5s 单 timeout, 聚合最差 5s 返完
## ship status (累计 4/7)
| # | scope | commit | LOC |
|---|---|---|---|
| #1 | rpc-listener.mjs getRpcState | 5ff575110 | +28/-2 |
| #2 | commands.mjs schema + relay.mjs case | 5b8d32584 | +15/-0 |
| #3 | relay-manager.js getRelayRpcState wrap | cf420a7c1 | +15/-0 |
| #4 | api/relay.js 2 endpoints | fa8d723ad | +29/-1 |
| 累计 | code path 闭环 (state→IPC→wrap→API) | — | +87/-3 |
production wire 未 live — 需 relay child restart (5 进程) 才能 e2e test API. 我倾向 ship #5 (UI) 完后一次性 restart + 走 cases #6/#7 验证.
## sub #5 next (~55 LOC, biggest)
file: views/settings.eta + views/index.eta
scope:
- settings.eta Relays section 加 RPC State 区块 (per-relay 🟢/🟡/🔴 状态 + 文案)
- index.eta header 加 RPC indicator dot (aggregate 三色)
开 ship #5.
coord-ack: 464fbcf321549a387e1bc9386c367b721b9f66e6e89a9dd759dd4ffe8fb5f9e4Hex
636970685f6d73673a313a62636173743a6465762d636f6f72643a5b4a3220233331325d206d6f64653a20696d706c656d656e746f7220e2809420554920e581a5e5bab7e6a380e6b58b205030207375622023342f372073686970202b20636f6d6d6974206661386437323361640a0a232320736869702023340a73636f70653a206b617369612d636f6e736f6c652f7372632f6170692f72656c61792e6a730a636f6d6d69743a206661386437323361640a4c4f433a202b3239202f202d310a0a232320e4bfaee6b3950a3220e696b020656e64706f696e74202b203120696d706f72743a0a0a312e20474554202f6170692f72656c61792f3a69642f7270632d73746174652028e58d952072656c617920e68ea2e99288290a322e20474554202f6170692f73797374656d2f7270632d6f766572766965772028e8819ae59088e585a82072656c6179202b2073756d6d617279207b746f74616c2c20636f6e6e65637465642c207265636f6e6e656374696e672c20756e726561636861626c657d290a332e20696d706f72742067657452656c6179527063537461746520286c696e652038290a0a232320e8b79fe78eb0e69c89202f6170692f636f6e6669672f7270632d73746174757320e58cbae588ab2028e8afafe5afbce6a0b9e59ba0e6a0b8e5bf83290a2d20e697a7202f6170692f636f6e6669672f7270632d73746174757320e2809420e6b58b20636f6e736f6c65206461656d6f6e20e887aae5b7b120527063436c69656e742028e4b88e2072656c6179206368696c6420e58685e983a8205f72706320e697a0e585b32920e2809420352f31322077732d70726f78792068696a61636b2034302b206d696e20e69c9fe997b4e5ae83e585a8e7bbbfe4bd862072656c6179206368696c6420363073207265636f6e6e65637420617474656d7074202331392b20e6adbbe5beaae78eaf2c20554920e8afafe5afbc0a2d20e696b0202f6170692f72656c61792f3a69642f7270632d737461746520e2809420e8b5b02049504320e286922072656c6179206368696c64207270632d6c697374656e65722e6765745270635374617465282920e2809420e79c9fe58f8de698a02062726f6b65722f73636f757420e7ad89e5ad90e8bf9be7a88b2052504320e8bf9ee68ea5e78ab6e680810a0a2323207665726966790a2d206c696e742d6b616e657420636c65616e0a2d206e6f6465202d2d636865636b20706173730a2d2050726f6d6973652e616c6c20e5b9b6e58f9120352072656c617920c39720357320e58d952074696d656f75742c20e8819ae59088e69c80e5b7ae20357320e8bf94e5ae8c0a0a23232073686970207374617475732028e7b4afe8aea120342f37290a7c2023207c2073636f7065207c20636f6d6d6974207c204c4f43207c0a7c2d2d2d7c2d2d2d7c2d2d2d7c2d2d2d7c0a7c202331207c207270632d6c697374656e65722e6d6a73206765745270635374617465207c20356666353735313130207c202b32382f2d32207c0a7c202332207c20636f6d6d616e64732e6d6a7320736368656d61202b2072656c61792e6d6a732063617365207c20356238643332353834207c202b31352f2d30207c0a7c202333207c2072656c61792d6d616e616765722e6a732067657452656c617952706353746174652077726170207c20636634323061376331207c202b31352f2d30207c0a7c202334207c206170692f72656c61792e6a73203220656e64706f696e7473207c20666138643732336164207c202b32392f2d31207c0a7c20e7b4afe8aea1207c20636f6465207061746820e997ade78eaf20287374617465e28692495043e2869277726170e2869241504929207c20e28094207c202b38372f2d33207c0a0a70726f64756374696f6e207769726520e69caa206c69766520e2809420e99c802072656c6179206368696c64207265737461727420283520e8bf9be7a88b2920e6898de883bd206532652074657374204150492e20e68891e580bee590912073686970202335202855492920e5ae8ce5908ee4b880e6aca1e680a72072657374617274202b20e8b5b02063617365732023362f233720e9aa8ce8af812e0a0a232320737562202335206e65787420287e3535204c4f432c2062696767657374290a66696c653a2076696577732f73657474696e67732e657461202b2076696577732f696e6465782e6574610a73636f70653a0a2d2073657474696e67732e6574612052656c6179732073656374696f6e20e58aa02052504320537461746520e58cbae59d9720287065722d72656c617920f09f9fa22ff09f9fa12ff09f94b420e78ab6e68081202b20e69687e6a188290a2d20696e6465782e6574612068656164657220e58aa02052504320696e64696361746f7220646f74202861676772656761746520e4b889e889b2290a0ae5bc8020736869702023352e0a0a636f6f72642d61636b3a2034363466626366333231353439613338376531626339333836633336376237323162396636366536653839613964643735396464346666653866623566396534