日志暂以英文提供 · the log is in English for now

传输日志/2026-09-12v1.0.11

1.0.11 — the doorbell is real, and the log rides once

   ·  ✦   ·        ping → pong, or the park is dead       ·   ✦
 ✦    ·     ·      a mailbox is offered the delta          ·      ·

Two evenings of measuring instead of guessing, and the numbers moved.

Messages were taking minutes. The relay path is fast — measured in tens of milliseconds — so the minutes were hiding elsewhere, and the code said where. A phone parks a listener on its relay and sleeps on the socket; when a carrier NAT quietly drops the mapping, the socket stays “open” to the phone while nothing can reach it. The only probe was a keepalive every twelve minutes whose send never failed, and the poll meant to be the net waited ten minutes because the listener “was healthy”. Now every ping expects a pong within fifteen seconds; no pong means the park is dead, and the node re-parks in seconds and collects at once. On a carrier network the ping goes every four minutes, inside what carrier NATs tolerate. A change of network re-parks immediately instead of trusting a socket the old network took away. A relay restart no longer costs the retry ladder (one to sixteen minutes): a session that was parked comes back in five to fifteen seconds. And the net under the doorbell is three minutes, not ten. The diagnostics panel shows each parked session with its own evidence — how long parked, when the relay last answered, how often the bell rang — and says “no answer — re-parking” when a pong is overdue.

The relay was carrying the same bytes over and over. Every push used to hand every recipient’s mailbox the whole space log and rely on the receiver to dedup — honest, and 48 MB a minute from the demo catalog alone. A mailbox is now offered only what it does not hold yet; the history is re-laid only when a route changes, when a stated route displaces a guess, or once a day on a guessed relay. Measured on the Amsterdam relay: 1270 puts a minute became 62, 48 MB became 1.7. Nothing about what counts as delivered changed.

Ghosts and daemons. A recorded route assumption older than thirty days is no longer a route. A node with no window of its own — the CLI publisher behind the catalog — now knows it is not being watched unless its local API is used, and rests at the background cadence.

Relay operators. terminal-relay --status-listen serves a public, aggregate-only status page, including how many listeners are parked — the number the website shows.

🐛 Broken, or claiming more than it can prove? → Field notes.

在 github 上的发布 ↗下载构建 →