UI-Entwurf umgesetzt, Rocket.Chat-Tool, Deploymentcenter 2.4

Sicherungspunkt vor dem Aufraeumen. Buendelt die Arbeit, die seit dem
Abschluss der Avalonia-Portierung im Arbeitsverzeichnis lag.

Oberflaeche
- Entwurf aus Mockup/ umgesetzt: Theme.axaml (Farben je Thema, Barlow als
  mitgelieferte Schrift), Icons.axaml (Symbolgeometrien), Shell.axaml
  (eigene ControlThemes statt Fluent umzufaerben).
- Neue Steuerelemente StrokeIcon und BlueprintFrame, Seiten fuer
  Token-Verbrauch und Agenten-Chats, Werkzeug-Einstellungen als Seite
  statt eigenem Fenster, Texteditor-Fenster.
- ThemeManager mit hellem und dunklem Thema; die beiden Pinsel-Konverter
  entfallen, weil ein fester Farbwert den Themenwechsel nicht ueberlebt.

Rocket.Chat
- Neues Tool-Projekt (Client, Konfiguration, Workspace-Dateien) nach der
  Bauform des Telegram-Tools: rocketchat_poll als Tool-Job, geweckt wird
  nur, wenn wirklich etwas anliegt.
- send_file ist freigabepflichtig, send_message bewusst nicht: Der Raum
  ist Arbeitsraum, der Schutz sitzt an der Raum-Allowlist.
- Konzept-Doc um die Messung gegen die echte Instanz 8.7 ergaenzt; drei
  Annahmen waren falsch und sind korrigiert.

Deploymentcenter
- DC6 (Update anwenden) und DC7 (Erstinstallation ueber setup.json)
  erledigt, DC3 fuer win-x64/dev; deploy/publish.py als Release-Strecke.
- AppHost.DisposeAsync gegen doppeltes Herunterfahren gesperrt - sonst
  ueberschreibt eine zweite Abmeldung den Wartungszustand am Watchdog.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Richard
2026-08-23 12:16:05 +02:00
co-authored by Claude Opus 5
parent b5bf97ae74
commit 33d95a6c3f
88 changed files with 11665 additions and 1029 deletions
+19 -2
View File
@@ -119,8 +119,25 @@ und Tippfehler in Bindungspfaden fallen erst zur Laufzeit auf.
Benachrichtigung.
- Befehle: `[RelayCommand] private void Speichern() { … }` → bindbar als
`SpeichernCommand`.
- Formatierung gehört in `Styles/Shell.axaml`, nicht an einzelne Steuerelemente.
Vorhandene Klassen: `heading`, `caption`, `toolbar`, `card`, `statusbar`.
- Formatierung gehört in `Styles/`, nicht an einzelne Steuerelemente. Seit der
Umsetzung des Entwurfs aus `Mockup/` liegt sie in drei Dateien:
`Theme.axaml` (Farben je Thema, Schriften), `Icons.axaml` (Symbolgeometrien),
`Shell.axaml` (Steuerelement-Vorlagen und Stilklassen).
Klassen: `h1`, `h2`, `kicker`, `label`, `caption`, `muted`, `mono`, `card`,
`console`, `hr`, `sep`, `toolbar`, `thead`, `tr`, `th`, `td`, `tag`,
`statusbar`, `topbar`, `sidebar`, `nav`; an Schaltflächen zusätzlich
`primary`, `toolbar`, `ghost`, `flat`, `icon`.
- Symbole über `Controls/StrokeIcon.cs` mit einer Geometrie aus `Icons.axaml`.
Die Farbe wird geerbt — nicht gesetzt.
- Rahmen mit Eckmarken über `Controls/BlueprintFrame.cs`. Sparsam: nur Dialoge
und die Info-Karte.
- Tabellen von Hand aus `Border.thead` + `ListBox.table`, nicht mit `DataGrid`.
Das Paket ist nicht mehr referenziert.
- **Avalonia 12 hat die Ressourcenschlüssel des Fluent-Themas umgebaut.** Die aus
11er-Anleitungen bekannten Namen (`ButtonBackground`, `TextControlBackground`,
`ControlCornerRadius` …) existieren nicht mehr; ein Setter darauf ist wirkungslos
und fällt nicht auf. Für neue Steuerelemente deshalb eine eigene `ControlTheme`
in `Shell.axaml` schreiben statt zu versuchen, Fluent umzufärben.
- Ordner öffnen: `Core.Storage.SystemShell.OpenFolder(pfad)`. **Kein** `explorer.exe`.
- Dateinamen erzeugen: `Core.Storage.PortableFileName.Sanitize(name)`.