perf(desktop): Dashboard-Aufbau in der Linux-App ohne Einblend-Animation, Melder gegen Fokus-Schuebe gedrosselt
Tessera CI/CD / Lint & Type Check (push) Successful in 49s
Tessera CI/CD / Tests (push) Successful in 1m45s
Tessera CI/CD / Desktop-Pakete bauen (push) Successful in 18s
Tessera CI/CD / Build & Publish Images (push) Successful in 4m35s

Gemessen in der echten Linux-App (WebKitGTK): Haenger beim Oeffnen des
Dashboards von 550-1100 ms auf 250-350 ms. Im alpha-Log kamen beim Oeffnen
bis zu 50 Abfragen je Sekunde von Erinnerungs- und Nextcloud-Melder; Fokus-/
Sichtbarkeitswechsel loesen jetzt hoechstens alle 10 s eine Abfrage aus.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-10-03 01:19:35 +02:00
parent 19340fcebd
commit 53a49a109f
7 changed files with 87 additions and 1 deletions
+7
View File
@@ -489,6 +489,13 @@ input[type="checkbox"], input[type="radio"] {
animation-delay: var(--enter-delay, 0ms);
}
}
/* Linux-Desktop-App (WebKitGTK, ohne Grafikbeschleunigung): keine
Einblend-Animation und kein Pulsieren der Ladeplatzhalter — beides liess den
Aufbau des Dashboards stocken (DesktopPlatformMarker setzt das Attribut). */
html[data-desktop-os="linux"] .widget-card,
html[data-desktop-os="linux"] .animate-pulse {
animation: none;
}
@keyframes widget-enter {
from {
opacity: 0;
+2
View File
@@ -4,6 +4,7 @@ import { getLocale, getMessages } from 'next-intl/server';
import { ThemeProvider } from 'next-themes';
import { DesktopContextMenuGuard } from '@/components/desktop/desktop-context-menu-guard';
import { DesktopExternalLinks } from '@/components/desktop/desktop-external-links';
import { DesktopPlatformMarker } from '@/components/desktop/desktop-platform-marker';
import { DesktopThemeSync } from '@/components/desktop/desktop-theme-sync';
import './globals.css';
@@ -29,6 +30,7 @@ export default async function RootLayout({ children }: { children: React.ReactNo
<DesktopContextMenuGuard />
<DesktopExternalLinks />
<DesktopThemeSync />
<DesktopPlatformMarker />
{children}
</NextIntlClientProvider>
</ThemeProvider>