Janez T
bc9e37bd22
fix: Count RX data and speed up Flutter builds #123
2026-03-19 10:33:20 +01:00
Janez T
01fbb7de6c
fix: Profile duplication on device connect
...
DeviceKey resolver was falling back to deviceId when publicKey wasn't
yet available during early connection. This created two different keys
(id:xxx then pk:yyy) for the same device, causing a new profile to be
created each time.
Now returns null until publicKey is available, so profile sync waits
for the stable identifier.
2026-03-18 14:45:55 +01:00
Janez T
140088fe2f
fix: Improve message signal chip behavior
2026-03-18 14:29:33 +01:00
Janez T
29b75a3155
feat: Save profile defaults per device
2026-03-18 13:34:50 +01:00
Janez T
87cb890877
chore: Linter fixes for USB serial transport
2026-03-17 14:43:47 +01:00
Janez T
095458ece4
feat: USB serial companion support (Android)
...
- Add MeshCoreSerialService to meshcore_client (0x3C/0x3E framing)
- Add usb_serial package for Android USB OTG
- Add UsbSerialTransport wrapper for Android
- Add USB tab to connection dialog (scan, select, connect)
- Add ConnectionMode.usb + connectSerial/disconnectSerial
- Web Serial stub (not yet implemented)
- Fix message limits: DM 156→150, Channel 127→160 (firmware MAX_TEXT_LEN=160)
2026-03-17 13:46:50 +01:00
Janez T
d29b85feb8
feat: Estimate contact location from RSSI + last-hop repeater
...
For contacts without GPS, estimate their position by:
1. Finding the first-hop repeater from their routing path
2. Estimating distance from RSSI using log-distance path loss model
3. Placing them at a deterministic offset from the repeater
Uses LoRa outdoor path loss exponent (n=3.0) with reference RSSI
-30dBm at 1m. Distance clamped to 10m-50km range. Bearing derived
from contact public key hash for stable positioning.
2026-03-17 11:08:56 +01:00
Janez T
1e97ba9831
feat: Favourites support using firmware flags bit 0
...
- Contact.isFavourite reads bit 0 of firmware flags field
- Toggle favourite via contact action sheet (writes to device)
- Favourites section shown first in contacts tab
- Path size options corrected to [1, 2, 3] bytes
2026-03-17 09:44:38 +01:00
Janez T
cd165d2372
feat: Add GPS toggle and node sorting
2026-03-17 09:44:38 +01:00
Janez T
a76ee4f8f6
fix: Profile coordinator null safety and data loss
2026-03-17 09:44:38 +01:00
Janez T
993563f059
fix: Prevent invalid map bounds #123
2026-03-16 22:16:36 +01:00
Janez T
efbddc8831
Add wakelock plus package
2026-03-16 20:37:04 +01:00
Janez T
0e3acfa4ca
Ensure new profile starts empty
2026-03-16 14:04:07 +01:00
Janez T
420690d683
Enable profiles switch UI
2026-03-16 11:25:51 +01:00
Janez T
fedd7b9a2b
Add custom cave map mode
2026-03-16 10:50:44 +01:00
Janez T
5d2f61749e
Update sensor parsing layout
2026-03-15 20:14:01 +01:00
Janez T
df993cd176
Enhance sensor telemetry cards
2026-03-15 10:10:22 +01:00
Janez T
c2e0fa952e
Fix contact add failure
2026-03-15 09:19:59 +01:00
Janez T
4557fb4b9e
feat: Add Sensor telemetry alerts
...
ref:
2026-03-15 09:13:32 +01:00
Janez T
e502bc23b7
Update changelog to drop LPCNet
2026-03-14 21:35:57 +01:00
Janez T
6de12225fc
feat: Finish discovery flow
...
ref:
2026-03-14 21:04:23 +01:00
Janez T
6e9e9e397d
Fix RX advert data parsing
2026-03-14 16:34:31 +01:00
Janez T
b42328bd82
Ensure contact sync waits
2026-03-14 10:24:14 +01:00
Janez T
1b801a10ef
Remove hex logs and keep path data
2026-03-14 10:07:11 +01:00
Janez T
06632ee32d
Update log display handling
2026-03-14 10:01:17 +01:00
Janez T
1e70f52069
Allow overriding contact name
2026-03-13 10:16:04 +01:00
Janez T
53daf2c9a7
Add packet filter stats and hex
2026-03-12 20:54:04 +01:00
Janez T
69ec2dfdb5
Add live mesh traffic view
2026-03-12 20:12:25 +01:00
Janez T
d2e6b692f3
Fix voice quality regression
2026-03-12 19:38:41 +01:00
Janez T
abb73a4c65
Fix retry flow and contact filters
2026-03-12 14:39:44 +01:00
Janez T
2d1e6c0ca4
Fix tracing path and display issues
2026-03-12 14:08:00 +01:00
Janez T
ca872f2049
Add LPCNet voice mode support
2026-03-11 21:16:08 +01:00
Janez T
1b6ff59af3
Add LPCNet voice mode option
2026-03-11 20:47:17 +01:00
Janez T
ae16417886
Resolve localization and name bugs
2026-03-11 15:54:00 +01:00
Janez T
193a193e8a
Ensure constant iOS location updates
2026-03-10 19:56:24 +01:00
Janez T
8085b89c07
Add repeaters map menu entry
2026-03-10 10:38:59 +01:00
Janez T
025bd737e7
Group contacts by last seen
2026-03-10 08:54:55 +01:00
Janez T
a8e31bb2e8
Investigate DEVICE_QUERY timeout
2026-03-09 19:59:29 +01:00
Janez T
cbcb329c70
Fix NotificationService platform
2026-03-09 19:23:35 +01:00
Janez T
de5fb1e164
Translate missing localization
2026-03-08 20:46:09 +01:00
Janez T
771cddb80d
Display unread counts per channel
2026-03-08 20:22:10 +01:00
Janez T
a96f96ca4c
Add nearestrelay fallback settings
2026-03-08 20:05:24 +01:00
Janez T
6b2f18130c
Add nearest relay fallback toggle
2026-03-08 16:56:57 +01:00
Janez T
17d7c43745
Implement meshcore-open route reload
2026-03-08 14:26:05 +01:00
Janez T
1c3af4f927
Upgrade flutter packages and limit
2026-03-07 20:59:01 +01:00
Janez T
3433eae3a6
Remove unused path_provider entry
2026-03-07 20:23:09 +01:00
Janez T
79c8664d04
Remove iOS critical alert flags
2026-03-07 20:09:07 +01:00
Janez T
162376cc47
Add ITSAppUsesNonExemptEncryption
2026-03-07 20:05:31 +01:00
Janez T
6bfc08f3ae
Keep contact GPS location saved
2026-03-07 18:30:36 +01:00
MGJ
09f61740d2
Merge remote-tracking branch 'origin/main'
2026-03-07 22:18:06 +08:00