Commit Graph

194 Commits

Author SHA1 Message Date
copilot-swe-agent[bot] a21e2f7df6 fix: add sender_email to UserSmtpConfig to fix SMTP From header (501 bad sender address)
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/dc853384-976a-46e5-945b-60c9a9cce638

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 21:46:47 +00:00
Christian Krakau-Louis 0396cc6f33 Merge branch 'main' into copilot/add-test-mail-button 2026-05-03 23:01:30 +02:00
copilot-swe-agent[bot] 2a005d9103 feat: add Send Test Email button for SMTP Fallback config
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/9485ffb9-ce3d-4c6b-9d2c-9144dd4287ff

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 20:58:32 +00:00
copilot-swe-agent[bot] 28a7592731 fix: address code review comments (type hints, loop var name, em dashes)
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/be0a3bbd-1af1-408e-b918-84753723154b

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 20:51:52 +00:00
copilot-swe-agent[bot] 45a2dd8be2 fix: IPv4 preference + DNS cache fallback for stable POP3/IMAP connections
- Add DNS_CACHE_FALLBACK_ENABLED setting (default: true)
- Add in-process DNS cache (_dns_cache, _dns_cache_lock, _get/_set_cached_ipv4)
- Add _resolve_ipv4 (async) and _resolve_ipv4_sync: AF_INET lookup, cache on
  success, return cached IP on EAI_AGAIN when fallback enabled
- Add _IMAP4SSLwithSNI: connects to pre-resolved IPv4 but uses original
  hostname for TLS SNI/cert verification
- Add _POP3SSLWithIPv4Pref / _POP3WithIPv4Pref: override _create_socket to
  use pre-resolved IPv4 while keeping original host for POP3_SSL SNI
- Add _make_pop3_conn factory and _make_imap_client async factory
- Wire IPv4/cache helpers into all 6 connection call-sites (IMAP x3, POP3 x3)
- Distinguish transient DNS (EAI_AGAIN) from permanent in _format_connection_error
- Replace asyncio.get_event_loop() with get_running_loop() in 4 async sites
- All 75 existing unit tests pass unchanged

Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/be0a3bbd-1af1-408e-b918-84753723154b

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 20:49:51 +00:00
copilot-swe-agent[bot] b1dd1714f7 fix: remove unused imports and bare f-string in test_format_connection_error.py (ruff F401/F541)
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/9fad41f9-3b9d-4b9b-8eb5-9d0291f6746a

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 19:29:35 +00:00
copilot-swe-agent[bot] 79d664c0e4 fix: apply black formatting to test_format_connection_error.py (--target-version py312)
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/a81adc93-0fee-44b1-8c26-ae9830e40e21

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 19:25:33 +00:00
Christian Krakau-Louis ed4c4f5a60 Merge branch 'main' into copilot/add-debug-logging-for-mail-fetching 2026-05-03 21:17:01 +02:00
copilot-swe-agent[bot] eeb3fa5c66 refactor: use __len__ for MailDebugRecorder, str() size estimate, clearer tests, fix unused import
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/5d2918de-630e-4a66-8355-1b036c620b1c

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 18:59:41 +00:00
copilot-swe-agent[bot] aab60d6866 feat: frontend clear-error button, debug trace viewer, debug_logging toggle, docs updates
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/5d2918de-630e-4a66-8355-1b036c620b1c

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 18:53:52 +00:00
copilot-swe-agent[bot] db893d05e9 feat: add friendly error messages, MailDebugRecorder, clear-error endpoint, debug_logging column
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/5d2918de-630e-4a66-8355-1b036c620b1c

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 18:43:06 +00:00
copilot-swe-agent[bot] e98c81cce4 Add exc_info=True to OAuth error logging and endpoint-level catch in google_oauth
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/8d0fb51a-ede5-4bb7-aad8-3d29a0d3d7d3

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 17:35:49 +00:00
copilot-swe-agent[bot] 075ba92f09 feat: add in-depth OAuth logging across auth_service, auth, providers, gmail_service
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/91c7dd2b-0d88-46a9-a711-3a4c69d99520

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 15:05:27 +00:00
copilot-swe-agent[bot] 3470213fb3 fix: combine f-strings, align product name in notification titles
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/2bcd611e-3598-4b83-95bd-3276a7d5ad7c

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 14:53:17 +00:00
copilot-swe-agent[bot] 992e157f02 feat: proactive Gmail token refresh, GmailAuthError, improved logging
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/2bcd611e-3598-4b83-95bd-3276a7d5ad7c

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 14:50:58 +00:00
Christian Krakau-Louis bb0806e198 Merge pull request #173 from christianlouis/dependabot/pip/backend/pip-3344959f9f
chore(deps): bump cryptography from 46.0.6 to 46.0.7 in /backend in the pip group across 1 directory
2026-04-19 02:49:03 +02:00
Christian Krakau-Louis a31030e3e3 Merge pull request #175 from christianlouis/dependabot/pip/backend/fastapi-0.135.3
chore(deps): bump fastapi from 0.135.2 to 0.135.3 in /backend
2026-04-19 02:26:54 +02:00
Christian Krakau-Louis 77878e3441 Merge pull request #177 from christianlouis/dependabot/pip/backend/aiohttp-3.13.5
chore(deps): bump aiohttp from 3.13.4 to 3.13.5 in /backend
2026-04-19 02:26:06 +02:00
dependabot[bot] 222fc96eff chore(deps): bump cryptography
Bumps the pip group with 1 update in the /backend directory: [cryptography](https://github.com/pyca/cryptography).


Updates `cryptography` from 46.0.6 to 46.0.7
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.6...46.0.7)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 46.0.7
  dependency-type: direct:production
  dependency-group: pip
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-19 00:25:57 +00:00
Christian Krakau-Louis a9f3c22764 Merge pull request #179 from christianlouis/dependabot/pip/backend/google-auth-2.49.2
chore(deps): bump google-auth from 2.49.1 to 2.49.2 in /backend
2026-04-19 02:25:34 +02:00
Christian Krakau-Louis 3cf51e68ab Merge pull request #180 from christianlouis/dependabot/pip/backend/pytest-cov-7.1.0
chore(deps): bump pytest-cov from 4.1.0 to 7.1.0 in /backend
2026-04-19 02:25:16 +02:00
Christian Krakau-Louis 4f1635ee3b Merge pull request #182 from christianlouis/dependabot/pip/backend/prometheus-client-0.25.0
chore(deps): bump prometheus-client from 0.24.1 to 0.25.0 in /backend
2026-04-19 02:24:53 +02:00
Christian Krakau-Louis 40262c1d87 Merge pull request #183 from christianlouis/dependabot/pip/backend/pytest-9.0.3
chore(deps): bump pytest from 9.0.2 to 9.0.3 in /backend
2026-04-19 02:24:38 +02:00
Christian Krakau-Louis f66435cbb6 Merge pull request #185 from christianlouis/dependabot/pip/backend/python-multipart-0.0.26
chore(deps): bump python-multipart from 0.0.24 to 0.0.26 in /backend
2026-04-19 02:24:20 +02:00
dependabot[bot] 06ea1958aa chore(deps): bump schedule from 1.2.0 to 1.2.2 in /backend
Bumps [schedule](https://github.com/dbader/schedule) from 1.2.0 to 1.2.2.
- [Changelog](https://github.com/dbader/schedule/blob/master/HISTORY.rst)
- [Commits](https://github.com/dbader/schedule/compare/1.2.0...1.2.2)

---
updated-dependencies:
- dependency-name: schedule
  dependency-version: 1.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 07:22:45 +00:00
dependabot[bot] 42c5900c06 chore(deps): bump python-multipart from 0.0.24 to 0.0.26 in /backend
Bumps [python-multipart](https://github.com/Kludex/python-multipart) from 0.0.24 to 0.0.26.
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.24...0.0.26)

---
updated-dependencies:
- dependency-name: python-multipart
  dependency-version: 0.0.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 07:22:41 +00:00
dependabot[bot] 8441f73478 chore(deps): bump pytest from 9.0.2 to 9.0.3 in /backend
Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.0.2 to 9.0.3.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/9.0.2...9.0.3)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 07:22:33 +00:00
dependabot[bot] 8df1465a64 chore(deps): bump prometheus-client from 0.24.1 to 0.25.0 in /backend
Bumps [prometheus-client](https://github.com/prometheus/client_python) from 0.24.1 to 0.25.0.
- [Release notes](https://github.com/prometheus/client_python/releases)
- [Commits](https://github.com/prometheus/client_python/compare/v0.24.1...v0.25.0)

---
updated-dependencies:
- dependency-name: prometheus-client
  dependency-version: 0.25.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 07:22:27 +00:00
dependabot[bot] 24a85d6554 chore(deps): bump pytest-cov from 4.1.0 to 7.1.0 in /backend
Bumps [pytest-cov](https://github.com/pytest-dev/pytest-cov) from 4.1.0 to 7.1.0.
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v4.1.0...v7.1.0)

---
updated-dependencies:
- dependency-name: pytest-cov
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 07:22:22 +00:00
dependabot[bot] 197d7fe060 chore(deps): bump google-auth from 2.49.1 to 2.49.2 in /backend
Bumps [google-auth](https://github.com/googleapis/google-auth-library-python) from 2.49.1 to 2.49.2.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/commits)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-version: 2.49.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 07:22:18 +00:00
dependabot[bot] 4c03352650 chore(deps): bump aiohttp from 3.13.4 to 3.13.5 in /backend
---
updated-dependencies:
- dependency-name: aiohttp
  dependency-version: 3.13.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 07:22:13 +00:00
dependabot[bot] 56a85e9c9e chore(deps): bump fastapi from 0.135.2 to 0.135.3 in /backend
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.135.2 to 0.135.3.
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](https://github.com/fastapi/fastapi/compare/0.135.2...0.135.3)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-version: 0.135.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 07:22:01 +00:00
Christian Krakau-Louis 592495c1af Merge pull request #171 from christianlouis/copilot/ensure-emails-are-retried
fix: retry failed email forwards; only mark/delete successfully forwarded messages
2026-04-07 13:09:32 +02:00
copilot-swe-agent[bot] 74ef362833 fix: remove duplicate MailProcessor import in test_mail_processor_imap.py
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/15ec037d-0e37-4adb-8249-149dd5375121

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-04-07 10:46:50 +00:00
Christian Krakau-Louis b8aec18add Merge pull request #172 from christianlouis/copilot/fix-deprecated-pydantic-methods
fix: replace deprecated Pydantic .dict() with .model_dump() and fix db.add() AsyncMock warnings
2026-04-07 12:44:37 +02:00
copilot-swe-agent[bot] 31dc059274 fix: replace deprecated .dict() with .model_dump() and fix db.add() AsyncMock warnings
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/ac39d3f7-d4c3-4417-8c33-8e6340a27281

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-04-07 10:38:27 +00:00
copilot-swe-agent[bot] 3dd71cd61d fix: restore missing forward_email signature and reformat with black
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/3c4ae596-6052-4a61-9edd-b668a6cda32e

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-04-07 10:38:00 +00:00
copilot-swe-agent[bot] ff7b50d944 fix: retry failed forwarded emails; only post-process successfully forwarded messages
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/e1fb16dc-0187-4ab9-901a-e0a76de64599

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-04-07 10:32:38 +00:00
Christian Krakau-Louis 4c6fc339d2 Merge branch 'main' into copilot/ensure-full-test-coverage 2026-04-07 12:28:35 +02:00
Christian Krakau-Louis 1f5b0fe38d Merge pull request #159 from christianlouis/dependabot/pip/backend/google-auth-httplib2-0.3.1
chore(deps): bump google-auth-httplib2 from 0.3.0 to 0.3.1 in /backend
2026-04-07 11:45:18 +02:00
Christian Krakau-Louis 900c279a28 Merge pull request #166 from christianlouis/dependabot/pip/backend/sqlalchemy-2.0.49
chore(deps): bump sqlalchemy from 2.0.48 to 2.0.49 in /backend
2026-04-07 11:44:00 +02:00
Christian Krakau-Louis 7503316435 Merge pull request #156 from christianlouis/dependabot/pip/backend/email-validator-2.3.0
chore(deps): bump email-validator from 2.1.0.post1 to 2.3.0 in /backend
2026-04-07 11:43:14 +02:00
Christian Krakau-Louis a52bd5b2df Merge pull request #157 from christianlouis/dependabot/pip/backend/uvicorn-0.43.0
chore(deps): bump uvicorn from 0.42.0 to 0.43.0 in /backend
2026-04-07 11:42:19 +02:00
Christian Krakau-Louis 74f0c322c4 Merge pull request #161 from christianlouis/dependabot/pip/backend/faker-40.12.0
chore(deps): bump faker from 22.6.0 to 40.12.0 in /backend
2026-04-07 11:41:53 +02:00
Christian Krakau-Louis 1f8c4f46e6 Merge pull request #162 from christianlouis/dependabot/pip/backend/python-multipart-0.0.24
chore(deps): bump python-multipart from 0.0.22 to 0.0.24 in /backend
2026-04-07 11:41:15 +02:00
dependabot[bot] 233595e5dd chore(deps): bump google-auth-httplib2 from 0.3.0 to 0.3.1 in /backend
Bumps [google-auth-httplib2](https://github.com/googleapis/google-cloud-python) from 0.3.0 to 0.3.1.
- [Release notes](https://github.com/googleapis/google-cloud-python/releases)
- [Changelog](https://github.com/googleapis/google-cloud-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-cloud-python/compare/google-auth-httplib2-v0.3.0...google-auth-httplib2-v0.3.1)

---
updated-dependencies:
- dependency-name: google-auth-httplib2
  dependency-version: 0.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-07 09:40:09 +00:00
dependabot[bot] 6283d1c4b4 chore(deps): bump sqlalchemy from 2.0.48 to 2.0.49 in /backend
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 2.0.48 to 2.0.49.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-version: 2.0.49
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-07 09:38:54 +00:00
dependabot[bot] 6f414e175a chore(deps): bump email-validator from 2.1.0.post1 to 2.3.0 in /backend
Bumps [email-validator](https://github.com/JoshData/python-email-validator) from 2.1.0.post1 to 2.3.0.
- [Release notes](https://github.com/JoshData/python-email-validator/releases)
- [Changelog](https://github.com/JoshData/python-email-validator/blob/main/CHANGELOG.md)
- [Commits](https://github.com/JoshData/python-email-validator/commits/v2.3.0)

---
updated-dependencies:
- dependency-name: email-validator
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-07 09:38:47 +00:00
Christian Krakau-Louis d7479f5f8e Merge pull request #164 from christianlouis/dependabot/pip/backend/google-auth-oauthlib-1.3.1
chore(deps): bump google-auth-oauthlib from 1.2.0 to 1.3.1 in /backend
2026-04-07 11:38:24 +02:00
Christian Krakau-Louis a11831a725 Merge pull request #169 from christianlouis/dependabot/pip/backend/alembic-1.18.4
chore(deps): bump alembic from 1.13.1 to 1.18.4 in /backend
2026-04-07 11:37:47 +02:00