🐞 Programmatic cursor state updates are never applied
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 84/100
Direzione di ricerca
Inizia da SourceEditor.updateControllerWithState(_:controller:) e verifica come state.cursorPositions viene confrontato con le posizioni correnti del cursore del controller. Riproduci l’aggiornamento del binding descritto nell’issue, quindi verifica che l’assegnazione di un valore SourceEditorState.cursorPositions diverso sposti il cursore del TextViewController sottostante.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
Programmatic updates to SourceEditorState.cursorPositions are never applied to the underlying TextViewController.
In SourceEditor.updateControllerWithState(_:controller:), the new cursor positions are compared with the same state value:
if let cursorPositions = state.cursorPositions, cursorPositions != state.cursorPositions {
controller.setCursorPositions(cursorPositions)
}
Because cursorPositions was just unwrapped from state.cursorPositions, the comparison is always false.
To Reproduce
- Create a
SourceEditorwith a binding toSourceEditorState. - After the editor appears, programmatically assign a different value to
state.cursorPositions. - Observe that the editor cursor does not move to the requested position.
Expected Behavior
Changing SourceEditorState.cursorPositions should update the cursor positions in the underlying controller.
The comparison likely needs to use the controller's current state:
if let cursorPositions = state.cursorPositions,
cursorPositions != controller.cursorPositions {
controller.setCursorPositions(cursorPositions)
}
Version Information
CodeEditSourceEditor: main, revision 1fa4d3c
macOS: 15.7.9
Xcode: 26.3 (17C529)
Additional Context
No matching open or closed issue was found before filing this report.
Screenshots
Not applicable.
- Lingua principale
- Swift
- Stelle
- 720
- Fork
- 162
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di CodeEditApp/CodeEditSourceEditor
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
CodeEditApp/CodeEditSourceEditor#376 · 1 commento ·
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
CodeEditApp/CodeEditSourceEditor#378 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 32/100
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
Tutte le issue di CodeEditApp/CodeEditSourceEditor
Issue simili
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
type: docs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 95/100
googleapis/google-cloud-swift#971 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
bitcoindevkit/bdk-ffi#1125 ·
-
Move wallpaper setting Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
mozilla-mobile/firefox-ios#35743 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
manaflow-ai/cmux#13417 ·