Commit Graph

583 Commits

Author SHA1 Message Date
dependabot[bot] ebb88391db chore(deps): bump jest-environment-jsdom in /frontend (#252)
Bumps [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) from 30.3.0 to 30.4.1.
- [Release notes](https://github.com/jestjs/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jestjs/jest/commits/v30.4.1/packages/jest-environment-jsdom)

---
updated-dependencies:
- dependency-name: jest-environment-jsdom
  dependency-version: 30.4.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-17 14:53:33 +02:00
dependabot[bot] 9b0448cd3b chore(deps): bump zustand from 5.0.12 to 5.0.13 in /frontend (#250)
Bumps [zustand](https://github.com/pmndrs/zustand) from 5.0.12 to 5.0.13.
- [Release notes](https://github.com/pmndrs/zustand/releases)
- [Commits](https://github.com/pmndrs/zustand/compare/v5.0.12...v5.0.13)

---
updated-dependencies:
- dependency-name: zustand
  dependency-version: 5.0.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-17 14:53:12 +02:00
dependabot[bot] 83b53aca9f chore(deps): bump @tailwindcss/postcss from 4.1.18 to 4.3.0 in /frontend (#249)
Bumps [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) from 4.1.18 to 4.3.0.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/@tailwindcss-postcss)

---
updated-dependencies:
- dependency-name: "@tailwindcss/postcss"
  dependency-version: 4.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-17 14:53:01 +02:00
dependabot[bot] bcca5a9192 chore(deps): bump axios from 1.15.0 to 1.16.1 in /frontend (#233)
Bumps [axios](https://github.com/axios/axios) from 1.15.0 to 1.16.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.15.0...v1.16.1)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.16.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-17 14:52:38 +02:00
dependabot[bot] e6027792c6 chore(deps): bump python-multipart from 0.0.26 to 0.0.28 in /backend (#246)
Bumps [python-multipart](https://github.com/Kludex/python-multipart) from 0.0.26 to 0.0.28.
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.26...0.0.28)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-17 14:52:17 +02:00
dependabot[bot] fb8a11ffba chore(deps): bump next from 16.2.5 to 16.2.6 in /frontend (#251)
Bumps [next](https://github.com/vercel/next.js) from 16.2.5 to 16.2.6.
- [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.5...v16.2.6)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 16.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-17 14:51:55 +02:00
Christian Krakau-Louis 2a7ca74db0 Fix Next.js DoS advisory 2026-05-17 13:13:32 +02:00
semantic-release 6c42c3759c 0.10.6
Automatically generated by python-semantic-release
2026-05-17 11:08:05 +00:00
Christian Krakau-Louis 8295b7aaf2 fix: linearize alembic migrations 2026-05-17 13:07:21 +02:00
semantic-release 8750ecb3cc 0.10.5
Automatically generated by python-semantic-release
2026-05-06 19:33:38 +00:00
Christian Krakau-Louis 31652c5eb2 Merge pull request #229 from christianlouis/copilot/fix-smtp-config-validation-error
fix(tests): add missing `sender_email` to SMTP config test fixture
2026-05-06 21:33:12 +02:00
copilot-swe-agent[bot] 1420149d8b fix: add sender_email to _make_smtp_config test helper
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/5238ada2-2323-41a8-b58c-d3a49f9ffafd

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-05-03 23:28:21 +00:00
semantic-release 19a859ecce 0.10.4
Automatically generated by python-semantic-release
2026-05-03 23:17:17 +00:00
Christian Krakau-Louis 6437a4cf5e Merge pull request #228 from christianlouis/copilot/check-all-lints-in-main
fix: resolve all backend lint errors (black, ruff, mypy)
2026-05-04 01:16:53 +02: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 5d8c20ff3a Merge pull request #227 from christianlouis/copilot/fix-mailbox-connectivity-issues
fix: POP3/IMAP connectivity — retries, DNS 8.8.8.8 fallback, debug counter, notification backoff
2026-05-04 00:42:44 +02: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] 428850b476 refactor: address code-review comments (DNS constant, last_exc, comment clarity)
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:09:08 +00: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
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] 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
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