Commit Graph

234 Commits

Author SHA1 Message Date
PacoX a8cac76491 resolved conflict and update doc 2026-07-09 09:08:50 +02:00
Zach 8765d0f4cc Add localization for 'Received a GIF' in multiple languages and update chat UI 2026-07-08 20:38:06 -07:00
zjs81 b8e113d269 Merge pull request #467 from sethoscope/set-repeater-key
Add UI for setting repeater identity keys
2026-07-06 09:23:01 -07:00
zjs81 0f3961f3a2 Merge pull request #461 from ericszimmermann/ez_alternative_maps
Alternative Maps
2026-07-04 00:32:58 -07:00
ericz 5ef976b3b5 Add option for automatic zerohop adverts on posision change. 2026-06-23 18:19:22 +02:00
Seth Golub e1a4900dc0 Add UI for setting repeater identity keys
This adds a simple UI in repeater management settings for remotely
setting a repeater's private key. A key can be pasted from an external
key generator, or a random one can be generated here, optionally with a
specified prefix.

If a prefix is specified, searching is done in 30ms batches in order
to keep the UI responsive and show the progress indicator animation
smoothly. Searches can be interrupted. An estimation of search length is
given as expected number of generated key pairs. (A future improvement
would be to observe keys per second performance and give time estimates
based on that.)

When it generates a new private key on your behalf, it can tell you
what the corresponding public key will be. Unfortunately, if you paste
one in from another source, it can't compute the corresponding public
key. This is because the standard Dart crypto library doesn't provide
that capability, nor does it give access to the elliptic curve functions
it implements so we could do it ourselves. Our only recourse would be to
copy the source for all those things, and I didn't think it was worth
it.

This will not check the validity of a pasted key, but the remote
repeater will. It does limit it to the correct length and hexadecimal
charset.

Prefixes are limited to 4 characters. There's no technical reason for
this, but users are unlikely to want more, and I think it would just be
a bad experience to allow more and spin for a very long time. If someone
really wants a longer one, they can use an external generator like they
do now.

Possible TODO: rewrite background processing using isolates.

Closes #142.
2026-06-19 07:27:44 -07:00
HDDen 6492058a04 Merge branch 'dev' into update-pacox-multibyte 2026-06-16 11:53:59 +03:00
zjs81 55da952bfd Merge remote-tracking branch 'origin/dev' into test-regions Also added fixes 2026-06-15 22:46:59 -07:00
HDDen e92d215582 upd - fix and format 2026-06-14 01:36:49 +03:00
HDDen d61eaaaff1 Merge branch 'dev' into update-pacox-multibyte 2026-06-14 01:12:49 +03:00
ericz f548f95e29 merge zjs81/dev: resolve conflicting implementations 2026-06-13 18:06:31 +02:00
zjs81 760d8e1db3 Update localization files and improve path map UI
- Added new localization strings for Swedish, Ukrainian, and Chinese languages in app_sv.arb, app_uk.arb, and app_zh.arb respectively.
- Enhanced the path map UI in channel_message_path_screen.dart for better readability and interaction.
- Improved message retry logic in message_retry_service.dart to prevent double-pumping of queues.
- Bumped version number in pubspec.yaml to 9.5.0+13.
- Cleared untranslated strings in untranslated.json to reflect current localization status.
2026-06-13 01:58:42 -07:00
zjs81 3707acb124 Refactor code structure and remove redundant sections for improved readability and maintainability 2026-06-12 22:55:41 -07:00
zjs81 51d6210920 Add shared UI components for mesh application
- Introduced `mesh_ui.dart` with reusable widgets including SectionHeader, MeshCard, StatusChip, StatTile, AvatarCircle, SignalBars, RouteChip, PulseDot, BottomSheetHeader, ErrorRetryCard, and ListEntrance.
- Implemented `path_map_ui.dart` for path map screens, featuring path distance calculations, playback controls, and a summary list of observed paths.
- Created `themed_map_tile_layer.dart` for shared cached map tiles with automatic dark-mode treatment.
2026-06-12 21:04:02 -07:00
HDDen 27695d372a Updated to last dev 2026-06-12 14:44:09 +03:00
HDDen d06a4c1861 Merge branch 'dev' into update-pacox-multibyte 2026-06-12 13:39:09 +03:00
zjs81 26fdf74d69 Refactor UI code for better readability and consistency
- Improved formatting of ListTile icons and text styles in settings_screen.dart, telemetry_screen.dart, usb_screen.dart, gif_picker.dart, path_editor_sheet.dart, repeater_login_dialog.dart, and room_login_dialog.dart for better readability.
- Consolidated TextStyle definitions into single lines where applicable.
- Updated notification_service.dart to enhance readability of notification ID assignment.
- Simplified function signatures in routing_sheet.dart for clarity.
- Cleaned up test assertions in usb_flow_test.dart for conciseness.
- Removed unused translations in untranslated.json to streamline localization files.
2026-06-11 00:28:13 -07:00
zjs81 cba1e5950c feat: add contact UI helpers and path editor for routing management
- Implemented contactTypeIcon and contactTypeColor functions for better UI representation of contact types.
- Created colorForName and firstCharacterOrEmoji functions to enhance contact display.
- Developed PathEditorSheet widget for managing contact paths with a user-friendly interface.
- Introduced RoutingSheet for managing contact routing modes and displaying path history.
- Added a script for generating proof of concept (PoC) payloads for clipboard contact import validation.
2026-06-11 00:07:12 -07:00
me 13d3a107da fix(l10n): replace flood/repeater machine translations in Japanese
- 洪水 → フラッド (flood routing terminology)
- リピーター → リピータ (consistent katakana without long vowel)
- 中継局 → リピータ
- 繰り返し送信装置 → リピータ
- オフグリッド...の繰り返し → オフグリッドリピータ
- 最大浸水範囲の回数 → フラッドパケットの最大ホップ数
- インバウンドフラッパケット → インバウンドフラッドパケット (typo fix)
- ルーティングループに見えるような、洪水パケットを送信する → ルーティングループを検知する
- カスタムパスには、メッセージを中継できる中間地点が必要です → リピータが必要です
- ワンホップでの広告放送(中継なし)→(リピータなし)
2026-06-08 16:18:18 -07:00
me dfdcafb071 fix(l10n): correct ja repeater terminology
Replace machine-translated repeater terms with consistent Japanese:
- 繰り返し送信装置 → リピーター (map, listFilter)
- 繰り返し設定 → リピーターを自動追加 (contactsSettings)
- ホップの繰り返し → リピーターホップ (channelPath)
- 繰り返し送信する、近隣 → 近隣のリピーター (neighbors)
- 近くの電波中継局 → 近くのリピーター (snrIndicator)
- 送信装置名 → リピーター名 (repeater settings)
- オフグリッド...の繰り返し → オフグリッドリピーター (settings)
- 中継装置およびルームサーバーの設置場所 → リピーター/ルームサーバーの位置情報
- 繰り返し送信に関する情報 → リピーターに関する情報 (repeater_guest)
2026-06-08 15:30:43 -07:00
HDDen 9d1251f21e Merge branch 'dev' into test-regions 2026-05-31 16:52:27 +03:00
HDDen 0ca96ce5b1 Regions discovery from nearby repeaters 2026-05-31 16:47:22 +03:00
HDDen 3fc038682c Merge commit 'refs/pull/379/head' of https://github.com/zjs81/meshcore-open into test-regions 2026-05-31 00:06:16 +03:00
PacoX 2e767730fd Merge branch 'dev' into dev 2026-05-28 08:51:23 +02:00
HDDen d68f755677 Merge branch 'dev' into telemetry-gps-map 2026-05-26 20:58:57 +03:00
ericz 9ada4ea601 add toggle for autmatically translated messages for notification and chat or manual translation on message action. Due to heavy battery usage. 2026-05-20 21:24:54 +02:00
PacoX 945a118853 expose mode 3 in UI 2026-05-20 08:50:17 +02:00
HDDen 7a823654df Telemetry: room-server request fix #2
The telemetry parser has been expanded and should now support significantly more metrics. It has been ported from the Python implementation of meshcore_py.
2026-05-19 23:17:06 +03:00
HDDen 425229fce8 Telemetry request: map and autorefresh 2026-05-19 20:37:34 +03:00
ericz 87708e2684 fixes direct repeater mixing 1 byte paths with 2 byte Indicator, and wrong description. 2026-05-18 20:42:40 +02:00
zjs81 6900e5c3db Run translations 2026-05-09 19:20:32 -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 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
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
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
HDDen f63d50f0da sync last dev with cyr2lat 2026-05-01 01:38:31 +03:00
HDDen ca6058eccd Merge branch 'dev' of https://github.com/zjs81/meshcore-open into dev 2026-04-28 16:26:42 +03:00
zjs81 2950a9a687 Merge branch 'dev' into pr-404-merge 2026-04-27 13:23:53 -07:00
zjs81 20a9ef3c2b Merge branch 'dev' into enhancement/los-obstruction-pinning-411 2026-04-27 13:13:19 -07:00
zjs81 a741e12ad1 Merge pull request #413 from ericszimmermann/ez_marker_update_squashed
Improve SharedMarker handling
2026-04-27 13:12:09 -07:00
zjs81 e54f30d6fb Merge pull request #414 from Diadlo/fix/jump_to_unread
Improve work with unread messages
2026-04-27 13:11:00 -07:00