v0.3.0
Web UI overhaul. Screens now animate on entrance and as you step through the transfer.
Info sheets hold long-form copy — reassurance text, warnings, and explanations — keeping
them off the main layout and freeing mobile screens from vertical scroll. The UI role
system collapsed to three clear treatments. A choose-screen heading and step dots
guide navigation. Media lays beside text on short windows instead of stacking.
Path reporting and verdicts. Both peers exchange what they learned about which
route the connection took (LAN, IPv4, IPv6, cost) and show the same answer instead
of guessing. Route selection is logged to the path debug page (?debug=path), showing
every candidate pair and why it won. The sender warns when the path has a cost (metered
carrier or VPN).
Beam demo. The README now leads with a video of a live file transfer, filmed from
both the sender and receiver at once. The loop was one real transfer, not staged.
Fixes. Styles render without constructable stylesheets for better compatibility.
Transfer screens get a media block so layout doesn't depend on content. Beam offers
are answered on the sheet only, leaving a way back. Unrecognized control messages are
ignored instead of crashing. LAN hops are recognized when only one peer resolves the
mDNS name. IPv4-mapped IPv6 addresses are judged as IPv4.
Documentation. The README is restructured with three rendered diagrams, screenshots
of the real UI, a contents strip, and deep-dive sections folded into details. Two
load-bearing warnings (the SAS that --yes cannot skip, and backpressure) are raised
into callouts. Added SECURITY.md, CONTRIBUTING.md, and docs/diagrams/*.mmd
sources rendered to PNG. Social preview tags moved before their explanation to stay
within crawlers' byte budgets.