fix(editor): der Sperr-Dialog wählt das andere Dokument im Aufklapp-Feld — die Knopfliste quetschte ihre Beschriftungen ineinander
Gemeldet aus der produktiven Instanz: „die Buttons mit den anderen Dokumenten überlappen sich und sind unleserlich". Ursache ist eine Flexbox-Falle, nicht die Zahl der Dokumente: Die Liste war ein flex-Spaltenkasten mit max-height 9rem, und ihre Knöpfe tragen serienmäßig flex-shrink 1 — statt zu scrollen, schrumpfte der Kasten sie unter ihre eigene Textzeile. Nachgemessen bei acht Dokumenten: 14,5 px Kastenhöhe gegen 32 px Inhalt, 17,5 px Überstand je Knopf bei 4 px Abstand. Statt der naheliegenden Reparatur (flex-shrink 0, dann scrollt die Liste) das vom Nutzer gewählte Aufklapp-Feld: eine Zeile hoch, unabhängig von der Anzahl — der Dialog steckt im Editor-Panel und ist dort ohnehin knapp. Die Kopfzeile ist jetzt ein echtes <label for>, der Platzhalter ein Strich, die Auswahl schaltet sofort um (dieselbe Ein-Klick-Geste wie der Knopf). Kein neuer i18n-Schlüssel. Nachgemessen: Feld 36 px, kein Überstand, Karte 364 -> 256 px; Auswahl schaltet um, Dialog schließt, Textfeld wird beschreibbar. D94-Nachtrag und CHANGELOG nachgezogen; 666 Tests grün. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
4bb9b768b0
commit
7f4c2a3e6a
@@ -23,6 +23,7 @@ reverse.
|
||||
- A document created, renamed or deleted in another window shows up without a reload now, and a document deleted elsewhere while open here stays until you type — typing brings it back
|
||||
- The modal "open more than once" dialog is gone; the one remaining loss case — the same non-shared document open in two windows — is found by a per-document lock, and the second window chooses: open another document, view only until the other window lets go, or edit anyway
|
||||
- The other-window warning now names the document and says whether it is open in the app or in the browser — and stays silent when nothing collides
|
||||
- Fix: in the "open in another window" dialog the list of other documents squeezed its buttons until the names ran into each other — picking one is a dropdown now, one line tall however many documents you have
|
||||
- An MCP server for AI agents recorded as planned: it lives in the backend, runs the one JS parser through GraalJS, hands plans to Claude Code and other agents as resources and tools over streamable HTTP, and writes changes as conflict-safe line diffs — no new runtime, spelled out in an RFC before it is built
|
||||
|
||||
## 2026-08-28
|
||||
|
||||
@@ -8974,6 +8974,38 @@ mit; Gegenprobe per Mutation gezogen — ohne die Zeile bleibt der Index ohne
|
||||
das Dokument, während Meta und Text dastehen. Sonst heilt sich der Index
|
||||
von selbst, weil `indexHint()` die Speicher-Schlüssel mitliest.
|
||||
|
||||
**Nachtrag — die Auswahl im Sperr-Dialog ist ein Aufklapp-Feld
|
||||
(2026-09-02).** Gemeldet aus der produktiven Instanz: „Die Buttons mit den
|
||||
anderen Dokumenten überlappen sich und sind unleserlich." Die Ursache ist
|
||||
nicht die Zahl der Dokumente, sondern eine Flexbox-Falle: Die Liste war ein
|
||||
`flex`-Spaltenkasten mit gedeckelter Höhe (9rem), und ihre Knöpfe tragen
|
||||
serienmäßig `flex-shrink: 1` — statt zu scrollen, schrumpfte der Kasten sie
|
||||
unter ihre eigene Textzeile. Nachgemessen bei acht Dokumenten: 14,5 px
|
||||
Kastenhöhe gegen 32 px Inhalt, also 17,5 px Überstand je Knopf bei 4 px
|
||||
Abstand — die Beschriftungen liefen ineinander.
|
||||
|
||||
Zwei Wege standen offen: `flex-shrink: 0` (dann scrollt die Liste wirklich)
|
||||
oder ein **Aufklapp-Feld**. Entschieden (Nutzer): das Aufklapp-Feld. Es ist
|
||||
**eine Zeile hoch, unabhängig von der Anzahl** — und der Dialog liegt in
|
||||
einem Kasten, der auf dem Telefon oder bei kleinem Editor-Panel ohnehin
|
||||
knapp ist; eine Liste, die mit der Dokumentenzahl wächst, bleibt dort auch
|
||||
scrollend unhandlich. Die Auswahl aus vielen gleichartigen Dingen ist
|
||||
zudem genau das, wofür ein Aufklapp-Feld die vertraute Geste ist.
|
||||
|
||||
Gebaut mit dem vorhandenen Vokabular: die Kopfzeile ist jetzt ein echtes
|
||||
`<label for>`, das Feld trägt einen deaktivierten Platzhalter („—"), und
|
||||
die Auswahl schaltet sofort um — dieselbe Ein-Klick-Geste wie zuvor der
|
||||
Knopf. **Kein neuer i18n-Schlüssel**: Der Platzhalter ist ein Strich, den
|
||||
Kontext trägt das vorhandene `docLockOpenOther`.
|
||||
|
||||
**Nachgemessen** im Browser bei acht Dokumenten: Feld 36 px hoch, kein
|
||||
Überstand (−2 px), Karte von 364 auf 256 px geschrumpft; die Auswahl
|
||||
schaltet um, der Dialog schließt, das Textfeld wird beschreibbar. **Benannt,
|
||||
nicht behoben:** Ist das Editor-Panel sehr flach (gemessen 172 px, weil das
|
||||
Diagramm die Höhe hat), ist die Karte immer noch höher als der getönte
|
||||
Grund, in dem sie steckt, und malt darüber hinaus. Lesbar bleibt sie; wen
|
||||
es stört, deckelt `.lockdlg` mit `max-height`.
|
||||
|
||||
**Offen bleibt die Handarbeit** (RFC §10): installierte PWA neben einem Tab,
|
||||
Firefox, Safari, ein Browser ohne Locks-API. Werkzeuggrenzen wie gehabt —
|
||||
die Browser-Fläche war verborgen, getippt wurde per `value` + `input`
|
||||
|
||||
Reference in New Issue
Block a user