Sub-Datasets (tank/share) waren initial eingeklappt, dadurch waren
alle Zeilen unsichtbar. Beim Laden werden jetzt alle Top-Level-Datasets
automatisch expandiert.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Backend liefert das Snapshot-Erstellungsdatum als 'created' (Unix-Timestamp),
das Frontend-Interface/Rendering erwartete aber 'creation'. Feld angeglichen
und creation_datetime im Interface ergänzt.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
CAP und FRAG wurden um eine Spalte verschoben gelesen (DEDUP statt CAP,
CAP statt FRAG). Korrekt: FRAG=parts[6], CAP=parts[7]. Prozentzeichen
ergänzt, da -p die Werte ohne % liefert.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- main.py: CORS-Origins aus ZMB_CORS_ORIGINS (kommagetrennt), Default "*"
- allow_credentials automatisch aktiv bei konkreten Origins, aus bei "*"
- Root-Endpoint liefert Frontend-URL dynamisch via request.base_url
- keine hartkodierten IPs mehr im Anwendungscode
- Doku in CLAUDE.md und systemd-Unit ergaenzt
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- output: export für statischen HTML Export in Next.js 14
- Images optimiert für Export
- ESLint Warnings während Build ignorieren
Ermöglicht npm run build → out/ für nginx Deployment
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- add_user_to_group: Exception werfen mit stderr Nachricht
- remove_user_from_group: Exception werfen mit stderr Nachricht
- text=True für subprocess für besseres Error Handling
- Router aktualisiert um Fehlermeldungen an Frontend weiterzugeben
- Benutzer sehen jetzt detaillierte Fehlermeldungen beim Gruppe-Entfernen
Behebt: 'Failed to remove user from group' verschluckt die echte Fehlermeldung
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Features:
- Display Samba config in key=value format
- Support adding new parameters (one per line)
- Parse and apply changes via net conf setparm
- Comments (# and ;) are ignored
- Auto-reload after save to show applied changes
Format: key = value (one per line)
Co-Authored-By: Patrick <patrick@perlbach24.de>
Backend:
- Use 'net conf setparm' to update individual parameters
- Accept dictionary of key-value pairs in API
Frontend:
- Add Edit/Cancel/Save buttons to Samba Config tab
- Inline editing of configuration values
- Save changes back to registry
Changes are applied immediately via net conf setparm.
Co-Authored-By: Patrick <patrick@perlbach24.de>
Use /opt/zfs-manager/backend and /opt/zfs-manager/venv paths.
Simplify service configuration for reliability.
Co-Authored-By: Patrick <patrick@perlbach24.de>
Script initializes Samba to use registry-based configuration:
- Creates minimal smb.conf with 'include = registry'
- Imports ZMB-optimized global settings into registry
- Configures shadow copy, ZFS integration, macOS support
- Restarts Samba services
Run on new systems with: sudo bash deploy/setup-samba-registry.sh
Co-Authored-By: Patrick <patrick@perlbach24.de>
Use 'net conf list' to read global config parameters from Samba registry.
This is more reliable than parsing smb.conf, especially when using
'include = registry' in smb.conf.
Co-Authored-By: Patrick <patrick@perlbach24.de>
Backend:
- Parse global config into structured key-value pairs
- Return parameters array instead of raw text
- Better handling of comments and empty lines
Frontend:
- Add 'Samba Config' tab to shares page
- Display config parameters in readable table format
- Color-code parameter names for clarity
- Add getSambaConfig() method to API client
Co-Authored-By: Patrick <patrick@perlbach24.de>