The endpoint editor occasionally loses a character the user was typing or mispositions the user's cursor. This is most noticeable on the body editor but applies to all text fields such as headers.
Many of the reasons this can happen are detailed here: https://medium.com/androiddevelopers/effective-state-management-for-textfield-in-compose-d6e5b070fbe5 as is already linked in the source code for the EndpointDetailsViewModel
However, there is some async/delayed state update code in the view model due to the need to sync with the server in addition to just what the user types. If we can ensure that any updates triggered from typing don't have interference from async updates from the server then we may be able to avoid synchronisation issues and the user experience should be improved.
The endpoint editor occasionally loses a character the user was typing or mispositions the user's cursor. This is most noticeable on the body editor but applies to all text fields such as headers.
Many of the reasons this can happen are detailed here: https://medium.com/androiddevelopers/effective-state-management-for-textfield-in-compose-d6e5b070fbe5 as is already linked in the source code for the EndpointDetailsViewModel
However, there is some async/delayed state update code in the view model due to the need to sync with the server in addition to just what the user types. If we can ensure that any updates triggered from typing don't have interference from async updates from the server then we may be able to avoid synchronisation issues and the user experience should be improved.