Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ adb logcat -s MeshAnd MeshAnd/SDK
- The emulator has no real Bluetooth, so BLE must be tested on a physical phone.
- Toolchain: AGP 9.4.1 (built-in Kotlin), Kotlin 2.4.20, Gradle 9.8.0, compileSdk 37, targetSdk 36, minSdk 24 (Android 7; Meshtastic SDK minSdk 26 overridden in the manifest, core library desugaring on).
- Versions live in `gradle/libs.versions.toml`.
- **App version:** `versionCode` / `versionName` in `app/build.gradle.kts` (currently 5 / 0.2.0; versionName was reset to 0.1.0 for the first public release, and versionCode keeps rising). Bump both for every APK handed out.
- **App version:** `versionCode` / `versionName` in `app/build.gradle.kts` (currently 6 / 0.3.0; versionName was reset to 0.1.0 for the first public release, and versionCode keeps rising). Bump both for every APK handed out.
- **Release:** `./gradlew :app:assembleRelease` signs with `signing/meshand-release.jks`, using the passwords in `keystore.properties`. Both are gitignored: **never commit them, never print the passwords.** If the properties file is missing, the release build is unsigned.
- **Remote:** `origin` is `git@github.com:mategogiberidze/MeshAnd.git` (branch `main`).
- **Repository rules (GitHub rulesets, 2026-10-05):**
Expand Down
11 changes: 10 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ What changed in each MeshAnd version. The section for a version becomes the desc
[GitHub Release](https://github.com/mategogiberidze/MeshAnd/releases), so write it for people
using the app, not for developers.

## Unreleased
## 0.3.0

Chat, phone GPS for your radio, and radio details.

### New

Expand All @@ -29,6 +31,13 @@ using the app, not for developers.
- MeshAnd now uses version 0.2.0 of the Meshtastic SDK (the library that talks to your radio).
Nothing changes in how you use the app.

### Updating

- Install the new APK over 0.2.0. Your radio pairing, settings, trails and pins are kept.
- MeshAnd still mostly listens. It sends a chat message or a pin only when you tap **Send**, and
your phone's position only to your own radio, and only while **Phone GPS** is switched on.
- MeshAnd asks for location permission only when you switch on Phone GPS.

## 0.2.0

Trails, shared pins, a GPS check, and a new look.
Expand Down
25 changes: 22 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,19 +85,38 @@ radio keeps re-sending an old position are flagged "GPS not updating".
Choose who to watch, and get a notification if someone hasn't been heard for 15 minutes to
2 hours.

</td>
</tr>
<tr>
<td valign="top">

### 💬 Chat
Every channel on your radio has its own conversation, and direct messages to one person get
theirs. You see when a message was delivered or relayed, and get a notification for new ones.

</td>
<td valign="top">

### 📡 Phone GPS for your radio
If your radio's GPS is stuck indoors, in a car or broken, MeshAnd can give it your phone's
location. The radio shares it with the team on its usual schedule. Off until you switch it on.

</td>
</tr>
</table>

**Also:**
- **Stays connected in your pocket.** It works with the screen off, reconnects by itself and
remembers your radio.
- **Remembers trails and pins** across restarts, with one button to clear them.
- **Radio details:** battery (or "Plugged in"), how busy the channel is, your own airtime,
uptime, and the radio's hardware, firmware, role and LoRa settings.
- **Remembers trails, pins and messages** across restarts, with one button to clear them.
- **Light or dark theme**, or follow the phone.
- **Tells you about new versions** by asking GitHub when it opens. This is its only internet use,
and you can switch it off.
- **Mostly just listens.** Apart from pins you choose to send, MeshAnd never transmits anything
and never changes your radio's settings.
- **Mostly just listens.** It transmits only what you choose to send (messages and pins, plus
your phone's position to your own radio while Phone GPS is on), and never changes your radio's
settings.
- **Only shows people heard in the last 24 hours**, so old nodes don't clutter the map.

## Why it exists
Expand Down
4 changes: 2 additions & 2 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ android {
// versionName is what people see (first public release: 0.1.0). versionCode is an internal
// counter that must go up with every APK handed out; it stays at 4 because 0.4.0 test builds
// with code 4 are already installed, and Android refuses to install a lower code over them.
versionCode = 5
versionName = "0.2.0"
versionCode = 6
versionName = "0.3.0"
}

signingConfigs {
Expand Down
8 changes: 4 additions & 4 deletions site/public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -437,14 +437,14 @@ <h3>Shared pins</h3>
</article>
<article class="card">
<div class="ico"><svg aria-hidden="true"><use href="#i-chat"/></svg></div>
<h3>Chat <span class="badge">Next version</span></h3>
<h3>Chat</h3>
<p>Every channel on your radio has its own conversation, and direct messages to one person
get theirs. You see when a message was delivered or relayed, and get a notification for
new ones.</p>
</article>
<article class="card">
<div class="ico"><svg aria-hidden="true"><use href="#i-locate"/></svg></div>
<h3>Phone GPS for your radio <span class="badge">Next version</span></h3>
<h3>Phone GPS for your radio</h3>
<p>If your radio's GPS is stuck indoors, in a car or broken, MeshAnd can give it your
phone's location. The radio shares it with the team on its usual schedule. Off until you
switch it on.</p>
Expand All @@ -463,15 +463,15 @@ <h3>Quiet-teammate alerts</h3>
</article>
<article class="card">
<div class="ico"><svg aria-hidden="true"><use href="#i-battery"/></svg></div>
<h3>Radio details <span class="badge">Next version</span></h3>
<h3>Radio details</h3>
<p>See your radio's battery (or "Plugged in"), how busy the channel is, your own airtime,
how long it has been running, and its hardware, firmware, role and LoRa settings.</p>
</article>
</div>
<ul class="also">
<li><span><b>Stays connected in your pocket.</b> Works with the screen off, reconnects by
itself and remembers your radio.</span></li>
<li><span><b>Remembers trails and pins</b> across restarts, with one button to clear them.</span></li>
<li><span><b>Remembers trails, pins and messages</b> across restarts, with one button to clear them.</span></li>
<li><span><b>Only shows people heard in the last 24 hours</b>, so old nodes don't clutter
the map.</span></li>
<li><span><b>Light or dark theme</b>, or follow the phone.</span></li>
Expand Down
Loading