{
  "id": "wadamesh",
  "name": "Wadamesh",
  "type": "fork",
  "maintainer": "ALLFATHER-BV",
  "description": "A touch-UI MeshCore firmware for the LilyGo T-Deck / T-Deck Plus and Heltec V4 TFT (ESP32-S3), built with LVGL. Split out from meshcomod. Provides a full touch-driven companion experience with on-screen keyboard and WiFi connectivity.\n",
  "repository": "https://github.com/ALLFATHER-BV/wadamesh",
  "license": "GPL-3.0",
  "status": "active",
  "lifecycle": "active",
  "maturity": "beta",
  "distribution": "community",
  "lineage": {
    "kind": "fork",
    "upstreamFirmwareId": "meshcore-official",
    "upstreamRepository": "https://github.com/meshcore-dev/MeshCore"
  },
  "runtime": {
    "framework": "arduino",
    "language": "cpp"
  },
  "roles": [
    "companion"
  ],
  "features": [
    "LVGL touch UI",
    "On-screen keyboard",
    "WiFi companion connectivity",
    "USB + TCP transports",
    "Split from meshcomod (same maintainer)"
  ],
  "capabilities": {
    "protocol": {
      "meshcoreCompatible": true
    },
    "transports": {
      "ble": true,
      "usbSerial": true,
      "nativeTcp": true,
      "wifiAp": true
    },
    "operations": {
      "ota": false,
      "webFlasher": false
    },
    "networking": {
      "repeater": false,
      "roomServer": false,
      "observer": false,
      "kissModem": false
    },
    "hardware": {
      "gps": true,
      "display": true,
      "sensors": false,
      "lowPowerRx": false
    }
  },
  "devices": [
    {
      "id": "lilygo-t-deck",
      "status": "supported"
    },
    {
      "id": "heltec-v4",
      "status": "supported"
    }
  ],
  "source": {
    "path": "data/firmwares/wadamesh/firmware.yaml",
    "updatedAt": "2026-06-22T21:31:07+02:00"
  },
  "latest_version": "beta_10",
  "released": "2026-06-21",
  "releases": [
    {
      "version": "beta_10",
      "name": "wadamesh beta_10",
      "datetime": "2026-06-21T22:08:55Z",
      "url": "https://github.com/ALLFATHER-BV/wadamesh/releases/tag/beta_10",
      "prerelease": false,
      "notes": "**wadamesh beta_10** — flash from **https://flasher.wadamesh.com**, or update on-device (Settings → About).\n\n## What's new\n\n### T-Deck input\n- **Trackball mode** — switch the T-Deck trackball between a **mouse cursor** (the default) and **D-pad navigation** (roll to move the selection, click to choose), under **Settings → Keyboard**. Handy if you prefer button-style navigation.\n\n### Map — #20\n- **microSD tiles now fill in as you explore.** With *Use microSD for tiles* on, the device also downloads any missing tiles over Wi-Fi and saves them straight onto the SD card, so your offline library **grows** instead of showing blank areas past its edge. Thanks @1nerdherder ([#20](https://github.com/ALLFATHER-BV/wadamesh/issues/20)).\n\n### Power — by @Vybo (#19)\n- **Experimental battery saver (idle power-save).** Throttles the CPU when the device is parked — screen off, on battery, no app connected and the mesh quiet — to trim idle power use, **without ever missing a received packet**. Off by default; enable under **Settings → System → Battery**. ([#19](https://github.com/ALLFATHER-BV/wadamesh/pull/19))\n\n### Settings\n- **New \"Battery\" section** under Settings → System — opens the battery & power-history screen (the same one you get by tapping the battery icon up top), and is where the battery saver now lives (it moved out of the Lock settings).\n\n---\n🙏 Thanks to **Dan Vybiral (@Vybo)** for the idle power-save feature (#19) and **@1nerdherder** for the microSD-tiles report (#20).\n\n**Boards:** LilyGo T-Deck · Heltec V4 TFT.",
      "notesHtml": "<p><strong>wadamesh beta_10</strong> — flash from <strong><a href=\"https://flasher.wadamesh.com/\" target=\"_blank\" rel=\"noopener noreferrer\">https://flasher.wadamesh.com</a></strong>, or update on-device (Settings → About).</p>\n<h2>What's new</h2>\n<h3>T-Deck input</h3>\n<ul>\n<li><strong>Trackball mode</strong> — switch the T-Deck trackball between a <strong>mouse cursor</strong> (the default) and <strong>D-pad navigation</strong> (roll to move the selection, click to choose), under <strong>Settings → Keyboard</strong>. Handy if you prefer button-style navigation.</li>\n</ul>\n<h3>Map — #20</h3>\n<ul>\n<li><strong>microSD tiles now fill in as you explore.</strong> With <em>Use microSD for tiles</em> on, the device also downloads any missing tiles over Wi-Fi and saves them straight onto the SD card, so your offline library <strong>grows</strong> instead of showing blank areas past its edge. Thanks @1nerdherder (<a href=\"https://github.com/ALLFATHER-BV/wadamesh/issues/20\" target=\"_blank\" rel=\"noopener noreferrer\">#20</a>).</li>\n</ul>\n<h3>Power — by @Vybo (#19)</h3>\n<ul>\n<li><strong>Experimental battery saver (idle power-save).</strong> Throttles the CPU when the device is parked — screen off, on battery, no app connected and the mesh quiet — to trim idle power use, <strong>without ever missing a received packet</strong>. Off by default; enable under <strong>Settings → System → Battery</strong>. (<a href=\"https://github.com/ALLFATHER-BV/wadamesh/pull/19\" target=\"_blank\" rel=\"noopener noreferrer\">#19</a>)</li>\n</ul>\n<h3>Settings</h3>\n<ul>\n<li><strong>New \"Battery\" section</strong> under Settings → System — opens the battery &amp; power-history screen (the same one you get by tapping the battery icon up top), and is where the battery saver now lives (it moved out of the Lock settings).</li>\n</ul>\n<hr />\n<p>🙏 Thanks to <strong>Dan Vybiral (@Vybo)</strong> for the idle power-save feature (#19) and <strong>@1nerdherder</strong> for the microSD-tiles report (#20).</p>\n<p><strong>Boards:</strong> LilyGo T-Deck · Heltec V4 TFT.</p>\n"
    },
    {
      "version": "beta_9",
      "name": "wadamesh beta_9",
      "datetime": "2026-06-20T13:18:47Z",
      "url": "https://github.com/ALLFATHER-BV/wadamesh/releases/tag/beta_9",
      "prerelease": false,
      "notes": "# wadamesh beta_9\n\nA reliability-focused drop — Wi-Fi recovery, a self-healing chat-history fix, crash-report export, plus room-server, map, contacts and app-drawer improvements.\n\n**Install / update:** flash from [flasher.wadamesh.com](https://flasher.wadamesh.com), grab it in LauncherHub, or use the on-device update check (Settings → About).\n\n## Stability\n- **Wi-Fi now reconnects on its own** after the link drops — no more rebooting to get back online.\n- **Fixed reboot-on-every-received-message:** a corrupted chat-history file could make the device reboot whenever a message arrived (and hide your messages). The bad file is now detected and reset automatically, so it recovers on its own.\n- **Boot hardening:** NULL-guards on the display draw buffer so a unit with quirky/limited memory degrades gracefully instead of getting stuck on the boot logo.\n\n## Crash reports\n- After a crash, **Settings → About** shows an **\"Export crash report\"** button that saves the crash dump to the **microSD card** — so you can send it to the devs and get the bug fixed.\n\n## Chat & room servers\n- Room-server messages now show the **time each message was actually sent**, not when it arrived.\n- Room-server messages now show **who sent them**.\n- **Sharing your contact QR** now produces a valid `meshcore://contact/add?…` code that the **MeshCore phone app can scan and import**.\n- Unread counts show **\"99+\"** instead of an alarming raw number on busy channels.\n\n## Map\n- The **reload button for corrupt tiles** now actually clears the cached tiles — **including when you're offline** — and the missing/blank \"twilight zone\" tiles re-download on their own.\n- Fixed tiles not re-fetching at **zoom levels 13–15**.\n\n## Contacts\n- **Favourited contacts always appear** in the contact list now, even with hundreds of similarly-named contacts (they used to stay hidden until you searched).\n\n## App drawer\n- **New icon-size setting** — tap the **cog** at the top-right of the app drawer to switch between **Compact** and **Large** (bigger icons + labels, easier to read).\n- **Smoother scrolling** through the app list and the other scrollable lists.\n\n---\n**Assets:** `*-merged.bin` = full image (flash at 0x0 / erase). Plain `*.bin` = app-only (OTA / Launcher side-load). T-Deck = `wadamesh-tdeck*`, Heltec V4 TFT = `wadamesh-heltec-v4-tft*`.",
      "notesHtml": "<h1>wadamesh beta_9</h1>\n<p>A reliability-focused drop — Wi-Fi recovery, a self-healing chat-history fix, crash-report export, plus room-server, map, contacts and app-drawer improvements.</p>\n<p><strong>Install / update:</strong> flash from <a href=\"https://flasher.wadamesh.com/\" target=\"_blank\" rel=\"noopener noreferrer\">flasher.wadamesh.com</a>, grab it in LauncherHub, or use the on-device update check (Settings → About).</p>\n<h2>Stability</h2>\n<ul>\n<li><strong>Wi-Fi now reconnects on its own</strong> after the link drops — no more rebooting to get back online.</li>\n<li><strong>Fixed reboot-on-every-received-message:</strong> a corrupted chat-history file could make the device reboot whenever a message arrived (and hide your messages). The bad file is now detected and reset automatically, so it recovers on its own.</li>\n<li><strong>Boot hardening:</strong> NULL-guards on the display draw buffer so a unit with quirky/limited memory degrades gracefully instead of getting stuck on the boot logo.</li>\n</ul>\n<h2>Crash reports</h2>\n<ul>\n<li>After a crash, <strong>Settings → About</strong> shows an <strong>\"Export crash report\"</strong> button that saves the crash dump to the <strong>microSD card</strong> — so you can send it to the devs and get the bug fixed.</li>\n</ul>\n<h2>Chat &amp; room servers</h2>\n<ul>\n<li>Room-server messages now show the <strong>time each message was actually sent</strong>, not when it arrived.</li>\n<li>Room-server messages now show <strong>who sent them</strong>.</li>\n<li><strong>Sharing your contact QR</strong> now produces a valid <code>meshcore://contact/add?…</code> code that the <strong>MeshCore phone app can scan and import</strong>.</li>\n<li>Unread counts show <strong>\"99+\"</strong> instead of an alarming raw number on busy channels.</li>\n</ul>\n<h2>Map</h2>\n<ul>\n<li>The <strong>reload button for corrupt tiles</strong> now actually clears the cached tiles — <strong>including when you're offline</strong> — and the missing/blank \"twilight zone\" tiles re-download on their own.</li>\n<li>Fixed tiles not re-fetching at <strong>zoom levels 13–15</strong>.</li>\n</ul>\n<h2>Contacts</h2>\n<ul>\n<li><strong>Favourited contacts always appear</strong> in the contact list now, even with hundreds of similarly-named contacts (they used to stay hidden until you searched).</li>\n</ul>\n<h2>App drawer</h2>\n<ul>\n<li><strong>New icon-size setting</strong> — tap the <strong>cog</strong> at the top-right of the app drawer to switch between <strong>Compact</strong> and <strong>Large</strong> (bigger icons + labels, easier to read).</li>\n<li><strong>Smoother scrolling</strong> through the app list and the other scrollable lists.</li>\n</ul>\n<hr />\n<p><strong>Assets:</strong> <code>*-merged.bin</code> = full image (flash at 0x0 / erase). Plain <code>*.bin</code> = app-only (OTA / Launcher side-load). T-Deck = <code>wadamesh-tdeck*</code>, Heltec V4 TFT = <code>wadamesh-heltec-v4-tft*</code>.</p>\n"
    },
    {
      "version": "beta_8",
      "name": "wadamesh beta_8",
      "datetime": "2026-06-19T12:39:54Z",
      "url": "https://github.com/ALLFATHER-BV/wadamesh/releases/tag/beta_8",
      "prerelease": false,
      "notes": "# wadamesh beta_8\n\nPolish + fixes for the touch UI — a faster chat acknowledgement, map readout controls, and an internal-memory trim.\n\n**Install / update:** flash from [flasher.wadamesh.com](https://flasher.wadamesh.com), grab it in LauncherHub, or use the on-device update check (Settings → About).\n\n## Chat\n- **Quick replies insert at the cursor** instead of replacing whatever you'd already typed.\n- **New one-tap \"Ack\"** — long-press any message and tap *Ack*. It drops a ready-to-send reply into the composer with that message's **signal strength (SNR/RSSI)** and the **route** it took (hop codes), so you can instantly confirm someone's test came through. On a channel it `@`-mentions the sender. You review and send — it's never auto-sent.\n- Fixed the message action menu (**Ack / Copy / Info / Mention / Block**) running off the bottom of the screen — it now fits, and scrolls if it ever needs to.\n\n## Map\n- The zoom button now shows a clear **\"+/-\"** icon.\n- **Show or hide each on-map readout independently** in Map settings — the coordinates line, the tile x/y/z line, and the contact markers.\n- Map settings reorganised: the **microSD-tiles** switch sits at the top under its own heading, separated from the new visibility toggles.\n- **New auto-refresh button** — turn it on and the map re-centres on you automatically whenever your position changes, with an on-screen *Auto-refresh on/off* confirmation.\n- Fixed the close (**X**) in Map settings overlapping the switches when the panel was scrolled.\n\n## Performance\n- Reclaimed **~19 KB of internal RAM** (scratch buffers moved to PSRAM), leaving more headroom for Wi-Fi and trimming the idle-memory growth seen in recent betas.\n\n---\n**Assets:** `*-merged.bin` = full image (flash at 0x0 / erase). Plain `*.bin` = app-only (OTA / Launcher side-load). T-Deck = `wadamesh-tdeck*`, Heltec V4 TFT = `wadamesh-heltec-v4-tft*`.",
      "notesHtml": "<h1>wadamesh beta_8</h1>\n<p>Polish + fixes for the touch UI — a faster chat acknowledgement, map readout controls, and an internal-memory trim.</p>\n<p><strong>Install / update:</strong> flash from <a href=\"https://flasher.wadamesh.com/\" target=\"_blank\" rel=\"noopener noreferrer\">flasher.wadamesh.com</a>, grab it in LauncherHub, or use the on-device update check (Settings → About).</p>\n<h2>Chat</h2>\n<ul>\n<li><strong>Quick replies insert at the cursor</strong> instead of replacing whatever you'd already typed.</li>\n<li><strong>New one-tap \"Ack\"</strong> — long-press any message and tap <em>Ack</em>. It drops a ready-to-send reply into the composer with that message's <strong>signal strength (SNR/RSSI)</strong> and the <strong>route</strong> it took (hop codes), so you can instantly confirm someone's test came through. On a channel it <code>@</code>-mentions the sender. You review and send — it's never auto-sent.</li>\n<li>Fixed the message action menu (<strong>Ack / Copy / Info / Mention / Block</strong>) running off the bottom of the screen — it now fits, and scrolls if it ever needs to.</li>\n</ul>\n<h2>Map</h2>\n<ul>\n<li>The zoom button now shows a clear <strong>\"+/-\"</strong> icon.</li>\n<li><strong>Show or hide each on-map readout independently</strong> in Map settings — the coordinates line, the tile x/y/z line, and the contact markers.</li>\n<li>Map settings reorganised: the <strong>microSD-tiles</strong> switch sits at the top under its own heading, separated from the new visibility toggles.</li>\n<li><strong>New auto-refresh button</strong> — turn it on and the map re-centres on you automatically whenever your position changes, with an on-screen <em>Auto-refresh on/off</em> confirmation.</li>\n<li>Fixed the close (<strong>X</strong>) in Map settings overlapping the switches when the panel was scrolled.</li>\n</ul>\n<h2>Performance</h2>\n<ul>\n<li>Reclaimed <strong>~19 KB of internal RAM</strong> (scratch buffers moved to PSRAM), leaving more headroom for Wi-Fi and trimming the idle-memory growth seen in recent betas.</li>\n</ul>\n<hr />\n<p><strong>Assets:</strong> <code>*-merged.bin</code> = full image (flash at 0x0 / erase). Plain <code>*.bin</code> = app-only (OTA / Launcher side-load). T-Deck = <code>wadamesh-tdeck*</code>, Heltec V4 TFT = <code>wadamesh-heltec-v4-tft*</code>.</p>\n"
    },
    {
      "version": "beta_7",
      "name": "wadamesh beta_7",
      "datetime": "2026-06-18T10:25:46Z",
      "url": "https://github.com/ALLFATHER-BV/wadamesh/releases/tag/beta_7",
      "prerelease": false,
      "notes": "**wadamesh beta_7** for the LilyGo T-Deck and Heltec V4 TFT.\n\n🔧 **Flash in your browser:** https://flasher.wadamesh.com — or update on-device (Settings → check for update), or side-load `wadamesh-tdeck.bin` through Launcher.\n\n> 🙌 **Most of this release was built by the community.** [@Vybo](https://github.com/Vybo) (Dan Vybiral) contributed the lion's share in [#12](https://github.com/ALLFATHER-BV/wadamesh/pull/12) — the Snake game, battery & telemetry history, map night mode, the PNG/BMP image viewer, and the entire status-bar toolkit. [@tun0](https://github.com/tun0) (Ruben Laban) fixed unread badges and chat-history persistence in [#15](https://github.com/ALLFATHER-BV/wadamesh/pull/15). Thank you both. 🎉\n\n### 🐍 Snake game — by [@Vybo](https://github.com/Vybo) (#12)\nA Snake game in the app drawer — steer by swiping the screen or with the T-Deck trackball, with pause/resume and restart after a game over. (Touch now stays inside the game and doesn't leak to the screen behind it.)\n\n### 🔋 Battery & telemetry — by [@Vybo](https://github.com/Vybo) (#12)\n- **Tap the battery** in the status bar for a **24-hour history chart** with an estimated time-left readout (logged every 5 minutes).\n- **Per-node telemetry window** — poll a node's battery, temperature and humidity, watch them on a live chart, and keep a per-node log.\n\n### 🗺️ Map — by [@Vybo](https://github.com/Vybo) (#12)\n- **Night mode** — the status bar and tab bar invert to match the dark map.\n- Live **zoom-level readout** above the zoom slider, and a proper magnifier icon on the zoom button.\n- New **\"Show on map\"** contact action that centres the map on that node.\n\n### 📊 Status bar & tools — by [@Vybo](https://github.com/Vybo) (#12)\n- A **microSD activity LED** that lights on card access (including file-manager reads/copies).\n- An **activity spinner** while a telemetry / admin / ping / trace / range / sightline request is in flight.\n- Option to **hide the device name** and move the clock left.\n- **Hold the status bar** to save a full-screen screenshot to SD.\n\n### 🖼️ Files & images — by [@Vybo](https://github.com/Vybo) (#12)\nThe file browser now previews **PNG and BMP** images (not just JPEG), with no stale image when opening several in a row.\n\n### 💬 Chat reliability\n- **Fixed garbled / duplicated messages** — chat text is no longer corrupted in transit, so messages arrive intact and duplicates are filtered out correctly. Thanks to [@marcelverdult](https://github.com/marcelverdult) for the precise report ([#13](https://github.com/ALLFATHER-BV/wadamesh/issues/13)).\n- **Accurate unread badges** and **more chat history kept across reboots** — by [@tun0](https://github.com/tun0) ([#15](https://github.com/ALLFATHER-BV/wadamesh/pull/15)).\n\n### ✨ Also in this release\n- **Lock-screen wallpaper from Files** — view any JPEG on your SD card and tap \"Set as wallpaper\".\n- **Set your own Bluetooth pairing code** in Settings.\n- The app drawer **fits all the apps** again (no clipped bottom row) and shows a **scrollbar** when there's more to scroll.\n- Fixed map-tile caching (false \"storage full\"); black/missing tiles re-download. `@`-reply no longer overwrites text you were typing. Fixed an out-of-memory crash and made notification audio more reliable.\n\n---\n\n**Contributors:** [@Vybo](https://github.com/Vybo) (Dan Vybiral) · [@tun0](https://github.com/tun0) (Ruben Laban) · [@marcelverdult](https://github.com/marcelverdult) (reported #13).\n\n**Boards:** T-Deck → `wadamesh-tdeck*.bin` · Heltec V4 TFT → `wadamesh-heltec-v4-tft*.bin`. Use `-merged.bin` for a full flash at 0x0 (web flasher / esptool), or the plain `.bin` for on-device update / Launcher.",
      "notesHtml": "<p><strong>wadamesh beta_7</strong> for the LilyGo T-Deck and Heltec V4 TFT.</p>\n<p>🔧 <strong>Flash in your browser:</strong> <a href=\"https://flasher.wadamesh.com/\" target=\"_blank\" rel=\"noopener noreferrer\">https://flasher.wadamesh.com</a> — or update on-device (Settings → check for update), or side-load <code>wadamesh-tdeck.bin</code> through Launcher.</p>\n<blockquote>\n<p>🙌 <strong>Most of this release was built by the community.</strong> <a href=\"https://github.com/Vybo\" target=\"_blank\" rel=\"noopener noreferrer\">@Vybo</a> (Dan Vybiral) contributed the lion's share in <a href=\"https://github.com/ALLFATHER-BV/wadamesh/pull/12\" target=\"_blank\" rel=\"noopener noreferrer\">#12</a> — the Snake game, battery &amp; telemetry history, map night mode, the PNG/BMP image viewer, and the entire status-bar toolkit. <a href=\"https://github.com/tun0\" target=\"_blank\" rel=\"noopener noreferrer\">@tun0</a> (Ruben Laban) fixed unread badges and chat-history persistence in <a href=\"https://github.com/ALLFATHER-BV/wadamesh/pull/15\" target=\"_blank\" rel=\"noopener noreferrer\">#15</a>. Thank you both. 🎉</p>\n</blockquote>\n<h3>🐍 Snake game — by <a href=\"https://github.com/Vybo\" target=\"_blank\" rel=\"noopener noreferrer\">@Vybo</a> (#12)</h3>\n<p>A Snake game in the app drawer — steer by swiping the screen or with the T-Deck trackball, with pause/resume and restart after a game over. (Touch now stays inside the game and doesn't leak to the screen behind it.)</p>\n<h3>🔋 Battery &amp; telemetry — by <a href=\"https://github.com/Vybo\" target=\"_blank\" rel=\"noopener noreferrer\">@Vybo</a> (#12)</h3>\n<ul>\n<li><strong>Tap the battery</strong> in the status bar for a <strong>24-hour history chart</strong> with an estimated time-left readout (logged every 5 minutes).</li>\n<li><strong>Per-node telemetry window</strong> — poll a node's battery, temperature and humidity, watch them on a live chart, and keep a per-node log.</li>\n</ul>\n<h3>🗺️ Map — by <a href=\"https://github.com/Vybo\" target=\"_blank\" rel=\"noopener noreferrer\">@Vybo</a> (#12)</h3>\n<ul>\n<li><strong>Night mode</strong> — the status bar and tab bar invert to match the dark map.</li>\n<li>Live <strong>zoom-level readout</strong> above the zoom slider, and a proper magnifier icon on the zoom button.</li>\n<li>New <strong>\"Show on map\"</strong> contact action that centres the map on that node.</li>\n</ul>\n<h3>📊 Status bar &amp; tools — by <a href=\"https://github.com/Vybo\" target=\"_blank\" rel=\"noopener noreferrer\">@Vybo</a> (#12)</h3>\n<ul>\n<li>A <strong>microSD activity LED</strong> that lights on card access (including file-manager reads/copies).</li>\n<li>An <strong>activity spinner</strong> while a telemetry / admin / ping / trace / range / sightline request is in flight.</li>\n<li>Option to <strong>hide the device name</strong> and move the clock left.</li>\n<li><strong>Hold the status bar</strong> to save a full-screen screenshot to SD.</li>\n</ul>\n<h3>🖼️ Files &amp; images — by <a href=\"https://github.com/Vybo\" target=\"_blank\" rel=\"noopener noreferrer\">@Vybo</a> (#12)</h3>\n<p>The file browser now previews <strong>PNG and BMP</strong> images (not just JPEG), with no stale image when opening several in a row.</p>\n<h3>💬 Chat reliability</h3>\n<ul>\n<li><strong>Fixed garbled / duplicated messages</strong> — chat text is no longer corrupted in transit, so messages arrive intact and duplicates are filtered out correctly. Thanks to <a href=\"https://github.com/marcelverdult\" target=\"_blank\" rel=\"noopener noreferrer\">@marcelverdult</a> for the precise report (<a href=\"https://github.com/ALLFATHER-BV/wadamesh/issues/13\" target=\"_blank\" rel=\"noopener noreferrer\">#13</a>).</li>\n<li><strong>Accurate unread badges</strong> and <strong>more chat history kept across reboots</strong> — by <a href=\"https://github.com/tun0\" target=\"_blank\" rel=\"noopener noreferrer\">@tun0</a> (<a href=\"https://github.com/ALLFATHER-BV/wadamesh/pull/15\" target=\"_blank\" rel=\"noopener noreferrer\">#15</a>).</li>\n</ul>\n<h3>✨ Also in this release</h3>\n<ul>\n<li><strong>Lock-screen wallpaper from Files</strong> — view any JPEG on your SD card and tap \"Set as wallpaper\".</li>\n<li><strong>Set your own Bluetooth pairing code</strong> in Settings.</li>\n<li>The app drawer <strong>fits all the apps</strong> again (no clipped bottom row) and shows a <strong>scrollbar</strong> when there's more to scroll.</li>\n<li>Fixed map-tile caching (false \"storage full\"); black/missing tiles re-download. <code>@</code>-reply no longer overwrites text you were typing. Fixed an out-of-memory crash and made notification audio more reliable.</li>\n</ul>\n<hr />\n<p><strong>Contributors:</strong> <a href=\"https://github.com/Vybo\" target=\"_blank\" rel=\"noopener noreferrer\">@Vybo</a> (Dan Vybiral) · <a href=\"https://github.com/tun0\" target=\"_blank\" rel=\"noopener noreferrer\">@tun0</a> (Ruben Laban) · <a href=\"https://github.com/marcelverdult\" target=\"_blank\" rel=\"noopener noreferrer\">@marcelverdult</a> (reported #13).</p>\n<p><strong>Boards:</strong> T-Deck → <code>wadamesh-tdeck*.bin</code> · Heltec V4 TFT → <code>wadamesh-heltec-v4-tft*.bin</code>. Use <code>-merged.bin</code> for a full flash at 0x0 (web flasher / esptool), or the plain <code>.bin</code> for on-device update / Launcher.</p>\n"
    },
    {
      "version": "beta_6",
      "name": "wadamesh beta_6",
      "datetime": "2026-06-16T22:40:43Z",
      "url": "https://github.com/ALLFATHER-BV/wadamesh/releases/tag/beta_6",
      "prerelease": false,
      "notes": "Touch firmware **beta_6** for the **LilyGo T-Deck** and **Heltec V4 + TFT**.\n\nInstall or update via the web flasher → **https://flasher.wadamesh.com** (or flash the `*-merged.bin` at `0x0` with esptool). Devices on beta_5 will see beta_6 on their next update check.\n\n---\n\n### New: RF Monitor app\n- A new **Monitor** app on the app drawer — a live RF sniffer that shows exactly what your node is pulling out of the air in real time.\n- A **\"Recently heard\"** feed lists recent received frames by type (text, advert, ack, route-trace…) with **RSSI, SNR and hop count**, colour-coded by type.\n- A **link-margin** readout grades how much headroom your last packet had (green / amber / red), alongside a live **packet rate** and a **noise-floor + peak-hold RSSI scope with an on-screen dBm scale**.\n- Lays out cleanly in both **portrait and landscape**, so it's readable on the Heltec V4 and the T-Deck.\n\n### Chat & contacts\n- Direct-message chats now show a **person icon** and channels a **group icon** (instead of the old loop / envelope).\n- **Block a non-contact sender by name** — handy for silencing an automated room or repeater bot you couldn't block before.\n- Opening a chat or channel **no longer jumps to the newest message** — it keeps your scroll position.\n- The contacts **Sort & Filter** popup now closes after you pick a sort option.\n- Fixed the chat/channel **long-press popup**: the close ✕ no longer overlaps the buttons while you scroll it.\n\n### Time & timezone\n- New **time-zone picker** with named zones (no longer CET-only) — set yours in **Settings → System**.\n- Fixed the clock getting **stuck at 1902** and channels showing 1969–1970 dates: GPS no longer clobbers the clock with an invalid date, and the time now **survives a reboot**.\n\n### Launcher & Wi-Fi\n- **Map tiles now download under Launcher** (the tile cache was wrongly reported as full).\n- **GPS now gets a fix under Launcher.**\n- The setup-wizard **Wi-Fi scan no longer comes up empty** — modem sleep is deferred until after you're connected.\n\n### Bluetooth\n- Bluetooth now **advertises under your node / profile name** instead of \"NimBLE\".\n- The **Bluetooth PIN no longer resets** on its own — it's saved and reused across reboots.\n\n### Power & performance\n- Turning the screen off now **downclocks the CPU** and enables Wi-Fi modem sleep to save power.\n- On the map, your **position dot is drawn before the tiles** so it no longer lags behind when panning.\n\n### Community\n- Merged map-server and SD-tile rendering fixes contributed by **Vybo** (#11). Thanks!",
      "notesHtml": "<p>Touch firmware <strong>beta_6</strong> for the <strong>LilyGo T-Deck</strong> and <strong>Heltec V4 + TFT</strong>.</p>\n<p>Install or update via the web flasher → <strong><a href=\"https://flasher.wadamesh.com/\" target=\"_blank\" rel=\"noopener noreferrer\">https://flasher.wadamesh.com</a></strong> (or flash the <code>*-merged.bin</code> at <code>0x0</code> with esptool). Devices on beta_5 will see beta_6 on their next update check.</p>\n<hr />\n<h3>New: RF Monitor app</h3>\n<ul>\n<li>A new <strong>Monitor</strong> app on the app drawer — a live RF sniffer that shows exactly what your node is pulling out of the air in real time.</li>\n<li>A <strong>\"Recently heard\"</strong> feed lists recent received frames by type (text, advert, ack, route-trace…) with <strong>RSSI, SNR and hop count</strong>, colour-coded by type.</li>\n<li>A <strong>link-margin</strong> readout grades how much headroom your last packet had (green / amber / red), alongside a live <strong>packet rate</strong> and a <strong>noise-floor + peak-hold RSSI scope with an on-screen dBm scale</strong>.</li>\n<li>Lays out cleanly in both <strong>portrait and landscape</strong>, so it's readable on the Heltec V4 and the T-Deck.</li>\n</ul>\n<h3>Chat &amp; contacts</h3>\n<ul>\n<li>Direct-message chats now show a <strong>person icon</strong> and channels a <strong>group icon</strong> (instead of the old loop / envelope).</li>\n<li><strong>Block a non-contact sender by name</strong> — handy for silencing an automated room or repeater bot you couldn't block before.</li>\n<li>Opening a chat or channel <strong>no longer jumps to the newest message</strong> — it keeps your scroll position.</li>\n<li>The contacts <strong>Sort &amp; Filter</strong> popup now closes after you pick a sort option.</li>\n<li>Fixed the chat/channel <strong>long-press popup</strong>: the close ✕ no longer overlaps the buttons while you scroll it.</li>\n</ul>\n<h3>Time &amp; timezone</h3>\n<ul>\n<li>New <strong>time-zone picker</strong> with named zones (no longer CET-only) — set yours in <strong>Settings → System</strong>.</li>\n<li>Fixed the clock getting <strong>stuck at 1902</strong> and channels showing 1969–1970 dates: GPS no longer clobbers the clock with an invalid date, and the time now <strong>survives a reboot</strong>.</li>\n</ul>\n<h3>Launcher &amp; Wi-Fi</h3>\n<ul>\n<li><strong>Map tiles now download under Launcher</strong> (the tile cache was wrongly reported as full).</li>\n<li><strong>GPS now gets a fix under Launcher.</strong></li>\n<li>The setup-wizard <strong>Wi-Fi scan no longer comes up empty</strong> — modem sleep is deferred until after you're connected.</li>\n</ul>\n<h3>Bluetooth</h3>\n<ul>\n<li>Bluetooth now <strong>advertises under your node / profile name</strong> instead of \"NimBLE\".</li>\n<li>The <strong>Bluetooth PIN no longer resets</strong> on its own — it's saved and reused across reboots.</li>\n</ul>\n<h3>Power &amp; performance</h3>\n<ul>\n<li>Turning the screen off now <strong>downclocks the CPU</strong> and enables Wi-Fi modem sleep to save power.</li>\n<li>On the map, your <strong>position dot is drawn before the tiles</strong> so it no longer lags behind when panning.</li>\n</ul>\n<h3>Community</h3>\n<ul>\n<li>Merged map-server and SD-tile rendering fixes contributed by <strong>Vybo</strong> (#11). Thanks!</li>\n</ul>\n"
    },
    {
      "version": "beta_5",
      "name": "wadamesh beta_5",
      "datetime": "2026-06-15T21:19:46Z",
      "url": "https://github.com/ALLFATHER-BV/wadamesh/releases/tag/beta_5",
      "prerelease": false,
      "notes": "Touch firmware **beta_5** for the **LilyGo T-Deck** and **Heltec V4 + TFT**.\n\nInstall or update via the web flasher → **https://flasher.wadamesh.com** (or flash the `*-merged.bin` at `0x0` with esptool). Devices on beta_4 will see beta_5 on their next update check.\n\n---\n\n### Contacts\n- Person icon for people and an antenna for repeaters, instead of a generic envelope / lightning bolt.\n- **Block / unblock** anyone straight from their popup — blocked contacts get a red person icon and their messages are hidden.\n- The list is now a proper table: dedicated **last-heard** and **distance** columns, a **Sort & Filter** button, and **multi-select delete** with an are-you-sure prompt and a progress bar (favourites are protected — unfavourite them first).\n- Time and distance are smaller and pushed right so names get more room; a name too long for two lines scrolls instead of spilling onto a third.\n- Un-favouriting a contact removes its star right away.\n\n### Discovered nodes\n- The Discovered list now **survives reboots** (it used to empty every boot) and holds up to **48** nodes.\n- New **Discovered settings** (cogwheel): auto-delete the oldest node when full, and **auto-delete anything heard via more than N hops** — keeps the list fresh and nearby.\n- The count badge shows **\"48!\"** when the list is full.\n- Adding a node from Discovered appears in Contacts immediately; a purge-all button sits next to Close.\n\n### Region & radio\n- **Setting the region / default scope from the official MeshCore app now works** — it used to time out (`no_event_received`); public-channel floods are now region-tagged. (`companion-v1.16.0.3`, issue #31)\n- **US/Canada** radio preset corrected to the proper **910.525 MHz · 62.5 kHz · SF7** (was 915 MHz / 250 kHz / SF11).\n- **T-Deck transmit power** restored to the full **+22 dBm** — the SX1262 antenna switch was mis-driven, leaking most of the power (~4 mW). (issue #6)\n- Auto-add settings moved to their own dedicated page (out of Radio), reachable from the Contacts menu too.\n\n### Chats & sound\n- Each chat / channel row now shows the **time of its most recent message** on the right.\n- **Mute messages and/or @-mentions per channel**, from that channel's settings.\n- The **@-mentions screen** has taller rows (fits two lines); tapping a mention **jumps to that exact message**.\n- **Volume is now +/- buttons** instead of a hard-to-drag slider; a master **Sound** switch silences everything, with independent **Messages** and **@-mention** switches (the @-mention chime is distinct, with its own on/off + volume).\n\n### Map\n- The map **remembers your zoom and pan** when you leave and come back, instead of snapping back to your location every time.\n- Tapping a contact on the map opens a **compact popup** (no Block button there).\n\n### Keyboard & input\n- **T-Deck keyboard: backspace deletes at the cursor** instead of always chopping the last character, and editing respects where you place the caret.\n- The **Quick replies** page now scrolls so you can reach and edit every slot.\n\n### UI polish\n- Refined bottom tab bar — flat icons that take your theme colour with a soft glow under the active tab — plus an **unread-count badge** on the Chats icon.\n- App drawer: colourful app icons, the command tile relabelled **\"Cmdr\"**, the Apps button in a contrasting accent, and **three-per-row on the Heltec V4**.\n- Full-screen settings pages with a clear X to close, a subtle new-message chip, and a **full-page Signal view** with a live readout and manual refresh.",
      "notesHtml": "<p>Touch firmware <strong>beta_5</strong> for the <strong>LilyGo T-Deck</strong> and <strong>Heltec V4 + TFT</strong>.</p>\n<p>Install or update via the web flasher → <strong><a href=\"https://flasher.wadamesh.com/\" target=\"_blank\" rel=\"noopener noreferrer\">https://flasher.wadamesh.com</a></strong> (or flash the <code>*-merged.bin</code> at <code>0x0</code> with esptool). Devices on beta_4 will see beta_5 on their next update check.</p>\n<hr />\n<h3>Contacts</h3>\n<ul>\n<li>Person icon for people and an antenna for repeaters, instead of a generic envelope / lightning bolt.</li>\n<li><strong>Block / unblock</strong> anyone straight from their popup — blocked contacts get a red person icon and their messages are hidden.</li>\n<li>The list is now a proper table: dedicated <strong>last-heard</strong> and <strong>distance</strong> columns, a <strong>Sort &amp; Filter</strong> button, and <strong>multi-select delete</strong> with an are-you-sure prompt and a progress bar (favourites are protected — unfavourite them first).</li>\n<li>Time and distance are smaller and pushed right so names get more room; a name too long for two lines scrolls instead of spilling onto a third.</li>\n<li>Un-favouriting a contact removes its star right away.</li>\n</ul>\n<h3>Discovered nodes</h3>\n<ul>\n<li>The Discovered list now <strong>survives reboots</strong> (it used to empty every boot) and holds up to <strong>48</strong> nodes.</li>\n<li>New <strong>Discovered settings</strong> (cogwheel): auto-delete the oldest node when full, and <strong>auto-delete anything heard via more than N hops</strong> — keeps the list fresh and nearby.</li>\n<li>The count badge shows <strong>\"48!\"</strong> when the list is full.</li>\n<li>Adding a node from Discovered appears in Contacts immediately; a purge-all button sits next to Close.</li>\n</ul>\n<h3>Region &amp; radio</h3>\n<ul>\n<li><strong>Setting the region / default scope from the official MeshCore app now works</strong> — it used to time out (<code>no_event_received</code>); public-channel floods are now region-tagged. (<code>companion-v1.16.0.3</code>, issue #31)</li>\n<li><strong>US/Canada</strong> radio preset corrected to the proper <strong>910.525 MHz · 62.5 kHz · SF7</strong> (was 915 MHz / 250 kHz / SF11).</li>\n<li><strong>T-Deck transmit power</strong> restored to the full <strong>+22 dBm</strong> — the SX1262 antenna switch was mis-driven, leaking most of the power (~4 mW). (issue #6)</li>\n<li>Auto-add settings moved to their own dedicated page (out of Radio), reachable from the Contacts menu too.</li>\n</ul>\n<h3>Chats &amp; sound</h3>\n<ul>\n<li>Each chat / channel row now shows the <strong>time of its most recent message</strong> on the right.</li>\n<li><strong>Mute messages and/or @-mentions per channel</strong>, from that channel's settings.</li>\n<li>The <strong>@-mentions screen</strong> has taller rows (fits two lines); tapping a mention <strong>jumps to that exact message</strong>.</li>\n<li><strong>Volume is now +/- buttons</strong> instead of a hard-to-drag slider; a master <strong>Sound</strong> switch silences everything, with independent <strong>Messages</strong> and <strong>@-mention</strong> switches (the @-mention chime is distinct, with its own on/off + volume).</li>\n</ul>\n<h3>Map</h3>\n<ul>\n<li>The map <strong>remembers your zoom and pan</strong> when you leave and come back, instead of snapping back to your location every time.</li>\n<li>Tapping a contact on the map opens a <strong>compact popup</strong> (no Block button there).</li>\n</ul>\n<h3>Keyboard &amp; input</h3>\n<ul>\n<li><strong>T-Deck keyboard: backspace deletes at the cursor</strong> instead of always chopping the last character, and editing respects where you place the caret.</li>\n<li>The <strong>Quick replies</strong> page now scrolls so you can reach and edit every slot.</li>\n</ul>\n<h3>UI polish</h3>\n<ul>\n<li>Refined bottom tab bar — flat icons that take your theme colour with a soft glow under the active tab — plus an <strong>unread-count badge</strong> on the Chats icon.</li>\n<li>App drawer: colourful app icons, the command tile relabelled <strong>\"Cmdr\"</strong>, the Apps button in a contrasting accent, and <strong>three-per-row on the Heltec V4</strong>.</li>\n<li>Full-screen settings pages with a clear X to close, a subtle new-message chip, and a <strong>full-page Signal view</strong> with a live readout and manual refresh.</li>\n</ul>\n"
    },
    {
      "version": "beta_4",
      "name": "wadamesh beta_4",
      "datetime": "2026-06-14T15:29:19Z",
      "url": "https://github.com/ALLFATHER-BV/wadamesh/releases/tag/beta_4",
      "prerelease": false,
      "notes": "Touch firmware **beta_4** for the LilyGo T-Deck and Heltec V4 + TFT. Built by CI from `7b7ea17031e0d24f2045158bf3744fd9bac1f2b2`.",
      "notesHtml": "<p>Touch firmware <strong>beta_4</strong> for the LilyGo T-Deck and Heltec V4 + TFT. Built by CI from <code>7b7ea17031e0d24f2045158bf3744fd9bac1f2b2</code>.</p>\n"
    },
    {
      "version": "beta_3",
      "name": "wadamesh beta_3",
      "datetime": "2026-06-13T21:17:35Z",
      "url": "https://github.com/ALLFATHER-BV/wadamesh/releases/tag/beta_3",
      "prerelease": false,
      "notes": "Touch firmware **beta_3** for the LilyGo T-Deck and Heltec V4 + TFT. Built by CI from `058721fdbc572b4332ad55df12c750331d38aa9a`.",
      "notesHtml": "<p>Touch firmware <strong>beta_3</strong> for the LilyGo T-Deck and Heltec V4 + TFT. Built by CI from <code>058721fdbc572b4332ad55df12c750331d38aa9a</code>.</p>\n"
    },
    {
      "version": "beta_2",
      "name": "wadamesh beta_2",
      "datetime": "2026-06-13T13:52:48Z",
      "url": "https://github.com/ALLFATHER-BV/wadamesh/releases/tag/beta_2",
      "prerelease": false,
      "notes": "Touch firmware for the **LilyGo T-Deck / T-Deck Plus** and **Heltec V4 + TFT**.\n\n### What's new since beta_1\n- **WADAMESH boot logo** — the old MESHCOMOD wordmark is replaced by the brand logo: an anti-aliased mesh mark with the teal dots, on screen from power-on and carried seamlessly into the colour LVGL splash. Brand teal (`#15B6A6`) is now the default UI accent and is in the Theme-colour picker.\n- **Wi-Fi scan no longer crashes** — \"Wi-Fi on but no network connected\" could trip the 5 s task watchdog and reboot. The scan is now a single bounded, yielding async pass.\n- **Wi-Fi settings apply live** — saving credentials or scanning no longer prompts for / forces a reboot (Wi-Fi and BLE coexist via NimBLE).\n- **Factory reset actually wipes** — on SD-card storage it crashed mid-erase and left everything intact; it now wipes SD + NVS cleanly and reboots into a fresh device. (Also fixes the file-manager recursive folder delete.)\n\n### Install\nFlash the `*-merged.bin` for your board at `0x0` with erase (or use the web flasher at flasher.wadamesh.com). The `*.bin` (no `-merged`) is the app-only image for OTA / Launcher.",
      "notesHtml": "<p>Touch firmware for the <strong>LilyGo T-Deck / T-Deck Plus</strong> and <strong>Heltec V4 + TFT</strong>.</p>\n<h3>What's new since beta_1</h3>\n<ul>\n<li><strong>WADAMESH boot logo</strong> — the old MESHCOMOD wordmark is replaced by the brand logo: an anti-aliased mesh mark with the teal dots, on screen from power-on and carried seamlessly into the colour LVGL splash. Brand teal (<code>#15B6A6</code>) is now the default UI accent and is in the Theme-colour picker.</li>\n<li><strong>Wi-Fi scan no longer crashes</strong> — \"Wi-Fi on but no network connected\" could trip the 5 s task watchdog and reboot. The scan is now a single bounded, yielding async pass.</li>\n<li><strong>Wi-Fi settings apply live</strong> — saving credentials or scanning no longer prompts for / forces a reboot (Wi-Fi and BLE coexist via NimBLE).</li>\n<li><strong>Factory reset actually wipes</strong> — on SD-card storage it crashed mid-erase and left everything intact; it now wipes SD + NVS cleanly and reboots into a fresh device. (Also fixes the file-manager recursive folder delete.)</li>\n</ul>\n<h3>Install</h3>\n<p>Flash the <code>*-merged.bin</code> for your board at <code>0x0</code> with erase (or use the web flasher at flasher.wadamesh.com). The <code>*.bin</code> (no <code>-merged</code>) is the app-only image for OTA / Launcher.</p>\n"
    }
  ],
  "changelogSource": "github",
  "changelogUpdatedAt": "2026-06-22T12:12:18.187Z"
}
