Commit Graph

81 Commits

Author SHA1 Message Date
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
Christian Krakau-Louis aa754bf217 Merge branch 'main' into copilot/improve-frontend-test-coverage 2026-03-29 01:10:01 +01: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] 769907a65b feat: add NotificationWizard + ProviderWizard tests, fix lint, update docs
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/6b527e29-8e26-4f86-88e2-847687f759ad

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-29 00:05:38 +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
Christian Krakau-Louis 0568caeb8f Merge pull request #125 from christianlouis/copilot/fix-mail-account-processing-issues
Silence recurring log noise from aioimaplib and Gmail discovery client
2026-03-29 00:51:20 +01:00
copilot-swe-agent[bot] dd9a80a8c5 Add domain-based logo fallback for mail accounts without provider_name
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/2a2d3ad8-ff03-4ff2-9dc0-0d1e58ac050d

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 23:42:28 +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] 0a0836e993 fix: convert jest.config.js to jest.config.mjs (ES module syntax)
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/6e25705d-50db-4b0c-969c-1be4cb3f1745

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 23:27:56 +00:00
copilot-swe-agent[bot] 0645bc0462 feat(ci): add Codecov integration with frontend Jest coverage and CODECOV_TOKEN
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/53f8deb9-5c3a-4940-a058-c8ee7e4104e0

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 23:14:15 +00:00
copilot-swe-agent[bot] 8152635238 fix(ci): replace safety scan with pip-audit to fix CI EOF error
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/986fc7f4-e884-4169-bd81-eca034e926e2

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 23:04:23 +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
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] 40c23c43fe fix: CI pipeline Node.js 20 deprecation, Codecov input, img lint errors
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/6bbc5b0e-ece1-4bed-8bf7-20e1e7027948

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 20:39:15 +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] 9eab576bf1 Fix timezone display: parse UTC timestamps correctly in logs pages
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:12:13 +00:00
Christian Krakau-Louis bf1b465971 Merge branch 'main' into copilot/update-dashboard-status-view 2026-03-28 21:08:53 +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] 6afd7c871e feat(dashboard): replace per-run table with per-account Mailbox Status view
- Remove noisy "Recent Processing Runs" table from dashboard
- Add per-account AccountStatusRow showing: name, email, OK/Error/Pending
  badge, relative last-check time, inline error message, lifetime counters
- Stats cards: "Emails Forwarded Today" → "Emails Processed" (all-time),
  "Errors" → "Accounts with Errors" (turns gray when 0)
- Remove unused processingRunsApi import (saves one API call on page load)
- "View activity & history →" link to /logs for full drill-down
- Update CHANGELOG.md and docs/TODO.md

Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/0d97741e-e999-49dd-a8f2-dceac2c1da1f

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 20:02:12 +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
copilot-swe-agent[bot] fc7e09d4d6 Add Pull Now button and provider logos to accounts page
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/0201089a-598d-4ab0-a5a3-8d2ae1120c9e

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 19:02:52 +00:00
copilot-swe-agent[bot] 441e8b54e9 fix: test connection always showed success; add per-account test endpoint
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/6268035d-325f-422a-886f-8b2919127261

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 18:57:25 +00:00
copilot-swe-agent[bot] dd4532f660 feat: mailbox-centric activity view, reduce log noise from empty polling cycles
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/1a78a249-127f-4a73-a454-3c6bafbf6e58

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 18:45:38 +00:00
copilot-swe-agent[bot] d0719eff76 Fix Celery datetime timezone crash and per-account polling interval
- Wrap account.last_check_at with _as_utc() helper before datetime
  subtraction to fix "can't subtract offset-naive and offset-aware
  datetimes" crash that silently prevented all mail account processing
- Change beat schedule from every 5 min to every 1 min so accounts
  configured with check_interval_minutes=1 are polled as expected

Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/53169783-5139-43a1-bda8-709fadd0f774

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-28 17:59:22 +00:00
copilot-swe-agent[bot] 4844377342 Decouple Gmail permissions from Google Sign-In OAuth flow
The Google Sign-In flow now only requests basic profile scopes (openid,
email, profile) instead of also requesting Gmail API scopes. Users can
grant Gmail access separately via the "Connect Gmail" button in Settings.

- Remove GMAIL_SCOPES from GOOGLE_LOGIN_SCOPES in auth.py
- Remove Gmail credential auto-provisioning from google_oauth endpoint
- Simplify /auth/google/authorize-url (no offline access or forced consent)
- Clean up auth_service.py OAuth registration to only use login scopes
- Remove unused imports (GmailCredential, GmailService, encrypt_credential, etc.)

Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/91d2db11-811f-46f5-ac89-29952ab358b5

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-27 21:01:46 +00:00
copilot-swe-agent[bot] f3ae8cc662 Fix autodeploy: use private registry in update-k8s-manifest CI job
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/56fb7508-4411-4d29-8edc-9bcd6c864c45

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-27 16:19:57 +00:00
copilot-swe-agent[bot] ccd94eb9cd fix: add GH_PAT availability check in update-k8s-manifest job to avoid 403
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/3ae3a579-b355-457a-8eb7-9c81348fa0ed

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-27 07:54:58 +00:00
copilot-swe-agent[bot] 896329ccb7 Fix black lint, fix /processing-runs 404s, add semantic release and GitOps deploy
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/3fdf6219-3e1f-4867-b74d-efb6e4fe7e72

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-26 19:17:11 +00:00
Christian Krakau-Louis b824095bf5 Merge branch 'main' into copilot/add-apprise-alerting-capabilities 2026-03-26 19:39:27 +01:00
Christian Krakau-Louis 64b8e788ce Merge pull request #90 from christianlouis/copilot/add-google-import-labels
Add configurable Gmail import labels with opinionated defaults
2026-03-26 19:36:57 +01:00
copilot-swe-agent[bot] 0bc08b9825 feat: add Apprise alerting capabilities with user and admin notification channels
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/858e72a6-5282-4ce8-b38a-db4b9e2e6f65

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-26 18:25:21 +00:00
Christian Krakau-Louis 56c62f8e6c Merge pull request #87 from christianlouis/copilot/add-logging-and-reporting-capabilities
feat: Deep processing logs & reporting with GDPR-compliant masking
2026-03-26 19:20:59 +01:00
copilot-swe-agent[bot] 5711a56569 feat: add configurable gmail import labels
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/4d504045-2740-4bab-b51e-960fe4dafe4b

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-26 18:20:09 +00:00
copilot-swe-agent[bot] fd45c838fc feat: Add logging and reporting capabilities with GDPR compliance
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/d6e65ca9-f07f-43a2-bac2-09eb44588ded

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-26 18:12:22 +00:00
copilot-swe-agent[bot] 92d67369e9 feat: rename project to InboxConverge with configurable contact details
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/82f2f361-3513-44e6-991b-db1a19902772

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-26 18:06:46 +00:00
copilot-swe-agent[bot] 74fa460660 Fix blank page on direct navigation to /admin pages
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/8bc46694-c28c-4041-af60-8c8b72fe512a

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-26 17:28:24 +00:00
copilot-swe-agent[bot] 3dcb700e68 Fix: auto-promote ADMIN_EMAIL user to superuser on application startup
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/1cafe07b-4978-4609-992d-59bffb30b208

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-26 17:14:03 +00:00
copilot-swe-agent[bot] ca87abce0a feat: add Prometheus metrics and Grafana dashboard for system health monitoring
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/11ac4536-eaad-44fe-920c-e8306918f06f

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-26 16:31:23 +00:00
copilot-swe-agent[bot] 979b7b6cec Add admin interface, auto-promote admin email, fix sender name
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/98c1f90b-0287-4908-a0be-ad066c453cc5

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-26 15:53:24 +00:00