Spaces:
Paused
Paused
Commit History
-
fix: revert to sync_hf.py which was working before
The new persistence scripts had issues. Reverting to known working state. Will debug the new approach separately.c3b2c76 -
fix: repair corrupted entrypoint.sh encoding
- Rewrite entrypoint.sh with clean ASCII encoding - Simplify diagnostics to avoid encoding issues - Ensure proper shebang and syntax - Remove network connectivity test that could hang Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>ee6f83c -
feat: implement complete openclaw directory persistence for HuggingFace Spaces
- Add openclaw_persist.py: Core persistence module for full ~/.openclaw backup - Add openclaw_sync.py: Sync manager replacing sync_hf.py approach - Update entrypoint.sh: Use new sync manager with tar-based persistence - Update Dockerfile: v8 build with new persistence scripts - Add PERSISTENCE_README.md: Complete configuration documentation Features: - Full directory backup/restore (entire ~/.openclaw) - Atomic tar.gz operations - Auto rotation (keep last 5 backups) - Graceful shutdown with final backup - Excludes temp files (lock, tmp, cache, logs) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>a19a1bd
-
feat(logging): enhance sync and app logging for debugging
e6cf08e -
Redirect sync logs to workspace/sync.log for debugging
619602a -
Fix race condition: serialize startup of guardians after restore
6e408f0 -
fix: enable unbuffered output for sync script
4d6dca0 -
feat: unified hf sync
39d4647 -
feat: enhance persistence (logs/extensions) and restore GLM-4-Plus
6e0fe23 -
chore: force glm-4-flash in entrypoint patch for verification
d337e45 -
fix: enforce model config update and trigger immediate persistence on login
b74bbb6 -
fix: qr detection reliability and log piping
2faeeb0 -
feat: stabilize openclaw with rolling backups, blocking QR wait, and structured logging
b108a3e
-
fix: re-enable wa-login-guardian to handle 515 after QR scan
- UI only calls web.login.start (shows QR) but does not call web.login.wait, so 515 restart was never handled and login could not complete. - Guardian only calls web.login.wait in a loop (never web.login.start), so it is the single caller and handles 515 when user scans from UI. - On connected, guardian triggers config.apply to start WhatsApp channel. - Check interval 5s so scan is picked up quickly. Co-authored-by: Cursor <cursoragent@cursor.com>7d79ad7 -
fix: prevent bad dataset overwrite and keep restored config
- save_to_dataset: skip upload when WhatsApp creds incomplete (<10 files) so a 401/logout state does not overwrite good dataset state - entrypoint: only apply default openclaw.json when no restored config; keep dataset config (plugins/session) after restore to avoid losing WhatsApp/session Co-authored-by: Cursor <cursoragent@cursor.com>1bb408f -
fix: use fallback config when ZHIPU_API_KEY unset to avoid MissingEnvVarError
Co-authored-by: Cursor <cursoragent@cursor.com>7d6105f -
fix: remove wa-login-guardian to fix 515 restart race condition
Multiple web.login.wait callers caused a race condition during 515 restart: the second caller's resetActiveLogin would close the new socket created by the first caller's restartLoginSocket, preventing login from ever completing. Now only the Control UI handles web.login.wait, eliminating the race. Co-authored-by: Cursor <cursoragent@cursor.com>2072888 -
preserve WhatsApp credentials on restart
Remove the stale auth cleanup step from entrypoint.sh so that saved WhatsApp credentials survive container restarts and allow the gateway to auto-connect without re-scanning QR. Co-authored-by: Cursor <cursoragent@cursor.com>44e36da -
diag: add network connectivity test + clear stale WhatsApp auth
- Add curl-based connectivity test to WhatsApp servers at startup - Clear old WhatsApp auth state from dataset restore to prevent interference with fresh login Co-authored-by: Cursor <cursoragent@cursor.com>6c0099d -
fix: explicitly enable WhatsApp plugin to prevent auto-disable
Root cause: dataset restore brings back old WhatsApp auth files, triggering applyPluginAutoEnable which sets enabled=false (waiting for manual user enablement). Fix by adding plugins.entries.whatsapp.enabled=true. Also fix wa-login-guardian NODE_PATH for 'ws' module resolution. Co-authored-by: Cursor <cursoragent@cursor.com>372ac52 -
fix: use external wa-login-guardian instead of patching login-qr.js
Remove the fragile login-qr.js patch that broke WhatsApp plugin loading. Instead, use a background WebSocket client (wa-login-guardian.cjs) that periodically calls web.login.wait to handle 515 restart after QR scan. This approach doesn't modify any internal code. Co-authored-by: Cursor <cursoragent@cursor.com>9c9c033 -
feat: initial OpenClaw deployment on HF Spaces
- Dockerfile: build from source with token auto-inject - DNS-over-HTTPS: resolve WhatsApp domains via Cloudflare DoH - Extensions symlink for global plugin loading - Dataset persistence for state/credentials - Control UI token auto-config (no manual token entry needed) Co-authored-by: Cursor <cursoragent@cursor.com>2609ce2