16 Commits

Author SHA1 Message Date
bjoernpoettker 14c11bf718 Revert "feat: auto-move imported emails to IMAP folder and add 90-day cleanup"
This reverts commit b1b30fe1dd.
2026-06-16 16:19:11 +02:00
bjoernpoettker b1b30fe1dd feat: auto-move imported emails to IMAP folder and add 90-day cleanup
Build and Push Multi-Platform Images / build-and-push (push) Successful in 41s
- New ImapFolderService moves emails to configurable "importiert" folder
  after successful import, creating the folder if it doesn't exist
- Daily cron at 03:00 moves emails older than 90 days to trash and empties it
- Extract createImapClient() helper in EmailDownloadService
- Add ensurePageCache() with in-flight deduplication to BarcodeScannerService
- InboxService regenerates page cache on-demand when image file is missing
- IMAP_IMPORTED_FOLDER and IMAP_TRASH_FOLDER added to .env.example and docker-compose

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-16 13:53:56 +02:00
bjoernpoettker 184ac3f5cc feat: add clickable links to daily digest emails via APP_URL
Build and Push Multi-Platform Images / build-and-push (push) Successful in 34s
- Read APP_URL and AGRARMONITOR_BASE_URL from config
- Render dashboard entries as clickable links in HTML digest email
- Add APP_URL and DAILY_DIGEST_CRON to .env.example and docker-compose.yml

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 18:12:02 +02:00
bjoernpoettker 8c5a81ed27 feat: implement ProcessVerarbeiteteDocuments (Upload-Check)
Build and Push Multi-Platform Images / build-and-push (push) Successful in 37s
Ported ProcessVerarbeiteteDocuments() from C# ProcessUploads.cs:
- Checks docs tagged "hochgeladen" → eingangsrechnungVorhanden()
- On match: livesearch, update title/type/created/correspondent/tags,
  set custom fields (externeBelegnummer, AgrarmonitorLink), addNote
- Tag "hochgeladen" → "fertig" swap; owner via Client.AgrarmonitorBetriebId
- 401/403 guard: clearClient() + break (same pattern as runPolling)
- Cron: AGRARMONITOR_UPLOAD_CHECK_CRON (default: 0 * * * * *)
- New settings: agrarmonitor_tag_hochgeladen, agrarmonitor_link_field
- Endpoint: POST /api/agrarmonitor/process-uploads
- Frontend: polling-config extended with tagHochgeladen + linkField select,
  new card "Dokumenten-Verarbeitung" with run button + result display

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 12:11:44 +02:00
bjoernpoettker e5271fc035 chore: add AGRARMONITOR_POLLING_CRON to docker-compose.yml
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 15:05:20 +02:00
bjoernpoettker 1f5dcf4a17 feat: add Agrarmonitor integration module
- New backend module (agrarmonitor) with status check and device registration
- Frontend settings tab with connection status display and registration form
- Environment variables for base URLs, credentials, cookie path and encryption key
- Docker Compose env passthrough for agrarmonitor config

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 21:30:46 +02:00
bjoernpoettker 1e7e8cf6da feat: inject PAPERLESS_URL environment variable and update document link rendering in MailDetailPage
Build and Push Multi-Platform Images / build-and-push (push) Successful in 18s
2026-05-18 20:53:17 +02:00
bjoernpoettker d19fd266c7 feat: add configurable sender name and allow users to choose between system and personal SMTP accounts when sending emails
Build and Push Multi-Platform Images / build-and-push (push) Successful in 34s
2026-05-06 20:49:09 +02:00
bjoernpoettker 8212f733ab feat: implement AES-256-GCM encryption for SMTP passwords with environment-based key support
Build and Push Multi-Platform Images / build-and-push (push) Successful in 27s
2026-05-06 20:10:20 +02:00
bjoernpoettker 942c15eef8 Update production volume mounts to /mnt paths
Build and Push Multi-Platform Images / build-and-push (push) Successful in 9s
2026-05-04 10:52:50 +02:00
bjoernpoettker 69147ba95d Fix double /api prefix by clearing VITE_API_URL
Build and Push Multi-Platform Images / build-and-push (push) Successful in 12s
2026-05-04 09:46:59 +02:00
bjoernpoettker 9c9192940a chore: set default OIDC configuration values in docker-compose.yml
Build and Push Multi-Platform Images / build-and-push (push) Successful in 10s
2026-05-04 09:43:31 +02:00
bjoernpoettker 4e0d3b50a5 Update URLs to use new subdomain px-7a9b2.poettker-cloud.de
Build and Push Multi-Platform Images / build-and-push (push) Successful in 11s
2026-05-04 09:31:38 +02:00
bjoernpoettker f907361a5d Update production ports to 7600 (frontend) and 7601 (backend) in compose and example env
Build and Push Multi-Platform Images / build-and-push (push) Successful in 11s
2026-05-04 09:09:25 +02:00
bjoernpoettker 33eb9eeb33 Update production docker-compose with Gitea registry images
Build and Push Multi-Platform Images / build-and-push (push) Failing after 1m42s
2026-05-04 08:27:59 +02:00
bjoernpoettker effdc5d59f Initial commit with Email Import Wizard and Task Processor updates 2026-05-04 08:02:11 +02:00