Commit Graph

185 Commits

Author SHA1 Message Date
Christian Krakau-Louis 5f0e9ed598 Merge branch 'main' into copilot/analyze-test-coverage 2026-04-05 20:55:08 +02:00
copilot-swe-agent[bot] 149ff3d997 fix: address CodeQL URL substring sanitization false positives in tests
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:12:32 +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
dependabot[bot] 4a6f93e5ac chore(deps): bump pytest from 7.4.4 to 9.0.2 in /backend
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.4.4 to 9.0.2.
- [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/7.4.4...9.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-05 15:05:10 +00:00
Christian Krakau-Louis 1c3d902c9b Merge pull request #136 from christianlouis/dependabot/pip/backend/python-dotenv-1.2.2
chore(deps): bump python-dotenv from 1.0.0 to 1.2.2 in /backend
2026-04-05 17:03:54 +02:00
Christian Krakau-Louis 190e41058e Merge pull request #138 from christianlouis/dependabot/pip/backend/celery-5.6.3
chore(deps): bump celery from 5.6.2 to 5.6.3 in /backend
2026-04-05 17:03:37 +02:00
Christian Krakau-Louis 669ddf70fb Merge pull request #143 from christianlouis/dependabot/pip/backend/bcrypt-5.0.0
chore(deps): bump bcrypt from 4.3.0 to 5.0.0 in /backend
2026-04-05 17:02:56 +02:00
dependabot[bot] 5992a9e802 chore(deps): bump celery from 5.6.2 to 5.6.3 in /backend
Bumps [celery](https://github.com/celery/celery) from 5.6.2 to 5.6.3.
- [Release notes](https://github.com/celery/celery/releases)
- [Changelog](https://github.com/celery/celery/blob/v5.6.3/Changelog.rst)
- [Commits](https://github.com/celery/celery/compare/v5.6.2...v5.6.3)

---
updated-dependencies:
- dependency-name: celery
  dependency-version: 5.6.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-05 15:02:44 +00:00
Christian Krakau-Louis 3432b93712 Merge pull request #145 from christianlouis/dependabot/pip/backend/httpx-0.28.1
chore(deps): bump httpx from 0.26.0 to 0.28.1 in /backend
2026-04-05 17:02:41 +02:00
Christian Krakau-Louis e2b3bac1cc Merge pull request #146 from christianlouis/dependabot/pip/backend/uvicorn-0.42.0
chore(deps): bump uvicorn from 0.27.0 to 0.42.0 in /backend
2026-04-05 17:02:31 +02:00
Christian Krakau-Louis c06074e0d5 Merge pull request #147 from christianlouis/dependabot/pip/backend/apprise-1.9.9
chore(deps): bump apprise from 1.7.1 to 1.9.9 in /backend
2026-04-05 17:02:11 +02:00
Christian Krakau-Louis e5d3a7c166 Merge pull request #149 from christianlouis/dependabot/pip/backend/prometheus-client-0.24.1
chore(deps): bump prometheus-client from 0.19.0 to 0.24.1 in /backend
2026-04-05 17:01:57 +02:00
Christian Krakau-Louis 0ac7bd7fb4 Merge pull request #142 from christianlouis/dependabot/pip/backend/aiohttp-3.13.4
chore(deps): bump aiohttp from 3.13.3 to 3.13.4 in /backend
2026-04-05 17:01:45 +02:00
dependabot[bot] 77c84266fd chore(deps): bump prometheus-client from 0.19.0 to 0.24.1 in /backend
Bumps [prometheus-client](https://github.com/prometheus/client_python) from 0.19.0 to 0.24.1.
- [Release notes](https://github.com/prometheus/client_python/releases)
- [Commits](https://github.com/prometheus/client_python/compare/v0.19.0...v0.24.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-30 07:22:03 +00:00
dependabot[bot] b914ac0ecd chore(deps): bump redis from 7.3.0 to 7.4.0 in /backend
Bumps [redis](https://github.com/redis/redis-py) from 7.3.0 to 7.4.0.
- [Release notes](https://github.com/redis/redis-py/releases)
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES)
- [Commits](https://github.com/redis/redis-py/compare/v7.3.0...v7.4.0)

---
updated-dependencies:
- dependency-name: redis
  dependency-version: 7.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-30 07:22:00 +00:00
dependabot[bot] 094b1e177f chore(deps): bump apprise from 1.7.1 to 1.9.9 in /backend
Bumps [apprise](https://github.com/caronc/apprise) from 1.7.1 to 1.9.9.
- [Release notes](https://github.com/caronc/apprise/releases)
- [Commits](https://github.com/caronc/apprise/compare/v1.7.1...v1.9.9)

---
updated-dependencies:
- dependency-name: apprise
  dependency-version: 1.9.9
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-30 07:21:56 +00:00
dependabot[bot] ac6a837522 chore(deps): bump uvicorn from 0.27.0 to 0.42.0 in /backend
Bumps [uvicorn](https://github.com/Kludex/uvicorn) from 0.27.0 to 0.42.0.
- [Release notes](https://github.com/Kludex/uvicorn/releases)
- [Changelog](https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md)
- [Commits](https://github.com/Kludex/uvicorn/compare/0.27.0...0.42.0)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-30 07:21:53 +00:00
dependabot[bot] c50cf6e0b3 chore(deps): bump httpx from 0.26.0 to 0.28.1 in /backend
Bumps [httpx](https://github.com/encode/httpx) from 0.26.0 to 0.28.1.
- [Release notes](https://github.com/encode/httpx/releases)
- [Changelog](https://github.com/encode/httpx/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/httpx/compare/0.26.0...0.28.1)

---
updated-dependencies:
- dependency-name: httpx
  dependency-version: 0.28.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-30 07:21:50 +00:00
dependabot[bot] f0213a0b03 chore(deps): bump bcrypt from 4.3.0 to 5.0.0 in /backend
Bumps [bcrypt](https://github.com/pyca/bcrypt) from 4.3.0 to 5.0.0.
- [Changelog](https://github.com/pyca/bcrypt/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/bcrypt/compare/4.3.0...5.0.0)

---
updated-dependencies:
- dependency-name: bcrypt
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-30 07:21:47 +00:00
dependabot[bot] d919939647 chore(deps): bump aiohttp from 3.13.3 to 3.13.4 in /backend
---
updated-dependencies:
- dependency-name: aiohttp
  dependency-version: 3.13.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-30 07:21:44 +00:00
dependabot[bot] 4dbe30b0ea chore(deps): bump python-dotenv from 1.0.0 to 1.2.2 in /backend
Bumps [python-dotenv](https://github.com/theskumar/python-dotenv) from 1.0.0 to 1.2.2.
- [Release notes](https://github.com/theskumar/python-dotenv/releases)
- [Changelog](https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md)
- [Commits](https://github.com/theskumar/python-dotenv/compare/v1.0.0...v1.2.2)

---
updated-dependencies:
- dependency-name: python-dotenv
  dependency-version: 1.2.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-30 07:21:22 +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] 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
Christian Krakau-Louis 3cd7a781f6 Merge branch 'main' into copilot/improve-test-coverage-admin-file 2026-03-29 01:10:45 +01:00
copilot-swe-agent[bot] e52f00bc16 Move model imports to module level per code review feedback
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/519609d2-8cd4-44e8-96b0-4e9aaa76b45a

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-29 00:06:19 +00:00
copilot-swe-agent[bot] da9d822afa Add 87 unit tests for admin endpoints (24% → 100% coverage), fix conftest.py fixtures
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/d17e4b46-03fd-450a-af61-1870011377b4

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-29 00:06:02 +00:00
copilot-swe-agent[bot] 983ce75264 Add 40 unit tests for backend/app/workers/tasks.py (9% → 96% coverage)
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/519609d2-8cd4-44e8-96b0-4e9aaa76b45a

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-29 00:04:40 +00:00
copilot-swe-agent[bot] eb47594e53 Add 46 unit tests for mail_processor.py: POP3, forwarding, connection testing, and IMAP edge cases (coverage 42%→98%)
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/4dd19cb3-dd43-4b00-be39-493fa3a35458

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-29 00:03:58 +00:00
copilot-swe-agent[bot] 029c272a4e Fix log noise: cache_discovery=False for Gmail API, suppress aioimaplib INFO logs
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/8855bf16-124d-4d85-b6bd-ab82e8361114

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 23:40:49 +00:00
copilot-swe-agent[bot] da05016143 Fix IMAP emails appearing empty: accept bytearray from aioimaplib literals
aioimaplib stores RFC822 literal data as bytearray in response.lines,
not bytes. The extraction loop checked isinstance(line, bytes) which
returns False for bytearray, silently dropping every email body and
causing all IMAP emails (T-Online, GMX, etc.) to appear empty.

Fix: accept (bytes, bytearray) and convert to bytes() immediately so
the rest of the pipeline is unaffected. Two new regression tests mirror
the real aioimaplib behaviour by passing bytearray as the literal.

Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/341f5c82-70f8-438d-91ca-8e906a06c400

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 22:08:04 +00:00
copilot-swe-agent[bot] 0720901265 fix: drop empty emails, clear stale errors on success, harden IMAP extraction
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/d50e7f06-4c6f-4caa-b5dd-329068e8096c

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 21:42:19 +00:00
Christian Krakau-Louis eae2f59c53 Merge branch 'main' into copilot/upgrade-fastapi-starlette 2026-03-28 22:07:04 +01:00
copilot-swe-agent[bot] 5bddbb42f5 security: upgrade fastapi to 0.135.2, fix safety scan command, add safety policy for ecdsa CVEs
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/902f3b74-792c-4afa-8aae-96611262ee5f

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 21:04:13 +00:00
copilot-swe-agent[bot] 062739a9a1 Fix IMAP UID SEARCH crash and RFC 3501 flag parentheses
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/a44d5455-25ea-49b9-8310-4efd6d467e84

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 21:00:44 +00:00
copilot-swe-agent[bot] c092dd9ac6 fix: suppress bandit B104 false positive for 0.0.0.0 binding in config.py
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/3b265b6d-865c-4453-b22c-60feff2aa049

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 20:37:25 +00:00
copilot-swe-agent[bot] 3c8bb4bfb6 style: apply black formatting to test_mail_processor_imap.py
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/2f63c66a-f2dd-41f4-aba4-b89b66f9e11b

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 20:28:33 +00:00
Christian Krakau-Louis 9073f43aed Merge branch 'main' into copilot/debug-imap-errors-t-online 2026-03-28 21:21:54 +01:00
copilot-swe-agent[bot] 454452a0b6 fix: use UID-based IMAP commands and batch STORE operations to fix T-Online BYE errors
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/d01a05d3-31e1-4aca-b75d-c4e63b7e5af0

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 20:20:43 +00:00
Christian Krakau-Louis 96dda16a66 Merge branch 'main' into copilot/fix-status-tracking-issue 2026-03-28 21:19:31 +01:00
copilot-swe-agent[bot] d92affabec Fix worker status tracking: use fresh DB session for notifications, commit before notifying
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/70a69601-e0b9-4a00-bcf4-0a85d2bdf6cb

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 20:04:52 +00:00
copilot-swe-agent[bot] f7caa05c8f Fix provider logos, improve Fetch button UX on mail accounts page
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/058b6481-f8eb-43ed-8f5f-715c19c4a377

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 20:03:19 +00:00
copilot-swe-agent[bot] 0698eca628 fix: resolve 21 mypy type errors across backend modules
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/bc16203d-7907-4e3f-952f-18c760c85076

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 19:32:53 +00:00
Christian Krakau-Louis 15af7fde61 Merge pull request #108 from christianlouis/copilot/add-pull-now-option-mailbox
Add "Pull Now" button, provider logo banners, and Proton Mail support
2026-03-28 20:24:34 +01:00
copilot-swe-agent[bot] aa2ea611b1 Logo banner layout rework, Proton Mail provider, ProviderWizard sizing improvements
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/8dc8f341-02b2-4449-8a88-a2124033c31a

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 19:18:17 +00:00
Christian Krakau-Louis 9638e031ea Merge pull request #107 from christianlouis/copilot/check-mailbox-credentials
Fix: Test Connection always reports success regardless of auth result
2026-03-28 20:14:42 +01:00