Commit Graph

169 Commits

Author SHA1 Message Date
semantic-release 6c42c3759c 0.10.6
Automatically generated by python-semantic-release
2026-05-17 11:08:05 +00:00
semantic-release 8750ecb3cc 0.10.5
Automatically generated by python-semantic-release
2026-05-06 19:33:38 +00:00
semantic-release 19a859ecce 0.10.4
Automatically generated by python-semantic-release
2026-05-03 23:17:17 +00:00
copilot-swe-agent[bot] fcdd51e6aa fix: resolve all lint errors (black, ruff, mypy)
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/343db360-b55f-461c-8bc6-3754f58ba48e

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 23:02:01 +00:00
semantic-release c65f37a8dd 0.10.3
Automatically generated by python-semantic-release
2026-05-03 22:43:07 +00:00
Christian Krakau-Louis f808d6262d Merge branch 'main' into copilot/fix-mailbox-connectivity-issues 2026-05-04 00:21:59 +02:00
copilot-swe-agent[bot] 92f60c6052 fix: retry POP3/IMAP, DNS 8.8.8.8 fallback, debug counter, notification backoff
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/5ad49738-4b0b-4ed7-8686-07adb0ba9e5d

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 22:06:12 +00:00
semantic-release 0838a6b718 0.10.2
Automatically generated by python-semantic-release
2026-05-03 21:51:10 +00:00
Christian Krakau-Louis b771484afa Merge pull request #226 from christianlouis/copilot/fix-smtp-fallback-issues
fix: add sender_email to SMTP config to decouple auth credential from From: header
2026-05-03 23:50:49 +02:00
semantic-release eea50f5d74 0.10.1
Automatically generated by python-semantic-release
2026-05-03 21:48:05 +00:00
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
semantic-release edb4e8b0cc 0.10.0
Automatically generated by python-semantic-release
2026-05-03 21:02:04 +00:00
Christian Krakau-Louis 0396cc6f33 Merge branch 'main' into copilot/add-test-mail-button 2026-05-03 23:01:30 +02:00
semantic-release 2b0f05f971 0.9.2
Automatically generated by python-semantic-release
2026-05-03 21:01:03 +00: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] 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
semantic-release 89ebdd2b79 0.9.1
Automatically generated by python-semantic-release
2026-05-03 20:26:18 +00:00
semantic-release 742f0eca6b 0.9.0
Automatically generated by python-semantic-release
2026-05-03 20:11:14 +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] a8f37d6a1b Merge remote-tracking branch 'origin/main' into copilot/fix-internal-server-error
# Conflicts:
#	CHANGELOG.md

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 19:11:31 +00:00
semantic-release 7bf0819338 0.8.1
Automatically generated by python-semantic-release
2026-05-03 19:10:04 +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] 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
semantic-release 4bc440d11c 0.8.0
Automatically generated by python-semantic-release
2026-05-03 16:13:40 +00:00
copilot-swe-agent[bot] be812dda79 fix: bump react to 19.2.5 to match react-dom, resolve npm ci ERESOLVE
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/5060147f-ea01-424c-b960-5d9cd050d15f

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 16:07:53 +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] 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
semantic-release 06c59242c8 0.7.0
Automatically generated by python-semantic-release
2026-04-18 23:52:49 +00:00
copilot-swe-agent[bot] 78610ef09d feat: add English privacy policy, ToS, and legal footer links for Google OAuth verification
- Add /privacy (English privacy policy with Google API Limited Use Disclosure)
- Add /terms (English Terms of Service)
- Fix home page footer: add Privacy Policy, Terms, Impressum, Datenschutz links
  (directly resolves Google verification rejection: "homepage has no privacy link")
- Update login page footer to include /privacy and /terms
- Add register page consent text linking to /privacy and /terms
- Add /privacy cross-link in German /datenschutz page (section 2 + footer)
- Update CHANGELOG.md and docs/TODO.md

Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/6800713f-ba49-421c-9e96-08d8ed6e48e4

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-04-18 17:22:50 +00:00
semantic-release d4bd95efeb 0.6.5
Automatically generated by python-semantic-release
2026-04-07 11:09:52 +00:00
semantic-release 377f5a7270 0.6.4
Automatically generated by python-semantic-release
2026-04-07 10:44:54 +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
Christian Krakau-Louis 4c6fc339d2 Merge branch 'main' into copilot/ensure-full-test-coverage 2026-04-07 12:28:35 +02:00
semantic-release 025684386b 0.6.3
Automatically generated by python-semantic-release
2026-04-07 10:28:04 +00:00
semantic-release 89b23e641f 0.6.2
Automatically generated by python-semantic-release
2026-04-05 19:29:15 +00:00
Christian Krakau-Louis 5f0e9ed598 Merge branch 'main' into copilot/analyze-test-coverage 2026-04-05 20:55:08 +02:00
semantic-release 3a2066d320 0.6.1
Automatically generated by python-semantic-release
2026-04-05 15:35:23 +00:00
copilot-swe-agent[bot] 0521c97394 docs: fix CHANGELOG entry to only reference pytest-asyncio bump
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/7634797f-a0bf-40e9-abd5-4504b7e4e357

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-04-05 15:11:33 +00:00
copilot-swe-agent[bot] 39052af4e2 fix: upgrade pytest-asyncio to 1.3.0 for pytest 9.x compatibility
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/7634797f-a0bf-40e9-abd5-4504b7e4e357

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-04-05 15:11:10 +00:00
copilot-swe-agent[bot] 58f9ad72ed test: add 150 new unit tests covering auth, users, notifications, logs, settings, GDPR, and Gmail label utilities
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/8cb47b1c-b744-4212-8b6d-8132d6642d98

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-04-05 15:10:38 +00:00
copilot-swe-agent[bot] c3ee2fc821 test: expand gmail_service.py unit test coverage (10 new tests)
Add tests for uncovered branches:
- inject_email HttpError handling
- get_or_create_label: existing label, create new, HttpError, generic error
- inject_debug_email full flow + dedup of test label
- get_refreshed_token: token changed vs unchanged
- service property lazy initialization via build()

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-29 01:01:33 +00:00
copilot-swe-agent[bot] 8eff0833fa test: expand api.ts test coverage with 56 new tests for all API objects
Add comprehensive tests for all 10 exported API objects: authApi,
userApi, mailAccountsApi, processingRunsApi, gmailApi, smtpApi,
adminApi, notificationsApi, adminNotificationsApi, and versionApi.

Each method is tested for correct HTTP method, URL, parameters/data,
and return value. Total api.test.ts tests: 65 (up from 9).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-29 00:58:20 +00:00
copilot-swe-agent[bot] 06efeed7be docs: rewrite README focused on Google 2026 POP/Gmailify shutdown replacement
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/917d1096-2c18-4324-96db-036f51d98bc3

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-29 00:56:01 +00:00
copilot-swe-agent[bot] d79f9caf9e Add comprehensive tests for AddMailAccountModal component
28 tests covering:
- Create/edit mode rendering and titles
- Provider wizard flow (select, manual, back)
- Form field changes, username/email sync, checkboxes
- Auto-detect success, failure, and validation
- Test connection success, error, validation, existing account
- Submit mutations (create/update, password omission)
- Modal close interactions (X, backdrop, cancel)
- Saving state indicators
- Error message extraction (string, array, Error)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-29 00:54:28 +00:00
copilot-swe-agent[bot] 4d1451ecde test: add 23 unit tests for provider endpoints
Cover all 9 endpoints in providers.py:
- Provider presets (list all, get by ID, not found)
- Gmail credential CRUD (create, update, get, delete)
- Import labels update
- Gmail authorize URL (success, not configured)
- Debug email (success, no credentials, injection failure)
- OAuth callback (new/update cred, not configured, token exchange
  failure, missing access token, verification failure)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-29 00:45:50 +00:00
copilot-swe-agent[bot] 65318b8c1b Add unit tests for mail account endpoints (30 tests)
Comprehensive test coverage for backend/app/api/v1/endpoints/mail_accounts.py:
- CRUD operations (create, list, get, update, delete)
- Subscription limit enforcement and superuser bypass
- Account toggle with ERROR→ACTIVE status reset
- Pull-now with disabled account guard
- Test connection (new and existing) with decrypt failure handling
- Auto-detect mail settings
- Paginated processing runs and logs

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-29 00:37:44 +00:00
copilot-swe-agent[bot] 4d07d04c63 Add comprehensive unit tests for auth endpoints
22 tests covering:
- Helper functions (_domain_of, _check_domain_allowed, _default_tier, _is_admin_email)
- POST /register (success, duplicate email, domain restriction)
- POST /login (success, user not found, wrong password, inactive, admin auto-promotion)
- POST /google (existing user, new user, unverified email, domain restriction)
- GET /google/authorize-url (correct URL construction)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-29 00:30:38 +00:00
Christian Krakau-Louis 815629910b Merge branch 'main' into copilot/improve-test-coverage-tasks 2026-03-29 01:15:40 +01:00
Christian Krakau-Louis ddad290e82 Merge branch 'main' into copilot/improve-test-coverage-tasks 2026-03-29 01:11:22 +01:00