boban
49463bf34d
Fix: Tab-URL-Keys auf Englisch (general, domains, backup, notifications)
2026-04-27 03:41:34 +02:00
boban
eb77ec3342
Feat: Einstellungs-Tabs auf Deutsch (sicherung/meldungen) + Sidebars für alle Tabs
2026-04-27 03:40:40 +02:00
boban
ff6002ca0b
Feat: Einstellungen mit URL-Tabs (Allgemein, Domains & SSL, Backup, Benachrichtigungen)
2026-04-27 03:35:59 +02:00
boban
1f013b6dcd
Fix: 503-Seite vollständig wiederhergestellt (fehlender Body/Ende-Tag)
2026-04-27 03:31:41 +02:00
boban
dcb4456ba6
Fix: Update-Modal auf v403-Basis zurückgesetzt (ohne Slider)
2026-04-27 03:27:36 +02:00
boban
2fb66df19e
Fix: Update-Modal – nur Ping-Animation und Slider entfernt, Basis v406
2026-04-27 03:25:57 +02:00
boban
f756789cc4
Fix: Update-Modal ohne Slider und Ping-Dots, Spinner im Header
2026-04-27 03:18:22 +02:00
boban
32cf27bcd2
Fix: Update-Modal ohne Alpine.js – verhindert leeres Modal bei laufendem Update
2026-04-27 03:17:47 +02:00
boban
74600185ba
Redesign: Update-Modal mit CluBird-Icon, Progress-Bar und besserem Log-Bereich
2026-04-27 03:14:28 +02:00
boban
919c2013f9
Design: 503-Seite finalisiert — nur Spinner, kein Bar/Dots
2026-04-27 03:11:31 +02:00
boban
e23d9058ee
Fix: 503-Seite zeigt immer Update-Ansicht — PHP-FPM Neustart erzeugt keinen Maintenance-Context
2026-04-27 02:58:36 +02:00
boban
b48c74b676
Fix: 503 Wartungsmodus-Erkennung via storage/framework/maintenance.php statt Exception-Klasse
2026-04-27 02:57:28 +02:00
boban
e49b1f6c4c
Fix: 503-Seite unterscheidet Wartungsmodus (Update) von echtem Serverfehler
2026-04-27 02:55:29 +02:00
boban
f473ec66d4
Fix: 503-Seite auf altes Layout zurück + CluBird-Icon + 3s Auto-Refresh
2026-04-27 02:54:49 +02:00
boban
22b6a9e0f2
Redesign: 503-Seite mit CluBird-Icon, Progress-Bar und Schritt-Anzeige
2026-04-27 02:52:20 +02:00
boban
93bcb56605
Rename: WoltGuard → CluGuard in UI-Labels
2026-04-27 02:48:48 +02:00
boban
b6475fea75
Fix: Pipe-Signaturen durch $aliases ersetzen — clubird:* Befehle waren nicht aufrufbar
2026-04-27 02:46:38 +02:00
boban
14901a40e3
Fix: displayLatest nur anzeigen wenn tatsächlich Update verfügbar (kein Stale-Cache-Anzeige)
2026-04-27 02:30:46 +02:00
boban
20c9100226
Fix: doppeltes "v" in Dashboard-Versions-Anzeige
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 02:22:14 +02:00
boban
5dc55a9d1c
Fix: Update-Erkennung via Gitea-API + Fallback-Kette verbessert
...
- CheckUpdates: Gitea REST-API als neuen Fallback (funktioniert ohne Auth
bei öffentlichem Repo), git ls-remote als weiterer Fallback
- $remoteFile vor dem Fallback-Block deklariert (undefined variable fix)
- UpdateCard + UpdatePage: latNorm aus Cache normalisieren → kein doppeltes "v"
- UpdateCard: openLogs()-Methode hinzugefügt (Logs-Button im Dashboard)
- Setup-Wizard: Zeitzone automatisch aus Browser-Intl erkannt (@script)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 02:21:42 +02:00
boban
fc7e1ed0f9
Fix: mailwolt:* als Aliase für clubird:* – Sbin-Scripts müssen nicht geändert werden
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 01:57:31 +02:00
boban
5f71a8d5e9
Fix: Dovecot24-Migration ergänzt 10-master.conf, 10-ssl.conf + dovecot_storage_version
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 01:45:41 +02:00
boban
ea7dc3b94d
Fix: Dovecot24-Migration ergänzt mail_location → mail_driver + mail_path
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 01:34:32 +02:00
boban
4671909e14
Fix: Artisan-Kommando für Dovecot 2.4 Config-Migration
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 01:30:30 +02:00
boban
653bf55415
Refactor: Config-Dateipfade generisch – mailwolt-* Prefix entfernt
...
- rspamd: mailwolt-actions.conf → actions.conf
- dovecot: 99-mailwolt-tls.conf → 99-tls.conf
- postfix: mailwolt-tls.cf → tls.cf
- fail2ban: mailwolt-whitelist.local / 00-mailwolt-defaults.local → generic
- neu: clubird:migrate-config-names Artisan-Kommando für Server-Migration
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 01:13:56 +02:00
boban
978fad64f4
Fix: CheckUpdates nutzt version_raw als primäre Installationsversion + git fetch als Fallback
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 01:12:08 +02:00
boban
23d6d9cb46
Design: Update-Card mit CluBird Logo + mw-* Farbsystem
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 01:04:40 +02:00
boban
d3012792bc
Fix: Artisan-Aufrufe von mailwolt:* auf clubird:* umgestellt
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 01:04:09 +02:00
boban
bbc7cc6c34
refactor: config/mailwolt.php → config/clubird.php + Artisan Commands umbenennen
...
- config/mailwolt.php → config/clubird.php (Datei umbenannt)
- Alle config('mailwolt.*') → config('clubird.*') ersetzt (15 PHP + 3 Blade)
- Artisan-Signaturen: mailwolt:* → clubird:* (5 Commands)
- Artisan-Aufrufe in Jobs + Scheduler aktualisiert
- Config-Cache neu aufgebaut
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 01:00:46 +02:00
boban
8ea925e4ae
Fix: Toast Mittelmaß – 320px, badge kleiner als titel
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 00:55:06 +02:00
boban
c276a17a98
Fix: Toast kompakter + kein Umbruch bei Titel
...
- max-width 350→300px, padding/gap reduziert
- Icon 34→28px, Close-Btn 30→22px
- Titel-Span fix: notification-title-text statt notification-title (kein verschachtelter Flex mehr)
- Font-sizes: title 11.5px, text 10.5px, badge 9px
- Akzentfarben für success/warning/error/info angepasst
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 00:49:52 +02:00
boban
597773123f
feat: Rebranding Mailwolt → CluBird
...
- SVG-Dateien erstellt: icon, icon-sm, favicon, logo-dark, logo-sidebar
- Sidebar: CluBird-Vogellogo + Wordmark mit Indigo-Akzent
- Alle sichtbaren "Mailwolt"-Texte in Blade-Dateien auf CluBird geändert
- Favicon-Link in dvx.blade.php ergänzt
- CSS-Klassen (.mw-*), config/mailwolt.php und Sudo-Scripts bleiben unverändert
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 00:44:42 +02:00
boban
afad3c3471
Fix: Gap zwischen System-Domain und leerem Domains-State
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 00:35:57 +02:00
boban
8a546f4f3d
Fix: DNS-Modal zeigt .. statt MTA-FQDN wenn env() gecacht ist
...
env('MTA_SUB') und env('BASE_DOMAIN') liefern null bei config:cache.
Jetzt: Setting::get('mail_domain') als primäre Quelle, config() als Fallback.
MTA_SUB in mailpool.php als config-Key ergänzt.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 00:33:31 +02:00
boban
486166c05a
feat: Toastra-Plugin eingebunden + DKIM-Regenerierung fix
...
- Toastra als Toast-System integriert (ersetzt GlassToastra)
- CSS auf var(--mw-*) Dark-Theme angepasst, keine Klassen entfernt
- Livewire-Adapter mappt done/warn/error/info auf Toastra-Typen
- DnsDkim: doppelter sudo-install-dkim entfernt (DkimService macht es bereits)
- dkimReady() prüft Storage-Pfad statt sudo-Test (kein Sudoers-Eintrag nötig)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 00:29:29 +02:00
boban
f375ea0215
Fix: Ein Toast mit Fehlerzusammenfassung statt kein Feedback bei Fehlern
...
applyDomains + syncSysmailDomain geben Fehler zurück statt Toasts zu dispatchen.
saveDomains zeigt am Ende einen Toast: grün wenn alles ok, orange mit Details bei Problemen.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 00:14:44 +02:00
boban
fa8e9e7e88
Fix: DKIM-Fehler blockiert nicht mehr Domain-Erstellung + nur 1 Toast beim Speichern
...
- DomainObserver: DKIM-install-Fehler wird geloggt statt Domain-Create zu blockieren
- saveDomains: nur noch 1 Toast, alle Zwischen-Toasts (Nginx, DNS, Sysmail) entfernt
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 00:02:12 +02:00
boban
742c39f91a
Fix: BASE_DOMAIN wird beim Speichern der Domains aus mail_domain abgeleitet
...
War auf Live-Server noch 'example.com' weshalb sysmail nie angelegt wurde.
mx.pxo.at → BASE_DOMAIN=pxo.at, MTA_SUB=mx automatisch gesetzt.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 23:53:05 +02:00
boban
2ec10a8a81
Fix: syncSysmailDomain mit Fallback für fehlende BASE_DOMAIN + Toast bei Fehler
...
Leitet BASE_DOMAIN aus config → env → mail_domain-Setting ab.
Gibt Toast-Meldung aus wenn Seeder fehlschlägt, statt still zu scheitern.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 23:51:16 +02:00
boban
fb6573598d
Feat: syncSysmailDomain bei saveDomains – anlegen, umbenennen oder überspringen
...
Beim Speichern der Domains wird geprüft ob sysmail.<BASE_DOMAIN> bereits stimmt.
Falls nicht vorhanden: anlegen. Falls Domain geändert: alte löschen + neu erstellen.
Falls bereits korrekt: nichts tun.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 23:46:17 +02:00
boban
6bb2d09621
Fix: system_notify_email Accessor statt nicht-existenter notifyEmail()
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 23:41:37 +02:00
boban
cdfdcc0756
Fix: Benachrichtigungs-Defaults – User-Email + sinnvoller Absendername
...
Absendername-Default: '{Instanzname} Benachrichtigung'.
Admin-Email-Default: Login-Email des eingeloggten Users (notifyEmail()).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 23:40:45 +02:00
boban
c6d6798898
Feat: Benachrichtigungs-Einstellungen + sysmail.BASE_DOMAIN zurückgesetzt
...
- Absendername und Admin-E-Mail konfigurierbar in Einstellungen
- MAIL_FROM_NAME wird automatisch in .env synchronisiert
- Sysmail-Domain wieder sysmail.<BASE_DOMAIN> (nicht MTA-FQDN)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 23:37:55 +02:00
boban
496912f5ca
Fix: Webmail-Icon bei System-Domain entfernt
...
System-Domain ist nur zum Versenden (no-reply), Webmail-Zugriff macht dort keinen Sinn.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 23:31:55 +02:00
boban
2c82555235
Fix: SystemDomainSeeder läuft beim Installer-Abschluss, nicht in den Settings
...
sysmail.<MTA_FQDN> wird jetzt automatisch beim Ende einer erfolgreichen Installation
angelegt – nicht nachträglich beim Speichern der Domain-Einstellungen.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 23:27:52 +02:00
boban
eb17d056b7
Fix: Sysmail-Domain basiert auf Mail-Domain (sysmail.<MTA_FQDN>)
...
Statt sysmail.<BASE_DOMAIN> wird jetzt sysmail.<MTA_SUB>.<BASE_DOMAIN> angelegt
(z.B. sysmail.mx.pxo.at statt sysmail.pxo.at) – Base-Domain des Users bleibt unangetastet.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 23:25:35 +02:00
boban
96477ede1c
Feat: SystemDomainSeeder wird bei saveDomains ausgeführt wenn sysmail fehlt
...
Beim Speichern der Server-Domains in den Einstellungen wird automatisch die
sysmail-Domain (sysmail.<BASE_DOMAIN>) mit DKIM, SPF, DMARC und no-reply Postfach
angelegt, sofern sie noch nicht existiert. Seeder nutzt updateOrCreate für Postfach.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 23:20:44 +02:00
boban
8ff63dd966
Revert: Sysmail-Auto-Provisionierung entfernt – war konzeptionell falsch
...
Sysmail wird nur für die Server-eigene Domain beim Setup angelegt, nicht für User-Domains.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 23:12:39 +02:00
boban
50a68047fc
Feat: Sysmail-Domain wird automatisch angelegt wenn eine Maildomain erstellt wird
...
Beim Anlegen einer neuen User-Domain (kein is_system, kein is_server) wird automatisch
'sysmail.[domain]' als System-Domain mit DKIM/SPF/DMARC (via DomainObserver) und
das Postfach 'sysmail@sysmail.[domain]' angelegt.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 23:03:58 +02:00
boban
a2ba9a7c03
UI: Update-Seite überarbeitet – sauberes mbx-Design, eine Karte
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 22:52:34 +02:00