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
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
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
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
Christian Krakau-Louis
526824de05
Merge pull request #104 from christianlouis/copilot/update-processing-log-entries
...
Fix processing log entries: stale runs, error handler crash, and duration display bug
2026-03-28 12:30:39 +01:00
copilot-swe-agent[bot]
88fac1d8dd
Fix processing log bugs: error handler crash, early-exit path, stale-run detection, and duration formatting
...
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/3f1ca3bd-627e-4c78-a652-0262d63638fc
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-28 11:19:37 +00:00
copilot-swe-agent[bot]
1bb3f71230
Add version/build-date status bar to dashboard footer
...
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/9efbf677-2d92-487b-abae-9adf0c728f88
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-28 11:09:38 +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]
f8a9f3ce53
fix: SyntaxWarning in mail_processor and stale running runs in tasks
...
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/b5def92f-03a4-493c-a5a7-d15a7ca82492
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-27 17:28:28 +00:00
copilot-swe-agent[bot]
69de187aab
fix: add Alembic migration for notification_configs columns and create /logs and /admin/logs pages
...
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/fccf042a-a3d9-4eff-a897-9bb3650629cc
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-26 21:17:55 +00:00
copilot-swe-agent[bot]
412e7bc6f5
fix: make NotificationConfigBase.name optional with default 'My Notification' to match DB default
...
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/7640aaa6-61f4-4c65-8eb7-f33c2d3eb755
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-26 19:34:38 +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
copilot-swe-agent[bot]
9314c38775
chore: address review follow-ups
...
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:24:00 +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]
bbd2febfc1
Add Apprise alerting capabilities (backend)
...
- Add name + apprise_url columns to NotificationConfig model
- Add AdminNotificationConfig model for system-wide alert channels
- Create NotificationService with send_user_notification,
send_admin_notification, and test_notification helpers
- Replace stub notifications.py with full CRUD + /test endpoint
- Add admin notification config CRUD + /test to admin.py
- Update NotificationConfig schemas: name required, apprise_url
optional, config optional (default {})
- Add AdminNotificationConfig* schemas
- Integrate send_user_notification into process_mail_account task
for Gmail revocation, forwarding failures, and exceptions
- Update CHANGELOG.md
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-26 18:06:05 +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]
d4aa353383
B2C/B2B split: DEFAULT_USER_TIER, ALLOWED_DOMAINS, zero-price filter, InboxRescue branding & pricing page
...
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 16:10:39 +00:00
copilot-swe-agent[bot]
53334402aa
wip: plan for B2C/B2B split requirements
...
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 16:04:29 +00:00
copilot-swe-agent[bot]
7971d3f76a
Fix subscription limits; seed Free/Good/Better/Best default plans
...
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 16:00:56 +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
copilot-swe-agent[bot]
30d24c96f2
Fix offset-naive/offset-aware datetime subtraction in process_mail_account
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/ff7ce94c-aeb6-4577-a87c-77fcdcb414f7
2026-03-26 13:00:57 +00:00
Christian Krakau-Louis
c404afa539
Merge branch 'main' into copilot/fix-mailbox-parameter-editing
2026-03-26 11:47:37 +01:00
Christian Krakau-Louis
aa3f188b6f
Merge pull request #81 from christianlouis/copilot/add-debug-functionality-gmail-integration
...
security: upgrade python-jose 3.3.0 → 3.4.0 (algorithm confusion with OpenSSH ECDSA keys)
2026-03-26 11:45:20 +01:00
copilot-swe-agent[bot]
8cf0d101bf
Make all mailbox fields editable; pre-populate username from API response
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/20fa7a89-23e5-462c-8b4d-9c6cdb4d0501
2026-03-25 23:06:04 +00:00
copilot-swe-agent[bot]
5c40415590
Add Gmail debug email functionality
...
- GmailService: add get_or_create_label() and inject_debug_email() methods
- providers.py: add POST /providers/gmail/debug-email endpoint
- api.ts: add GmailDebugEmailResponse interface and gmailApi.sendDebugEmail()
- settings/page.tsx: add Send Debug Email button with success/error feedback
- Update CHANGELOG.md and docs/TODO.md
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/c609ede7-b9d7-4ab1-acdb-8d29164066cc
2026-03-25 23:00:47 +00:00
copilot-swe-agent[bot]
20170f2f2d
Fix mailbox edit form: pre-populate fields, prevent credential overwrite, lock immutable settings
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/20fa7a89-23e5-462c-8b4d-9c6cdb4d0501
2026-03-25 23:00:00 +00:00
copilot-swe-agent[bot]
fb9b3893c4
Fix Exception terminating connection in Celery workers by disposing engine after each task
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/3960b056-8c90-407f-8024-c8abd2e479fb
2026-03-25 22:52:14 +00:00
copilot-swe-agent[bot]
b46fabd8cd
feat: expand Gmail OAuth scopes, unify Google callback URL, store Gmail creds on login
...
- Add gmail.readonly to GMAIL_SCOPES (gmail_service) and GMAIL_API_SCOPES (providers)
so users().getProfile() no longer returns 403 insufficientPermissions
- Consolidate Gmail scope list: GMAIL_SCOPES in gmail_service.py is the single
source of truth; auth.py and providers.py now import and spread it
- Add include_granted_scopes=true to both Gmail and login authorize URLs so
scope additions take effect for previously-connected users
- Add state=gmail_connect to the Gmail authorize URL; the shared /auth/callback
page routes to gmailApi.saveCallback() when this state is present, otherwise
falls through to the normal login flow
- Google Sign-In authorize URL now requests all six scopes (openid, email,
profile + 3 Gmail scopes) with access_type=offline, prompt=consent, and
include_granted_scopes=true
- POST /auth/google now stores Gmail credentials automatically after sign-in
(non-fatal: login succeeds even if credential storage fails)
- Settings Connect Gmail button now uses /auth/callback instead of
/auth/gmail-callback - only ONE redirect URI needed in Google Cloud Console
- URL-encode scope parameter in both authorize URL builders
- Update auth_service._register_google scope to include all Gmail scopes
- Update CHANGELOG.md and docs/TODO.md
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/d6e2de8b-088d-46f3-8127-137245c3ecdd
2026-03-25 19:53:46 +00:00
copilot-swe-agent[bot]
caa8eecd0a
feat: Gmail OAuth flow, per-user SMTP, message dedup, account disable toggle
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/b77800ca-b452-4427-b0bf-63403e906916
2026-03-25 11:34:52 +00:00