Christian Krakau-Louis
|
65b154ae7f
|
feat: add mailbox test diagnostics
|
2026-05-23 12:14:49 +02:00 |
|
Christian Krakau-Louis
|
d5693c6d1d
|
fix: encrypt mail source credentials
|
2026-05-23 00:27:08 +02:00 |
|
Christian Krakau-Louis
|
88af60ed2e
|
test: cover webhook ingestion edge cases
|
2026-05-22 23:53:36 +02:00 |
|
Christian Krakau-Louis
|
302159aeb6
|
feat: import selected fork operational fixes
|
2026-05-22 23:48:00 +02:00 |
|
Christian Krakau-Louis
|
7973620e42
|
Merge pull request #114 from christianlouis/copilot/fix-mail-folder-validation
Allow mail source folders with spaces
|
2026-05-22 22:19:49 +02:00 |
|
copilot-swe-agent[bot]
|
2c528137db
|
test: allow mail source folders with spaces
|
2026-05-22 20:07:46 +00:00 |
|
Christian Krakau-Louis
|
eeff24fa5c
|
fix: redact secret diagnostics
|
2026-05-22 22:00:28 +02:00 |
|
Christian Krakau-Louis
|
c1b81d3e06
|
feat: add mail import detail events
|
2026-05-22 20:11:56 +02:00 |
|
Christian Krakau-Louis
|
1b7f00e7a0
|
feat: add per-source mail import trigger
|
2026-05-22 19:54:11 +02:00 |
|
Christian Krakau-Louis
|
4fc69602b3
|
feat: add mail source import history
|
2026-05-22 19:29:49 +02:00 |
|
copilot-swe-agent[bot]
|
531dc968a8
|
feat: integrate Logto OIDC for user authentication
- Add Logto OIDC integration (app/core/logto.py): CookieStorage adapter,
create/decode session token helpers, sync_logto_user upsert
- New auth endpoints (/api/v1/auth): sign-in, callback, sign-out, me
- AuthRedirectMiddleware: protects HTML pages, redirects to /setup when
Logto is unconfigured, to /login otherwise
- Update require_admin_auth: accepts dmarq_session cookie JWT first,
then API key, then Bearer JWT (fully backward compatible)
- Update User model: add logto_id, username, picture, created_at, updated_at;
make hashed_password nullable for Logto-only users; is_superuser default=True
- New Alembic migration d4e5f6a7b8c9 for the above schema changes
- Add LOGTO_ENDPOINT / LOGTO_APP_ID / LOGTO_APP_SECRET / LOGTO_REDIRECT_URI
settings with logto_configured property
- Create login.html (Sign in with Logto button) and setup.html (step-by-step
configuration guide)
- Update base.html: user menu with avatar/name and sign-out via Alpine.js
fetch to /api/v1/auth/me
- Update settings.html: remove localStorage adminApiKey; session cookie is
sent automatically by browser; add 401 → /login redirect
- Update requirements.txt: replace fastapi-users additions with logto + aiohttp
- Add test_auth.py: 18 new tests covering session tokens, CookieStorage,
sync_logto_user, /me, /sign-in (503), /sign-out cookie clearing
- Fix test_security_extra.py: pass Request mock to require_admin_auth;
add new test_valid_session_cookie_returns_auth_context
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/b448f585-7646-40f8-ae2d-9986c361e3fd
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
|
2026-03-30 10:09:50 +00:00 |
|
copilot-swe-agent[bot]
|
69c3bac480
|
feat: add GmailClient unit tests and main.py helper tests to meet coverage target
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/77ac3e98-81fa-45fa-9cc2-481896ffb48e
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
|
2026-03-29 22:08:38 +00:00 |
|
copilot-swe-agent[bot]
|
2d364509bd
|
fix: resolve remaining CodeQL alerts and raise mail_sources coverage to 100%
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/adfb364c-2feb-44fa-b9dd-73b9bdb7fa8f
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
|
2026-03-29 21:39:00 +00:00 |
|
copilot-swe-agent[bot]
|
dbbf539182
|
fix: resolve CodeQL security alerts – log injection, info exposure, incomplete URL checks
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/093a5de2-644b-434d-8ce8-529710ecb40b
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
|
2026-03-29 21:14:02 +00:00 |
|
copilot-swe-agent[bot]
|
0c05ded74f
|
fix: resolve flake8 C901/F401 errors in main.py, gmail_client.py, test_mail_sources.py
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/38868887-87b6-4032-8713-e90e56ae3318
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
|
2026-03-29 19:50:50 +00:00 |
|
copilot-swe-agent[bot]
|
25b3567414
|
feat: implement Gmail API mail source with OAuth2, ingestion tracking, and UI
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/0c63851e-a69a-4a76-8dd8-25618e825b8c
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
|
2026-03-29 19:34:03 +00:00 |
|
copilot-swe-agent[bot]
|
2247115a7e
|
test: add coverage for mail_sources_page TemplateResponse fix
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/bf182279-fe6a-4efc-87a5-5eaefabd2e3a
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
|
2026-03-29 19:07:57 +00:00 |
|
copilot-swe-agent[bot]
|
84117abd13
|
fix: resolve CodeQL alerts, improve test coverage, fix StaticPool for HTTP tests
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/07b58025-2aeb-4e81-a168-7a6fccdc3569
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
|
2026-03-29 17:08:39 +00:00 |
|
copilot-swe-agent[bot]
|
883d54a428
|
fix: address code review - Alpine.js $set, SQLAlchemy bool filter style
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/f141cd3b-8d0a-4c7e-b479-ee973c209c11
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
|
2026-03-29 16:20:11 +00:00 |
|
copilot-swe-agent[bot]
|
6d9392e5e7
|
feat: refactor IMAP config to DB, add multi-account mail sources admin UI
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/f141cd3b-8d0a-4c7e-b479-ee973c209c11
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
|
2026-03-29 16:18:15 +00:00 |
|