Commit Graph

158 Commits

Author SHA1 Message Date
Janez T
0c5fb5a440 chore: Bump project version to 47 in project settings and Info.plist 2025-10-28 22:37:47 +01:00
Janez T
30bd3315aa Add WMS overlays for hiking trails, main roads, house numbers, fire hazard zones, historical fires, firebreaks, Kras fire zones, place names, and municipality borders
- Updated localization files for German, English, Spanish, French, Croatian, Italian, and Slovenian to include new overlay labels.
- Implemented new WMS layers in the map provider and map tab for displaying hiking trails, main roads, house numbers, fire hazard zones, historical fires, firebreaks, Kras fire zones, place names, and municipality borders.
- Added toggle functionality for each new overlay in the map provider.
- Enhanced the map tab UI to include checkboxes for the new overlays, allowing users to enable or disable them.
- Integrated the new WMS layers into the map rendering logic.
2025-10-28 22:26:35 +01:00
Janez T
0371c3cd04 Refactor MapMessageOverlay to use MessageBubble for message display
- Removed inline message display logic from MapMessageOverlay.
- Introduced MessageBubble widget to handle various message types and styles.
- Simplified message handling in MapMessageOverlay by delegating to MessageBubble.
- Enhanced code readability and maintainability by separating concerns.
2025-10-28 21:21:11 +01:00
Janez T
b899c792a6 feat: Update location pointer colors to use theme color for better consistency 2025-10-28 21:21:03 +01:00
Janez T
002b5f4da0 feat: Update location pointer colors to use theme color for better consistency 2025-10-28 19:15:45 +01:00
Janez T
da3302b030 feat: Enhance map functionality with download area selection and user location pointer
- Added download area selection feature in MapProvider with methods to enter, exit, and update bounds.
- Implemented DownloadAreaOverlay widget for user interface during download area selection.
- Integrated download area preview in MapManagementScreen with visual feedback.
- Introduced LocationPointer widget to indicate user location and heading on the map.
- Updated localization strings in app_sl.arb for improved clarity and accuracy.
- Refactored map marker generation to utilize the new LocationPointer for user location representation.
- Improved error handling in LocationTrackingService for initial position setting.
2025-10-28 19:09:11 +01:00
Janez T
fed4aa19f1 feat: Increment project and build version to 45 2025-10-28 15:53:44 +01:00
Janez T
88304440e9 feat: Disable iOS IPA and macOS DMG builds in the multi-platform workflow 2025-10-28 11:20:36 +01:00
Janez T
5d943ff1a4 feat: Add welcome wizard for new users
- Implemented a multi-page welcome wizard to introduce new users to the app's features.
- Added localization support for the wizard in English, Spanish, French, Croatian, Italian, and Slovenian.
- Integrated wizard completion state management using SharedPreferences.
- Updated main app flow to show the wizard if it hasn't been completed.
- Added a settings option to view the welcome tutorial again.
2025-10-28 11:20:30 +01:00
Janez T
1249f39ac2 feat: Enhance advertisement location history management with location dithering 2025-10-28 11:07:27 +01:00
Janez T
e7fe700fee feat: Add GPX import/export functionality and enhance trail management
- Implemented GPX export and import features in GpxService for location trails.
- Added UI controls for exporting and importing trails in the TrailControls widget.
- Introduced localization strings for GPX operations in Italian and Slovenian.
- Enhanced MapProvider to manage imported trails and toggle visibility for contact trails.
- Updated trail color management with TrailColorService for consistent color assignment based on contact roles.
- Improved UI for displaying contact trails with toggle options for individual and all contact trails.
- Refactored detailed compass dialog to remove unnecessary path toggle button for contacts.
2025-10-28 11:04:09 +01:00
Janez T
a1207ad844 feat: Implement optimized contact fetching by public key to enhance performance 2025-10-28 10:44:36 +01:00
Janez T
d4bc847530 feat: Improve compass event handling to prevent errors on disposed widget 2025-10-28 10:26:20 +01:00
Janez T
cf8a498864 feat: Refactor add channel button implementation and update visibility logic 2025-10-28 10:19:28 +01:00
Janez T
e6289199ba Add channel management features and localization support
- Implemented functionality to add new channels with a dialog interface.
- Added validation for channel name and secret inputs, ensuring they meet specified criteria.
- Integrated channel creation logic into the connection provider, including automatic slot assignment and MD5 hashing for channel secrets.
- Updated localization files for multiple languages (Spanish, French, Croatian, Italian, German, Slovenian, and English) to include new channel-related strings.
- Enhanced the contacts tab to display the add channel button conditionally based on device connection status.
- Refactored the contacts tab to improve readability and maintainability.
2025-10-28 10:17:02 +01:00
Janez T
6b15006d4e feat: Update application name to "MeshCore SAR" and increment project version to 44 2025-10-28 09:48:32 +01:00
Janez T
b980fb80f1 feat: Add recent messages overlay to map in fullscreen mode and update localization for recent messages 2025-10-28 00:14:14 +01:00
Janez T
f6155913a1 feat: Increment project version to 43 and update related files 2025-10-27 22:50:01 +01:00
Janez T
b398dc9aa9 feat: Update project version to 42 and enhance advertisement handling in BLE service 2025-10-27 22:47:04 +01:00
Janez T
8c05c331e2 feat: Refine measurement mode behavior and add ruler button in simple mode 2025-10-27 22:38:42 +01:00
Janez T
f707e2233b feat: Add zoom level clamping for WMS layer switching and improve message filtering in simple mode 2025-10-27 22:28:46 +01:00
Janez T
b4bbaf3109 feat: Implement language-based filtering for WMS layers in Slovenian and Croatian 2025-10-27 21:55:00 +01:00
Janez T
a4dc85d130 Add WMS support and measurement functionality
- Implemented WMS layer handling for Slovenian aerial imagery and overlays for cadastral parcels and forest roads.
- Added distance measurement feature allowing users to measure distances on the map with long press interactions.
- Updated localization files for Croatian, Italian, and Slovenian languages to include new measurement and WMS-related strings.
- Enhanced the map layer model to support WMS-specific properties.
- Introduced a new tile provider for debugging WMS requests.
- Updated the drawing toolbar to include measurement mode and clear measurement functionality.
- Integrated SharedPreferences to persist overlay visibility states across app sessions.
- Added utility functions for handling the Slovenian coordinate reference system (EPSG:3794).
2025-10-27 21:49:58 +01:00
Janez T
a03cc4a363 feat: Add localization for save as template functionality in multiple languages 2025-10-26 18:07:55 +01:00
Janez T
0f9974c1e9 feat: Implement update checker and dialog for available app updates with localization support 2025-10-26 17:47:37 +01:00
Janez T
0eae963efc chore: Update binary files for iOS Runner app and IPA 2025-10-26 17:33:15 +01:00
Janez T
676f5341b6 feat: Add URL launcher dependency and implement more info button in settings 2025-10-26 17:33:01 +01:00
Janez T
cec092b8c0 feat: Add functionality to save SAR messages as templates with corresponding localization 2025-10-26 17:22:39 +01:00
Janez T
a6fbc10221 feat: Enhance contact telemetry updates with last seen timestamp and improve message bubble UI for SAR and drawing indicators 2025-10-26 17:04:25 +01:00
Janez T
b8147e904c feat: Update Cayenne LPP GPS encoding/decoding to use 3-byte signed big-endian format 2025-10-26 16:57:21 +01:00
Janez T
3a20b756fd Add comprehensive tests for DrawingMessageParser and SarMessageParser
- Implement critical string formatting tests for DrawingMessageParser, ensuring correct message creation, parsing, and validation.
- Validate JSON structure, coordinate formatting, and color index preservation in drawing messages.
- Introduce tests for various drawing types, including LineDrawing and RectangleDrawing, with emphasis on output consistency and error handling.
- Add tests for SarMessageParser, covering message creation, parsing, and format validation, including backward compatibility with old formats.
- Ensure proper handling of special characters, empty notes, and extreme coordinate values in SAR messages.
- Validate that messages conform to the CLAUDE.md specification and maintain compactness and efficiency.
2025-10-26 16:51:38 +01:00
Janez T
cc4d666a94 feat: Update project version to 39 in project settings and Info.plist 2025-10-23 20:53:11 +02:00
Janez T
f15bad5715 feat: Sync drawings on app startup after provider initialization 2025-10-23 20:52:43 +02:00
Janez T
9d923f8118 Add drawing sharing functionality and localization updates
- Implemented sharing options for drawings, including sharing to a public channel and specific rooms.
- Added confirmation dialogs for deleting drawings and sharing drawings.
- Enhanced the drawing toolbar to display a list of user's drawings with options to share or delete.
- Updated localization files for English, Spanish, French, Croatian, Italian, German, Slovenian, and other languages to include new strings related to drawing sharing and management.
- Introduced syncing of drawing messages with the DrawingProvider to restore missing drawings.
- Improved the drawing minimap preview to display a small preview of drawings in the toolbar.
2025-10-23 20:50:14 +02:00
Janez T
19603a1ad9 feat: Add toast logger import to drawing toolbar for improved logging 2025-10-23 20:31:19 +02:00
Janez T
795f223fe8 feat: Add debug logging for drawing navigation and toolbar actions 2025-10-23 20:29:51 +02:00
Janez T
1688d6f538 feat: Enhance message handling for drawings
- Added properties to the Message model to track drawing status and associated drawing ID.
- Updated AppProvider to mark messages as drawings and link them to their respective drawing IDs.
- Enhanced DrawingProvider to manage received drawings and their visibility.
- Implemented navigation to drawings in MapProvider, including dynamic zoom levels based on drawing size.
- Updated MessagesProvider to parse drawing messages and manage linked drawings.
- Enhanced MessagesTab to support drawing message interactions, including navigation and coordinate copying.
- Created DrawingMinimapPreview widget for visual representation of drawings in message bubbles.
- Improved DrawingToolbar to handle sharing of drawings, ensuring only unshared drawings are sent.
- Added utility functions in DrawingMessageParser for extracting drawing metadata.
2025-10-23 20:14:51 +02:00
Janez T
f32667997e feat: Add localization for drawing actions and update related UI tooltips 2025-10-23 19:47:21 +02:00
Janez T
0a8d9a4dca feat: Update drawing menu to use SingleChildScrollView for better layout and localization 2025-10-23 19:42:59 +02:00
Janez T
d64c78542b refactor: Remove unnecessary toast notifications and improve code formatting 2025-10-23 19:36:24 +02:00
Janez T
200e506df8 feat: Add drawing tools localization and update SAR message handling 2025-10-23 19:33:35 +02:00
Janez T
98cda8c976 feat: Enhance SAR message handling with color indexing and localization
- Added `sarColorIndex` to `Message` and `SarMarker` models to support color indexing for SAR markers.
- Introduced a standard color palette in `SarTemplate` and methods to retrieve colors based on index.
- Updated `SarTemplate` to include localization for template names.
- Modified `SarUpdateSheet` and message sending logic to include color index in SAR messages.
- Enhanced `SarMessageParser` to support both old and new message formats with color index.
- Updated UI components to reflect changes in SAR marker color handling based on the new color index.
- Improved sample data generation to utilize localized strings for better testing and demonstration.
2025-10-23 19:17:13 +02:00
Janez T
b70eed1bf2 fix: Update core library desugaring dependency to version 2.1.4 2025-10-22 21:44:55 +02:00
Janez T
cde6decf06 fix: Update dependencies for file_picker, flutter_local_notifications, and vibration packages 2025-10-22 20:57:02 +02:00
Janez T
9a7e0da9bf fix: Remove Android App Bundle build and upload steps from CI workflow 2025-10-22 20:55:11 +02:00
Janez T
39c95ced95 feat: Add Linux desktop build support to CI/CD workflow
Add build-linux job to compile Linux x64 desktop application and
integrate it into the R2 upload and release workflows.

Changes:
- New build-linux job: Builds Flutter Linux desktop app with GTK-3
- Archives Linux build as tar.gz for distribution
- Added Linux artifact download in upload-to-r2 job
- Updated artifact preparation to copy Linux archives
- Added Linux download card (🐧) to generated index.html
- Included Linux artifacts in GitHub releases
- Added Linux to download summary in workflow output

The Linux build produces MeshCore-SAR-Linux.tar.gz containing the
compiled application bundle ready for x64 Linux systems.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-22 20:44:36 +02:00
Janez T
963bd8a8aa fix: Move checkout step before artifact downloads in R2 upload job
The actions/checkout@v4 step was running after downloading artifacts,
causing it to wipe out the downloaded files. This resulted in empty
build directories and missing artifacts in the index.html.

By moving checkout to the beginning of the upload-to-r2 job, artifacts
are downloaded after the repository is cloned, preserving all build
files for proper R2 upload.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-22 20:39:34 +02:00
Janez T
07f45005c5 fix: Enhance artifact copying logic to skip missing directories without failing the build 2025-10-22 20:20:27 +02:00
Janez T
0955d0feab fix: Improve artifact handling by removing old files and selecting the latest builds 2025-10-22 20:05:27 +02:00
Janez T
18cbdf678d fix: Allow artifact index and manifest generation to continue on error 2025-10-22 19:27:37 +02:00