fix(ocr+bot): image download race, SenseNova context, log path, encoding
Root causes of the screenshot 404 incident: 1. RACE: client uploads image AND sends message concurrently; bot received the message before the upload finished writing, so its GET hit a 404 error page (<100B treated as failure). FIX: _download_image now retries 3x with 2s backoff. 2. Zhiwei mentioned tesseract/小果 because the failure text never told her the pipeline IS SenseNova. FIX: failure messages now name SenseNova explicitly and ask for resend. 3. log_xmpp never worked for the bot: sys.path used relative '../..' from a symlinked __file__ which resolved to '/' instead of MoFin root. This is why the '最近对话' panel never had bot chat data (only cron script entries). FIX: absolute path per red line #7. Verified: test message now lands in xmpp_messages.jsonl. 4. My PowerShell -replace corrupted the file encoding (UnicodeDecodeError crash loop on restart). Restored from git HEAD and re-applied edits with the edit tool. Lesson: never use PowerShell string replace on UTF-8 source files with Chinese content. 5. functional_health: new sense_ocr module (OCR config presence + SenseNova API TCP reachability), no token cost.
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
import sys, os
|
||||
sys.path.insert(0, '/home/hmo/MoFin/deploy/bot')
|
||||
sys.path.insert(0, '/home/hmo/MoFin/deploy/bot/../..')
|
||||
try:
|
||||
from xmpp_logger import log_xmpp
|
||||
print('import OK from bot path')
|
||||
import xmpp_logger
|
||||
print('xmpp_logger file:', xmpp_logger.__file__)
|
||||
except Exception as e:
|
||||
print('import FAIL:', e)
|
||||
|
||||
# also check the file exists
|
||||
p = '/home/hmo/MoFin/xmpp_logger.py'
|
||||
print('exists:', os.path.exists(p), 'size:', os.path.getsize(p) if os.path.exists(p) else 0)
|
||||
Reference in New Issue
Block a user