1.7 KiB
1.7 KiB
Task Logs - Fix Reset Document Status Feature
Date: 2025-12-05 Mode: beastmode
Actions
- Fixed bug in
reset_document_statusendpoint: changed attribute access (status_doc.content_summary) to dict key access (status_doc.get("content_summary", "")) - Cleared Python cache and reinstalled package with
pip install -e . - Restarted LightRAG server to pick up changes
- Verified endpoint registration via OpenAPI spec
- Tested API endpoint with curl - successfully reset document from "failed" to "pending"
- Rebuilt WebUI with
bun run build
Decisions
- Used
.get()with default values for safe dict access to handle potentially missing keys - Kept existing endpoint design pattern consistent with other document routes
Changes Made
lightrag/api/routers/document_routes.py
- Line 3280-3293: Changed from object attribute access to dict key access:
# Before (buggy):
"content_summary": current_status.content_summary,
"content_length": current_status.content_length,
...
# After (fixed):
"content_summary": current_status.get("content_summary", ""),
"content_length": current_status.get("content_length", 0),
...
Next Steps
- Test the "Reset to Pending" button in the WebUI
- Document the new API endpoint in API documentation
- Consider adding rate limiting for reset endpoint
Lessons/Insights
PGDocStatusStorage.get_by_id()returns a dict, not aDocProcessingStatusobject - important to check return types when working with storage adapters- Server needs package reinstall (
pip install -e .) when router structure changes, not just cache clearing - OpenAPI spec is the source of truth for verifying endpoint registration