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
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]
8faa6deb78
Security: upgrade python-jose 3.3.0 → 3.5.0 (ECDSA algorithm confusion CVE)
...
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:09:24 +00: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
Christian Krakau-Louis
56c013fb29
Merge branch 'main' into copilot/add-adr-003-through-adr-010
2026-03-25 13:08:44 +01:00
copilot-swe-agent[bot]
ca648ccf8b
Add ADR-003 through ADR-010, update TODO.md and CHANGELOG.md
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/dd261f53-4891-437e-bd71-5561ece62d7d
2026-03-25 11:40:33 +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
copilot-swe-agent[bot]
2e3b56098a
fix: wizard grey screen, missing form fields, and implement settings page
...
- Fix Tailwind v4 modal overlay: bg-opacity-75 removed, use bg-gray-500/75
- Restructure AddMailAccountModal with flexbox + relative z-10
- Add missing required fields to form: forward_to, delivery_method,
delete_after_forward; auto-sync email_address from username
- Fix DashboardLayout mobile overlay opacity (same Tailwind v4 issue)
- Make email_address/forward_to required in MailAccountCreate interface
- Add userApi.updateProfile() method
- Implement Settings page: profile, account info, security sections
- 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/d3a9e3bc-5637-45c5-b674-8ef436953614
2026-03-25 09:32:56 +00:00
copilot-swe-agent[bot]
fbfb4f0f41
Fix DBAPIError: use DateTime(timezone=True) and timezone-aware defaults in database models
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/608dd6ae-4c0c-4076-a2e3-dec62c9923f3
2026-03-24 19:05:38 +00:00
copilot-swe-agent[bot]
1f2aa54e43
fix: disable asyncpg prepared statement cache to prevent ProgrammingError at startup
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/e0178422-af66-4a2c-9cfe-13d750965c1a
2026-03-24 16:09:42 +00:00
copilot-swe-agent[bot]
c7686a49ea
fix: auto-create DB tables at startup to fix UndefinedTableError on first boot
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/148f7d4a-586e-4c3a-9d56-187b41daf277
2026-03-24 15:38:49 +00:00
copilot-swe-agent[bot]
88b7afb195
feat: log BACKEND_URL at frontend startup and include target URL in proxy errors
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/131238a2-437c-4a85-b98b-fcb3d80e69e0
2026-03-24 01:51:50 +00:00
copilot-swe-agent[bot]
76bf0b3f0c
fix: replace NEXT_PUBLIC_API_URL with Next.js Route Handler proxy for runtime backend URL
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/59e2f604-9ad3-46ef-8670-fd6b3b7c14b2
2026-03-24 01:16:01 +00:00
copilot-swe-agent[bot]
d2878f8ef6
fix: infinite spinner – init isLoading from token presence and add home-page auth check
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/b032c6bb-aa8c-491d-91f5-289c69e67b95
2026-03-24 00:53:20 +00:00
copilot-swe-agent[bot]
df8759ac88
docs: update TODO.md with Suspense fix entry
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/b875c9d3-a05d-4a09-87b5-f5f8252a6f3a
2026-03-23 23:30:15 +00:00
copilot-swe-agent[bot]
9ccd0ce881
Add dual-registry Docker deployment (GHCR + private registry)
...
- Update CI workflow to build separate backend/frontend images via matrix
- Push to both ghcr.io and registry.cklnet.com
- Add private registry login step with secret credentials
- Keep existing metadata-action tags and multi-platform builds
- 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/05b6d21a-2397-4039-9c69-46db79ec11de
2026-03-23 22:41:10 +00:00
copilot-swe-agent[bot]
2c6e1646ef
fix: upgrade SQLAlchemy to 2.0.48 for Python 3.14 compatibility
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/222505d6-7a47-4202-a77a-315550f83178
2026-03-23 19:01:35 +00:00
copilot-swe-agent[bot]
71a97379a1
Update documentation for hybrid config and Gmail API vs SMTP delivery
...
- README.md: document hybrid config model, Gmail API vs SMTP comparison,
update architecture diagram, replace Postmarkapp with Apprise
- ARCHITECTURE.md: add Gmail API vs SMTP comparison table, document
ConfigService and AppSetting, add settings/gmail API endpoints
- CHANGELOG.md: add entries for database-backed config and documentation
- TODO.md: update progress (59% coverage, production readiness 30%)
- .env.example: document bootstrap vs database-managed settings
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/ce88d4a8-d8c2-49b3-95a1-30592105a769
2026-03-23 13:39:52 +00:00
copilot-swe-agent[bot]
f439f887d0
fix: address multiple code quality improvements across backend and frontend
...
Backend fixes:
- Fix JWT sub claim: encode as str(user.id), decode with int() cast (python-jose requirement)
- Replace all deprecated datetime.utcnow() with datetime.now(timezone.utc)
- Replace deprecated FastAPI @app.on_event() with modern lifespan context manager
- Replace deprecated Pydantic class Config with model_config = ConfigDict(...)
- Replace deprecated Pydantic .dict() with .model_dump()
- Fix overly broad except (GmailInjectionError, Exception) → except Exception
- Remove unused GmailInjectionError import
- Fix TokenPayload schema sub field type from int to str
Frontend:
- Create frontend/src/lib/api.ts — API client module with auth, user, mail accounts, processing runs APIs
- Add !frontend/src/lib/ to .gitignore negation
Tests:
- Add 3 new JWT tests (sub string encoding, access token type, refresh token type)
- Update test_token_payload_schema for string sub claim
- All 128 tests pass
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/e0b13eb0-8de7-4f02-81e4-e202cbba4608
2026-03-23 13:09:23 +00:00
copilot-swe-agent[bot]
c4d8f392f8
chore: merge dependency updates from PRs #26-#49 and remove CodeQL checks
...
Backend (Python):
- pydantic 2.5.3 → 2.12.5
- pydantic-settings 2.1.0 → 2.13.1
- psycopg2-binary 2.9.9 → 2.9.11
- asyncpg 0.29.0 → 0.31.0
- stripe 7.11.0 → 14.4.1
- aioimaplib 1.0.1 → 2.0.1
- google-auth-httplib2 0.2.0 → 0.3.0
- celery 5.3.6 → 5.6.2
- redis 5.0.1 → 7.3.0
- tenacity 8.2.3 → 9.1.4
Frontend (npm):
- react 19.2.3 → 19.2.4
- @tanstack/react-query ^5.90.20 → ^5.95.0
- axios ^1.13.5 → ^1.13.6
- zustand ^5.0.11 → ^5.0.12
- eslint ^9 → ^10
- eslint-config-next 16.1.6 → 16.2.1
Docker:
- Python base image 3.11-slim → 3.14-slim
CI/CD:
- actions/setup-python v5 → v6
- actions/setup-node v4 → v6
- docker/setup-buildx-action v3 → v4
- codecov/codecov-action v3 → v5
- Python version 3.11 → 3.14, Node.js 18 → 20
- Removed CodeQL checks (was blocking builds)
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/d8a6f888-1c85-4de6-a36d-55e9dcd7489e
2026-03-23 12:33:33 +00:00
Christian Krakau-Louis
7e74d98cbe
Merge pull request #25 from christianlouis/copilot/update-deployment-documentation
...
Add deployment guide with Docker Compose and Kubernetes examples
2026-03-23 13:21:04 +01:00
copilot-swe-agent[bot]
d66af4d8ef
feat: Milestone 1 Security & Infrastructure improvements
...
- Add Dependabot configuration for pip, npm, GitHub Actions, Docker
- Update copilot instructions to require TODO.md and CHANGELOG.md updates
- Add unit tests for middleware, security, app factory, and schemas (125 total tests, 57% coverage)
- Update TODO.md with current progress
- Update CHANGELOG.md with all changes
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/2f15a52f-6812-4586-9d5c-a144226c842b
2026-03-23 11:23:37 +00:00
copilot-swe-agent[bot]
a84a4fe033
Add comprehensive deployment guide (docs/DEPLOYMENT_GUIDE.md)
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/0204699a-6f9d-4481-a23c-b543fee5e3fc
2026-03-23 11:18:33 +00:00
copilot-swe-agent[bot]
1263ed5266
Update TODO.md: document missing frontend API client, mark completed items, update progress tracking
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/71f26285-5584-42b2-8255-8ad2c9e9ecb4
2026-03-23 11:02:09 +00:00
copilot-swe-agent[bot]
b3a0c4bfd8
Clean up repo: move docs to docs/, add SECURITY.md, .editorconfig, update README with badges, fix cross-references, correct documentation to reflect actual project state
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/71f26285-5584-42b2-8255-8ad2c9e9ecb4
2026-03-23 10:57:31 +00:00
copilot-swe-agent[bot]
da4d501acb
fix: Address code review feedback - datetime, event_loop, and readability
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-02-06 22:05:09 +00:00
copilot-swe-agent[bot]
e64f0f2705
feat: Add security hardening, agentic coding infrastructure, and test framework
...
- Add SECRET_KEY and ENCRYPTION_KEY validation on startup
- Implement security headers middleware (X-Frame-Options, CSP, HSTS)
- Add CSRF protection middleware
- Create comprehensive GitHub issue templates and PR template
- Add Makefile with common development tasks
- Configure pre-commit hooks (black, ruff, mypy, bandit, detect-secrets)
- Create docs/CODING_PATTERNS.md with best practices
- Create docs/ERRORS.md documenting all error codes
- Add Architecture Decision Records (ADR) for Celery and Fernet encryption
- Create CHANGELOG.md for version tracking
- Set up pytest test infrastructure with fixtures and factories
- Add sample unit tests for security and config validation
- Create CI/CD workflows (test, lint, security)
- Add comprehensive TODO.md with milestones and progress tracking
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-02-06 22:01:11 +00:00