Change Notes
v1.3.1+29
Latest
-
UX Enhancement
Mobile-Optimized List Reordering
- Implemented long-press to reorder functionality for aircraft, transmitters, and battery packs on mobile devices
- Grab bars (≡) now hidden on mobile screens (< 600px width) to save valuable screen space
- Long-press any tile to enable drag-and-drop reordering on mobile devices
- Grab bars remain visible on tablets and desktop (≥ 600px width) for traditional drag-and-drop
- Custom tile order and favorites status sync across all devices (PRO feature)
- Provides cleaner, more spacious mobile interface while maintaining full functionality
-
Fix
Battery Set Selection Banner Visibility
- Fixed "Select 2 or more batteries to create a set" message appearing behind tiles
- Banner now displays prominently at the top of the battery list where it's clearly visible
- Improved user experience when creating battery sets
-
UX Enhancement
Global Sync Progress Indicator
- Added thin animated loading bar at top of main content area during cloud sync operations
- Loading bar appears below navigation header for clear visibility
- Smooth left-to-right pulsing animation provides visual feedback of ongoing sync
- Always visible while syncing, even after closing mobile menu or navigating between screens
- Solves mobile UX issue where sync spinner was hidden inside closed menu
- Automatic show/hide based on sync state using theme-aware colors
-
Critical Fix
Maintenance Task Status Sync Issue
- Fixed maintenance task status changes (completed, in-progress, etc.) not syncing to other devices
- Root cause: updateEntry() method wasn't updating the last_modified timestamp needed for sync detection
- Repository now automatically updates timestamp when any maintenance field is modified
- Status changes now properly propagate across all connected devices via cloud sync
-
Major Feature
Maintenance Entry Photo Sync (PRO)
- Added full Firebase Storage integration for maintenance entry photos
- Photos now upload to cloud storage and download to all synced devices
- Multiple photos per maintenance entry fully supported
- Cross-device photo access ensures complete maintenance records everywhere
- Previously only local file paths were synced (photos didn't transfer)
-
Verification
Battery Set Sync Confirmation
- Verified battery sets, battery set members, and all related data syncing correctly
- Cloud sync working as designed for battery set configurations
-
Verification
Model Photo Sync Confirmation
- Confirmed aircraft and transmitter photos syncing properly via Firebase Storage
- Photo upload/download with proper async/await handling verified
- Cross-device model photos working as designed
v1.3.0+28
-
Feature
Type-Specific Icons for Aircraft
- Aircraft now display distinct icons based on their type throughout the app
- Icon types: Airplane ✈️, Helicopter 🚁, Drone (quadcopter grid), Car 🚗, Other (airplane)
- Icons appear in aircraft list, add/edit screens, and detail screen headers
- Placeholder icons dynamically update when aircraft type is changed in dropdowns
- Improved visual identification of different aircraft types at a glance
- Uses Font Awesome icons for professional appearance across all platforms
-
UX
Improved Mobile Search Interface Consistency
- Moved search clear button (X) inside all search fields as a suffix icon for compact mobile layout
- Applied to: Maintenance Logbook, Aircraft List, Battery List, and Transmitter List screens
- Eliminated vertical spacing issues where clear button pushed down other UI elements
- More compact layout optimized for mobile screens and better space utilization
- Consistent user experience across all list screens in the app
-
UX
Collapsible Maintenance Logbook Filters for Mobile
- Added filter toggle button in maintenance search bar to show/hide filter buttons
- Filter buttons (asset type, category, status, date, sort) now collapsible on mobile
- Saves significant screen space on mobile devices by hiding filters when not needed
- Filter button highlighted when active filters are applied
- Tap filter icon to expand/collapse filter options
- Improves mobile usability by reducing screen clutter
-
Feature
Collapsible Battery Pack Sets
- Battery sets now default to collapsed state for cleaner, more compact list view
- Tap anywhere on set header to expand/collapse individual battery details
- Chevron indicator shows current state (► collapsed, ▼ expanded)
- Collapsed view displays battery names with color-coded charge state indicators
- Charge status dots show battery health at a glance (green=optimal, blue=storage, orange=acceptable, red=critical)
- Saves significant vertical screen space when managing multiple battery sets
- Each set's collapsed/expanded state is remembered during the session
- All set actions (charge, maintenance, QR code, break up) remain accessible in collapsed view
v1.2.9+26
-
Critical Fix
Display Order Synchronization
- Fixed display_order field not syncing to cloud for Aircraft, Transmitters, and Battery Packs
- Custom sort order now properly synchronizes across all devices (PRO feature)
- Added display_order to both upload and download sync conversion methods
- User-defined item organization will now be preserved during cloud sync operations
-
Verification
Transmitter Battery Field Sync
- Verified all transmitter battery fields (battery_type, battery_voltage, battery_capacity) are properly synchronized
- Confirmed bidirectional sync (upload and download) working correctly
- All transmitter fields fully functional in cloud sync operations
v1.2.9+25
-
Major Feature
Drag-and-Drop Reordering for Asset Lists
- Reorder aircraft, transmitters, and battery packs with intuitive drag handles
- Custom drag handle icons (≡) positioned at top right of each card
- Favorites remain pinned at top, followed by your custom order
- Battery sets show drag handle in colored title bar for easy repositioning
- Individual batteries within sets move with the set (no separate handles)
- Custom order persists locally and syncs across all devices (PRO feature)
- Visual feedback during drag operations for clear interaction
-
Database
Updated to version 44
- Added display_order column to aircraft, transmitters, and battery_packs tables
- Automatic migration handles both fresh installs and upgrades
- Sorting logic: favorites first → custom order → alphabetical
- Bulk update methods with proper sync timestamp handling
-
UX
Enhanced List Navigation
- Organize assets in the order that works best for your workflow
- Frequently used items can be positioned at the top of lists
- Consistent drag-and-drop experience across all asset types
- No duplicate drag handles - only custom handles visible
v1.2.9+24
-
Major Feature
Battery Set Management System - Complete Implementation
- Group multiple battery packs into named "sets" for simplified workflow
- Perfect for aircraft using batteries in series (e.g., 3× 6S = 18S) or parallel configurations
- Create sets with 2 or more battery packs from the battery list screen
- Visual grouping in battery list with colored headers and set icons
- Break up sets feature to ungroup batteries back to individual packs
-
Major Feature
Battery Set Charge Events
- Charge entire sets with a single data entry
- Enter voltage, temperature, mAh, and notes once for the whole set
- Automatically creates individual charge sessions for each battery in the set
- Maintains complete individual battery history
- Blue visual indicator shows when charging a set
- Storage mode fully supports set charging
-
Major Feature
Battery Set Flight Logging
- Use battery sets in flight logs with shared values
- Enter start/end voltage, temp, and mAh once for all set members
- Each battery gets individual flight log usage records
- Set association tracked in database for historical reference
- Seamless integration with existing flight log workflow
-
Feature
Battery Set QR Code Generation
- Generate QR codes for battery sets with proper embedded logo
- Scan set QR codes to quickly access charge screen
- All set members automatically loaded for charging
- Full QR code functionality (share, save, print)
- Consistent with aircraft, transmitter, and battery QR codes
-
Feature
Smart Voltage Pre-fill for Flight Logs
- Start voltage automatically pre-filled with last known voltage
- Checks most recent flight log usage or charge session
- For battery sets: calculates and displays average voltage across all members
- Falls back to nominal voltage if no history exists
- Saves time and improves data accuracy
-
Feature
Aircraft Battery Set Attachment
- Attach entire battery sets to aircraft configurations
- All set members automatically associated with the aircraft
- Set membership displayed in aircraft detail screen
- Detaching a set removes all member associations
-
UX
Enhanced Battery List UI
- Color-coded set headers with proper dark mode support
- Set name and member count displayed prominently
- Popup menu for set actions: Charge Set, Show QR Code, Break Up Set
- Individual batteries remain accessible within sets
- Selection mode disabled for batteries already in sets
-
Database
Updated to version 43
- Added battery_sets table for set definitions
- Added battery_set_members table for set membership with display ordering
- Added battery_set_id column to flight_log_battery_usage table
- Full CRUD operations implemented in DatabaseHelper and repositories
- Indexed for optimal query performance
- Cascade delete support for set cleanup
-
Integration
Export/Import & Cloud Sync Support
- Battery sets included in data export backups
- Set members and associations preserved during export
- Full restoration support via import functionality
- Battery sets sync across all devices (PRO feature)
- Real-time updates across connected devices
- Maintains set relationships across devices
- Documentation Comprehensive battery set feature guide (BATTERY_SET_FEATURE_GUIDE.md) with complete implementation details, use cases, workflows, API documentation, database schema, and testing checklist.
v1.2.8+23
-
Fix
Profile section drag handle alignment
- Prevented drag handles from overflowing the card in portrait mode by constraining header layout
v1.2.8+22
-
Improvement
Profile section reordering and polish
- Certifications, club memberships, and FAA registrations can be reordered via drag-and-drop
- Section order is saved and restored between app launches
- Refreshed section styling with consistent borders and light/dark-friendly background tinting
-
Improvement
Analytics breakdown and navigation
- Added expandable aircraft and battery pack breakdowns with dividers and clearer affordance
- Tap through to aircraft and battery detail screens directly from analytics
- Fixed cycle count parsing (int/double) to prevent analytics crashes
-
Improvement
Header polish and responsive branding
- Dark-to-light primary gradient refined for both light and dark themes
- Compact header shows logo + “RCMM”; full width shows logo + “RC Model Manager” with PRO/FREE badge
- Dark mode swaps to a transparent icon for better contrast
-
Fix
QR Code icon Centering
- QR code icon now stays centered in mobile portrait and landscape mode
- Fixed overflow issue and allow scrolling of QR code modal
-
Improvement
Aircraft detail: hide empty sections with saved preference
- New app bar toggle hides unused component sections (engines, ESCs, receivers, etc.) for cleaner layouts
- Preference is saved and restored via SharedPreferences across Android, iOS, macOS, Windows, and web
- Prevents empty cards from showing when you don't track certain components
v1.2.7+21
-
Improvement
Enhanced QR Code User Experience
- QR code modal now closes immediately when Save or Share buttons are clicked
- Success messages display in a snackbar with automatic 5-second timeout
- Added "Dismiss" button to manually close success notifications
- Desktop platforms (Windows/macOS/Linux) include "Open" button to view saved QR codes in file manager
- Mobile platforms (Android/iOS) show only "Dismiss" button (files are in sandboxed storage)
- Platform-specific folder opening: Windows uses explorer.exe, macOS uses open, Linux uses xdg-open
- Fixed context crash when dismissing snackbars after modal closes
- Embedded app icon in QR codes for professional branding and authenticity
- Cross-platform snackbar behavior ensures consistent user experience
v1.2.6+20
-
Critical Fix
Flying Field Sync Issue
- Fixed flying fields not syncing to Firebase Firestore
- Added missing syncId generation when creating new flying fields
- All new flying fields now automatically receive a unique sync identifier
-
Critical Fix
Database Schema Consistency
- Fixed logbook entries sync errors ("no column named status")
- Resolved schema mismatch between fresh installs and database upgrades
- Added missing columns (status, start_time, end_time) to logbook_entries table creation
- Database version bumped to 42 for automatic migration
-
Database
Version 42 - Schema Alignment
- Verified complete schema consistency across all versions (37-42)
- Fresh installs now match upgraded databases exactly
- All columns added via upgrade paths now present in initial table creation
- Documentation Added FLYING_FIELD_SYNC_FIX.md with detailed technical explanation
v1.2.5+19
-
Fix
Flying Field List Immediate Update
- Fixed flying sites not appearing immediately after saving
- List now refreshes automatically when adding a new flying field
- Previously required navigating away and returning to see newly added fields
- Resolved type mismatch in navigation result handling (integer vs boolean check)
v1.2.5+18
-
Critical Fix
Resolved fresh install database error
- Fixed missing flying_fields table in database creation for new users
- Table was only created during upgrades, causing "no such table: flying_fields" error on fresh installs
- Added flying_fields table and index to _onCreate method to ensure proper initialization
- Existing users upgrading from previous versions are unaffected
v1.2.5+17
-
Major Feature
Flying Field Management System
- Create and manage a list of flying fields/locations you regularly visit
- Capture comprehensive field information: name, location, address, GPS coordinates, website, contact info, field rules, notes
- Optional club membership association - link fields to your club memberships
- GPS coordinate capture - use device location to save exact field coordinates
- Select flying field when logging flights for consistent location tracking
- Analytics dashboard showing flights and total flight time per field
- Accessible via Settings → Data & Analytics → Flying Fields
- Full cloud sync support - flying fields sync across all your devices (PRO feature)
- Export/import support - flying fields preserved in backup/restore operations
-
Database
Updated to version 41
- Added flying_fields table with comprehensive field information storage
- Added flying_field_id foreign key to flight_logs table
- Backwards compatible with automatic migration for existing databases
-
UX
Enhanced Flight Log Entry with Intelligent Location Detection
- Flying field dropdown selector in flight log creation
- Quick Add: "Add New Field..." option in dropdown for on-the-fly field creation
- Navigate directly to Add Flying Field screen without leaving flight log
- Full GPS capture capability available during field creation
- Automatically returns to flight log after saving
- New field auto-selected and location pre-filled
- Perfect for discovering new flying locations at the field
- Smart GPS detection: "Use Current Location" automatically detects and selects nearby flying fields
- Proximity detection within 500 meters (~0.3 miles) with distance display
- Auto-fills location notes when field is selected or detected
- Green notification when flying field is detected: "📍 Flying field detected: [Name] ([distance]m away)"
- Falls back to reverse geocoding if no flying fields are nearby
- Seamless integration with existing location capture workflow
-
Feature
Favorites/Pinning System for Models, Transmitters, and Battery Packs
- Pin your most-used equipment to the top of lists for instant access
- Star icon displays on favorited items with one-tap toggle to remove
- Menu option to add items as favorites (3-dot menu → "Add as Favorite")
- Favorites automatically sort to the top of aircraft, transmitter, and battery pack lists
- Full cloud sync support - favorites sync across all your devices (PRO feature)
- Export/import support - favorite status preserved in backup/restore operations
- Mobile-optimized UX with amber star indicators for quick identification
-
Database
Updated to version 40
- Added is_favorite field to aircraft, transmitters, and battery_packs tables
- Backwards compatible with automatic migration for existing databases
-
Feature
Maintenance History Settings - Control Old Entry Visibility
- Added maintenance history filter in Settings → Maintenance
- Options to hide closed entries older than 30/60/90/180/365 days
- Open, In Work, and Overdue tasks always visible regardless of date
- Helps focus on recent maintenance while keeping important tasks visible
- Reduces clutter in maintenance history sections for long-term users
-
Feature
Aircraft List At-a-Glance Statistics
- Total flights display on aircraft cards (including baseline + logged)
- Total flight time display with hours and minutes format (e.g., "125 flights • 47h 32m")
- Maintenance alert badges: URGENT (red), DUE SOON (orange), OPEN (blue)
- Instant visibility of aircraft status without opening detail screens
-
Feature
Battery List At-a-Glance Statistics
- Total cycle count display on battery cards
- Usage count showing number of times used in flight
- Charge session count display
- Maintenance alert badges for pending battery maintenance
- Format: "47 cycles • 23 uses • 18 charges"
-
Feature
Enhanced Battery Brand Display
- Brand/manufacturer now displays beside nickname in battery list
- Inline format using bullet separator (e.g., "Zippy Compact • Turnigy")
- RichText implementation keeps text flowing naturally
- Brand field available in add/edit screens side-by-side with nickname
-
Feature
Website URL Fields for Profiles and Club Memberships
- Added website field to user profile (Settings → Profile)
- Added website field to club memberships (add/edit/detail screens)
- One-click/tap website launching in external browser
- Automatic protocol detection (adds https:// if missing)
- Visual indicators (underline, link color, open icon) for clickable URLs
- Easy connection to club websites and personal pages
-
Fix
iPhone Battery Type Dropdown Overflow
- Fixed dropdown menu overflow on smaller iPhone screens
- Added `isExpanded: true` property to dropdowns
- Shortened chemistry labels to fit mobile viewports
- Improved mobile user experience in battery management
-
Fix
Battery Edit Screen Field Initialization
- Fixed connector type and dimensions fields not loading in edit screen
- Fields now properly initialize with existing battery data
- Added missing dispose calls for memory management
- Values correctly saved when editing batteries
-
Documentation
Updated user guides and web documentation
- Added maintenance history settings section
- Documented at-a-glance statistics for aircraft and batteries
- Added maintenance alert badge explanations
- Updated both USER_GUIDE.md and web/documentation.html
v1.2.4+16
-
Fix
PRO License Sync Issue - Resolved critical bug preventing PRO status from appearing in admin panel
- Fixed license key not syncing to Firestore when users activated offline then signed in
- License validation now properly uploads PRO status to Firestore for admin visibility
- Ensures all activation workflows (sign-in-first OR activate-first) correctly sync to cloud
- Admin panel user management table now accurately displays all PRO users
-
UX
Simplified QR Code Interface
- Removed redundant "Full Screen" button from QR code display across all equipment types
- Streamlined QR code UI to show only essential "Share" functionality
- Applies to all QR codes: aircraft, transmitters, batteries, and battery packs
- Cleaner, more focused user experience when viewing QR codes
v1.2.3+15
-
Feature
QR Code Scanner - Add Note & Maintenance Functionality
- Implemented "Add Note" action for all scanned assets (aircraft, transmitters, batteries)
- Notes editor opens with context-specific placeholder text for each asset type
- Implemented "Add Maintenance Event" action with pre-filled asset type and ID
- Leverages existing NotesEditorScreen and AddLogbookEntryScreen components
- Seamless integration with QR scanner action menu
- Real-time updates saved directly to database with user feedback
-
UX
Enhanced QR scanner workflow
- Quick access to add notes or log maintenance directly from QR scan
- Eliminates need to navigate to asset detail screens for common actions
- Success/error confirmations via SnackBar messages
v1.2.2+14
-
Fix
Resolved iOS QR scanner camera permission issue
- Fixed iOS camera permission dialog not appearing for QR scanner
- Updated NSCameraUsageDescription to explicitly mention QR code scanning
- Removed manual permission handling in favor of native iOS permission system
- QR scanner now uses same permission flow as image picker for consistency
-
Fix
Resolved QR scanner continuous detection issue
- Scanner now stops immediately when a QR code is detected
- Prevents multiple dialogs from appearing when QR code stays in frame
- Scanner automatically restarts after action menu is dismissed or action is completed
- Each QR code scan is now processed exactly once
-
Improvement
Enhanced QR scanner error handling
- Invalid QR codes now show a clear error dialog instead of automatic retry
- User must acknowledge error by tapping "OK" before scanner resumes
- Prevents repeated error messages and unexpected behavior
- Provides explicit, user-controlled error flow
-
Improvement
QR scanner button now hidden on desktop platforms
- QR scanner FAB button only shows on mobile devices (iOS/Android)
- Desktop platforms (Windows/macOS/Linux) don't support camera scanning
- Prevents confusion by hiding unavailable feature on desktop
- Maintenance Updated .gitignore to exclude macos/build/ artifacts
v1.2.2+13
-
Major Feature
QR Code Generation and Scanning (PRO Feature)
- Generate QR codes for all equipment (aircraft, transmitters, batteries)
- Quick scan access via floating action button on main navigation
- Instant equipment access through QR code scanning with action menu
- Print/attach codes to physical items for fast identification
- Quick actions: View details, add flight log, add maintenance, add charge event
- PRO-only feature with upgrade prompts for free users
-
UX
Improved dark mode QR scanner button visibility
- Darkened QR scanner FAB button (blue shade 800) for better contrast in dark mode
- Maintains vibrant blue (shade 600) in light mode
-
Security
Comprehensive PRO feature gating
- All QR generation points protected (aircraft, transmitter, battery pack, battery detail screens)
- QR scanner protected with PRO check
- Consistent upgrade dialogs across all entry points
v1.2.1+12
-
Major Feature
Comprehensive Flight Log mAh Out Tracking
- Added mAh Out input field in flight log creation and editing screens
- Capture battery consumption per flight with milliamp-hour precision
- Enhanced battery pack detail screen with mAh used display in usage history
- Advanced usage statistics: total flights, average flight time, and average mAh consumed per flight
- Improved duration display showing minutes and seconds (e.g., "4m 30s") instead of truncated values
- Flight log editing now correctly shows only batteries assigned to the specific aircraft
- Enhanced flight log detail modal with complete mAh consumption information
-
UX
Fixed splash screen and launcher icons
- Added light and dark mode logic for splash screen on iOS and Android
- Fixed icon sizing
v1.2.0+11
- Fix Resolved maintenance logbook import failures caused by duplicate part IDs in exported backups (logbook parts are now deduplicated during export).
v1.2.0+10
-
iOS Fix
Improved touch interaction reliability on iOS devices
- Removed redundant close buttons from search interface across all list screens
- Fixed header touch blocking by optimizing container clipping behavior
- Repositioned interactive buttons outside TextField for better iOS touch handling
- Applied proper SafeArea insets to prevent content overlap with system UI
- Changes applied to aircraft, transmitter, battery, and maintenance logbook screens
-
UX
Simplified search interaction
- Search can now be toggled on/off using the magnifying glass icon
- Clear button automatically appears when text is entered
- More intuitive search workflow across the app
v1.2.0+9
-
Major Feature
Comprehensive Maintenance Logbook System
- Track maintenance for all assets (aircraft, transmitters, batteries)
- 11 maintenance categories including Inspection, Repair, Replacement, and more
- Rich data capture: date/time, description, performed by, location, hours/cycles
- Parts tracking with name, number, cost, vendor, quantity
- Next service reminders by hours, cycles, date, or custom conditions
- Full CRUD operations with maintenance history on asset detail screens
- Dedicated maintenance tab in main navigation
-
Major Feature
Centralized Battery Management System
- Centralized battery packs with unique serial numbers and multi-aircraft associations
- Fractional cycle tracking auto-calculated from mAh added during charges
- Advanced battery health assessment combining voltage and internal resistance measurements
- Chemistry-specific charge status monitoring with voltage thresholds
- Temperature logging with automatic °C/°F conversion across charge and flight sessions
- Per-cell IR monitoring for detailed battery health diagnostics
- Flexible battery-aircraft associations with automatic detachment support
- Comprehensive charge session tracking: start/end voltage/current, mAh added, thermal data
- Flight usage logging with voltage and capacity tracking
-
Feature
Advanced Search & Filtering
- Text search across description, notes, performed by, and asset names
- Filter by asset type (aircraft/transmitter/battery)
- Filter by maintenance category
- Date range filtering with visual date picker
- Sort by date (newest/oldest)
- Active filters displayed as removable chips
- Feature Firebase Cloud Sync for maintenance records with automatic backup and real-time sync across devices.
- Feature Export/Import Support with maintenance records included in backups and full restoration.
- UX Theme-compliant UI with proper light/dark mode support, color-coded category icons, and pull-to-refresh.
v1.1.0+7
- Feature Centralized battery packs with serials, multi-aircraft associations, detach support, and refreshed detail UI.
- Feature Enhanced charge/usage logging: temps, mAh added, multi-battery flight logs preserved when detached, richer detail sheets.
- Feature Fractional cycle tracking auto-calculated from mAh added, editable cycle count, updated health display.
- Improvement Global temperature unit setting (°C/°F) with automatic conversion across charge logs, flight logs, and battery detail.
- Improvement Consistent outlined battery forms and improved readability/styling in light & dark themes.
v1.0.1+6
- Fix Resolved Android authentication errors ("API Exception 10") by ensuring SHA-1 fingerprints are synchronized between Firebase and Google Cloud.
- Fix Resolved Windows authentication errors ("Internal Error") by updating desktop client API keys.
- Maintenance Optimized cross-platform authentication configuration.
v1.0.1+5
- Maintenance System re-baseline and administrative updates.
v1.0.1+4
- Improvement Implemented automated version generation for build process.
- Fix Updates to iOS dynamic version handling.
v1.0.1+3
- Improvement Enhanced In-App Purchase error reporting to provide specific details (e.g., "No products found" vs generic error) to aid in troubleshooting configuration issues.
-
Feature
Enabled iTunes File Sharing and "Open in Place" for iOS.
- Allows users to access saved configuration files directly via the iOS "Files" app.
- Enables easier export/backup of radio configuration files.
- Documentation Updated IAP implementation guide with troubleshooting steps.
v1.0.1+2
- Feature Internal testing and stability improvements.
- Improvement Updated iOS Splash Screen to match Android design.
- Improvement Added "Continue Anyway" option in Settings Sign-In flow to allow offline access to login screen.
- Fix Resolved iOS build warnings and stale file errors.
- Fix Resolved naming conflicts in subscription logic.
v1.0.0+1
- Release Initial Release