# Bug Fix Log

| Area | Fix |
|---|---|
| Source merge | Existing JSON/CSV migration inputs preserved under `data/migration-input` |
| Backend path | Standardized production source under `backend/` |
| API aliases | Added product, parts, payment, machine, LC/TT, landed-cost, ledger and report aliases |
| Enterprise schema | Added `0003_enterprise_required_tables.sql` |
| Firebase package mismatch | Bound Android build to `com.colorjetbd.managementsuite` and matching Firebase client |
| Firebase native config | Added `android.googleServicesFile` and verified generated Google Services Gradle integration |
| Push notification client | Added permission flow, Android channel, Expo push-token registration and notification tap routing |
| Push notification server | Added device-token registration, test endpoint and ticket-assignment push delivery |
| Push token persistence | Added `0004_push_notification_devices.sql` and Docker migration mount |
| Expo dependency mismatch | Pinned SDK 54-compatible NetInfo, expo-font, expo-linking, notifications, device and system UI versions |
| Duplicate native packages | Isolated package installs and removed root workspace hoisting conflict |
| Environment mismatch | Replaced unused `API_PORT` example with backend-supported `PORT` |
| Security | First Owner bootstrap, protected uploads and no server private credentials in mobile source |
| Sync | Retained Socket.IO plus `/sync/pull` and idempotent `/sync/push` offline queue |
| Rollback | Import rollback remains review-based; no silent physical deletion |
