Stufe 3 (#764): Avalonia-Fenster entfernt

- Views, ViewModels, Controls, Converters, Styles, Services, Desktop-i18n,
  Schriften und App.axaml raus; Avalonia- und Mvvm-Pakete raus
- ClawdDotNet ohne Schalter: Manager starten (unter systemd ueber den Dienst,
  nie doppelt) und WebUI oeffnen (LauncherRun) - bis die Huelle kommt
- Instanzen laufen immer kopflos; instanceWindows wird gelesen, nicht mehr
  ausgewertet; die Kette 'Fenster nach vorn holen' ist entfernt
- Telegram-Anmeldung nur noch ueber die WebUI (tote Dialog-Rueckrufe raus)
- systemd-Vorlagen im Linux-Paket; Oberflaechen-Leitfaden ins Archiv

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard
2026-10-02 20:23:12 +02:00
co-authored by Claude Opus 5.5
parent 8ec7896417
commit 6d81693041
104 changed files with 266 additions and 10262 deletions
@@ -247,27 +247,6 @@ public sealed class InstanceControlTests : IDisposable
return port;
}
[Fact]
public async Task Ueber_den_Socket_kommt_die_Bitte_um_das_Fenster_an()
{
await using var host = NeuerHost(FreierPort());
await using var web = InstanceHttpHost.TryStart(host, NullLoggerFactory.Instance);
web.ShouldNotBeNull();
var gebeten = 0;
web!.Control.FocusRequested += () => Interlocked.Increment(ref gebeten);
using var client = InstanceEndpoint.CreateClient(host.InstancePath);
(await client.PostAsync("/api/instanz/fenster", content: null)).EnsureSuccessStatusCode();
gebeten.ShouldBe(1);
// Und beliebig oft: Jeder Wechsel auf diese Instanz ist einer.
(await client.PostAsync("/api/instanz/fenster", content: null)).EnsureSuccessStatusCode();
gebeten.ShouldBe(2);
}
[Fact]
public async Task Ueber_TCP_gibt_es_die_Steuerung_nicht()
{
@@ -280,15 +259,12 @@ public sealed class InstanceControlTests : IDisposable
web!.Url.ShouldNotBeNull();
var gebeten = false;
web.Control.FocusRequested += () => gebeten = true;
web.Control.ShutdownRequested += () => gebeten = true;
using var client = new HttpClient { BaseAddress = new Uri($"http://127.0.0.1:{port}") };
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {Token}");
// Mit gueltigem Token - und trotzdem nicht vorhanden.
(await client.PostAsync("/api/instanz/fenster", content: null)).StatusCode
.ShouldBe(System.Net.HttpStatusCode.NotFound);
(await client.PostAsync("/api/instanz/beenden", content: null)).StatusCode
.ShouldBe(System.Net.HttpStatusCode.NotFound);