root       12424  0.0  0.0   4352  1716 ?        S    11:11   0:00 bash -lc  rm -f /tmp/worker.log cd /workspace/bulkmailer && setsid nohup python3 -m celery -A app.worker.celery_app worker --loglevel=INFO -Q send,control > /tmp/worker.log 2>&1 < /dev/null & sleep 5 cat /tmp/worker.log 
root       12426  0.1  3.4 189572 139464 ?       Ss   11:11   0:03 python3 -m celery -A app.worker.celery_app worker --loglevel=INFO -Q send,control
root       12441  0.0  2.7 189400 110324 ?       S    11:11   0:00 python3 -m celery -A app.worker.celery_app worker --loglevel=INFO -Q send,control
root       12442  0.0  2.7 189404 110324 ?       S    11:11   0:00 python3 -m celery -A app.worker.celery_app worker --loglevel=INFO -Q send,control
root       13129  0.3  3.9 573128 158904 ?       Ssl  11:15   0:07 python3 -m uvicorn app.main:app --host 0.0.0.0 --port 8000
---
# Bug-Fix Punch List (user bug report + new features)

## Investigation
- [ ] Survey workspace + server/worker state (done: server OK, worker OK)
- [ ] Read shared app.js + all page JS files; compare expectations vs actual API responses (find systemic bugs)
- [ ] Reproduce each reported bug locally (curl + browser)

## Fixes (reported bugs)
- [ ] Gmail: "Connect Gmail Account" option not appearing after SMTP/JSON config upload
- [ ] Recipients: list not showing up after upload
- [ ] Phones: company phone number flagged as missing / not accepted
- [ ] "Clear All" buttons not working (all pages)
- [ ] Campaigns: emails not sent on start + nothing under "My Campaigns"
- [ ] Templates: uploaded HTML file not appearing in saved template list
- [ ] Subject line entered but not used in sent emails
- [ ] "Edit" option not working
- [ ] Logo: ensure logo is not cut off (no logo file in workspace yet — ask user if missing)

## New features
- [ ] Template section: convert HTML body to PDF / image / Word before sending (auto conversion per selected format)
- [ ] Campaign monitor: live Recipients / Sent / Failed tracking + explicit stop / pause / resume controls

## Verification & delivery
- [ ] Restart server+worker, run test suite
- [ ] Browser-test EVERY button end-to-end
- [ ] Capture screenshots ("send me photo") and deliver with summary

## On hold (awaiting user clarification)
- %SenderName% / %RandomCompanyName% variables — blocked pending explanation of third-party brand names (PayPal/Norton/McAfee/Geek Squad) in sendername.xlsx
