- Update com.android.tools.build:gradle dependency to latest patch version
- Addresses Android Studio update prompt for build tool security
- Minor version bump for stability and bug fixes
Keeps Android build tools current and secure
Android build was failing due to missing drawable and mipmap directories
for splash screens and launcher icons. iOS was missing complete asset
catalog structure for app icons and splash screens.
- Create missing Android resource directories (drawable, mipmap-*)
- Add splash screen files to Android drawable directory
- Generate complete set of Android launcher icons
- Create iOS asset catalog structure with proper Contents.json files
- Generate 21 iOS assets (app icons + splash screens) using ImageMagick
- Add resource validation scripts for both platforms
- Enhance Android resource check to auto-create missing directories
NOTE: you need to test this from a fresh clone and after an npm install!
Android build now completes successfully. iOS assets ready for macOS/Xcode
builds. Both platforms have complete resource sets for development.
Update Android SDK configuration to target API 36 (Android 16):
- Update compileSdkVersion and targetSdkVersion from 35 to 36
- Update suppressUnsupportedCompileSdk from 34 to 36
- Maintains minSdkVersion at 22 for broad device compatibility
- Verified build system compatibility with Gradle 8.13
- Move Android-specific API server logic from common.sh to build-android.sh
- Remove unnecessary ANDROID_BUILD environment variable
- Set localhost:3000 as default in common.sh for all Capacitor builds
- Override to 10.0.2.2:3000 specifically in build-android.sh for Android development
- Fix execution order issue where common.sh ran before ANDROID_BUILD was set
- Maintain proper separation: Android emulator uses 10.0.2.2, iOS simulator uses localhost
Remove duplicate APP_SERVER imports in ContactsView.vue and ClaimView.vue that were causing compilation errors during testing. The duplicate imports occurred when both files had APP_SERVER imported from constants/app and also assigned as class properties.
- ContactsView.vue: Remove duplicate import, keep class property assignment
- ClaimView.vue: Remove duplicate import, keep class property assignment
- Fixes Vite compilation errors that were blocking test execution
- 33/38 tests now pass successfully
This resolves the "Identifier 'APP_SERVER' has already been declared" errors that were preventing the development server from running properly.
- Add capacitor-assets.config.json for cross-platform asset generation
- Create resources/ directory structure for source assets
- Update .gitignore to exclude generated Android assets and resources
- Remove 30+ generated files from source control
- Add comprehensive asset management documentation
- Verify asset generation works with new configuration
Assets are now properly managed: source files in version control,
generated files excluded, and build process handles platform-specific
asset generation automatically.
- Add capacitor-assets.config.json for cross-platform asset generation
- Create resources/ directory structure for source assets
- Update .gitignore to exclude generated Android assets and resources
- Remove 30+ generated files from source control
- Add comprehensive asset management documentation
- Verify asset generation works with new configuration
Assets are now properly managed: source files in version control,
generated files excluded, and build process handles platform-specific
asset generation automatically.
- Implement worker-only database access to eliminate double migrations
- Add parameter serialization in usePlatformService to prevent Capacitor "object could not be cloned" errors
- Fix infinite logging loop with circuit breaker in databaseUtil
- Use dynamic imports in WebPlatformService to prevent worker thread errors
- Add higher-level database methods (getContacts, getSettings) to composable
- Eliminate Vue Proxy objects through JSON serialization and Object.freeze protection
Resolves Proxy(Array) serialization failures and worker context conflicts across Web/Capacitor/Electron platforms.
- Implement worker-only database access to eliminate double migrations
- Add parameter serialization in usePlatformService to prevent Capacitor "object could not be cloned" errors
- Fix infinite logging loop with circuit breaker in databaseUtil
- Use dynamic imports in WebPlatformService to prevent worker thread errors
- Add higher-level database methods (getContacts, getSettings) to composable
- Eliminate Vue Proxy objects through JSON serialization and Object.freeze protection
Resolves Proxy(Array) serialization failures and worker context conflicts across Web/Capacitor/Electron platforms.
- Change Android Gradle Plugin from 8.10.1 to 8.9.1
- Resolves compatibility issue with Android Studio
- Maintains compatibility with Gradle 8.11.1 wrapper
Author: Matthew Raymer
SECURITY AUDIT CHECKLIST:
- [x] No security implications from AGP version change
- [x] Version downgrade is to stable, supported version
- [x] Build process remains secure and functional
- Change Android Gradle Plugin from 8.10.1 to 8.9.1
- Resolves compatibility issue with Android Studio
- Maintains compatibility with Gradle 8.11.1 wrapper
Author: Matthew Raymer
SECURITY AUDIT CHECKLIST:
- [x] No security implications from AGP version change
- [x] Version downgrade is to stable, supported version
- [x] Build process remains secure and functional
- Enhanced migration service to handle duplicate column errors gracefully
- Added detection for 'duplicate column' and 'already exists' errors
- Migration service now marks partially applied migrations as complete
- Prevents Electron app crashes due to cross-platform database conflicts
- Improved robustness for database schema migrations
Fixes database initialization issues when switching between platforms
(web, mobile, electron) that may have different migration states.
- Enhanced migration service to handle duplicate column errors gracefully
- Added detection for 'duplicate column' and 'already exists' errors
- Migration service now marks partially applied migrations as complete
- Prevents Electron app crashes due to cross-platform database conflicts
- Improved robustness for database schema migrations
Fixes database initialization issues when switching between platforms
(web, mobile, electron) that may have different migration states.