me-web? 0.15.4: a desktop with a wireless mouse is no longer taken for a laptop
Build / Desktop, server and tools (push) Successful in 1m14s
Release / Every platform, the server, the release (push) Successful in 8m38s

- On Linux, a desktop computer with a wireless mouse, keyboard, headset or game controller was described as a
  laptop, with the advice to use a small always-on computer instead, because the battery inside the mouse was
  counted. Only the computer's own battery counts now.
- The mail card now leads with what big mailboxes care about most: when your address's reverse name looks like a
  home line, or there is none, that comes first. A blocklist that names your provider's whole network is still
  shown below it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
thepraandClaude Opus 5.5 committed 2026-10-31 23:24:15 +01:00
1 parent e112c1dc1e
commit 0c722c21d4
8 files changed
+24 -13

No files matched your search

+4 -1
View File
@@ -77,7 +77,7 @@ The Android release key: alias `meweb`, certificate SHA-256
| `src/MeWeb.Server/KnowledgeFeeder.cs` | refreshes the open network data under `/var/lib/meweb/knowledge` every six hours (iptoasn daily, DB-IP monthly, eight RouteViews RIBs weekly through `bzcat` (one or two collectors per continent, `Collectors`; each counts once per network in `UpstreamTally`, and a path's first AS, the collector's own neighbour, is never taken for an upstream), the AOSP carrier list weekly, the address registries' block files weekly (`Registries`: RIPE's and APNIC's `inetnum` and `inet6num` split files, AFRINIC's whole dump, LACNIC's `lacnic.db`)), builds `ip2asn.bin`, `networks.bin`, `carriers.json`, `registry.bin` (every block of the four, `RegistryBuilder`) and `SOURCES.txt` with `MeWeb.Core/Knowledge/Sources.cs`, and serves them at `/api/knowledge` |
| `tools/knowledge.cs` | takes the server's knowledge files (`MEWEB_KNOWLEDGE_URL`, default the public server; the release sets `http://127.0.0.1:5480` after deploying the server first) into `artifacts/knowledge/`, checking each SHA-256, and falls back to building `ip2asn.bin` alone from iptoasn (`--local` forces that); `MeWeb.Core` embeds whatever is there; `tools/release.cs` runs it before every app build |
| `tools/setup.cs` + `setup.json` | pinned build tools |
| `tools/Screenshots` | headless renders of every view in every language |
| `tools/Screenshots` | headless renders of every view in every language; it runs a real check, in a throwaway app folder (`AppServices.Folder`), so the developer's own history and settings stay untouched |
| `branding/` | the icon (SVG source, PNG, ICO) |
## Pitfalls
@@ -232,6 +232,9 @@ The Android release key: alias `meweb`, certificate SHA-256
phone with several): `AndroidPlatform` reads `ActivityManager.MemoryInfo.TotalMem`, Linux `/proc/meminfo`.
- **`DriveInfo` on Unix takes any path** (it calls `statvfs`): pass the app's folder, not `/`, or Android reads the
read-only root and reports no free disk at all.
- **A wireless mouse is a battery to Linux.** `/sys/class/power_supply` lists the batteries of mice, keyboards, headsets
and game controllers too (`type` Battery, `scope` Device); only one without `scope` Device makes a laptop. Until
0.15.4 the owner's desktop read as a laptop because of an MX Master 4 (MW-VRST-EK5A).
- **An IPv6 address only wraps at a colon if it is allowed to**: the path's detail lines put U+200B after each colon;
they are plain `TextBlock`s for that reason, so a copy never carries the invisible character (the cards' values,
which are selectable, stay untouched).