All relevant changes are summarized here by version.
- Merge pull request #30 from arn-c0de/1.0.25-Feature-nearest-airports Feature: Implement Map View - Nearest Airports List with FAB button and popup marker selection #26
- GUI Installer (Windows): Introduced a full PyQt6-based GUI installer (
dcs_datapad_installer.py/run_installer.bat) replacing the legacy TUI (text-based menu). The GUI provides:- Automatic setup wizard – Auto-detects DCS installation and Saved Games folders, installs dependencies, and guides first-time configuration
- Multi-tab interface – Dashboard (server control), Device Management (QR token generation + authorized devices list), Server Configuration (network/security settings), Installation Settings (paths), Health Checks (diagnostics + firewall rules), and real-time Logs viewer
- QR registration integration – Generate registration tokens directly from the GUI with live device registration detection; tokens auto-reload without server restart
- System tray support – Minimize to tray while server runs in background
- Firewall configuration – Optional one-click Windows Firewall rule setup for UDP ports
- QR Registration fixes (Critical):
- Fixed missing
--skip-qr-promptflag in GUI server command – server now starts in non-interactive mode and accepts DeviceRegistration messages immediately - Fixed token file reload issue –
verify_token()now reloadsregistration_tokens.jsonbefore verification, allowing GUI-generated tokens to work without server restart - Android app
applyTokenSettings()restored to original behavior (sets both server IP and port from token payload)
- Fixed missing
- Documentation:
- Updated
README.mdwith comprehensive GUI installer instructions, setup wizard flow, and QR pairing guide - Added note that TUI (
install.bat/run.bat) is legacy and only available in branch1.0.24 - CLI manual start instructions updated with
--skip-qr-promptflag requirement - Added TODO placeholder for GUI screenshots
- Updated
- Configuration & gitignore:
server_config.jsonconfirmed in.gitignore(auto-generated by GUI on first run)- GUI creates default config with sensible defaults if missing
- Scripts & utilities:
- Added
test_device_registration.py– Python test script for simulating DeviceRegistration messages - Added
simple_registration_test.py– Simplified test without emojis for Windows console compatibility - Added
add_firewall_rule.bat– Manual firewall rule setup batch script
- Added
- Migration notes:
- Windows users: Use
run_installer.batinstead ofinstall.bat/run.bat - Linux/macOS: Use manual CLI start (TUI not supported on non-Windows platforms)
- Branch
1.0.24retains legacy TUI for users who prefer the text-based interface
- Windows users: Use
- Added:
scripts/DCS-SCRIPTS-FOLDER-Experimental/dcs_datapad_installer.py,run_installer.bat,test_device_registration.py,simple_registration_test.py,add_firewall_rule.bat,requirements_gui.txt,installer.spec - Modified:
README.md,registration_token.py(auto-reload fix),app/.../QrRegistrationManager.kt(applyTokenSettings) - Removed references: Legacy
install.bat/run.bat(moved to branch1.0.24)
- Map performance & stability: Reduced GC pressure and improved map panning smoothness by reusing GeoPoint instances and mutable collections; implemented viewport culling, invalidate throttling and recomposition detection to prevent redraw storms; AA system caching and removal of blocking DB queries from draw loops.
- Map features: Added AA-range visualization (phase 1) and historical
MapBordersoverlays; improved airspace/ring rendering at navigation targets and ensured rings draw correctly behind labels; added per-marker traffic pattern support and multiple fixes for runway/label rendering and MGRS/grid layering. - UI & Flight instruments: Implemented responsive instrument layouts for phones/tablets, added heading display to the attitude HUD, removed instrument background on small screens, and fixed FAB positioning & behavior across orientations.
- Forwarder & Launcher: Updated server launcher and install/run scripts; added resilient file tailing, dynamic reconnection,
forwarder_status.jsonreporting, and multi-host/wildcard send support for the forwarder with client IP/session tracking. - Exports & detection: Improved weapon detection in export scripts and added export Lua detections (e.g., SA-11 / SA-5).
- Docs & polish: Updated documentation and screenshots (launcher, AA range), consolidated recent changes from previous releases, and applied various small fixes and warnings cleanups.
- Modified/Added:
app/src/.../ui/maps/overlays/*,MapViewer.kt,forward_parsed_udp.py, launcher/install scripts, various docs and screenshots.
- QR Registration & onboarding: Implemented a full QR-based device registration flow. Server-side
registration_token.py(token manager + QR generation), temporary UDP listener & interactive startup mode inforward_parsed_udp.py(press B within 5s to generate token and wait for registration),crypto_handshake.pyintegration to validate/consume tokens and add devices toauthorized_devices.json(camelCase fields). - Security & robustness: Tokens are single-use, time-limited (default 10 min), bound to server IP; public key validation enforces EC SECP256R1; registration attempts are rate-limited and audited (audit log written to
security_audit.jsonl). - Android: QR Scanner & registration client: Added
QrRegistrationManager.ktand a full-screen ZXing-basedQrCodeScannerScreencomposable. Fixed camera sizing and lifecycle (resume/pause on lifecycle events), improved overlay/z-order, logging and QR validation (case-insensitive datapad_registration detection). - Tests & docs: Added
test_qr_registration.pyintegration tests and updated docs (docs/EN/features/qr_registration.md,.../qr_registration_quickstart.md) to reflect implemented behavior and troubleshooting (cryptography/cffi note). - Fixes & polish: Fixed ClassCastException and layout issues in camera preview, ensured the scanner stops after scan, improved UX in DataPad settings (scan flow, field validation), and added
--skip-qr-promptfor non-interactive startup. - Maps & Navigation (UI fixes): Prevent NM labels from wrapping vertically in the collapsed navigation panel; persist collapsed/expanded navigation panel state across app restarts; shorten Auto‑Center labels for a compact display; adjust Center FAB position to reduce overlap; add optional airspace rings displayed at navigation targets for better situational awareness. (Files:
app/src/main/java/com/example/checklist_interactive/ui/common/FABOverlay.kt,app/src/main/java/com/example/checklist_interactive/ui/maps/MapViewer.kt,app/src/main/java/com/example/checklist_interactive/ui/maps/ui/MapNavigationDisplay.kt,app/src/main/res/values/strings.xmland localized variants.) - Flight Instruments improvements: Added heading display (yellow number) at top of Attitude Indicator; removed Fuel Indicator; responsive layout for smartphone vs tablet (smaller instruments, no background on phones for map clickthrough); disabled OSMdroid zoom buttons; optimized FAB positioning (DataPad/QuickAccess higher on phones, z-index added for proper layering).
- Other notable: Added AA-map range visualisation (phase 1) and historical border/MapBorders overlays; switched to
PDFBox-Androidto fix PDF rendering crashes; forwarder improvements (multi-host/wildcard support, resilient file tailing, status reporting) and a simplified installer/launcher; added export Lua detection (e.g., SA-11) and HUD speed formatting >999. These items were consolidated from recent commits on1.0.23.
- Added:
scripts/registration_token.py,scripts/tests/test_qr_registration.py,app/.../data/datapad/QrRegistrationManager.kt - Modified:
scripts/forward_parsed_udp.py,scripts/crypto_handshake.py,app/.../ui/datapad/QrCodeScannerComposable.kt,app/.../ui/maps/MapFlightInstruments.kt,app/.../ui/maps/MapViewer.kt,app/.../ui/common/FABOverlay.kt, docs and quickstart files.
- Maps & DB: Rounded traffic patterns, compass widget, threshold markers; finalised Marianas markers and initial CW Germany markers (needs review);
Reload DB+ map filtering. - Tactical & UI: Improved tactical settings (auto-highlight, category toggles), "Last seen", Details button, CM filter; virtualized marker list and FAB/selection polish.
- Export & docs: Entity batches stored in
Scripts/entity-batches, better weapon detection,forward_parsed_udpaggregates stats, plus docs/screenshots. - Additional fixes & polish (collected from branch):
- Pattern altitude input UX: improved focus behavior and numeric keyboard autofocus (delay before requestFocus, show validation after input).
- Pattern generation: larger corner smoothing radii when rounded corners are enabled; use FINAL heading for DEPARTURE label in pattern labels.
- Map markers/usability: show airport labels for DB airports, move pattern altitude control into configuration, route auto-center marker fix, SingleMarkerNavigation & MapNavigationDisplay responsiveness and runway selection layout fixes.
- Setup & onboarding: first-run setup wizard, FAB size selection with device recommendations, show app version in setup wizard, dark-mode toggle and related strings.
- DataPad UI: make settings dialog scrollable and add bottom padding so lists scroll above FABs.
- CI/infra: CodeQL fixes and .gitignore updates for CodeQL DB artifacts.
- Database reset: The bundled map database (
assets/databases/map_data.db) has been reset to version 1 and the schema has been updated. If you are upgrading from an earlier build, you must fully uninstall the app (including app data) and perform a fresh install of the new version to avoid schema mismatch errors and potential data loss. SeeREADME.md→ Installation for backup and migration guidance.
- Map database & markers: Reset the asset map DB to v1 and added/finalized Marianas markers; first version of CW Germany markers were added (some airports need review/corrections). Added fixes to Esri tile URL and ensured 6-decimal coordinate display.
- Map & Navigation UI: Added a draggable transparent compass widget for heading measurements, maintained marker highlight sizing, added info labels for highlighted units (name, altitude, speed, distance, heading), and added a
Reload DBbutton and handler to refresh lists/maps and preserve selected assets on reload. - Map settings & behavior: Added DB-driven map visibility in Settings (select which maps will display markers) and updated MapViewer to filter markers by selected maps.
- Tactical units: Many UI & UX improvements — comprehensive tactical settings including auto-highlight and independent category toggles, configurable hide timeout, compact persisted sliders, "Last seen" display in marker details, show-hidden toggle/queries, and a new Details button. Treat unnamed aircraft as countermeasures and add a CM filter/marker.
- Export & scripts: Entity batch export improvements (store in Scripts/entity-batches and load on start), weapon-detection improvements in export scripts, and forward_parsed_udp now aggregates summary stats every 10s to reduce log spam.
- FAB & UX fixes: FAB collision avoidance, persistent FAB overlay positions, Enter key now selects/centers assets, and various UI bug fixes and refactors to tidy tactical components.
- Misc & docs: Added map flightpath screenshot, documentation updates (README, README_zh), site improvements (Jekyll site, enforced dark mode, GitHub Actions workflow), and general cleanup (disable Room schema export warnings, other small fixes).
- Map & Navigation: Multiple fixes and improvements — map rotation persistence and OpenTopoMap tile loading fixes; fix for rotation effect blocking; auto-rotation for traffic pattern labels; reduced navigation popup bottom bar size; HUD improvements (persist HUD altitude settings, expand VSI range to 15,000 fpm, display airspeed in kt); map drawing coordinate corruption fixed by forcing Locale.US; clear altitude warning input UX; vertical-speed +0 flicker fixed; improved entity batch logging and error visibility.
- Tactical Units: UI tweak — moved auto-sort toggle under visibility in the Stats card.
- Security & Telemetry: Implemented server key pinning (TOFU), PSK handshake manager, and optional Proof-of-Work support; documentation updated.
- Docs & Planning: Added dataflow docs/navigation, and a draft for Map 3D future plans; README and docs updated with demos and navigation improvements.
- Other: New/finished HUD attitude instrument and various minor fixes, performance and logging improvements.
- Added and finalized Marianas map markers.
- Site/docs: added a Jekyll site, enforced dark mode, simplified site pages, and added a GitHub Actions workflow for deployment.
- UI: increased the "My Files" popup size and added support for user-addable custom folders.
- Telemetry/Forwarder: aggregate and print summary statistics every 10s to reduce log spam.
- Settings: use quantity resources for plural strings to fix pluralization in settings.
- Tools: small Python MapDatabaseTools fixes; added Google Analytics file.
- Tactical Units: Full streaming implementation with live markers, improved lifecycle management, and performance improvements. Added "Live Units Only" filter, search, clickable category filters, pilot info in list items, "Last seen" timestamps in marker popups, auto-cleanup of old units (15 min), click-to-navigate to markers (includes traffic pattern and carrier auto-calculation), improved heading/rotation and collision detection, and batched tactical unit exports for higher live export capacity.
- Map & Navigation: Added map filter UI, flight path tracking with persistent storage and overlay rendering, live-navigation UI improvements and fixes, two-finger rotation gesture toggle and persistence, radial/drawing menu enhancements, and drawing/performance fixes (debouncing, batch updates, redraw improvements).
- DataPad & Forwarder: Improved real-time processing (heartbeat and packet interarrival tracking), handshake toggle for entity tracking, trimming/export performance improvements (asynchronous trimming, reduced max JSON lines), and security/handshake updates.
- Internationalization & Docs: Added Simplified Chinese translations and documentation (
docs/ZH/*), updated README (carrier demo video, contributors badge), and restructured translation folders. - Fixes & Improvements: Various bug fixes and refactors (map instruments, HUD/VSI persistence, marker rendering/performance, stability and logging improvements).
- Contributors: Dawn, 张晓行 (Zhang XiaoXing)
- Tactical Units: Full streaming implementation for tactical units with live markers and improved lifecycle management. Added "Live Units Only" filter, search and clickable category filters, pilot info in list items, "Last seen" timestamps in marker popups, auto-cleanup for old units, and navigation-to-marker features including pattern and carrier auto-calculation.
- Map & Navigation: Added map filter UI, flight path tracking with persistent storage and overlay rendering, radial/drawing menu improvements, two-finger rotation gesture support, and multiple UX & performance fixes (debouncing, batch updates, flicker fixes).
- DataPad & Forwarder: Improved real-time processing (heartbeat, packet interarrival tracking), handshake toggle for entity tracking, export/trimming performance improvements, and batched tactical unit exports to increase live export capacity.
- Internationalization & Docs: Added Simplified Chinese translation and multiple Chinese documentation files (
README_zh.md,COLLABORATORS_zh.md,CONTRIBUTING_zh.md,docs/ZH/docnavigation.md); updated README (videos, contributors badge) and documentation for tactical units and entity tracking. - Fixes & Improvements: Marker heading/rotation and collision detection fixes, coalition mapping corrections, rendering performance improvements for tacmarkers, and miscellaneous UI and bug fixes.
- Contributors: Dawn, 张晓行 (Zhang XiaoXing)
-
Full Tactical Units Streaming Implementation - TACTICAL_UNITS_TRACKING.md
-
Tactical Units: Added "Live Units Only" filter (shows units seen in the last 10s) and synchronized the filter between list and map; marker popups now include "Last seen" timestamps and refresh snippets with speed/altitude.
-
Map & DataPad:
MapViewernow uses a timer-based update loop for precise redraw intervals;DataPadManageraddstacticalUnitsShowLiveOnlyStateFlow and persistence, and improves the tactical units map update interval handling. -
Fixes: Resolved compilation/import issues, fixed irregular marker update timing, ensured inactive units are removed promptly, and corrected coalition color mapping; improved logging for entity tracking.
-
Docs: Updated entity tracking and tactical units documentation (README_ENTITY_TRACKING, TACTICAL_UNITS_TRACKING).
-
Internationalization: Added Simplified Chinese translation (zh-CN) — thanks @Dawn3901.
- Maps: Map rotation (two-finger gesture), overlay improvements, radial menu optimizations, improved drawing and navigation UI, flight path tracking with storage and overlay, performance and flicker fixes.
- Internationalization: Spanish translation and string extraction for DataPad and Map.
- Bugfixes: Various fixes for map interactions, radial menu, navigation, socket timeouts, database transactions, asynchronous trimming of export files.
- Miscellaneous: Contributor added, changelog updated, documentation revised.
- Security & CI: Added multi-language CodeQL support (Python + Kotlin), overhauled pre-push Git hooks for safer and faster checks, moved git-safety scripts into .githooks, and disabled the heavy secret-scan on pre-push in favor of CodeQL. Various CodeQL alerts were fixed across branches.
- Hardening & Privacy: Removed sensitive audit files from the repository, fixed sensitive/cleartext logging, enforced safer default binding behavior for the DataPad receiver (default to localhost), blocked binding to 0.0.0.0, and improved audit/log handling and session timeouts.
- Telemetry Security: Strengthened DataPad forwarder and handshake: added nonce and replay protection, per-client nonce management, public-key validation, whitelist/blacklist handling, rate-limit/auth improvements, and other encryption provider fixes.
- Maps & UX: Major map feature work — marker popups, route display and waypoint routing, MGRS support, new base icon sets (NATO Joint Military Symbols), map tools (compass, range/ruler), dynamic icon loading, and multiple visualization/route fixes (player icon rotation, map rotation, route coloring).
- MapDatabaseTools: Added JSON encryption and icon/visibility fixes to improve security and consistency between Python tools and the app.
- DataPad & Forwarder: Continued DataPad and forwarder stability and UX improvements (ECDH handshake phase 2, AES-GCM UDP flow, status visible in the flight mini-status bar, parser/forwarder fixes and robustness improvements).
- Misc & Fixes: Database and fresh-install fixes, full folder import support, multiple small bugfixes and translation updates (EN/DE), updates to roadmap and docs.
- Map improvements: marker popups with detailed info, route display and waypoint routing, rotation-aware markers, MGRS support, map tools (compass, range/ruler, map tools UI), and new base icons/symbol sets.
- Python MapDatabaseTools integration: app and tools can now share the same database (shared .db integration) so markers and icons can be authored/loaded by the Python tools.
- DataPad UI: DataPad connection status is now visible in the flight mini-status bar.
- Maps & visualization: marker editing and visualization improvements, routing and waypoint fixes, player icon rotation and map rotation handling, runway heading fixes, and dynamic icon loading for map icons.
- Scripts: runtime ECDH files (e.g.,
authorized_devices.json,ip_blacklist.json) are now ignored and template generation is relied upon at startup.
- Forwarder / DataPad: fixed empty-parse handling and several stability issues in the forwarder and DataPad integrations.
- Database & install: multiple DB fixes and fresh-install fixes to improve robustness.
- Map bugs: marker edit fixes, map view and routing display fixes, position timestamp validation and other stability fixes.
- Misc: removed sensitive audit files from the repository and other housekeeping fixes.
- Hardened telemetry/forwarder: added nonce and replay protection, per-client nonce management and nonce-prefix validation, public-key validation, stronger replay protection, audit-log fixes, whitelist/blacklist handling, auth for rate-limiting, session timeouts, encryption provider fixes, and reduced sensitive logging.
- Documentation updates: roadmap and README updated with Map and DataPad details; MapDatabaseTools and DataPad docs improved.
- Map improvements: marker popups, route info, marker rotation, and map tools; Python MapDatabaseTools integration so the app and tools can share the same DB.
- DataPad / forwarder: stability and parsing fixes, forwarder empty-parse handling, and DataPad status shown in the flight mini-status bar.
- Hardened telemetry/forwarder: added nonce and replay protection, per-client nonce management, public-key validation, auth for rate-limiting, session timeouts and audit-log fixes, whitelist/blacklist handling, improved encryption provider and JSON parse limits.
- README and docs updates and small fixes.
- Multilanguage Support: The app now supports multiple languages (English and German) via string resources. Language can be switched in the Settings menu. All UI text is available in English; German is also available for most screens.
- ECDH Handshake: Added ECDH (P-256) handshake for DataPad telemetry with session-based AES-256-GCM encryption, device whitelist, and mutual authentication. Provides forward secrecy and secure session keys.
- Settings menu updated to allow language selection.
- Initial implementation covers all main UI and navigation. Some advanced/experimental features may remain English-only.
- DataPad — AES-GCM encryption: Implemented AES-GCM encrypted UDP telemetry for DataPad. Python forwarder (
forward_parsed_udp.py) now encrypts packets by default and the app (DataPadManager.kt) performs AES-GCM decryption. - Aviation Map (experimental): Integrated an OpenStreetMap-based
MapViewerwith live aircraft position tracking using DataPad. Adds a Map tab and documentation (docs/features/AVIATION_MAP_FEATURE.md).
- UI: DataPad connection status now indicates encryption ("🔒 AES-GCM encrypted").
- Added guidance for generating and configuring a 32‑byte (256‑bit) pre-shared key and recommended using hex-formatted keys and secure distribution.
- DataPad (experimental): Live UDP telemetry viewer (DataPadManager + DataPadPopup) to stream aircraft telemetry from DCS World (requires
forward_parsed_udp.py) — Phase 1 implementation and docs. (commit:0530b5e,ffc3ebd) - F-14B and AH-64 base checklists added
- Full folder import support
- PDF sharpening tools and auto-apply improvements
- Persist UI and tab state (pages, tabs, last position)
- README and documentation updates (DataPad notes and roadmap)
- Performance and parser improvements (PDF parser, caching)
- UI/UX tweaks: improved swipe navigation, FAB behaviors, and search fixes
- Various bug fixes, including tab race condition, PDF page swipe issues, quicknote delete selection, and multiple small stability fixes
- Standalone PDF outline parser and improved PDF outline caching for faster navigation.
- New PDF parser initialization and cross-reference cache for better performance.
- Added PDF sharpening tool (manual/auto)
- Tab and UI state now persist (pages, tabs, last position)
- Improved PDF zoom and swipe navigation
- New MarkdownParser implementation replaces commonmark
- Various bugfixes: FAB, search, paint tools, tab persistence, quicknote draw mode
- Fixed bug where PDF pages could get stuck while swiping.
- Fixed bug with quicknote manual delete selection.
- Quicknote and PDF navigation improvements, bug fixes, and UI tweaks
- Minor update in MainActivity.kt (init)
- Translated files to English (MainActivity, InternalFileManager, CategorizedFilesScreen, MarkdownViewer, PdfViewer, InternalFileViewer, InternalFilesScreen)
- LICENSE updated
- Multi-Tab System: Open multiple MD/PDF files simultaneously
- Tab Bar: Scrollable tab bar with file icons, close buttons, and active tab highlighting
- Swipe Navigation: Horizontal swipe gestures to navigate between tabs
- Quick Tab Switcher: Bottom sheet showing recently used and all open tabs
- Navigation History: Track up to 20 recently viewed documents
- Tab Persistence: Restore open tabs and page positions after app restart
- TabManager: Clean architecture data layer with SharedPreferences persistence
- Modular Tab Components: Reusable TabBar, TabbedDocumentViewer, and QuickTabSwitcher composables
- MainActivity now uses TabManager for multi-document support
- File opening creates/switches to tabs instead of replacing view
- Back button behavior updated to close individual tabs
- InternalFileViewer integrated with tab system
- Added comprehensive TAB_SYSTEM.md documentation
- Updated README.md with tab features
- Updated docnavigation.md with tab system reference
- PDF Outline Extractor | searching function
Commit:
c0459fd— 2025-12-13 — arn-c0de — checklists pdf updates
- Room Database integration for QuickNotes with proper data persistence
- Repository pattern implementation for clean architecture and separation of concerns
- Asynchronous operations using Kotlin Coroutines for all database operations
- Search functionality for notes with real-time filtering by title and content
- Automatic data migration from SharedPreferences to Room Database
- Type-safe database operations with Room entities and DAOs
- Flow-based reactive updates for real-time UI synchronization
- Comprehensive error handling and logging throughout the QuickNotes system
- Database versioning and migration support
- Optimized database queries with indexed searches
- Modern Material Design 3 UI for QuickNotes with improved user experience
- Horizontal scrollable note tabs with FilterChips for better navigation
- In-app search bar for quick note filtering (appears when multiple notes exist)
- Status indicators showing save state and note count
- Improved markdown editor with syntax hints and clickable internal links
- Quick text input field for rapid note additions
- Enhanced dialog designs with icons and better UX
- Smart UI behaviors (auto-hide search when single note, disable delete on last note)
- QuickNoteManager refactored to use Room Database instead of SharedPreferences
- Data persistence layer completely restructured using modern Android best practices
- Database schema now uses proper relational structure with entities
- StateFlow emissions now driven by Room's reactive Flow observers
- All note operations now execute asynchronously on background threads
- QuickAccessSheet UI completely redesigned with Material Design 3 components
- Note tabs switched from buttons to FilterChips for better visual hierarchy
- Editor modes now use FilterChips for cleaner mode switching
- Removed redundant LinkedDocuments feature - fully replaced by markdown links
- Performance significantly improved with indexed database queries
- Data integrity enhanced with Room's compile-time SQL verification
- Scalability improved to handle thousands of notes efficiently
- Code maintainability enhanced through separation of concerns
- Testing capability improved with repository abstraction layer
- UI responsiveness with better state management and reactive updates
- Visual consistency across all note-taking components
- Touch targets optimized for mobile use
- Code cleanliness by removing ~500 lines of unused LinkedDocuments code
- User workflow streamlined with auto-save and better feedback
- Added Room dependencies (version 2.6.1) and KSP compiler plugin
- Created
QuickNoteEntity,LinkedDocumentEntitywith TypeConverters - Implemented
QuickNoteDaowith comprehensive query methods - Built
QuickNoteDatabasewith singleton pattern - Developed
QuickNoteRepositorywith Result-based error handling - Maintained backward compatibility with existing API surface
- Refactored UI to use LazyRow for horizontal scrolling performance
- Implemented conditional UI rendering based on note count
- Cleaned up imports and removed deprecated code paths
- Added proper spacing and alignment using Material Design guidelines
Commit:
093206d— 2025-12-12 — arn-c0de — paint pdf fix
- Notes FAB integration
- BackHandler
- Stable color for highlights while PDF color inverse
- Refactor assets | contribut/datasetlinks
- Further documentation updates
- Various improvements and bugfixes
Commit:
e84f9cb— 2025-12-12 — arn-c0de — docs changelog
- Charts
- Data tag system
- Dynamic asset load
- Visibility aircraft settings fixes, only child folder visible
- Color inverse PDF function filter
- Settings menu fix version number
- PDF flickering fixes / MD container format
- PDF view fixes
- Multi MD persistence fix
- MD checkbox fix
Commit:
e1a8eae— 2025-12-11 — arn-c0de — color inverse pdf function filter
- Software version visibility
- PDF text copy function
- Checkbox state counting
- Eraser fixes
- Dynamic re-render on zoom implemented
- PDF flickering fixes
- PDF chapter
- MD fixes
Commit:
939b262— 2025-12-11 — arn-c0de — softwareversion visibility
- Project initialization
- Basic PDF and Markdown viewer functionality
- Tagging system
- Data persistence