fix(imap): address code review feedback on ingestion profiles

- Improve warning log in _resolve_categories_for_profile() to include
  exception type name for better troubleshooting
- Add SQLAlchemy IS NULL comment to imap_profiles.py filter
- Pass default_categories from server to template to avoid hardcoded
  category list in JS (now uses {{ default_categories | tojson }})
- Simplify view profiles query (remove redundant unauthenticated path)
- Update docs: ConfigurationGuide.md and EmailIngestion.md with
  full profiles documentation including category table and API reference

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-03-12 01:19:32 +00:00
parent c9f554465d
commit 2e087731b9
7 changed files with 79 additions and 25 deletions
+6 -1
View File
@@ -73,7 +73,12 @@ def _resolve_categories_for_profile(profile_id: int | None) -> list[str]:
finally:
db.close()
except Exception as exc: # noqa: BLE001
logger.warning("Could not load IMAP ingestion profile %d: %s — using global default", profile_id, exc)
logger.warning(
"Could not load IMAP ingestion profile %d (%s: %s) — using global default",
profile_id,
type(exc).__name__,
exc,
)
# Fall back to global setting
if settings.imap_attachment_filter == "all":