715250d50def84507a3389704d51449de73c2d66
The Google Maps API and React both manipulate the DOM, which can cause conflicts where Google Maps removes nodes that React still has references to. Add graceful error handling: 1. Remove async flag from Google Maps script - use defer only 2. Add try-catch in marker update useEffect to ignore removeChild errors 3. Add cleanup function to properly tear down markers on unmount 4. Log warnings instead of crashing when DOM conflicts occur This allows the app to continue functioning even when there are minor DOM reconciliation issues between Google Maps and React. 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
MotoVaultPro — Simplified Architecture
Simplified 5-container architecture with integrated platform feature.
Requirements
- Mobile + Desktop: Implement and test every feature on both.
- Docker-first, production-only: All testing and validation in containers.
- See
CLAUDE.mdfor development partnership guidelines.
Quick Start (containers)
make setup # build + start + migrate (uses mvp-* containers)
make start # start 5 services
make rebuild # rebuild on changes
make logs # tail all logs
make migrate # run DB migrations
Documentation
- AI quickload:
AI-INDEX.md - Docs hub:
docs/README.md - Features:
backend/src/features/{name}/README.md - Frontend:
frontend/README.md - Backend core:
backend/src/core/README.md
URLs and Hosts
- Frontend:
https://motovaultpro.com - Backend health:
https://motovaultpro.com/api/health
Description
Languages
TypeScript
80.5%
Python
15%
Shell
2.3%
PLpgSQL
1.3%
JavaScript
0.4%
Other
0.4%