Commit Graph

62 Commits

Author SHA1 Message Date
copilot-swe-agent[bot] 82829661da fix: track alembic migrations and logs pages (fix .gitignore exclusions)
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:19:52 +00:00
copilot-swe-agent[bot] fd229d1b51 fix: add missing comma in DashboardLayout.tsx lucide-react import to fix ESLint parse error
Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/53b5844c-0622-4ef1-9944-2da36a498e06

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-26 19:27:29 +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] 2708a010bf fix: show accurate dot count for masked Apprise URL in wizard
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-26 18:19:46 +00:00
copilot-swe-agent[bot] 5f24e7f1b6 feat: add Apprise notification frontend
- Add NotificationConfig, AdminNotificationConfig types and
  notificationsApi / adminNotificationsApi namespaces to api.ts
- Create NotificationWizard component with 3-step flow:
  channel selection, field entry (Telegram/Discord/Slack/Email/
  Webhook/Custom), URL preview + preferences
- Create /notifications page with full CRUD: list, add, edit,
  delete, enable/disable toggle, test per channel
- Add Notifications nav item (Bell icon) to DashboardLayout
- Add System Alert Channels section to admin/page.tsx with
  inline AdminNotificationModal for add/edit/delete/test

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-26 18:18:30 +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
Christian Krakau-Louis dd91110ff1 Merge pull request #83 from christianlouis/copilot/add-admin-interface-for-users
Fix test_app_title assertion after InboxRescue rebrand
2026-03-26 17:18:00 +01:00
copilot-swe-agent[bot] f1a55b4f74 Add Impressum and Datenschutz pages with footer links
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/6d3074a3-7a69-4817-b739-a7eaed9a68d6

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-26 16:15:07 +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] 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
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
dependabot[bot] d494460701 chore(deps): bump the npm_and_yarn group across 1 directory with 1 update
Bumps the npm_and_yarn group with 1 update in the /frontend directory: [picomatch](https://github.com/micromatch/picomatch).


Updates `picomatch` from 2.3.1 to 2.3.2
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)

Updates `picomatch` from 4.0.3 to 4.0.4
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: picomatch
  dependency-version: 4.0.4
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-25 22:42:04 +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
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] 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] 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] 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] 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] 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
Christian Krakau-Louis 0a2662e296 Merge pull request #55 from christianlouis/copilot/fix-eslint-react-display-name-rule
fix(frontend): downgrade ESLint to v9 to fix eslint-config-next compatibility
2026-03-23 17:06:36 +01:00
Christian Krakau-Louis 9551aae47c Merge branch 'main' into testing-auth-store-improvements-16756141904230151053 2026-03-23 17:05:43 +01:00
google-labs-jules[bot] 2d232bb603 🧪 [testing improvement description] Implement unit tests for useAuthStore and fix linting.
🎯 **What:** This PR adds comprehensive unit tests for the `useAuthStore` Zustand store and resolves a CI linting failure by downgrading ESLint to version 9.
📊 **Coverage:** The new tests cover:
- Initial state verification.
- User state updates via `setUser`.
- Token management via `setToken`.
- Loading state toggles with `setLoading`.
- Complete logout flow, including `localStorage` cleanup.
 **Result:** Increased reliability of the authentication logic and restored CI health. The store implementation was also refined to properly include and handle the `token` property.

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-23 14:42:29 +00:00
google-labs-jules[bot] 4515042acf 🧪 [testing improvement description] Implement unit tests for useAuthStore and refine store logic.
🎯 **What:** This PR adds comprehensive unit tests for the `useAuthStore` Zustand store in the frontend. It addresses a gap where no unit tests were present for authentication state management.
📊 **Coverage:** The new tests cover:
- Initial state verification.
- User state updates via `setUser`.
- Token management via `setToken`.
- Loading state toggles with `setLoading`.
- Complete logout flow, including `localStorage` cleanup.
 **Result:** Increased reliability of the authentication logic by ensuring state changes are deterministic and correctly persist/clear tokens as needed. The store implementation was also refined to properly include and handle the `token` property.

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-23 14:36:44 +00:00
copilot-swe-agent[bot] 09fb87ec7e fix: downgrade ESLint to ^9 to fix react/display-name TypeError
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/402f27be-f4c8-4470-8ef8-9c060d87126e
2026-03-23 14:31:51 +00:00
copilot-swe-agent[bot] 7bca1999da Fix npm ci: sync eslint-config-next to 16.2.1 in package.json to match lock file
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/2ec6aaab-a34d-4a91-a2cf-e75a49022638
2026-03-23 13:35:49 +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
Christian Krakau-Louis a513ef3c20 Update frontend/package.json
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-23 13:58:18 +01: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 4338490fa3 Merge pull request #50 from christianlouis/dependabot/npm_and_yarn/frontend/lucide-react-0.577.0
chore(deps): bump lucide-react from 0.563.0 to 0.577.0 in /frontend
2026-03-23 13:26:05 +01:00
dependabot[bot] 8133197d35 chore(deps): bump react-dom from 19.2.3 to 19.2.4 in /frontend
Bumps [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) from 19.2.3 to 19.2.4.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.4/packages/react-dom)

---
updated-dependencies:
- dependency-name: react-dom
  dependency-version: 19.2.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-23 12:23:49 +00:00
dependabot[bot] 33277717fa chore(deps): bump lucide-react from 0.563.0 to 0.577.0 in /frontend
Bumps [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) from 0.563.0 to 0.577.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.577.0/packages/lucide-react)

---
updated-dependencies:
- dependency-name: lucide-react
  dependency-version: 0.577.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-23 12:23:40 +00:00
copilot-swe-agent[bot] 27c50e49cf Fix all mypy and eslint errors, add copilot lint instructions
Backend (mypy - 56 errors fixed):
- database.py: Fix async generator return type to AsyncGenerator
- database_models.py: Add type annotations for SQLEnum columns
- middleware.py: Use explicit Optional for exempt_paths parameter
- mail_processor.py: Fix type narrowing in fetch_emails, add Dict type annotation for KNOWN_PROVIDERS
- users.py, auth.py, providers.py, tasks.py: Add type: ignore comments for SQLAlchemy Column assignment patterns

Frontend (eslint - 3 errors, 2 warnings fixed):
- login/page.tsx: Replace any with unknown + type narrowing, prefix unused vars with underscore
- register/page.tsx: Replace any with unknown + type narrowing

Add .github/copilot-instructions.md with lint-check requirements

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/dac7ab78-fe27-4fe4-890f-32c6c1c6d881
2026-03-23 10:48:16 +00:00
Christian Krakau-Louis e0e6cc74e6 Merge branch 'main' into copilot/add-account-management-functionality 2026-03-23 11:29:12 +01: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