Commit Graph

115 Commits

Author SHA1 Message Date
zjs81 fef73b7b62 Refactor USB screen, add debug logging, fix UI issues
- Rewrite UsbScreen to mirror ScannerScreen patterns (status bar,
  tap-to-connect port list, bottom FABs, SnackBar errors)
- Extract MeshCoreUsbManager from MeshCoreConnector for cleaner
  USB transport ownership
- Add debug logging throughout USB connection flow (connector,
  manager, web/native services)
- Print debug logs to console in debug mode even when app debug
  log setting is disabled
- Localize remaining hardcoded strings (Web Serial Device fallback
  label, USB status bar keys, companion firmware timeout hint)
- Fix Swedish misspelling in translations (stöderliga → stödda)
- Guard Linux notification init against missing D-Bus session bus
- Fix SNRIndicator hit-test error by adding minimum size constraints
- Update USB flow tests for new UI patterns
2026-03-07 12:38:28 -07:00
just-stuff-tm 8238b6197f Regenerated localization files 2026-03-07 01:16:04 -05:00
just_stuff_tm 435ba89982 Merge branch 'zjs81:main' into feature/usb 2026-03-06 20:41:58 -05:00
just-stuff-tm ab2b509d6a Merge branch 'main' into feature/usb 2026-03-06 20:31:05 -05:00
zjs81 eba95af31f Merge pull request #259 from ericszimmermann/ez_shorten_lastSeen
Shorten lastSeen for en,de,es,fr
2026-03-06 18:11:26 -07:00
zach 1f2dfc555b Add guessed node location map keys and translations
Adds map_showGuessedLocations and map_guessedLocation to app_en.arb and translates them across all 14 supported locales. Regenerates dart localizations.
2026-03-06 15:02:37 -07:00
zjs81 d96cd34771 Merge pull request #251 from zjs81/dev-discoverScreen
Contact discovery
2026-03-06 11:59:24 -07:00
just_stuff_tm 524558c511 clean 2026-03-05 02:26:37 -05:00
just_stuff_tm 367e47bb1e Fix USB device name matching and correct localization strings 2026-03-05 02:26:37 -05:00
just_stuff_tm 38d40ca0a4 Enhance USB error handling and improve user feedback
- Updated the _friendlyErrorMessage method in UsbScreen to provide more user-friendly error messages based on specific PlatformException codes.
- Added localized error messages for various USB-related errors, improving clarity for users.
- Modified the UsbSerialService to rethrow exceptions instead of throwing StateError, allowing for better error propagation.
- Updated the usb_flow_test to reflect changes in the USB display label behavior, ensuring the test accurately describes the functionality.
2026-03-05 02:26:37 -05:00
just_stuff_tm 44c0670dae Refine USB transport flow
- replace Android USB dependency with app-owned USB host implementation\n- restore BLE-first scanner flow with USB secondary action\n- tighten Web Serial key handling and disconnect logging\n\nTODO (follow-up):\n- review non-English localization copy for tone and consistency\n- trim remaining unused/awkward localization strings introduced during USB UI changes
2026-03-05 02:26:37 -05:00
just_stuff_tm 612612795a Update French localization for connection choice subtitle 2026-03-05 02:25:05 -05:00
just_stuff_tm 3542adad1d Update USB communication note for clarity in Swedish localization 2026-03-05 02:25:05 -05:00
just_stuff_tm 2d1160d992 Enhance BLE connection handling and improve USB connection messaging
- Wrapped BLE scan and connection methods in try-catch blocks to handle errors gracefully and provide debug output.
- Added retry logic for service discovery on web platforms after transient disconnections.
- Updated USB connection messages in multiple languages to reflect active support on Android and desktop platforms.
- Improved loading indicators for contacts screen to show a spinner during data loading.
2026-03-05 02:25:05 -05:00
just_stuff_tm 22a53439b1 Initialize USB Supoport for Andriod and Desktop 2026-03-05 02:25:05 -05:00
ericz 3502559fae minus to tilde 2026-03-04 22:49:20 +01:00
ericz e125318137 Shorten lastSeen for en,de,es,fr 2026-03-04 21:41:51 +01:00
Winston Lowe 38856c67e5 feat: Add functionality to delete all discovered contacts
- Implemented a new method to remove all discovered contacts from the list.
- Added confirmation dialog for deleting all discovered contacts in the discovery screen.
- Updated localization files to include new strings for deleting all discovered contacts.
- Refactored contact import logic to streamline the process.
- Enhanced the discovery handling to notify users appropriately based on settings.
2026-03-02 10:23:14 -08:00
zjs81 6bd3c17cdf Merge pull request #217 from MeshEnvy/chrome/main
enh: Chrome compatibility
2026-03-01 20:02:29 -07:00
Winston Lowe d2640e1294 feat(localization): update 'overwrite oldest contact' subtitle for multiple languages 2026-03-01 10:52:19 -08:00
Winston Lowe 12bf46bba1 feat(localization): update contact settings translations for multiple languages
- Translated contact settings and related strings in Slovenian, Swedish, Ukrainian, Chinese, Dutch, Polish, Portuguese, Russian, and Slovak.
- Added new strings for discovered contacts actions such as adding, copying, and deleting contacts.
- Enhanced the DiscoveryContact model to include a rawPacket field for better data handling.
- Updated the contacts screen to support new actions in the context menu for discovered contacts.
- Improved the contact discovery store to handle the serialization of the new rawPacket field.
2026-03-01 10:13:17 -08:00
Winston Lowe 75610695c2 Add contact settings and discovery features
- Implemented contact settings in localization files for Swedish, Ukrainian, and Chinese.
- Added new DiscoveryContact model to handle discovered contacts.
- Created DiscoveryScreen to display discovered contacts with filtering and sorting options.
- Integrated contact discovery storage to persist discovered contacts.
- Updated settings screen to include options for automatic contact addition.
- Enhanced app bar and list filter widgets for better user experience.
- Fixed variable naming inconsistencies in contact model.
2026-02-28 19:11:11 -08:00
Winston Lowe e139383335 Add localized search functionality for contacts (#244)
- Introduced new localization keys for searching contacts, users, favorites, repeaters, and room servers in multiple languages.
- Updated localization files for Italian, Bulgarian, German, English, Spanish, French, Dutch, Polish, Portuguese, Russian, Slovak, Slovenian, Swedish, Ukrainian, and Chinese.
- Enhanced the contacts screen to dynamically display search hints based on the selected contact type filter.
- Modified the map screen to utilize the new search functionality for contacts without a number.
2026-02-26 22:53:52 -08:00
Ben Allfree 75d25f6312 Merge branch 'main' into chrome/main 2026-02-24 22:51:51 -08:00
Ben Allfree cac65face6 Merge main into chrome/main 2026-02-24 21:15:49 -08:00
zjs81 f2ccec2926 Merge branch 'main' into MGJ520/main
# Conflicts:
#	lib/l10n/app_zh.arb
2026-02-24 20:21:10 -07:00
zjs81 50af2e0bc9 Fix review issues: dedicated l10n keys, remove unrelated CI/macOS changes, translate all locales
- Replace concatenated favorite toggle strings with dedicated listFilter_addToFavorites/removeFromFavorites keys
- Remove unrelated CI artifact upload step from build.yml
- Revert unrelated macOS GeneratedPluginRegistrant.swift change
- Add comment explaining groups hidden under favorites filter
- Translate new keys across all 14 locales
2026-02-24 20:07:15 -07:00
ericz 5a70ed48cf favorites handling only 2026-02-24 23:56:30 +01:00
just_stuff_tm ea1d728d4f Merge remote-tracking branch 'origin/issue-fix-channel-edit-delete-actions' into combined-prs 2026-02-24 12:45:51 -05:00
just_stuff_tm 2a7cc28a3a fix 2026-02-23 23:46:25 -05:00
just_stuff_tm faefef14ff fix: restore baseline freq in los text 2026-02-23 19:29:36 -05:00
just_stuff_tm 2188b49726 fix: refresh los localization 2026-02-23 19:06:52 -05:00
just_stuff_tm 74e29a6c0f fix: clamp los profile bounds 2026-02-23 18:12:04 -05:00
Ben Allfree 7740698cde Merge branch 'main' into chrome/main 2026-02-23 15:03:20 -08:00
just_stuff_tm 0121b5f649 Merge branch 'zjs81:main' into issue-fix-channel-edit-delete-actions 2026-02-23 14:47:48 -05:00
just_stuff_tm ec14870aed Update after upstream merged other commits 2026-02-23 14:42:30 -05:00
just_stuff_tm c8ff0cc943 Merge upstream/main 2026-02-23 12:14:38 -05:00
zjs81 64bf307d09 Merge pull request #216 from MeshEnvy/feat/hide-message-tracing
feat: hide message tracing
2026-02-23 07:16:24 -07:00
just_stuff_tm 677b25908a Document LOS frequency and k-factor math
Show the connector frequency right next to the Frequency label, display the derived k value, and keep the info dialog tied to the exact
2026-02-23 03:11:14 -05:00
just_stuff_tm 47044ae14e fix(l10n): add channels_channelDeleteFailed with proper placeholder typing and translations 2026-02-22 17:37:10 -05:00
just_stuff_tm 332bb5ef3a Updated PR and Added snackbar Translations 2026-02-22 16:06:08 -05:00
Ben Allfree bf4f52a4e3 hide message tracing 2026-02-22 11:27:32 -08:00
Ben Allfree c284e571b0 hide message tracing 2026-02-22 11:27:06 -08:00
Ben Allfree 5676cbd84e chrome required screen 2026-02-22 07:40:40 -08:00
spfmoby 2306269384 Better french translations 2026-02-22 15:20:55 +01:00
Krasimir Kazakov b3ad54f296 Added mute channel functionality (#209) 2026-02-21 23:51:48 -08:00
just_stuff_tm f4b18d97a1 Added Line Of Sight Feature for repeater placement, Added app wide Units Setting (#198)
* feat: add LOS workflow, global units, l10n cleanup, and mobile UI overflow fixes

Squashes prior PR commits into one changeset including: LOS map/service/tests, global metric/imperial unit system adoption, notification/BLE safety fixes, app-wide localization backfill/mojibake cleanup, and responsive UI title/overflow hardening.

* l10n: revert unrelated locale churn for LOS feature

* feat: keep LOS with app-wide unit settings

* fix: resolve post-merge app bar/import analyzer errors

* style: format screen files for CI
2026-02-20 22:08:23 -08:00
Winston Lowe d2b693e5ce Add a signal readout for the nearest repeater. With improvements to app bar and other UI polish. (#200)
* Refactor Cayenne LPP parsing with error handling and logging

- Added error handling and logging to the Cayenne LPP parsing methods to manage malformed data gracefully.
- Improved the structure of the parsing logic for better readability and maintainability.
- Updated the Contact model to include error handling during frame parsing.
- Refactored Channels, Contacts, Map, and Neighbours screens to utilize a new AppBarTitle widget for consistent app bar design.
- Enhanced the BatteryIndicator widget to display SNR information for direct repeaters.
- Introduced SNRUi class for better management of SNR icon and text representation.
- Improved error handling in PathTraceMap and Neighbours screens to log errors appropriately.

* Fix trace route bytes generation logic in Contact model

* Ignore advertisements from self in MeshCoreConnector

* Refactor PathTraceData to use List<double> for snrData and adjust data mapping in PathTraceMapScreen

* Add SNRIndicator to AppBar and refactor BatteryIndicator layout

* Enhance path management dialog to display direct repeaters with color coding based on signal strength

* Remove unused import from SNR indicator widget

* Update lib/models/contact.dart

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update lib/connector/meshcore_connector.dart

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update lib/connector/meshcore_connector.dart

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update lib/screens/path_trace_map.dart

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update lib/widgets/battery_indicator.dart

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update lib/helpers/cayenne_lpp.dart

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Refactor packet handling to skip only the RSSI byte for improved reliability

* Add SNR indicator localization and update UI references for nearby repeaters

* Handle loading state and error parsing in PathTraceMapScreen; update SNR indicator dialog content layout

* Throw an exception for unsupported LPP types in CayenneLpp class

* Refactor AppBarTitle widget to remove unused style parameter; update related screens to reflect changes
Improve SNR handling by adding validation for spreading factor range in snrUiFromSNR function
Update contact handling in MeshCoreConnector to fix variable naming and improve readability
Stop parsing unsupported LPP types in CayenneLpp to avoid misalignment

* Sort direct repeaters by last updated time and SNR; limit to top three for improved path management dialog

* Prevent notifications for chat and sensor adverts without a valid path

* Implement ranking system for direct repeaters based on SNR and recency; update related UI components to reflect changes

* Refactor localization keys for "neighbors" terminology across multiple languages

- Updated localization keys from "neighbours" to "neighbors" in the following files:
  - app_localizations_bg.dart
  - app_localizations_de.dart
  - app_localizations_en.dart
  - app_localizations_es.dart
  - app_localizations_fr.dart
  - app_localizations_it.dart
  - app_localizations_nl.dart
  - app_localizations_pl.dart
  - app_localizations_pt.dart
  - app_localizations_ru.dart
  - app_localizations_sk.dart
  - app_localizations_sl.dart
  - app_localizations_sv.dart
  - app_localizations_uk.dart
  - app_localizations_zh.dart
- Updated corresponding ARB files to reflect the changes in keys.
- Renamed the NeighboursScreen to NeighborsScreen in the chat and repeater hub screens for consistency.

* Adjust ranking calculation for direct repeaters by adding offset to SNR for improved accuracy

* Fix typo in variable name for second direct repeater in path management dialog

* Refactor ranking calculation for direct repeaters and update path handling in channel message screens

* Refactor path handling in ChannelMessagePathScreen to improve logic for outgoing messages and channel messages

* Fix AppBarTitle horizontal overflow with long titles (#187)

* Initial plan

* Wrap title Column in Expanded to prevent horizontal overflow in AppBarTitle

Co-authored-by: wel97459 <12990640+wel97459@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: wel97459 <12990640+wel97459@users.noreply.github.com>

* Refactor AppBarTitle widget to simplify Text widget initialization

* Add "Show All Paths" feature to chat path management

- Implemented localization for "Show All Paths" in multiple languages (DE, EN, ES, FR, IT, NL, PL, PT, RU, SK, SL, SV, UK, ZH).
- Updated path management dialog to include a toggle for showing all paths.
- Refactored path history display logic to conditionally show paths based on the toggle state.
- Cleaned up unused print statements and improved code readability in path tracing and chat screens.

* Refactor FeatureToggleRow visibility in chat and path management dialogs based on repeaters list

* Remove unused import of 'dart:ffi' in path_trace_map.dart

* Refactor repeater management logic and update UI state handling in chat and path management dialogs

* Refactor RX data handling and improve repeater management logic in chat and path management dialogs

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: wel97459 <12990640+wel97459@users.noreply.github.com>
2026-02-20 20:27:38 -08:00
MGJ 0e81d75cce Merge branch 'main' into main 2026-02-19 13:07:08 +08:00
zjs81 947fafbbb7 Refactor radio settings and localization updates
fixes #72

- Removed preset configurations for 915 MHz, 868 MHz, and 433 MHz from the RadioSettings model.
- Introduced a new list of regional preset configurations for various countries.
- Updated the settings screen to use a dropdown for selecting presets instead of chips.
- Added a switch for enabling client repeat functionality with appropriate warnings for frequency usage.
- Updated localization files for multiple languages to reflect changes in settings related to client repeat functionality.
2026-02-17 23:42:04 -07:00