Skip to content

Releases: johalputt/VayuMail-Mobile

VayuMail 2.2.12

Choose a tag to compare

@github-actions github-actions released this 17 Jul 09:10

Added

  • VayuTalk self-destruct timers + Live mode. Messages now burn on a timer
    that starts when they're read, not when they're sent — so a message you
    send waits (no countdown) until the other person opens it, then both copies
    disappear on the same clock.
    • Timer options: 5 seconds, 1 minute, 5 minutes, 15 minutes, 30 minutes,
      1 hour — default 5 minutes. Tap the timer pill in the composer to cycle
      them; each read message shows a countdown ring and remaining time, then
      collapses to a tombstone.
    • Live toggle: a composer pill for messages that are never stored on the
      server
      (delivered only while both of you are online) and burn the moment
      they're read.
    • The burn countdown now runs from read time (reveal for the recipient, the
      read receipt for the sender) instead of from send. The local timer clamp
      widened to [5s, 1h] to match the relay; the incoming envelope carries the
      sender's chosen burn_seconds. Plaintext still lives in memory only.

Note

  • Requires a VayuPress relay running v3.13.56+ for the read-time burn and
    Live semantics. Against an older relay the app still works (the timer behaves
    as a send-time lifetime).

Fixed

  • Real text renders correctly again — reverted the colour-emoji font. The
    bundled Noto Color Emoji font (2.2.10) broke text: this build of Gio does not
    rasterise its colour glyphs, and the font also claimed the ASCII digits
    (they exist in it for keycap emoji like 1️⃣), so clock times showed as : with
    the numbers blank, safety numbers rendered as scattered letters with the digits
    gone, and emoji messages showed as empty bubbles. Removing the font restores
    correct rendering of all letters, digits, times and safety numbers. Emoji again
    fall back to the platform glyphs; a proper emoji solution needs a monochrome
    (outline) font this build of Gio can actually draw — tracked as a follow-up.

Changed

  • Verify screen: safety numbers now render as a clean, aligned grid. Each
    four-character group sits in its own equal-width, centered cell (five per row),
    so the columns line up neatly instead of flowing as a ragged proportional
    string — matching the tidy layout of the web console.

Downloads

  • vayumail-2.2.12.apk — install directly on your
    Android device (sideload).
  • vayumail-2.2.12.aab — upload to the Google Play
    Console (Play requires an App Bundle, not an APK).

Signed with the release key. Test-key builds are for
sideloading only; set ANDROID_KEYSTORE_B64 /
ANDROID_KEYSTORE_PASS repository secrets to produce Play
Store-ready builds signed with your upload key.

VayuMail 2.2.11

Choose a tag to compare

@github-actions github-actions released this 12 Jul 09:54

Fixed

  • Real text renders correctly again — reverted the colour-emoji font. The
    bundled Noto Color Emoji font (2.2.10) broke text: this build of Gio does not
    rasterise its colour glyphs, and the font also claimed the ASCII digits
    (they exist in it for keycap emoji like 1️⃣), so clock times showed as : with
    the numbers blank, safety numbers rendered as scattered letters with the digits
    gone, and emoji messages showed as empty bubbles. Removing the font restores
    correct rendering of all letters, digits, times and safety numbers. Emoji again
    fall back to the platform glyphs; a proper emoji solution needs a monochrome
    (outline) font this build of Gio can actually draw — tracked as a follow-up.

Changed

  • Verify screen: safety numbers now render as a clean, aligned grid. Each
    four-character group sits in its own equal-width, centered cell (five per row),
    so the columns line up neatly instead of flowing as a ragged proportional
    string — matching the tidy layout of the web console.

Downloads

  • vayumail-2.2.11.apk — install directly on your
    Android device (sideload).
  • vayumail-2.2.11.aab — upload to the Google Play
    Console (Play requires an App Bundle, not an APK).

Signed with the release key. Test-key builds are for
sideloading only; set ANDROID_KEYSTORE_B64 /
ANDROID_KEYSTORE_PASS repository secrets to produce Play
Store-ready builds signed with your upload key.

VayuMail 2.2.10

Choose a tag to compare

@github-actions github-actions released this 12 Jul 08:53

Added

  • Emoji now render. The app bundles the Noto Color Emoji font (via Gio's
    official emoji font module) and adds it as a fallback in the text shaper, so
    emoji show as glyphs instead of empty □ boxes — in chat and everywhere else.
    Ordinary text still uses the platform's native system font; the emoji font is an
    additive fallback that Gio uses only for codepoints the system font lacks. Adds
    ~10 MB to the app download (color-emoji fonts embed bitmaps) — the price of real
    emoji in a pure-Go UI. Pinned by a shaping test so a regression fails CI.

Downloads

  • vayumail-2.2.10.apk — install directly on your
    Android device (sideload).
  • vayumail-2.2.10.aab — upload to the Google Play
    Console (Play requires an App Bundle, not an APK).

Signed with the release key. Test-key builds are for
sideloading only; set ANDROID_KEYSTORE_B64 /
ANDROID_KEYSTORE_PASS repository secrets to produce Play
Store-ready builds signed with your upload key.

VayuMail 2.2.9

Choose a tag to compare

@github-actions github-actions released this 12 Jul 08:45

Fixed

  • Chat is now two-sided: your messages sit on the right, theirs on the left.
    Sent and received bubbles were both hugging the left edge. The cause was a
    layout bug — the flexible spacer that pushes a sent bubble to the right returned
    a zero-size box, and Gio advances by a child's returned size, so the spacer
    collapsed and the bubble fell back to the left. The spacer now fills its
    allocated width, so the thread reads like a normal chat. (Also fixes the
    outgoing status — “Sending…/Sent/Queued/Read” — aligning to the far edge of the
    bubble.)

Known limitation

  • Emoji still render as empty boxes on the phone. This is a limitation of the
    pure-Go UI toolkit (Gio), which does not use Android's colour-emoji font; the
    message text itself transmits and decrypts correctly (the web shows the emoji).
    A bundled emoji font is planned. Plain text and all message delivery are
    unaffected.

Downloads

  • vayumail-2.2.9.apk — install directly on your
    Android device (sideload).
  • vayumail-2.2.9.aab — upload to the Google Play
    Console (Play requires an App Bundle, not an APK).

Signed with the release key. Test-key builds are for
sideloading only; set ANDROID_KEYSTORE_B64 /
ANDROID_KEYSTORE_PASS repository secrets to produce Play
Store-ready builds signed with your upload key.

VayuMail 2.2.8

Choose a tag to compare

@github-actions github-actions released this 12 Jul 08:15

Fixed

  • Talk-subdomain discovery no longer depends on a CDN-fronted fetch. The app
    learned its proxy-off talk.<domain> relay from the main domain's autoconfig —
    but that fetch can itself be bot-challenged by the very CDN the subdomain exists
    to bypass, which made discovery circular. The app now also probes the
    conventional talk.<domain> directly (a proxy-off host, so it reaches the origin
    even when autoconfig can't be read), and uses it once it answers as a live
    relay. Still trust-constrained to the mail domain and still falls back to the
    mail domain when no live relay is found, so nothing regresses for servers
    without a talk subdomain.

Downloads

  • vayumail-2.2.8.apk — install directly on your
    Android device (sideload).
  • vayumail-2.2.8.aab — upload to the Google Play
    Console (Play requires an App Bundle, not an APK).

Signed with the release key. Test-key builds are for
sideloading only; set ANDROID_KEYSTORE_B64 /
ANDROID_KEYSTORE_PASS repository secrets to produce Play
Store-ready builds signed with your upload key.

VayuMail 2.2.7

Choose a tag to compare

@github-actions github-actions released this 12 Jul 07:36

Added

  • Chat automatically uses your server's proxy-off talk.<domain> relay when it
    exists.
    If a CDN (e.g. Cloudflare) sits in front of your server, its bot
    challenge blocks the app's long-lived chat stream — so the app could send but
    never receive. When VayuPress advertises a dedicated talk. subdomain (set up
    automatically once you point its DNS), the app now discovers it, confirms it is
    within your mail domain and answering as a live relay, and routes its chat
    stream there — bypassing the CDN with no setting to change. If none is
    advertised (or it isn't reachable), the app keeps using the mail domain exactly
    as before, so nothing changes for servers without a talk subdomain.

Notes

  • Pairs with VayuPress 3.11.48, which provisions the talk.<domain> vhost + TLS
    cert and advertises the host on its own. See that release's notes: your only
    step is one DNS record.

Downloads

  • vayumail-2.2.7.apk — install directly on your
    Android device (sideload).
  • vayumail-2.2.7.aab — upload to the Google Play
    Console (Play requires an App Bundle, not an APK).

Signed with the release key. Test-key builds are for
sideloading only; set ANDROID_KEYSTORE_B64 /
ANDROID_KEYSTORE_PASS repository secrets to produce Play
Store-ready builds signed with your upload key.

VayuMail 2.2.6

Choose a tag to compare

@github-actions github-actions released this 12 Jul 07:05

Added

  • Verify screen now shows BOTH safety numbers — yours and your contact's.
    Previously it showed only the contact's number, so there was nothing to read
    back to them. It now displays "You" (your own key) above the contact's, exactly
    like the web console, so the two of you can compare both numbers over a trusted
    channel and confirm no one is in the middle. Your own number appears as soon as
    your key has synced.

Notes

  • Pairs with VayuPress 3.11.47, which stops the web console from consuming
    messages out of a shared mailbox's queue before this app can receive them (the
    cause of "an app-to-app message only shows up in the web"). Update the server
    too, and confirm it is running the new build with
    curl -s https://YOUR-DOMAIN/health"version":"3.11.47".

Downloads

  • vayumail-2.2.6.apk — install directly on your
    Android device (sideload).
  • vayumail-2.2.6.aab — upload to the Google Play
    Console (Play requires an App Bundle, not an APK).

Signed with the release key. Test-key builds are for
sideloading only; set ANDROID_KEYSTORE_B64 /
ANDROID_KEYSTORE_PASS repository secrets to produce Play
Store-ready builds signed with your upload key.

VayuMail 2.2.5

Choose a tag to compare

@github-actions github-actions released this 12 Jul 06:34

Fixed

  • Faster recovery when a key re-sync briefly fails. The self-heal that
    re-fetches your key on a decrypt failure now waits only a few seconds before
    retrying after a failed fetch (instead of the full 30-second cooldown used
    after a successful one), so a momentary network/server blip no longer delays a
    web-sent message — while a persistent failure still can't hammer the server.

Downloads

  • vayumail-2.2.5.apk — install directly on your
    Android device (sideload).
  • vayumail-2.2.5.aab — upload to the Google Play
    Console (Play requires an App Bundle, not an APK).

Signed with the release key. Test-key builds are for
sideloading only; set ANDROID_KEYSTORE_B64 /
ANDROID_KEYSTORE_PASS repository secrets to produce Play
Store-ready builds signed with your upload key.

VayuMail 2.2.4

Choose a tag to compare

@github-actions github-actions released this 12 Jul 06:17

Fixed

  • Messages sent from the web now reliably decrypt on the phone. If an
    incoming message can't be opened — because this device's key had drifted from
    the one the server encrypted to — the app now automatically re-fetches its
    authoritative key from the server and retries, instead of silently dropping the
    message. This self-heals a stale key without any manual "sync" step. The
    re-fetch is rate-limited so a burst of unreadable messages can't hammer the
    server. (TestHandleEnvelopeResyncsOnDecryptFailure.)

Added

  • Automated Google Play publishing. The release workflow now uploads the
    signed AAB to Google Play on every release (gated on a service-account secret;
    a no-op until configured). Once set up, a GitHub release becomes a Play release
    with no manual step, and Play updates the app on every device automatically —
    no sideloading. One-time setup is documented in docs/PLAY-PUBLISHING.md.

Downloads

  • vayumail-2.2.4.apk — install directly on your
    Android device (sideload).
  • vayumail-2.2.4.aab — upload to the Google Play
    Console (Play requires an App Bundle, not an APK).

Signed with the release key. Test-key builds are for
sideloading only; set ANDROID_KEYSTORE_B64 /
ANDROID_KEYSTORE_PASS repository secrets to produce Play
Store-ready builds signed with your upload key.

VayuMail 2.2.3

Choose a tag to compare

@github-actions github-actions released this 12 Jul 05:05

Added

  • Message clock time. Each chat bubble now shows the wall-clock time it was
    sent (the server's send time, in your local zone), matching what the web
    shows for the same message — alongside the existing disappear-countdown.

Fixed

  • Incoming messages show when they were sent, not when the phone received
    them.
    A message that waited in the queue while you were offline now displays
    its real send time (from the server), instead of the moment it arrived.

Downloads

  • vayumail-2.2.3.apk — install directly on your
    Android device (sideload).
  • vayumail-2.2.3.aab — upload to the Google Play
    Console (Play requires an App Bundle, not an APK).

Signed with the release key. Test-key builds are for
sideloading only; set ANDROID_KEYSTORE_B64 /
ANDROID_KEYSTORE_PASS repository secrets to produce Play
Store-ready builds signed with your upload key.