Skip to content

meshsat 0.11.0

Choose a tag to compare

@papadopouloskyriakos papadopouloskyriakos released this 29 Sep 05:53
· 8 commits to main since this release

meshsat 0.11.0: cards, the QR scanner, the Hub by QR code, contacts

  • People you carry (the People tab), as MeshSat Android's:

    • My card: this phone's card as a QR code, with the fingerprint to read aloud and Copy. The Bridge signs it with its routing identity, the same key its Reticulum announces.
    • Scan a card with the camera, or Paste a card instead. Each card is checked before "Add {name}?", and the three errors are Android's.
    • The list shows how each card came ("Scanned in person" or "Imported as text") and has Forget. Cards stay on this phone.
    • The card format is Android's own. Android's test vector gives the same bytes in the Bridge and in the app.
  • The QR scanner:

    • The phone's rear camera, through libcamera and GStreamer. It closes on the first QR code.
    • "Open an image" reads a code from a photo or a screenshot, for a phone or desktop with no camera. A code read from a file counts as imported, not scanned in person.
  • Setup > Messaging: "Scan QR Code (Hub Key Sync)" takes, in Android's order:

    • a Hub provisioning code;
    • a key bundle, checked and pinned on first use, with "This kit's key has changed" asked first;
    • a 64-hex key.
  • The Hub by QR code or link:

    • A scanned Hub code is claimed through the Hub's "not yet" answers, then "Use these Hub settings?" is asked.
    • A meshsat://provision/ link opens the app, asks first, then claims and applies.
    • Applying writes the settings to the Bridge, stores the client certificate and restarts the Bridge. "No settings from the Hub" comes in Android's words.
  • Safety's emergency contacts: "Choose from your contacts" from the address book, "Or type a number", with Android's rules and words.

  • The package recommends the camera, GStreamer and address-book packages. It installs them with the one command.

  • The Bridge underneath (MeshSat Bridge 0db71ea2): it now serves the contact card that the phones exchange (MESHSAT-1416).

  • Tested: 293 unit tests. On the bench phone, the whole suite ran against the installed package: 117 cases against a scripted Bridge, 9 against a second, real Bridge, and 7 live. All passed but one scripted case, whose test read the Hub's waiting dialog in two passes and missed it closing; the case now reads it in one, and it passed on the installed package with the module and the cards module (14 of 14), the new scanner case included. Among them:

    • My card as the phone's own Bridge signs it, its key the Bridge's routing identity, read as Android reads it;
    • a card read through the scanner's camera pipeline and added as scanned, a card pasted and added as imported, the three errors;
    • a kit's key bundle pinned on first use, and a changed key asked about first;
    • a Hub code claimed through the Hub's "not yet" answers and then applied; a link asked about first; a spent code refused;
    • an emergency contact picked from an address book;
    • live: the T-Deck hearing the alarm test and a text typed in the app.

    No card has been exchanged with an Android phone yet, and the phone's camera has not read a real code: the suite shows the scanner a picture through the same decoder.

Install on a Mobian phone: wget https://github.com/meshsat/meshsat-linux/releases/download/v0.11.0/meshsat_0.11.0_arm64.deb && sudo apt install ./meshsat_0.11.0_arm64.deb (docs/INSTALL.md).