560 Commits

Author SHA1 Message Date
semantic-release eea50f5d74 0.10.1
Automatically generated by python-semantic-release
2026-05-03 21:48:05 +00:00
Christian Krakau-Louis dd5f28ad25 Merge pull request #225 from christianlouis/copilot/fix-imap-connection-timeout
fix: normalise naive UTC expiry from google-auth before DB storage
2026-05-03 23:47:43 +02:00
copilot-swe-agent[bot] 01a85ebede fix: normalise naive UTC expiry from google-auth to tz-aware in GmailService
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/a94e2685-c88f-4109-a6eb-566c7343ab1f

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 21:45:02 +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 f2bdfbb9a1 Merge pull request #224 from christianlouis/copilot/add-test-mail-button
Add "Send Test Email" button for SMTP Fallback configuration
2026-05-03 23:01:44 +02: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
Christian Krakau-Louis 38dfed3360 Merge pull request #223 from christianlouis/copilot/debug-pop3-imap-connection-issues
fix: IPv4 preference + DNS cache fallback for stable POP3/IMAP connections
2026-05-03 23:00:42 +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
semantic-release 89ebdd2b79 0.9.1
Automatically generated by python-semantic-release
2026-05-03 20:26:18 +00:00
Christian Krakau-Louis 87a4b15b96 Merge pull request #222 from christianlouis/copilot/fix-apprise-smtp-channel
fix(notifications): add separate sender, recipient, and SMTP username fields to email channel
2026-05-03 22:25:58 +02:00
copilot-swe-agent[bot] c3e608d82f fix: add separate sender/recipient email fields for SMTP notification channel
The email (SMTP) form previously used the `username` field as both SMTP
auth credential and the from/to address. This breaks services like
Postmark that use API tokens as SMTP credentials.

Changes:
- Added "Sender Email (From)" (optional) and "Recipient Email (To)"
  (required) fields to the email channel configuration
- Renamed "Username / Email" to "SMTP Username" for clarity
- Updated `buildAppriseUrl` to build `mailto://user:pass@host/?to=...&from=...`
  so recipient and sender are explicit query parameters
- Updated tests to match new field labels and added two new email URL tests

Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/5be072bb-0824-436b-983b-1a6bb6df2699

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 20:20:06 +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 651194178f Merge pull request #221 from christianlouis/copilot/add-debug-logging-for-mail-fetching
feat: IMAP/POP3 diagnostics — friendly errors, auto-clear stale status, per-account debug logging
2026-05-03 22:10:52 +02: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
Christian Krakau-Louis 6f8690850d Merge pull request #219 from christianlouis/copilot/fix-internal-server-error
Fix silent 500s in Google OAuth: log full tracebacks
2026-05-03 21:16:24 +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
Christian Krakau-Louis f0b6bbcf65 Merge pull request #220 from christianlouis/copilot/fix-docker-build-issues
fix: downgrade eslint to ^9 and typescript to ^5 to resolve eslint-config-next peer conflicts
2026-05-03 21:09:39 +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] f39241a547 fix: downgrade eslint to ^9 and typescript to ^5 for eslint-config-next compatibility
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/861f179a-eb73-4cd9-8c13-2a0e52b5d1bf

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 16:45:10 +00:00
Christian Krakau-Louis 0026afe131 Merge pull request #184 from christianlouis/dependabot/npm_and_yarn/frontend/multi-0193e73c84
chore(deps): bump react and @types/react in /frontend
2026-05-03 18:14:13 +02:00
semantic-release 4bc440d11c 0.8.0
Automatically generated by python-semantic-release
2026-05-03 16:13:40 +00:00
Christian Krakau-Louis 9e9a5858de Merge pull request #217 from christianlouis/copilot/improve-oauth-token-refresh
feat: proactive Gmail token refresh, typed GmailAuthError, in-depth OAuth logging
2026-05-03 18:13:20 +02: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] 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
dependabot[bot] 00d06c63de chore(deps): bump react and @types/react in /frontend
Bumps [react](https://github.com/facebook/react/tree/HEAD/packages/react) and [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react). These dependencies needed to be updated together.

Updates `react` from 19.2.4 to 19.2.5
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.5/packages/react)

Updates `@types/react` from 19.2.10 to 19.2.14
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: react
  dependency-version: 19.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: "@types/react"
  dependency-version: 19.2.14
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-19 00:51:46 +00:00
Christian Krakau-Louis d00523f5ba Merge pull request #181 from christianlouis/dependabot/npm_and_yarn/frontend/react-dom-19.2.5
chore(deps): bump react-dom from 19.2.4 to 19.2.5 in /frontend
2026-04-19 02:50:36 +02:00
dependabot[bot] d6d4df2df1 chore(deps): bump react-dom from 19.2.4 to 19.2.5 in /frontend
Bumps [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) from 19.2.4 to 19.2.5.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.5/packages/react-dom)

---
updated-dependencies:
- dependency-name: react-dom
  dependency-version: 19.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-19 00:50:22 +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 b31e13195b Merge pull request #174 from christianlouis/dependabot/npm_and_yarn/frontend/npm_and_yarn-ad77747e51
chore(deps): bump next from 16.2.2 to 16.2.3 in /frontend in the npm_and_yarn group across 1 directory
2026-04-19 02:48:47 +02:00
dependabot[bot] 54ecd7f95c chore(deps): bump next
Bumps the npm_and_yarn group with 1 update in the /frontend directory: [next](https://github.com/vercel/next.js).


Updates `next` from 16.2.2 to 16.2.3
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v16.2.2...v16.2.3)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 16.2.3
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-19 00:44:46 +00:00
Christian Krakau-Louis fa890df5e4 Merge pull request #176 from christianlouis/dependabot/npm_and_yarn/frontend/axios-1.15.0
chore(deps): bump axios from 1.14.0 to 1.15.0 in /frontend
2026-04-19 02:42:47 +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 c735a77079 Merge pull request #178 from christianlouis/dependabot/npm_and_yarn/frontend/eslint-config-next-16.2.3
chore(deps): bump eslint-config-next from 16.2.2 to 16.2.3 in /frontend
2026-04-19 02:25:51 +02: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