Repository navigation
fix(panes): Tab-Einfügen ohne Pane-Verlust und mit korrekter Geometrie - #535
Merged
Merged
Conversation
Drei Befunde aus dem unabhängigen Codex-Review von #523: - Ein Editor-Pane, dessen Datei im Ziel-Tab schon offen ist, verweigert beim Anhängen die Übernahme (CodePane::pre_attach) und ging verloren. Editor-Panes werden jetzt nur in einen Tab ohne Editor eingefügt; sonst gibt es keine Drop-Fläche. - Das eingefügte Layout fiel bei gleicher Split-Achse in den Elternknoten zusammen und verkleinerte unbeteiligte Nachbarn. Es wird jetzt als eigener Teilbaum anstelle des Ziel-Panes eingehängt (PaneData::graft) und teilt sich genau dessen bisherigen Platz, wie die Drop-Fläche zeigt. - child_agent_panes blieb im aufgelösten Tab zurück. Die Zuordnungen der übertragenen Panes wandern jetzt mit. Zusätzlich bieten Tabs mit offener Konversations-Wiederherstellung oder Zusammenfassung keine Drop-Fläche, weil deren Zustand am Pane hängt.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Korrigiert drei Laufzeitfehler, die ein unabhängiges Codex-Review (
gpt-6-astra, XHigh, rein lesend) in #523 gefunden hat. #522 und #523 sind bereits inmain, deshalb setzt dieser PR direkt aufmainauf. Ausgeliefert wurden die Fehler nie, denn 1.2.0 ist noch unveröffentlicht.Befunde und Korrekturen
CodePane::pre_attachdie Übernahme und fokussiert stattdessen den vorhandenen Editor. Das übertragene Pane war damit weg, samt weiterer Editor-Tabs und möglicher ungespeicherter Änderungen.→
PaneGroup::can_join_tablässt Editor-Panes nur in einen Tab ohne Editor. Sonst erscheint keine Drop-Fläche, und auchjoin_tab_as_paneprüft das noch einmal.→
PaneData::graftersetzt das Ziel-Pane durch einen Split aus Ziel und vollständigem Teilbaum. Das Layout teilt sich so genau den bisherigen Platz des Ziel-Panes, die markierte Hälfte, und Nachbarn behalten ihre Größe. Ist das Ziel inzwischen verschwunden, hängtgraft_at_rootdas Layout an den Tabrand. Die bisherigen Funktionenplace_joined_paneundexpand_joined_layoutentfallen.child_agent_panesblieb im aufgelösten Tab, sodass „Child-Agent anzeigen“, das Schließen und das Aufräumen dieser Panes nicht mehr griffen.→
take_panes_for_joingibt die Einträge der übertragenen Panes inJoinedPanesmit, undinsert_joined_panesübernimmt sie.Zusätzlich zu den Codex-Befunden: Tabs mit offener Konversations-Wiederherstellung (
pending_ambient_agent_conversation_restorations) oder offenem Zusammenfassungsdialog bieten keine Drop-Fläche, weil dieser Zustand pro Pane in der Gruppe hängt.Weitere Prüfung nach dem Merge
Ich habe geprüft, ob die acht nach #522/#523 gemergten PRs entfernte oder geänderte Funktionen aufrufen: Das ist nicht der Fall. Alle Quelltext-Tests in
view_test.rsfinden ihre gesuchten Textstellen noch. Das Codex-Review für #522 ergab keine Befunde.Spec und Changelog
#spec J3und#spec J6indocs/ui/pane-launch-and-tab-join.htmlsowie PRODUCT §34 beschreiben die Geometrie und die Sperren.Verifikation
rustfmt --check,git diff --check,check-no-new-cjk,check-v1-release-readiness --phase-a.graft_keeps_the_joined_layout_inside_the_target_pane(gleiche Achse bleibt verschachtelt, Nachbar unberührt) undgraft_before_the_target_and_at_the_root.dragging_a_tab_onto_a_pane_joins_its_panes_as_a_splitgilt unverändert.ci-batch, nach Freigabe.Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.