diff --git a/CHANGELOG.md b/CHANGELOG.md index 13574db..83b3d13 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Fixed +- Typing in the event title, location, and description fields no longer + makes the cursor jump around: the form state's round-trip to the UI was + hopping to a background dispatcher, so the text field saw a lagging value + while typing. Only the calendar/preferences reads stay off the main + thread now; the keystroke path is synchronous again + ## [2.0.0] — 2026-06-11 ### Added diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/edit/EventEditViewModel.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/edit/EventEditViewModel.kt index 28040ee..22332a1 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/edit/EventEditViewModel.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/edit/EventEditViewModel.kt @@ -109,7 +109,7 @@ class EventEditViewModel @Inject constructor( prefs.lastUsedCalendarId, settingsPrefs.defaultFormFields, ::ExternalInputs, - ), + ).flowOn(io), ) { local, external -> val form = local.form ?: return@combine null val resolvedId = form.calendarId @@ -131,7 +131,6 @@ class EventEditViewModel @Inject constructor( resolved.rrule != local.editTarget.original.rrule, ) } - .flowOn(io) .stateIn( scope = viewModelScope, started = SharingStarted.WhileSubscribed(5_000L),