Commit Graph

786 Commits

Author SHA1 Message Date
Winston Lowe 01bf95c98e fix: Implement disconnect method in _FakeMeshCoreConnector for TCP and USB flow tests 2026-05-12 18:21:18 -07:00
Winston Lowe fa044dd204 feat: Add dialog messages for companion connection and disconnection
- Introduced new dialog messages for connecting to a companion and handling disconnection across multiple languages.
- Updated localization files for French, Hungarian, Italian, Japanese, Korean, Bulgarian, German, English, Spanish, Dutch, Polish, Portuguese, Russian, Slovak, Slovenian, Swedish, Ukrainian, and Chinese.
- Modified the contacts and map screens to utilize the new dialog messages.
- Enhanced the disconnect confirmation dialog to show a message upon successful disconnection.
- Updated app bar to conditionally display radio stats based on companion connection status.
2026-05-12 18:01:31 -07:00
Winston Lowe 72fea3fc32 fix: Enhance channel deduplication logic in loadChannels method 2026-05-12 18:01:31 -07:00
Winston Lowe f0bd61144c fix: Remove unnecessary whitespace in keyedMessageIds initialization 2026-05-12 18:01:31 -07:00
Winston Lowe 61c897630c fix: Improve message key handling and enhance contact tile key uniqueness 2026-05-12 18:01:31 -07:00
Winston Lowe a270e2e6d1 fix: Add byteCount initialization in PathRecord.fromJson method 2026-05-12 18:01:31 -07:00
Winston Lowe 247db6a36d fix: Initialize _selfPublicKey with lastCompanionPublicKeyHex in MeshCoreConnector 2026-05-12 18:01:31 -07:00
Winston Lowe 78d08afb47 Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-12 18:01:31 -07:00
Winston Lowe c77264cc81 Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-12 18:01:31 -07:00
Winston Lowe d6ed8c5f13 feat: Enhance companion connection features and UI updates
- Added functionality to load and restore the last companion's scope on app startup.
- Implemented caching mechanisms for contacts, channels, and messages related to the current companion.
- Updated UI to reflect connection status, including disabling message input when disconnected.
- Introduced new dialog prompts to inform users when they need to connect to a companion for accessing features.
- Refactored navigation logic to improve user experience when disconnected, directing users to the scanner screen.
- Added localization strings for new companion connection prompts in multiple languages.
2026-05-12 18:01:31 -07:00
Winston Lowe 209fee48ca Add byteCount field to PathRecord class with default value 2026-05-12 17:59:58 -07:00
zjs81 8892823337 Merge pull request #444 from sethoscope/fix-channel-chat-icon
Use correct channel icons in channel chat screen
2026-05-12 09:55:30 -07:00
zjs81 e738664f89 Merge pull request #448 from zjs81/main
Main
2026-05-12 09:54:39 -07:00
zjs81 e37616fa15 Merge pull request #145 from pioneer/unread-peoplefirst
Unread badges for tabs
2026-05-12 09:53:33 -07:00
Seth Golub 2763d83fe4 Use correct channel icons in channel chat screen
At the top of the channel chat screen is an icon, indicating the
channel type.

Previously, the public icon was used correctly, but the
hashtag icon was used for all other types.

Now, consistent with the channels screen, we use the lock icon for
private channels, and the composite icons for community public &
community hashtag types.

The fix for private channels was trivial, as we can identify hashtag
channels by their name. Finding out whether a channel belongs to a
community is much more involved. All the hard-working code was copied
from channels_screen.dart. (I tried refactoring to reduce duplication,
but my results were complex and not worth it.)

Closes #432
2026-05-11 21:13:50 -07:00
Serge Tarkovski 77018dc358 Recompute channels unread total after cachedChannels is updated 2026-05-12 00:47:26 +03:00
zjs81 21c58d4e13 Merge pull request #443 from Maxb0tbeep/dev
Add "NRF52" as a device name prefix
2026-05-10 21:05:59 -07:00
Max Cooley 3af97ff6dd Accidentally wrote quotes instead of backticks...oops 2026-05-10 17:19:57 -07:00
Max Cooley 703d5a1ec4 Add "NRF52" as a device name prefix 2026-05-10 17:12:48 -07:00
zjs81 e801a497f8 Merge pull request #435 from zjs81/dev
merge dev into main
Alpha9
2026-05-09 19:30:34 -07:00
zjs81 e92a66ff28 Update MeshCoreConnector to optimize GPS response handling and increment version to 9.0.0 2026-05-09 19:29:06 -07:00
zjs81 6900e5c3db Run translations 2026-05-09 19:20:32 -07:00
zjs81 966a8d0d2c Fix CMake configuration for flserial to resolve glibc conflict and remove unused translations from Russian language issue: 280 2026-05-09 19:18:09 -07:00
zjs81 3ec3b05fb8 Merge pull request #400 from HDDen/dev
Feature Request: alternative compression by replace some 2-byte symbols by 1-byte latin analogs (named Cyr2Lat)
2026-05-09 17:45:31 -07:00
zjs81 14a93e9bf5 Add website link to README for easier access 2026-05-09 17:21:06 -07:00
zjs81 c229b0369e Enhance documentation and features
- Updated supported languages to include Hungarian, Japanese, and Korean.
- Added new on-device message translation feature with detailed usage instructions.
- Introduced emoji reactions in chat with user interface and functionality details.
- Implemented linkification for automatic detection of URLs and meshcore URIs in messages.
- Added GPX export functionality for contacts with GPS coordinates.
- Enabled pinch-to-zoom for chat text scaling.
- Documented background service for Android to maintain BLE connection in the background.
- Revised BLE protocol documentation to reflect changes in connection state machine and command codes.
- Updated channels documentation to clarify message display and interaction options.
- Enhanced chat and messaging documentation with new translation button and message metadata.
- Clarified contact actions in contacts documentation.
- Adjusted map and location documentation for improved node name visibility and filter options.
- Revised navigation documentation to streamline disconnection process.
- Improved notification documentation to specify batch notification behavior.
- Updated repeater management documentation to reflect new features and settings.
- Enhanced scanner and connection documentation for device filtering and connection timeout.
- Expanded settings documentation to include new translation options.
- Removed jni plugin references from generated plugin files for Linux and Windows.
2026-05-09 17:19:58 -07:00
HDDen 9f332e93be Merge branch 'dev' of https://github.com/zjs81/meshcore-open into dev 2026-05-09 02:18:00 +03:00
zjs81 b472ea8c70 Merge pull request #424 from zjs81/chan-util
basic repeater chan util
2026-05-08 13:40:28 -07:00
zjs81 a67c6d81c3 Merge pull request #425 from zjs81/tcp-host
reword tcp host
2026-05-08 13:39:25 -07:00
zjs81 91ae4dab90 Merge pull request #426 from zjs81/debug-log
rename ble debug log
2026-05-08 13:39:10 -07:00
zjs81 08ac60a408 Merge pull request #428 from sethoscope/remove-channel-subtitles
Remove channel subtitles from UI
2026-05-08 13:38:33 -07:00
zjs81 d4da34fcf7 Merge pull request #433 from zjs81/gps-toggle-in-settings
Gps toggle in settings
2026-05-08 13:38:08 -07:00
zjs81 74840d3baf Optimistically update currentCustomVars in setCustomVar
Reflect the set value immediately so UI bound to currentCustomVars
(e.g. the GPS toggle in settings) updates on tap rather than waiting
for a later device-info refresh.
2026-05-08 13:37:51 -07:00
zjs81 4a72fbd1ad Apply dart format 2026-05-08 13:37:17 -07:00
zjs81 dbe0a5411b Merge remote-tracking branch 'origin/dev' into gps-toggle-in-settings
# Conflicts:
#	lib/l10n/app_bg.arb
#	lib/l10n/app_de.arb
#	lib/l10n/app_es.arb
#	lib/l10n/app_fr.arb
#	lib/l10n/app_hu.arb
#	lib/l10n/app_it.arb
#	lib/l10n/app_ja.arb
#	lib/l10n/app_ko.arb
#	lib/l10n/app_localizations_es.dart
#	lib/l10n/app_localizations_it.dart
#	lib/l10n/app_localizations_nl.dart
#	lib/l10n/app_localizations_pt.dart
#	lib/l10n/app_localizations_sv.dart
#	lib/l10n/app_localizations_uk.dart
#	lib/l10n/app_nl.arb
#	lib/l10n/app_pl.arb
#	lib/l10n/app_pt.arb
#	lib/l10n/app_ru.arb
#	lib/l10n/app_sk.arb
#	lib/l10n/app_sl.arb
#	lib/l10n/app_sv.arb
#	lib/l10n/app_uk.arb
#	lib/l10n/app_zh.arb
2026-05-08 13:36:16 -07:00
zjs81 dc3325ec46 Refactor repeater status screen and settings screen; add GPS toggle
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 13:27:05 -07:00
zjs81 a92e57bb64 Revert "Refactor repeater status screen and settings screen; add GPS toggle"
This reverts commit e21f3106d0.
2026-05-08 13:24:22 -07:00
zjs81 e21f3106d0 Refactor repeater status screen and settings screen; add GPS toggle
- Updated _RepeaterStatusScreenState to load status after the first frame to avoid mid-build notifyListeners() calls.
- Removed unused _statusRequestedAt variable and adjusted _clockText() to use repeaterClockAtLogin for time display.
- Enhanced _SettingsScreenState with a GPS toggle switch that updates custom variables for GPS settings.
- Cleaned up RepeaterCommandService by removing redundant pending command checks and adjusted command ID generation.
- Removed jni plugin from generated_plugins.cmake for both Linux and Windows platforms.
2026-05-08 13:20:53 -07:00
HDDen 0dcb5f05f0 Merge branch 'dev' of https://github.com/zjs81/meshcore-open into dev 2026-05-08 01:14:21 +03:00
Ded f501d11ec6 Merge pull request #429 from kingult/fix-427-double-position-write
fix: lat/lon double-write in buildUpdateContactPathFrame
2026-05-07 08:25:08 -07:00
kingult dfcf13a97b fix: lat/lon double-write in buildUpdateContactPathFrame
The function emitted two consecutive 8-byte position blocks instead of
one, producing a frame 8 bytes longer than the documented layout. When
a caller passed lastModified, the firmware parsed the duplicated second
lat as the timestamp, giving wildly wrong "last seen" values on
imported contacts.

Delete the unconditional first block; keep the conditional block that
correctly skips the optional tail when neither location nor
lastModified is set, zero-fills position slots when only lastModified
is present, and appends the optional timestamp.

Adds test/connector/build_update_contact_path_frame_test.dart with
five cases covering all four optional-tail combinations plus the
fixed-point lat/lon encoding.

Fixes #427
2026-05-06 16:03:03 -07:00
Seth Golub ccd23c4b81 Remove channel subtitles from UI
Per issue #418, this commmit removes channel subtitles from the channel
list and from the map screen (deep in the marker sharing). This reduces
visual clutter and allows for more compact lists, and the type of
channel is already indicated by the leading icon.

The subtitles simply said "Public channel", "Hashtag channel", or
"Private channel".

We also remove the relevant localization strings.
2026-05-06 14:06:12 -07:00
Enot (ded) Skelly 00636c9084 rename ble debug log
companion protocol so changed to companion and ref:
BLE/TCP/USB
2026-05-05 15:25:32 -07:00
Enot (ded) Skelly accec1681b reword tcp host
IP was being used but not required, could be domain
name as well.
2026-05-05 15:16:31 -07:00
zjs81 67238468ce Merge pull request #423 from zjs81/offgrid-CR
increase CR for off grid
2026-05-05 15:14:00 -07:00
Enot (ded) Skelly bc5b12f1ef formattting
not mine still
2026-05-05 12:46:01 -07:00
Enot (ded) Skelly c09af98bef basic repeater chan util
just repeater stats for now

total channel utilization over uptime i.e. util =
(rxsecs+txsecs) / upsecs
2026-05-05 12:41:06 -07:00
Enot (ded) Skelly ae32e76563 fix someones formatting 2026-05-05 11:07:32 -07:00
Enot (ded) Skelly 5572c9ee75 increase CR for off grid
default should be higher assuming trees etc
2026-05-05 10:59:36 -07:00
HDDen f6cc000788 Merge branch 'dev' of https://github.com/zjs81/meshcore-open into dev 2026-05-01 09:58:18 +03:00