137 lines
2.9 KiB
Markdown
137 lines
2.9 KiB
Markdown
# 🚨 FIX SERVICE WORKER ERROR NOW
|
|
|
|
## Your Error:
|
|
```
|
|
Loading from existing service worker.
|
|
main.dart.js:5658 Uncaught Error
|
|
```
|
|
|
|
**Cause**: Service worker is caching old/broken JavaScript code!
|
|
|
|
---
|
|
|
|
## ⚡ IMMEDIATE FIX (3 Steps)
|
|
|
|
### Step 1: Clear Service Worker in Browser
|
|
|
|
#### Method A: Using DevTools (Recommended)
|
|
1. Press **F12** to open DevTools
|
|
2. Click **Application** tab (top)
|
|
3. Click **Service Workers** (left sidebar)
|
|
4. Find service worker for `chitfund.deepteklabs.com`
|
|
5. Click **Unregister**
|
|
6. Close DevTools
|
|
|
|
#### Method B: Clear All Site Data
|
|
1. Press **F12**
|
|
2. Go to **Application** tab
|
|
3. Click **Clear storage** (left sidebar)
|
|
4. Check all boxes
|
|
5. Click **Clear site data**
|
|
|
|
#### Method C: Test in Incognito (Quick)
|
|
```
|
|
Windows: Ctrl + Shift + N
|
|
Mac: Cmd + Shift + N
|
|
```
|
|
|
|
### Step 2: Deploy Fixed Version
|
|
|
|
```bash
|
|
# On your dev machine - push changes
|
|
git add .
|
|
git commit -m "Fix service worker caching issue"
|
|
git push origin prodnew
|
|
|
|
# SSH to production
|
|
ssh luckychit@192.168.8.148
|
|
cd /home/luckychit/apps/chitfund
|
|
git pull origin prodnew
|
|
|
|
# Rebuild (service worker now disabled)
|
|
cd luckychit
|
|
flutter clean
|
|
flutter pub get
|
|
flutter build web --release --pwa-strategy=none
|
|
pm2 restart luckychit-frontend
|
|
```
|
|
|
|
### Step 3: Hard Refresh Browser
|
|
|
|
```
|
|
Windows: Ctrl + Shift + R
|
|
Mac: Cmd + Shift + R
|
|
```
|
|
|
|
---
|
|
|
|
## ✅ What I Fixed
|
|
|
|
1. **Updated `index.html`** - Now auto-clears service workers on load
|
|
2. **Updated all deployment scripts** - Now build with `--pwa-strategy=none` (disables service worker)
|
|
3. **Updated documentation** - Added service worker clearing to guides
|
|
|
|
---
|
|
|
|
## 🎯 Expected Result
|
|
|
|
After these steps, your browser console should show:
|
|
- ✅ No "Loading from existing service worker" message
|
|
- ✅ No "Uncaught Error"
|
|
- ✅ App loads cleanly
|
|
- ✅ Login screen appears
|
|
|
|
---
|
|
|
|
## 📋 Quick Checklist
|
|
|
|
- [ ] Clear service worker in browser (F12 → Application → Unregister)
|
|
- [ ] Push updated code to git
|
|
- [ ] Pull on production server
|
|
- [ ] Rebuild with `--pwa-strategy=none`
|
|
- [ ] Restart PM2
|
|
- [ ] Hard refresh browser
|
|
- [ ] Verify no errors in console
|
|
|
|
---
|
|
|
|
## 💡 Why This Happened
|
|
|
|
```
|
|
Old deployment → Service Worker caches JS
|
|
↓
|
|
New deployment → New HTML served
|
|
↓
|
|
Service Worker → Serves OLD cached JS
|
|
↓
|
|
Old JS + New HTML = ERROR! ❌
|
|
```
|
|
|
|
---
|
|
|
|
## 🔄 From Now On
|
|
|
|
All your deployment scripts now:
|
|
1. Build WITHOUT service worker (`--pwa-strategy=none`)
|
|
2. Auto-clear any existing service workers
|
|
3. Force cache refresh with timestamps
|
|
|
|
**No more service worker issues!** 🎉
|
|
|
|
---
|
|
|
|
## 📞 Still Seeing Errors?
|
|
|
|
If errors persist after all steps:
|
|
|
|
1. **Check console** - Any new errors?
|
|
2. **Test in incognito** - Completely clean slate
|
|
3. **Clear Cloudflare cache** - Dashboard → Purge Everything
|
|
4. **Clear nginx cache** - On proxy LXC: `sudo rm -rf /var/cache/nginx/*`
|
|
5. **Try different browser** - Eliminate browser-specific issues
|
|
|
|
---
|
|
|
|
**Run the 3 steps above to fix your service worker error!** 🚀
|
|
|