Commit Graph

171 Commits

Author SHA1 Message Date
Christian Krakau-Louis 89ecc06756 Merge pull request #75 from christianlouis/copilot/add-adr-003-through-adr-010
Add ADR-003 through ADR-010 to complete ADR documentation series
2026-03-25 13:10:01 +01:00
Christian Krakau-Louis 56c013fb29 Merge branch 'main' into copilot/add-adr-003-through-adr-010 2026-03-25 13:08:44 +01:00
Christian Krakau-Louis 3a21e294f2 Merge pull request #74 from christianlouis/copilot/add-disable-account-functionality
feat: account disable toggle, message deduplication, Gmail OAuth, per-user SMTP
2026-03-25 12:42:42 +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] 703ef42891 Initial plan 2026-03-25 11:31:50 +00:00
copilot-swe-agent[bot] a15216c630 feat: add account toggle, message dedup tracking, SMTP per-user and Gmail OAuth flow plan
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:20:22 +00:00
copilot-swe-agent[bot] a1d258de01 Initial plan 2026-03-25 11:10:55 +00:00
Christian Krakau-Louis af4c0f1aab Merge pull request #73 from christianlouis/copilot/fix-wizard-account-creation
Fix account creation wizard, missing required form fields, and implement Settings page
2026-03-25 11:14:21 +01:00
copilot-swe-agent[bot] eb76fe4a63 fix: resolve ESLint errors in login and settings pages (CI failure)
- login/page.tsx: remove unused _setUser binding and useAuthStore import
- login/page.tsx: replace unused _err catch binding with bare catch {}
- settings/page.tsx: remove useEffect calling setProfileForm synchronously
  (react-hooks/set-state-in-effect error); form already initialised from
  user in useState so the effect was redundant
- npm run lint now exits 0 with no errors or warnings

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/5140cd73-e2f0-41a8-ad3e-267d82d3700b
2026-03-25 09:52:53 +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] 94552a1ec7 Initial plan 2026-03-25 09:20:11 +00:00
Christian Krakau-Louis 36e50f1eed Merge pull request #72 from christianlouis/copilot/fix-datetime-issue-in-insert-query
Fix DBAPIError: use TIMESTAMPTZ columns and timezone-aware defaults in ORM models
2026-03-24 20:41:46 +01: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] 3ac7d76c2b Initial plan 2026-03-24 19:01:13 +00:00
Christian Krakau-Louis c9d23407b2 Merge pull request #71 from christianlouis/copilot/fix-seed-default-settings-error
Fix ProgrammingError at startup: asyncpg prepared statement cache invalidated by DDL
2026-03-24 19:04:09 +01: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] 8583cd751e Initial plan 2026-03-24 15:33:06 +00:00
Christian Krakau-Louis 23f1c7bd2f Merge pull request #70 from christianlouis/copilot/debug-backend-url-on-startup
feat: log BACKEND_URL at frontend startup and include target URL in proxy errors
2026-03-24 02:55:16 +01: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] 2cd0b0c6a7 Initial plan 2026-03-24 01:48:57 +00:00
Christian Krakau-Louis c17dd2ec1b Merge pull request #69 from christianlouis/copilot/fix-cors-policy-error
fix: replace build-time NEXT_PUBLIC_API_URL with runtime proxy for backend API calls
2026-03-24 02:23:23 +01: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] 82b221e4ff Initial plan 2026-03-24 01:09:25 +00:00
Christian Krakau-Louis ccb34db568 Merge pull request #68 from christianlouis/copilot/fix-content-loading-issue
Fix infinite spinner on home page caused by isLoading always initialising as true
2026-03-24 01:54:52 +01: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] b253c64090 Initial plan 2026-03-24 00:46:32 +00:00
Christian Krakau-Louis 951aa8310e Merge pull request #67 from christianlouis/copilot/fix-use-searchparams-warning
fix: wrap useSearchParams in Suspense boundary at /auth/callback
2026-03-24 00:49:45 +01: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] d3c183ae74 fix: wrap useSearchParams in Suspense boundary in /auth/callback page
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:28:44 +00:00
copilot-swe-agent[bot] 5b71a3903d Initial plan 2026-03-23 23:26:36 +00:00
Christian Krakau-Louis 3472c3158c Merge pull request #66 from christianlouis/copilot/fix-build-type-error-username
fix: resolve all TypeScript type errors blocking Docker CI build
2026-03-24 00:20:16 +01:00
copilot-swe-agent[bot] 138d314a18 fix: resolve all TypeScript build errors blocking Docker CI
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/47d45081-9f0d-4571-87d9-169ce4ae9fe0
2026-03-23 23:17:08 +00:00
copilot-swe-agent[bot] 9838ad01ae fix: correct TypeScript field names in accounts page
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/47d45081-9f0d-4571-87d9-169ce4ae9fe0
2026-03-23 23:08:04 +00:00
copilot-swe-agent[bot] 0b841822f2 Initial plan 2026-03-23 23:02:42 +00:00
Christian Krakau-Louis 7fbd841da0 Merge pull request #65 from christianlouis/copilot/fix-build-issue-with-nextjs
fix: upgrade frontend Dockerfile base image to node:20-alpine
2026-03-23 23:57:09 +01:00
copilot-swe-agent[bot] c97ec70f2c fix: upgrade Node.js base image to node:20-alpine in frontend Dockerfile
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/32fd4658-d352-4f79-b6e0-e6908f526418
2026-03-23 22:54:06 +00:00
copilot-swe-agent[bot] 50235a2ef5 Initial plan 2026-03-23 22:52:50 +00:00
Christian Krakau-Louis b84b690119 Merge pull request #64 from christianlouis/copilot/add-deployment-to-own-registry
Add dual-registry Docker deployment (GHCR + private registry)
2026-03-23 23:47:37 +01: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] 9e167874b5 Initial plan 2026-03-23 22:37:46 +00:00
Christian Krakau-Louis 14a3f52067 Merge pull request #62 from christianlouis/code-health-unused-imports-models-init-5127216271700083315
🧹 [code health improvement] Silence unused imports in models/__init__.py and fix CI environment
2026-03-23 22:32:27 +01:00
Christian Krakau-Louis 57fa92e35e Merge pull request #63 from christianlouis/copilot/update-repo-settings-for-attestation
Remove build attestation step — not supported for private user-owned repos
2026-03-23 22:31:55 +01:00
copilot-swe-agent[bot] 6b25c065cb Remove build attestation step - not supported for private user-owned repos
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/d9e408e0-93f9-43cb-9239-17def364a948
2026-03-23 21:27:09 +00:00
copilot-swe-agent[bot] ab0847afdf Initial plan 2026-03-23 21:25:45 +00:00
Christian Krakau-Louis be398c728b Merge pull request #61 from christianlouis/copilot/fix-tests-issue
fix: upgrade SQLAlchemy to 2.0.48 for Python 3.14 compatibility
2026-03-23 21:54:31 +01: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
google-labs-jules[bot] fe9ab11e3c 🧹 [code health improvement] Silence unused imports in models/__init__.py and fix CI environment
- Updated `backend/app/models/__init__.py` to use explicit re-exports (e.g., `from app.models.database_models import User as User`) to satisfy static analysis tools (PEP 484).
- Alphabetized the imports and `__all__` list in `backend/app/models/__init__.py` for better maintainability.
- Downgraded Python version from `3.14` (unstable/alpha) to `3.12` in `.github/workflows/ci.yml` to resolve `SQLAlchemy` compatibility issues.
- Fixed an invalid `eslint` dependency version (`^10`) in `frontend/package.json` to `^9`.

🎯 **What:** The code health issue addressed is "unused imports" in `models/__init__.py` being flagged by static analysis tools, and various CI environment blockers.
💡 **Why:** This improves maintainability and silences linting noise while maintaining the package's public API. Stabilizing the CI environment was necessary to verify the changes.
 **Verification:** Confirmed via code review and manual inspection. The explicit re-export pattern is the standard, idiomatic way to handle this in Python.
 **Result:** Cleaner backend code and a functional, stable CI environment.

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-23 18:57:08 +00:00
copilot-swe-agent[bot] a2215f1482 Initial plan 2026-03-23 18:56:31 +00:00