Commit Graph

663 Commits

Author SHA1 Message Date
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
Seth Golub e963248e37 Stop repeater identity key search when user navigates away
Terminate a search for a repeater key with a specified prefix if the
user navigates away from the settings screen.

This commit also adds dispose() calls for the new repeater key input
controllers, which were previously omitted.
2026-07-04 18:54:27 -07:00
Seth Golub 68d2250afc Fix randomBytes to use specified length
Previously we were creating a 32-byte list no matter what was asked for.
2026-07-04 18:34:11 -07:00
Zach f4cca2fb1d Add ExportOptions.plist for App Store Connect configuration
- Created a new ExportOptions.plist file to define export settings for app distribution.
- Configured the plist with method, team ID, signing style, symbol upload option, and destination.
2026-07-04 00:45:18 -07:00
zjs81 0f3961f3a2 Merge pull request #461 from ericszimmermann/ez_alternative_maps
Alternative Maps
2026-07-04 00:32:58 -07:00
ericszimmermann c1dea86dd1 Merge branch 'zjs81:dev' into ez_zerohop_location_advert_PR 2026-07-01 07:27:44 +02:00
km-foss eb89ad1d50 chore: Add Australia (Mid) Radio Preset
This mirrors the config option from the official Meshcore app, and represents the preset now commonly in use in New South Wales.
2026-06-24 09:21:45 +10: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
zjs81 98a9197cb1 Merge remote-tracking branch 'origin/dev' into test-regions 2026-06-15 22:52:31 -07:00
zjs81 55da952bfd Merge remote-tracking branch 'origin/dev' into test-regions Also added fixes 2026-06-15 22:46:59 -07:00
zjs81 9b4742951d Merge pull request #479 from MrSurly/478-implement-right-click
Issue 478: Implement right click for desktop use
2026-06-15 21:56:13 -07:00
Zach 43f3d439ba Add jni to FFI plugin list for Linux and Windows 2026-06-15 13:12:08 -07:00
Eric Poulsen 5f54a2cd1b dart format 2026-06-13 22:05:46 -07:00
Eric Poulsen e1536c49b1 tap --> secondaryTap, per review comments 2026-06-13 20:43:30 -07:00
Eric Poulsen bfa62523df Prefer GestureDetector over Listener for right-click in routing sheet 2026-06-13 20:43:13 -07:00
Eric Poulsen 6813a72767 Fix null-returning ternaries with if blocks, per code review comments 2026-06-13 20:32:05 -07:00
Eric Poulsen dbd3a40bdc Rename _handleMapTap to _handleMapContextPress, per review comments. 2026-06-13 20:29:36 -07:00
Eric Poulsen 3009036565 Remove white space per code review 2026-06-13 20:27:58 -07:00
Eric Poulsen 80f4fd5218 Added HitTestBehavior.opaque, per code review comments 2026-06-13 20:26:38 -07:00
Eric Poulsen 321d4b9775 Use kSecondaryMouseButton bitmask check, per code review 2026-06-13 20:23:32 -07:00
Eric Poulsen 1c183d7e67 Add right-click support to routing sheet path history rows 2026-06-13 19:46:00 -07:00
Eric Poulsen a1e6f6967c Added support for left-click copy, and snackbar message about copying the data. 2026-06-13 19:30:27 -07:00
Eric Poulsen f34c2a92c3 Add onSecondaryTap to MeshCard and fix right-click on message text bubbles 2026-06-13 19:22:16 -07:00
Eric Poulsen f1478722b0 Fix for right-click on message bubbles (right click didn't work on the actual text of the bubble) 2026-06-13 19:05:52 -07:00
Eric Poulsen c867225073 onSecondaryTap for line_of_sight_map_screen 2026-06-13 16:37:12 -07:00
Eric Poulsen 06285a02ff onSecondaryTap for map_screen 2026-06-13 16:36:55 -07:00
ericz ecde5e1109 fix StadiaMaps Dark and add demo. 2026-06-13 20:01:43 +02:00
ericz f548f95e29 merge zjs81/dev: resolve conflicting implementations 2026-06-13 18:06:31 +02:00
zjs81 e38d03a32e Fix battery voltage null check in RepeaterStatusScreen 2026-06-13 02:13:34 -07: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 becfbedc99 format files 2026-06-13 00:39:13 -07:00
zjs81 5ea6b17b16 feat: enhance MeshCoreConnector with improved timeout calculation and path resolution; add PathHopResolver for better contact resolution 2026-06-13 00:36:45 -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
Zach 6a31d304d3 feat: update license type to nonprofit and add jni to plugin lists; bump dependencies for flutter_local_notifications, package_info_plus, share_plus, flutter_blue_plus_platform_interface, and llamadart 2026-06-11 10:08:31 -07: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 b72ade1387 Update channel_chat_screen.dart 2026-05-31 00:22:04 +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
ericszimmermann 28df5a97e8 Merge branch 'dev' into ez_alternative_maps 2026-05-28 08:56:54 +02:00
HDDen 6a7dd981a2 Fix «Dispose the telemetry map controller on widget teardown» 2026-05-26 21:01:18 +03:00
HDDen d68f755677 Merge branch 'dev' into telemetry-gps-map 2026-05-26 20:58:57 +03:00
HDDen 8dd385beed Merge branch 'dev' into sync-progressbar 2026-05-26 00:44:08 +03:00
HDDen 2328848400 Onstart sync progressbar: fix potential bug with spinner on interrupt synchronization 2026-05-26 00:37:42 +03:00
ericz 531b85b8aa add OSM Auto Map 2026-05-25 11:56:01 +02:00