copilot-swe-agent[bot]
fd784e5816
Clean up Docker metadata tags per code review feedback
...
Remove type=ref,event=branch (redundant since build only runs on main)
and simplify SHA tag to use plain prefix instead of {{branch}}- template.
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/3903cad7-10be-46e6-8e2d-619d2a874235
2026-03-23 10:30:25 +00:00
copilot-swe-agent[bot]
f7fc10f2dc
fix: bump authlib 1.6.6 → 1.6.9 to patch four security vulnerabilities
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/a88d0d53-5145-4ae3-b86b-5374c55e4a2b
2026-03-23 10:30:22 +00:00
Christian Krakau-Louis
e0e6cc74e6
Merge branch 'main' into copilot/add-account-management-functionality
2026-03-23 11:29:12 +01:00
copilot-swe-agent[bot]
e952844806
Consolidate 4 workflow files into single phased CI pipeline
...
Replace lint.yml, test.yml, security.yml, and docker-build.yml with a
single ci.yml that chains: Lint → Test → Security (CodeQL) → Build.
- Phase 1 (Lint): Black, Ruff, mypy for backend; ESLint for frontend
- Phase 2 (Test): pytest with coverage, PostgreSQL & Redis services
- Phase 3 (Security): Bandit, Safety, CodeQL (Python + JS/TS)
- Phase 4 (Build): Docker build+push, only on main branch or version tags
Each phase depends on the previous one passing. Docker images are only
built when pushing to main or tagging a release.
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/3903cad7-10be-46e6-8e2d-619d2a874235
2026-03-23 10:29:02 +00:00
copilot-swe-agent[bot]
5c84441195
fix: add pythonpath = . to pytest.ini to resolve ModuleNotFoundError for app module
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/a88d0d53-5145-4ae3-b86b-5374c55e4a2b
2026-03-23 10:27:33 +00:00
copilot-swe-agent[bot]
9f8f63ec17
Fix authlib security vulnerabilities: upgrade 1.6.6 -> 1.6.9
...
Fixes four CVEs:
- OIDC hash binding fail-open cryptographic verification
- JWE RSA1_5 Bleichenbacher padding oracle
- alg:none signature verification bypass
- JWS JWK header injection signature verification bypass
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/beb47db2-da25-416a-8fb0-c1452a3b22a7
2026-03-23 10:27:14 +00:00
copilot-swe-agent[bot]
88a44dfe73
Initial plan
2026-03-23 10:26:30 +00:00
copilot-swe-agent[bot]
39dd52b5b8
Initial plan
2026-03-23 10:25:09 +00:00
copilot-swe-agent[bot]
bcbef88803
Fix CI failures: add backend/conftest.py for module resolution and run black formatting
...
- Add backend/conftest.py that inserts the backend directory into sys.path,
fixing ModuleNotFoundError when pytest runs from the backend/ directory
(as CI does with `cd backend && pytest tests/`)
- Run black formatter on all 28 backend files that needed reformatting
- All 53 tests pass with both `pytest tests/` and `python -m pytest tests/`
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/beb47db2-da25-416a-8fb0-c1452a3b22a7
2026-03-23 10:24:28 +00:00
Christian Krakau-Louis
52f1d5bcf4
Merge pull request #17 from christianlouis/dependabot/npm_and_yarn/frontend/flatted-3.4.2
...
Bump flatted from 3.3.3 to 3.4.2 in /frontend
2026-03-23 11:22:56 +01:00
Christian Krakau-Louis
be83770301
Merge pull request #16 from christianlouis/dependabot/npm_and_yarn/frontend/next-16.1.7
...
Bump next from 16.1.6 to 16.1.7 in /frontend
2026-03-23 11:22:43 +01:00
Christian Krakau-Louis
d77f29f294
Merge pull request #15 from christianlouis/dependabot/pip/backend/authlib-1.6.9
...
Bump authlib from 1.6.6 to 1.6.9 in /backend
2026-03-23 11:22:30 +01:00
Christian Krakau-Louis
b5c1b4d52a
Merge pull request #12 from christianlouis/dependabot/npm_and_yarn/frontend/multi-770cfcd984
...
Bump minimatch in /frontend
2026-03-23 11:22:17 +01:00
Christian Krakau-Louis
203d9fd895
Merge pull request #10 from christianlouis/dependabot/npm_and_yarn/frontend/ajv-6.14.0
...
Bump ajv from 6.12.6 to 6.14.0 in /frontend
2026-03-23 11:22:01 +01:00
copilot-swe-agent[bot]
8bf1019e0b
Initial plan
2026-03-23 10:20:49 +00:00
copilot-swe-agent[bot]
681e0582f6
Address code review: fix imports, salt hashing, conditional delivery message
...
- Move asyncio import to module level in gmail_service.py
- Move datetime import to module level in providers.py
- Use hashlib.sha256 for per-user salt generation (no truncation risk)
- Make delivery method message conditional in AddMailAccountModal
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/de3ef930-a980-4958-8a9d-a2c802918e81
2026-03-22 19:05:41 +00:00
copilot-swe-agent[bot]
b05d489563
Fix pre-existing bugs: PBKDF2 import, test function names, salt truncation
...
- Fix cryptography import: PBKDF2 -> PBKDF2HMAC
- Fix test_security.py: use CredentialEncryption class instead of non-existent functions
- Fix salt generation to include user_id in differentiation
- Remove unavailable poplib3 dependency
- All 53 tests pass
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/de3ef930-a980-4958-8a9d-a2c802918e81
2026-03-22 19:03:22 +00:00
copilot-swe-agent[bot]
40150da3a9
Add Gmail API injection, provider presets, delivery method, and frontend wizard
...
- Add gmail_service.py with Gmail API users.messages.insert() for direct email injection
- Add DeliveryMethod enum and GmailCredential model to database models
- Add delivery_method field to MailAccount schema and model
- Create providers.py endpoint with 12 provider presets (Gmail, GMX, WEB.DE, Outlook, Yahoo, AOL, T-Online, 1&1/IONOS, Freenet, Posteo, mail.de, iCloud)
- Expand MailServerAutoDetect with 30+ domain mappings
- Update Celery tasks to prefer Gmail API injection, with SMTP fallback
- Add ProviderWizard.tsx frontend component for quick provider setup
- Update AddMailAccountModal.tsx with wizard integration
- Add Google API Python client libraries to requirements.txt
- Add Gmail API config settings
- Add unit tests for Gmail service and provider presets
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/de3ef930-a980-4958-8a9d-a2c802918e81
2026-03-22 19:00:30 +00:00
copilot-swe-agent[bot]
6435af3251
Initial plan
2026-03-22 18:51:20 +00:00
dependabot[bot]
1a80cbb480
Bump flatted from 3.3.3 to 3.4.2 in /frontend
...
Bumps [flatted](https://github.com/WebReflection/flatted ) from 3.3.3 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2 )
---
updated-dependencies:
- dependency-name: flatted
dependency-version: 3.4.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-21 19:14:18 +00:00
dependabot[bot]
5c7f37c540
Bump next from 16.1.6 to 16.1.7 in /frontend
...
Bumps [next](https://github.com/vercel/next.js ) from 16.1.6 to 16.1.7.
- [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.1.6...v16.1.7 )
---
updated-dependencies:
- dependency-name: next
dependency-version: 16.1.7
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-17 21:49:18 +00:00
dependabot[bot]
93c467bac5
Bump authlib from 1.6.6 to 1.6.9 in /backend
...
Bumps [authlib](https://github.com/authlib/authlib ) from 1.6.6 to 1.6.9.
- [Release notes](https://github.com/authlib/authlib/releases )
- [Changelog](https://github.com/authlib/authlib/blob/main/docs/changelog.rst )
- [Commits](https://github.com/authlib/authlib/compare/v1.6.6...v1.6.9 )
---
updated-dependencies:
- dependency-name: authlib
dependency-version: 1.6.9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-16 15:40:42 +00:00
dependabot[bot]
8df37cb694
Bump minimatch in /frontend
...
Bumps and [minimatch](https://github.com/isaacs/minimatch ). These dependencies needed to be updated together.
Updates `minimatch` from 3.1.2 to 3.1.5
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md )
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5 )
Updates `minimatch` from 9.0.5 to 9.0.9
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md )
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5 )
---
updated-dependencies:
- dependency-name: minimatch
dependency-version: 3.1.5
dependency-type: indirect
- dependency-name: minimatch
dependency-version: 9.0.9
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-01 22:07:46 +00:00
dependabot[bot]
f21fd12615
Bump ajv from 6.12.6 to 6.14.0 in /frontend
...
Bumps [ajv](https://github.com/ajv-validator/ajv ) from 6.12.6 to 6.14.0.
- [Release notes](https://github.com/ajv-validator/ajv/releases )
- [Commits](https://github.com/ajv-validator/ajv/compare/v6.12.6...v6.14.0 )
---
updated-dependencies:
- dependency-name: ajv
dependency-version: 6.14.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-21 08:23:30 +00:00
Christian Krakau-Louis
19f268c911
Merge pull request #8 from christianlouis/dependabot/pip/backend/cryptography-46.0.5
...
Bump cryptography from 44.0.1 to 46.0.5 in /backend
2026-02-21 09:22:32 +01:00
Christian Krakau-Louis
465271ddea
Merge pull request #9 from christianlouis/dependabot/npm_and_yarn/frontend/axios-1.13.5
...
Bump axios from 1.13.4 to 1.13.5 in /frontend
2026-02-21 09:22:19 +01:00
dependabot[bot]
ce04c50672
Bump axios from 1.13.4 to 1.13.5 in /frontend
...
Bumps [axios](https://github.com/axios/axios ) from 1.13.4 to 1.13.5.
- [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.13.4...v1.13.5 )
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.13.5
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-11 20:30:27 +00:00
dependabot[bot]
7838ed17f9
Bump cryptography from 44.0.1 to 46.0.5 in /backend
...
Bumps [cryptography](https://github.com/pyca/cryptography ) from 44.0.1 to 46.0.5.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/44.0.1...46.0.5 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-version: 46.0.5
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-11 01:53:51 +00:00
Christian Krakau-Louis
b9ba04c6e9
Merge pull request #7 from christianlouis/copilot/analyze-security-and-code-improvements
...
Security hardening, test infrastructure, and agentic development framework
2026-02-06 23:26:24 +01:00
Christian Krakau-Louis
b6544e2f10
Merge pull request #6 from christianlouis/copilot/update-multitenancy-web-interface
...
Implement web interface for multi-tenant POP3 forwarder
2026-02-06 23:26:07 +01:00
copilot-swe-agent[bot]
8d45fb7de7
docs: Add comprehensive security summary - all security work complete
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-02-06 22:09:13 +00:00
copilot-swe-agent[bot]
13a79244ac
security: Add explicit GITHUB_TOKEN permissions to all workflows
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-02-06 22:07:25 +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]
d1be17c1c3
docs: Add comprehensive improvements summary
2026-02-06 22:03:19 +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
copilot-swe-agent[bot]
24e7d161d7
Initial plan
2026-02-06 21:51:28 +00:00
copilot-swe-agent[bot]
b3848cd1d9
Complete web interface implementation - Final summary
...
- Add IMPLEMENTATION_COMPLETE.md with full project summary
- Document all achievements and deliverables
- Include code statistics and quality metrics
- List all features implemented
- Mark project ready for production deployment
Web interface and multitenancy implementation is now complete!
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-02-01 14:16:55 +00:00
copilot-swe-agent[bot]
5f6e760b17
Add deployment checklist and finalize documentation
...
- Create DEPLOYMENT_CHECKLIST.md with complete deployment guide
- Include pre-deployment checklist with security hardening
- Add maintenance procedures and backup strategies
- Document troubleshooting steps and monitoring setup
- Provide post-deployment verification checklist
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-02-01 14:15:31 +00:00
copilot-swe-agent[bot]
ff9c061442
Add comprehensive testing and UI documentation
...
- Create TESTING_GUIDE.md with step-by-step testing instructions
- Add UI_DOCUMENTATION.md detailing all interface screens
- Update FEATURE_SUMMARY.md to mark web interface as complete
- Document all UI components, screens, and user flows
- Include troubleshooting and verification checklists
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-02-01 14:14:02 +00:00
copilot-swe-agent[bot]
f33bdda6a8
Add complete web interface with Next.js frontend
...
- Initialize Next.js 14 app with TypeScript and Tailwind CSS
- Create authentication flows (login, register, OAuth)
- Build dashboard with overview statistics
- Implement mail accounts management (list, add, edit, delete)
- Add auto-detect and test connection features
- Create responsive layout with sidebar navigation
- Configure Docker deployment for frontend
- Update docker-compose.new.yml with frontend service
- Add comprehensive web interface documentation
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-02-01 14:11:12 +00:00
copilot-swe-agent[bot]
8c5da57aee
Remove hardcoded trend value from dashboard
2026-02-01 14:08:36 +00:00
copilot-swe-agent[bot]
f26ab702de
Add frontend components: dashboard, accounts, auth callback, and modal forms
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-02-01 14:07:56 +00:00
copilot-swe-agent[bot]
dfe5af1898
Initial plan
2026-02-01 13:58:08 +00:00
Christian Krakau-Louis
27845caf66
Merge pull request #5 from christianlouis/dependabot/pip/backend/authlib-1.6.6
...
Bump authlib from 1.6.5 to 1.6.6 in /backend
2026-02-01 14:56:19 +01:00
Christian Krakau-Louis
e66f9bcd15
Merge pull request #4 from christianlouis/dependabot/pip/backend/cryptography-44.0.1
...
Bump cryptography from 42.0.4 to 44.0.1 in /backend
2026-02-01 14:56:04 +01:00
dependabot[bot]
0928cc6161
Bump authlib from 1.6.5 to 1.6.6 in /backend
...
Bumps [authlib](https://github.com/authlib/authlib ) from 1.6.5 to 1.6.6.
- [Release notes](https://github.com/authlib/authlib/releases )
- [Changelog](https://github.com/authlib/authlib/blob/main/docs/changelog.rst )
- [Commits](https://github.com/authlib/authlib/compare/v1.6.5...v1.6.6 )
---
updated-dependencies:
- dependency-name: authlib
dependency-version: 1.6.6
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-01 13:55:31 +00:00
dependabot[bot]
50143ef5f6
Bump cryptography from 42.0.4 to 44.0.1 in /backend
...
Bumps [cryptography](https://github.com/pyca/cryptography ) from 42.0.4 to 44.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/42.0.4...44.0.1 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-version: 44.0.1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-01 13:55:31 +00:00
Christian Krakau-Louis
06c146c9f8
Merge pull request #3 from christianlouis/copilot/add-multi-user-pop3-support
...
Transform single-user forwarder to multi-tenant SaaS with encrypted credentials and OAuth
2026-02-01 14:54:33 +01:00
copilot-swe-agent[bot]
439d1f2ec7
SECURITY: Update dependencies to fix 11 vulnerabilities (aiohttp, authlib, cryptography, fastapi, python-multipart)
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-02-01 13:00:31 +00:00
copilot-swe-agent[bot]
0dc777bb7e
Add security analysis report - CodeQL passed with 0 alerts, production ready
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-02-01 12:57:45 +00:00