diff --git a/PROJECT_MEMORY.md b/PROJECT_MEMORY.md index 6476b31..e64bc5c 100644 --- a/PROJECT_MEMORY.md +++ b/PROJECT_MEMORY.md @@ -6,6 +6,7 @@ Multi-Hoster-Upload ist eine Electron-Desktopanwendung für Windows, die große ## Aktueller Zustand +- Einstellungssuche nach `2.1.49`: Seitenleistenspalte ab 840 px Viewport einheitlich 260 px statt 190–224 px. Vollständiger deutscher und englischer Platzhalter passt bei unveränderter Schriftgröße; unter 840 px bleibt die bestehende einspaltige Darstellung. Electron-Test misst Textbreite gegen nutzbare Eingabebreite bei 1920/1200/1000/840/839/360 px und prüft Überlauf; Screenshot visuell bestätigt. Noch nicht veröffentlicht. - Log-Einstellungen nach `2.1.49`: Logpfad und Log-Datei-Modus teilen ein Beschriftungsraster; native Modusauswahl auf 240 px begrenzt, 40 px hoch, Pfeil mit 14 px Innenabstand. Hinweis unter dem Dropdown ohne zusätzliche Einrückung. Ordner-/Öffnen-Buttons bleiben neben dem Pfad; schmale Container wechseln auf gestapelte Felder. IDs, Optionen und Logfunktion unverändert. Electron-Regression mit tatsächlichem Template bei drei Breiten und Screenshotprüfung; noch kein Release. - Automatik-Abstand nach `2.1.49`: zusätzlicher 22-px-Unterabstand der Statuskarte vor dem neuen Formularcontainer entfernt. Abstand zur ersten Abschnittsüberschrift entspricht jetzt dem folgenden Abschnitt: jeweils 28 px. Electron-Regression misst beide Abstände bei 1000/760/360 px direkt am echten Template; gezielter Test und Lint erfolgreich. Entwicklerversion wird automatisch neu gestartet; noch kein Release. - Ordnerüberwachungstest nach `2.1.49`: IPC verwendet gespeicherte Ordnerregeln in einer isolierten FolderMonitor-Instanz statt der möglicherweise unkonfigurierten laufenden Überwachung. Funktioniert bei deaktivierter, aktiver und pausierter Überwachung; kein Watcher-/Timerstart, keine neuen Dateien/Statusereignisse am produktiven Monitor, keine Änderung seiner Generation oder Duplikatreservierungen. Fehlender Pfad, unerreichbarer Ordner und Scanfehler werden über feste, übersetzte Fehlermeldungen angezeigt; unbekannte Fehler bleiben bereinigt. Regressionen für die drei Betriebszustände, parallele Tests, Fehlerfälle und IPC-Verdrahtung ergänzt; Entwicklung automatisch neu gestartet. @@ -96,6 +97,7 @@ npm audit --omit=dev ## Zuletzt verifiziert +- Einstellungssuche: Layout-/Textbreitentest in Deutsch und Englisch bei sechs Viewports sowie Lint erfolgreich. Startup-Datei 25/26 erfolgreich, bestehender Checkbox-Fokustest einmal mit bekanntem Timingfehler; separat unverändert erneut erfolgreich. Automatischer Neustart bestätigt. Kein Release. - Log-Layout: 47 Startup-/Electron- und Logmodus-Tests sowie Lint erfolgreich. Gemeinsame Feldkante, Feldhöhe, Dropdownbreite, Pfeil-Innenabstand, Hinweise und unveränderte Modusoptionen bei 1000/760/360 px geprüft. Entwicklerversion automatisch neu gestartet; nicht veröffentlicht. - Automatik-Abstand: alle 26 Startup-/Electron-Tests und Lint erfolgreich. Gleiche Abschnittsabstände von 28 px bei drei Breiten bestätigt; automatischer Entwicklungsneustart im Watcher-Log nachgewiesen. Kein Release. - Test bei deaktivierter Ordnerüberwachung: 844 Haupttests, 18 Servertests und Lint erfolgreich. Watcher-Neustart bestätigt. Read-only-Test bleibt unabhängig vom Produktivzustand, bekannte Fehler werden konkret angezeigt. Noch nicht veröffentlicht. diff --git a/renderer/styles.css b/renderer/styles.css index 831481e..bbbcdc8 100644 --- a/renderer/styles.css +++ b/renderer/styles.css @@ -5046,3 +5046,9 @@ input[type="checkbox"] { grid-column: 1 / -1; } } + +@media (min-width: 840px) { + .settings-layout { + grid-template-columns: 260px minmax(0, 1fr); + } +} diff --git a/tests/startup-renderer.test.js b/tests/startup-renderer.test.js index 89dc082..4e2833f 100644 --- a/tests/startup-renderer.test.js +++ b/tests/startup-renderer.test.js @@ -222,7 +222,7 @@ app.whenReady().then(async () => { assert.equal(data.ok, true); }); -test('automation and log fields share responsive grids and aligned hints', { skip: process.platform !== 'win32' }, t => { +test('settings controls align responsively and search placeholders fit at every breakpoint', { skip: process.platform !== 'win32' }, t => { const root = path.resolve(__dirname, '..'); const directory = fs.mkdtempSync(path.join(os.tmpdir(), 'mhu-automation-layout-')); t.after(() => fs.rmSync(directory, { recursive: true, force: true })); @@ -278,6 +278,20 @@ app.whenReady().then(async()=>{ assert.deepEqual(layout.options,['single','daily','session']); if(process.env.MHU_LOG_SCREENSHOT && width===1000){await new Promise(resolve=>setTimeout(resolve,500));fs.writeFileSync(process.env.MHU_LOG_SCREENSHOT,(await wc.capturePage()).toPNG())} } + const search=source.slice(source.indexOf('