Server trims names on save, and the debounced getSnippets/getNotes
refresh was overwriting the input value mid-edit. Extracted
useEditableField composable that buffers input locally while focused,
syncing from server only when the input is not active.