boban
3869f6e67f
Fix: Login-Redirect nur bei erfolgreichem SSL auf Domain umleiten
...
ssl_configured=1 → https://{ui_domain}/login
ssl_configured=0 → /login (bleibt auf aktueller IP/Host)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 14:08:01 +02:00
boban
a322aa17ac
Fix: goToLogin leitet auf konfigurierte UI-Domain weiter
...
route('login') nutzt die gecachte Config (alte IP/URL). Stattdessen
direkt auf https://{ui_domain}/login umleiten, da APP_URL erst nach
dem Prozess-Neustart greift.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 14:06:54 +02:00
boban
0b415c6862
Fix: Setup-Wizard bei HTTPS auf HTTP umleiten
...
Vor SSL-Zertifikaten schlägt Livewires AJAX über HTTPS fehl.
mount() leitet automatisch auf http:// um damit der Wizard funktioniert.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 14:04:50 +02:00
boban
31f486c753
Fix: SSL-Erstellung nicht von APP_ENV abhängig machen
...
isProduction()-Check entfernt — SSL wird jetzt allein durch skipSsl gesteuert,
da APP_ENV=local sonst SSL-Zertifikate komplett verhindert.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 14:03:24 +02:00
boban
01e7db589a
Fix: Installer + Wizard Step 5 robuster gegen IPv6/SSL-Fehler
...
- installer.sh: mailwolt-apply-domains mit 3-Phasen certbot (HTTP → LE → SSL),
IPv6-Check vor certbot, Zertifikat-Ablauf-Check (10 Tage), Version-Datei schreiben
- WizardDomains: noipv6-Status aus Helper-Output erkennen
- Wizard: retryDomains()-Methode für Wiederholung ohne neuen Wizard-Durchlauf
- Step 5 Blade: Hints pro Fehlerstatus, Retry-Button, "Trotzdem zum Login"
- UpdatePage: Version aus Datei, Fallback auf git describe (kein "dev" mehr)
- UpdatePage: refreshLowLevelState behandelt fehlende State-Datei als idle
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 13:16:42 +02:00
boban
8551a00414
Fix: Setup-Route und Wizard gegen fehlende DB absichern (try/catch)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 22:03:30 +02:00
boban
94cddb7987
Fix: Pusher-Key-Fehler + wire:model remember + Reverb-Keys im Installer
...
- connection.js: Echo nur initialisieren wenn VITE_REVERB_APP_KEY gesetzt
- LoginForm: $remember Property ergänzt
- installer.sh: Reverb-Keys automatisch generieren und in .env schreiben
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 21:58:21 +02:00
boban
38d22c85ed
Feature: API-Key/Webhook responsive div-grid, Sandbox-Icon in Domains, Search-fix
...
- API-Key-Tabelle: unified CSS-Grid div-layout (kein separates mobile/desktop HTML mehr),
Scopes auf max. 2 Badges + +N Modal, Lösch-Bestätigung via Livewire-Modal
- Webhook-Tabelle: selbes div-grid Pattern, Status/HTTP inline auf Mobile
- Globale Suche: go()-Methode fixed (forceClose + setTimeout 350ms gegen resetState-Race)
- Domains: Sandbox-Icon ersetzt Globus durch gelbes Warndreieck wenn Sandbox aktiv
- Sandbox: SandboxRoute-Model, SandboxService, Migration, Routen-Verwaltung
- CSS: mw-kl-*/mw-whl-* Grid-Klassen, minmax(0,1fr) Fix für Text-Truncation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 19:48:06 +02:00
boban
627ef668e5
Feature: Domain Auto-fill, SSL-Skip, Dashboard SSL-Banner
...
- Wizard Schritt 2: leere Domain-Felder werden beim Tippen auto-gefüllt
(wer nur eine Domain nutzt muss sie nur einmal eingeben)
- Wizard Schritt 4: Checkbox "SSL jetzt überspringen" mit Hinweistext
- Wizard Schritt 5: skip-Status wird pro Domain angezeigt
- WizardDomains schreibt ssl_configured=0/1 in Settings
- SettingsForm: setzt ssl_configured=1 nach erfolgreichem applyDomains
- Dashboard: gelber Banner wenn ssl_configured != 1, Link zu Einstellungen
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 02:36:11 +02:00
boban
077a029ff4
Feature: Wizard Schritt 5 — Domain-Setup mit Fortschrittsanzeige
...
- Neuer Schritt 5: SSL-Registrierung läuft im Hintergrund pro Domain
- Artisan-Command mailwolt:wizard-domains schreibt per-Domain Status-Dateien
- Wizard pollt alle 2s: pending → running → done/nodns/error
- "Zum Login" Button erscheint wenn alle Domains abgeschlossen
- Mail-Domain erhält ebenfalls SSL-Zertifikat (für STARTTLS/IMAPS)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 02:29:52 +02:00
boban
35fe7c2c6f
Feature: perPage als URL-Parameter + kompaktes Pagination-Fenster
...
- perPage (#[Url as:'limit']) bleibt nach Reload erhalten (25/50/100)
- Pagination zeigt max 5 Seiten (±2 um aktuelle) + 1/letzte mit ...
- Per-Seite-Select in Quarantäne und Queue eingefügt
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 02:16:17 +02:00
boban
8699b9d991
Refactor: Pagination mit Livewire WithPagination + LengthAwarePaginator
...
- WithPagination Trait + LengthAwarePaginator für Array-Daten
- $messages->links() statt manueller Pagination-Blöcke
- Livewire tailwind.blade.php überschrieben mit mq-pagination/mq-pag-btn Klassen
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 02:09:58 +02:00
boban
bc66870681
Feature: Pagination für Quarantäne und Mail-Queue (25 pro Seite)
...
- Quarantäne und Queue zeigen je 25 Einträge pro Seite
- Pagination-Bar mit Seitenanzeige (X-Y von Z) und Blätter-Buttons
- Seite wird bei Filter- oder Suchwechsel auf 1 zurückgesetzt
- Quarantäne: rows-Select entfernt (API holt intern 500, UI paginiert)
- CSS-Klassen mq-pagination, mq-pag-btn passend zum Dark-Design
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 02:06:14 +02:00
boban
b52ea46f22
Fix: Lokal immer git describe als installierte Version verwenden
...
Auf APP_ENV=local wird die aktuelle Version direkt aus git describe
gelesen statt aus /var/lib/mailwolt/version — verhindert falschen
"Update verfügbar" Hinweis auf der Entwicklungsmaschine.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 02:02:57 +02:00
boban
291f13c034
Fix: Updates-Seite — Prüfung synchron, Log-Abstände, Checkbox-Stil
...
- checkForUpdates() läuft jetzt synchron (nicht im Hintergrund), damit
das Ergebnis sofort angezeigt wird ohne Seite neu laden zu müssen
- Log-Viewer: white-space:pre-wrap + <br> entfernt durch display:block
pro Span — kein doppelter Zeilenabstand mehr
- Auto-Scroll Checkbox nutzt jetzt mw-modal-check Klassen (passend zum Design)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 01:55:41 +02:00
boban
2049057f7f
Feature: Setup-Wizard neu — 4-Schritte-Einrichtung mit Dark-Design
...
- Wizard komplett überarbeitet: System / Domains / Admin / Zusammenfassung
- Eigenes Layout (layouts/setup.blade.php), zentriert, kein Sidebar
- Schritt-Indikator mit Checkmarks für abgeschlossene Schritte
- Per-Schritt Validierung, live Fehleranzeige
- Weiter/Zurück-Buttons mit korrekter Ausrichtung (margin-left:auto)
- Livewire wire:loading-Spinner auf SVG-Icons (behebt JS-Fehler in core.js)
- finish() schreibt Settings, .env und legt Admin-User an
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 01:49:13 +02:00
boban
7bb922191f
Feature: Update-System, Backup-Cron, SSL-Workflow, UI-Verbesserungen
...
- Update-Seite (/system/update) mit Log-Viewer, Fortschrittsbalken und goldenem Nav-Badge
- /usr/local/sbin/mailwolt-update Wrapper + backup:scheduled Cron-Command
- SSL: Checkbox entfernt, immer automatisch in Prod; local-Modus überspringt certbot mit manuellem Erzwingen-Modal
- Domain-Felder: live Validierung via updatedUiDomain/updatedMailDomain/updatedWebmailDomain
- DNS-Check in applyDomains() wiederhergestellt
- Backup-Cron: BackupScheduled Command + Laravel-Scheduler Eintrag in console.php
- /etc/cron.d/mailwolt-scheduler angelegt für schedule:run
- mailwolt-installer als regulärer Ordner (kein Submodule)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 01:23:43 +02:00
boban
8e68051fde
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-11-04 18:40:39 +01:00
boban
fc04ef44d0
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-11-01 23:17:06 +01:00
boban
a7d84899fb
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-11-01 22:58:18 +01:00
boban
e3dc81ef73
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-11-01 22:53:37 +01:00
boban
9acea7b89b
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-11-01 22:20:53 +01:00
boban
6c3cde5f65
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-11-01 22:10:01 +01:00
boban
77f22518c8
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-11-01 22:05:14 +01:00
boban
9aa9475387
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 18:17:27 +01:00
boban
d4255b08fa
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 17:43:14 +01:00
boban
94aec78d4c
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 16:52:41 +01:00
boban
d3783e1717
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 16:41:54 +01:00
boban
dcf9a8d3e9
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 04:32:24 +01:00
boban
595828c5f6
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 04:29:30 +01:00
boban
834f173bb9
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 04:26:34 +01:00
boban
a3a4ec4d06
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 04:13:39 +01:00
boban
2f390af9ed
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 03:42:36 +01:00
boban
530faf6b45
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 03:33:30 +01:00
boban
8058f9b814
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 03:27:36 +01:00
boban
c4b906223c
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 03:18:53 +01:00
boban
81860d1851
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 03:14:26 +01:00
boban
792f0e3528
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 03:01:17 +01:00
boban
46591669d6
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 01:38:00 +01:00
boban
8690067d9c
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 01:21:22 +01:00
boban
beb2f863a3
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 01:14:54 +01:00
boban
e833033074
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 01:08:26 +01:00
boban
02e558bf4b
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 00:59:51 +01:00
boban
d9867db546
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 00:43:16 +01:00
boban
e77d9f64bb
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 00:27:23 +01:00
boban
ee44ff3def
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 00:23:48 +01:00
boban
4d1fd64158
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 00:15:55 +01:00
boban
6b0dd7d176
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-31 00:05:18 +01:00
boban
67b6e1fa02
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-30 23:55:07 +01:00
boban
8b4f2d9fe8
Fix: Mailbox Stats über Dovecot mit config/mailpool.php
2025-10-29 19:32:25 +01:00