From 43807a6883e847fcfbaab9e1a4b0b3f106efe08a Mon Sep 17 00:00:00 2001 From: Sergei Date: Wed, 3 Jun 2026 07:25:28 +0200 Subject: [PATCH 1/3] chore(moss): bump runtime to v0.3.1 (honest NAT reachability detection) --- moss | 2 +- moss.config.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/moss b/moss index c0c6082..987e2fd 160000 --- a/moss +++ b/moss @@ -1 +1 @@ -Subproject commit c0c608283218678aa5da4f0f0aff5983a9c375ac +Subproject commit 987e2fd1c1c24513af6b2864b7be4dd3afb7e000 diff --git a/moss.config.json b/moss.config.json index 79cd378..6689055 100644 --- a/moss.config.json +++ b/moss.config.json @@ -1,6 +1,6 @@ { "moss": { "repository": "redstone-md/moss", - "version": "v0.3.0" + "version": "v0.3.1" } } From 38c17dd8060e2e6440f928770045f1ce1a37a0c2 Mon Sep 17 00:00:00 2001 From: Sergei Date: Wed, 3 Jun 2026 07:25:28 +0200 Subject: [PATCH 2/3] chore(release): v0.2.4 --- CHANGELOG.md | 15 +++++++++++++++ package-lock.json | 4 ++-- package.json | 2 +- src-tauri/Cargo.lock | 2 +- src-tauri/Cargo.toml | 2 +- src-tauri/tauri.conf.json | 2 +- 6 files changed, 21 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c06e40b..c8cafa4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,21 @@ All notable changes to Mosh are documented here. Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versions follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.2.4] - 2026-06-03 + +### Fixed +- **Honest NAT reachability detection (peer flapping).** A node behind NAT was + classified as publicly reachable ("open") from a single reflexive address — + which is only the NAT's WAN IP — so peers kept attempting futile direct dials + and the connection flapped (rapid `peer_joined`/`peer_left`). The Moss runtime + (bumped to v0.3.1) now leaves reachability to an actual inbound probe and + detects symmetric NAT from varying mapped ports. + +### Note +- Two peers both behind symmetric NAT still require a relay/supernode to + connect; correct detection lets Moss pick relay paths instead of looping on + direct dials. + ## [0.2.3] - 2026-06-03 ### Fixed diff --git a/package-lock.json b/package-lock.json index 44ecdcd..ddd7f88 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mosh", - "version": "0.2.3", + "version": "0.2.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mosh", - "version": "0.2.3", + "version": "0.2.4", "dependencies": { "@tabler/icons-react": "^3.41.1", "@tauri-apps/api": "^2", diff --git a/package.json b/package.json index 899b004..601ccd3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mosh", "private": true, - "version": "0.2.3", + "version": "0.2.4", "type": "module", "scripts": { "dev": "vite", diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 780a82e..028d92d 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -3572,7 +3572,7 @@ dependencies = [ [[package]] name = "mosh" -version = "0.2.3" +version = "0.2.4" dependencies = [ "aes-gcm", "base64 0.22.1", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index fa6688f..4475b26 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mosh" -version = "0.2.3" +version = "0.2.4" description = "Desktop-first decentralized messenger" authors = ["Mosh contributors"] edition = "2021" diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 0d6c728..5598b9a 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Mosh", - "version": "0.2.3", + "version": "0.2.4", "identifier": "app.mosh.desktop", "build": { "beforeDevCommand": "npm run moss:prepare && npm run dev", From 546684d38d1e60571cda765a279368e3cebdd126 Mon Sep 17 00:00:00 2001 From: Sergei Date: Wed, 3 Jun 2026 07:30:11 +0200 Subject: [PATCH 3/3] chore(moss): re-pin to v0.3.1 with changelog (e0c14eb) --- moss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/moss b/moss index 987e2fd..e0c14eb 160000 --- a/moss +++ b/moss @@ -1 +1 @@ -Subproject commit 987e2fd1c1c24513af6b2864b7be4dd3afb7e000 +Subproject commit e0c14eb75714d48ed68dac1f5f9821434eb4e038