Max Nardit
Beetroot

Beetroot v1.6.3: Copied-Overlay, Explorer-Bilder, GPT-5.4

Systemweites 'Copied'-Overlay bestätigt jeden Clipboard-Capture. Bilder, die aus dem Explorer kopiert werden, behoben. OpenAI-Modelle auf GPT-5.4 aktualisiert. Security-Hardening.

Drei nutzerseitige Änderungen und ein Hardening unter der Haube in diesem Release.

Auf einen Blick:

  • Systemweites "Copied"-Overlay: eine Frosted-Glass-Pille erscheint nahe deines Cursors, wenn du etwas kopierst
  • Explorer-Bilder erfassen: Kopieren von Bilddateien im Explorer funktioniert jetzt
  • OpenAI GPT-5.4: Default-Modelle aktualisiert, bestehende Nutzer werden automatisch migriert
  • Security-Hardening: Path-Traversal-Schutz für den neuen Bilddatei-Reader

Das "Copied"-Overlay

Das war ein Feature Request von einem Nutzer, der eine Bestätigung wollte, dass Beetroot seine Zwischenablage erfasst hat, besonders wenn das Hauptfenster ausgeblendet ist.

Jetzt erscheint jedes Mal, wenn du etwas kopierst, eine kleine Pille nahe deines Cursors für eine Sekunde:

  • Zeigt den Content-Type ("Text", "Image" usw.) in deiner Sprache
  • Passt sich dem aktiven Theme und der Akzentfarbe an
  • Click-through. Nimmt keinen Fokus und stört deine Arbeit nicht
  • Toggle in Settings > General (standardmäßig aktiviert)

Implementierung: Das Overlay ist ein separates Tauri-WebView-Fenster mit den Styles WS_EX_NOACTIVATE | WS_EX_TOOLWINDOW | WS_EX_TRANSPARENT. Es verwendet einen generationsbasierten Timer-Guard (AtomicU64), um Timer-Konflikte bei schnell aufeinanderfolgenden Kopien zu vermeiden. Theme-Farben werden aus CSS-Custom-Properties ausgelesen und per eval() mit korrektem serde_json-Escaping injiziert. Das Overlay-HTML ist self-contained (134 Zeilen) mit luminanzbasierten adaptiven Borders.

Explorer-Bilder erfassen

Wenn du in Windows Explorer eine PNG- oder JPG-Datei ausgewählt und Strg+C gedrückt hast, hat Beetroot sie nicht erfasst. Der Grund: Explorer legt Dateipfade über CF_HDROP (das Drag-and-Drop-Format) auf das Clipboard, nicht als Bitmap. Das Clipboard-Plugin checkte vor Bildern auf Files, und mit files: false übersprang es beides und fiel auf Text durch, was dir den Dateipfad als Text-Clip statt des Bildes gab.

Der Fix ersetzt das listenToClipboard des Plugins durch einen Custom-Handler, der in der richtigen Reihenfolge prüft:

  1. Bitmap zuerst: Screenshots (Snipping Tool), Browser-Bilder, Telegram
  2. File-basierte Bilder: liest den Dateipfad aus CF_HDROP, validiert die Endung und lädt sie über ein neues Rust-Command read_clipboard_image_file
  3. Text-Fallback: alles andere

Das neue read_clipboard_image_file IPC-Command liest beliebige Bilddateien von der Festplatte mit Endungs-Validierung (PNG, JPG, JPEG, GIF, BMP, WEBP, TIFF, ICO, SVG) und einem 50-MB-Größenlimit.

OpenAI GPT-5.4

OpenAI hat GPT-5.4 veröffentlicht, und die Default-Modelle in Beetroot sind jetzt gpt-5.4-nano (schnell, günstig) und gpt-5.4-mini (smarter). GPT-5.4 mini ist Berichten zufolge 2x schneller mit verbessertem Coding und Reasoning.

Bestehende Nutzer mit gpt-5-nano oder gpt-5-mini werden beim Start über die OPENAI_MODEL_MIGRATION-Map automatisch migriert. Wenn du manuell ein anderes OpenAI-Modell gesetzt hast, wird es nicht angerührt.

Security-Hardening

Das neue read_clipboard_image_file-Command liest Dateien aus beliebigen Pfaden (da Explorer Dateien von überall kopieren kann). Um Path-Traversal zu verhindern, falls die WebView kompromittiert ist:

  • Path-Canonicalization: std::fs::canonicalize() löst Symlinks, Junctions und ..-Komponenten auf
  • UNC-Blocking: lehnt \\server\share-Pfade ab
  • System-Verzeichnis-Ablehnung: nutzt validation.rs::BLOCKED_DIRS wieder, um C:\Windows, C:\Program Files usw. zu blockieren
  • 8 Rust-Unit-Tests decken alle Sicherheitsgrenzen ab

Update

Beetroot bietet das Update automatisch an. Oder v1.6.3 von GitHub herunterladen.

Diskussion

Hier gibt es keine Kommentarspalte. Diskussionen laufen auf X.

Max Nardit

Max Nardit

@mnardit

Weitere Artikel

Beetroot v1.6.6: Der Office-Fix

Excel- und Word-Zellen wurden als Screenshots statt als Werte erfasst. Microsoft-Store-Autostart war still kaputt. Bild-Thumbnails fraßen Gigabytes RAM. v1.6.6 behebt alle drei, plus eine Reihe Security- und Reliability-Arbeiten nach dem großen 1.6.5-AI-Vision-Release.

Beetroot v1.6.3: Copy-Overlay, Explorer-Bilder, GPT-5.4