me-web? 0.4: no network failure takes the app down; mobile data read right; the route on the path
Build / Desktop, server and tools (push) Successful in 1m31s
Release / Every platform, the server, the release (push) Successful in 9m21s

- Every network call returns a result whatever fails, not only the exceptions .NET
  usually throws: on Android the HTTPS client is the platform's own stack, and a network
  switch mid-request throws others. The outside test as a whole cannot throw; sharing the
  link falls back to copying it. A last guard (the UI thread, unobserved tasks, Android's
  raiser) writes errors.log in the app folder and keeps the app running; nothing is sent.
- On mobile data the app no longer probes the operator's gateway as if it were a home
  router: the router card says there is none, a private address on the phone with another
  public one is the operator's address sharing (CGNAT) and is drawn as its shared exit, the
  public IPv4 is held by that exit, and the provider's notes are labelled as being about its
  home lines. These were "router not answering" and "can't tell" on an Iliad phone.
- The route's routers appear as stops on the path's wires: the operator's internal ones
  before its exit, the public ones with their network number towards the internet.
- The download speed is timed after the first quarter of the sample, once the connection
  has ramped up; the path no longer shows the address block's registry country.
- Two new strings, drafted in every language.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
This commit is contained in:
thepraandClaude Opus 5.5 committed 2026-10-15 09:10:37 +02:00
1 parent 4b4b37ad8e
commit 20f8b2149f
131 files changed
+416 -37

No files matched your search

+9
View File
@@ -93,6 +93,15 @@ The Android release key: alias `meweb`, certificate SHA-256
- **Shared findings are files, not Mongo.** The box's Mongo has auth on and me-web? has no user there; a file per
submission under the unit's `StateDirectory`, with only the delete token's SHA-256, needs no credentials.
- **An address inside right-to-left text reorders around `→`.** `Texts.Isolate` wraps every literal value in U+2068/U+2069.
- **On mobile data there is no router of the user's.** Android reports a gateway for the cellular link, so
`CheckRunner` skips the router protocols on a mobile link, and a private or 100.64 address on the device with a
different public echo is the operator's NAT (`NatKind.Shared`); before 0.4 a phone on Iliad read "router not
answering" and "can't tell" everywhere downstream. Provider profiles describe home lines, so on mobile the card says so.
- **The route is drawn, never trusted.** `Route.Trace` (8 TTLs) feeds the path's wires: hops after the first, up to
the first public one, sit before the shared exit or the provider; public ones carry their AS number into the
internet; unanswered runs collapse to "…". The NAT verdict never reads them (see the 100.64 pitfall).
- **Download speed is timed after the first quarter of the sample**, once TCP has ramped up: on mobile the sample is
2 MB and the whole-transfer figure was mostly the ramp.
- **A Lucide icon joined from several SVG elements must start each one with an absolute `M`.** A leading `m` is
absolute only as a path's first command; joined after another element it becomes relative and draws outside the box.
The shield and the radio tower did that until 0.3; check new geometry by walking its points against 24 (or 48).