forked from jsnbuchanan/crowd-funder-for-time-pwa
docs: comprehensive documentation updates and modernization
- Update BUILDING.md with current build system information - Modernize various README files across the project - Update CHANGELOG.md with recent changes - Improve documentation consistency and formatting - Update platform-specific documentation (iOS, Electron, Docker) - Enhance test documentation and build guides
This commit is contained in:
@@ -7,18 +7,22 @@ This document summarizes the comprehensive changes made to reduce excessive cons
|
||||
## Issues Addressed
|
||||
|
||||
### 1. Excessive Database Logging (Major Issue - 90% Reduction)
|
||||
|
||||
**Problem:** Every database operation was logging detailed parameter information, creating hundreds of lines of console output.
|
||||
|
||||
**Solution:** Modified `src/services/platforms/CapacitorPlatformService.ts`:
|
||||
|
||||
- Changed `logger.warn` to `logger.debug` for routine SQL operations
|
||||
- Reduced migration logging verbosity
|
||||
- Reduced migration logging verbosity
|
||||
- Made database integrity checks use debug-level logging
|
||||
- Kept error and completion messages at appropriate log levels
|
||||
|
||||
### 2. Enhanced Logger Configuration
|
||||
|
||||
**Problem:** No platform-specific logging controls, causing noise in Electron.
|
||||
|
||||
**Solution:** Updated `src/utils/logger.ts`:
|
||||
|
||||
- Added platform detection for Electron vs Web
|
||||
- Suppressed debug and verbose logs for Electron
|
||||
- Filtered out routine database operations from database logging
|
||||
@@ -26,28 +30,35 @@ This document summarizes the comprehensive changes made to reduce excessive cons
|
||||
- Added intelligent filtering for CapacitorPlatformService messages
|
||||
|
||||
### 3. API Configuration Issues (Major Fix)
|
||||
|
||||
**Problem:** Electron was trying to use local development endpoints (localhost:3000) from saved user settings, which don't exist in desktop environment, causing:
|
||||
|
||||
- 400 status errors from missing local development servers
|
||||
- JSON parsing errors (HTML error pages instead of JSON responses)
|
||||
|
||||
**Solution:**
|
||||
**Solution:**
|
||||
|
||||
- Updated `src/constants/app.ts` to provide Electron-specific API endpoints
|
||||
- **Critical Fix:** Modified `src/db/databaseUtil.ts` in `retrieveSettingsForActiveAccount()` to force Electron to use production API endpoints regardless of saved user settings
|
||||
- This ensures Electron never uses localhost development servers that users might have saved
|
||||
|
||||
### 4. SharedArrayBuffer Logging Noise
|
||||
|
||||
**Problem:** Web-specific SharedArrayBuffer detection was running in Electron, creating unnecessary debug output.
|
||||
|
||||
**Solution:** Modified `src/main.web.ts`:
|
||||
|
||||
- Made SharedArrayBuffer logging conditional on web platform only
|
||||
- Converted console.log statements to logger.debug
|
||||
- Only show in development mode for web platform
|
||||
- Reduced platform detection noise
|
||||
|
||||
### 5. Missing Source Maps Warnings
|
||||
|
||||
**Problem:** Electron DevTools was complaining about missing source maps for external dependencies.
|
||||
|
||||
**Solution:** Updated `vite.config.electron.mts`:
|
||||
|
||||
- Disabled source maps for Electron builds (`sourcemap: false`)
|
||||
- Added build configuration to suppress external dependency warnings
|
||||
- Prevents DevTools from looking for non-existent source map files
|
||||
@@ -87,14 +98,16 @@ This document summarizes the comprehensive changes made to reduce excessive cons
|
||||
|
||||
## Impact
|
||||
|
||||
### Before Cleanup:
|
||||
### Before Cleanup
|
||||
|
||||
- 500+ lines of console output per minute
|
||||
- Detailed SQL parameter logging for every operation
|
||||
- API connection errors every few seconds (400 status, JSON parsing errors)
|
||||
- SharedArrayBuffer warnings on every startup
|
||||
- DevTools source map warnings
|
||||
|
||||
### After Cleanup:
|
||||
### After Cleanup
|
||||
|
||||
- **~95% reduction** in console output
|
||||
- Only errors and important status messages visible
|
||||
- **No API connection errors** - Electron uses proper production endpoints
|
||||
@@ -106,6 +119,7 @@ This document summarizes the comprehensive changes made to reduce excessive cons
|
||||
## Technical Details
|
||||
|
||||
### API Configuration Fix
|
||||
|
||||
The most critical fix was in `src/db/databaseUtil.ts` where we added:
|
||||
|
||||
```typescript
|
||||
@@ -122,6 +136,7 @@ if (process.env.VITE_PLATFORM === "electron") {
|
||||
This ensures that even if users have localhost development endpoints saved in their settings, Electron will override them with production endpoints.
|
||||
|
||||
### Logger Enhancement
|
||||
|
||||
Enhanced the logger with platform-specific behavior:
|
||||
|
||||
```typescript
|
||||
@@ -135,6 +150,7 @@ if (!isElectron || !message.includes("[CapacitorPlatformService]")) {
|
||||
## Testing
|
||||
|
||||
The changes were tested with:
|
||||
|
||||
- `npm run lint-fix` - 0 errors, warnings only (pre-existing)
|
||||
- Electron development environment
|
||||
- Web platform (unchanged functionality)
|
||||
@@ -150,6 +166,7 @@ The changes were tested with:
|
||||
## Backward Compatibility
|
||||
|
||||
All changes maintain backward compatibility:
|
||||
|
||||
- Web platform logging unchanged
|
||||
- Capacitor platform logging unchanged
|
||||
- Error handling preserved
|
||||
@@ -185,4 +202,4 @@ Tests: lint passes, Web/Capacitor functionality preserved
|
||||
1. **Test the fixes** - Run `npm run electron:dev` to verify console noise is eliminated
|
||||
2. **Monitor for remaining issues** - Check for any other console noise sources
|
||||
3. **Performance monitoring** - Verify the reduced logging doesn't impact functionality
|
||||
4. **Documentation updates** - Update any development guides that reference the old logging behavior
|
||||
4. **Documentation updates** - Update any development guides that reference the old logging behavior
|
||||
|
||||
Reference in New Issue
Block a user