-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dashboard: While editing a devfile of a workspace, user is constantly interrupted by the auto save #13982
Comments
Agree with @sunix. I really hate autosave in this case. Probably it's a good feature but I have to edit the devfile outside the dashboard and then to replace the whole devfile content. |
autosave is a good feature but it should not interrupt the user currently editing. In Theia, autosave works great. |
Fine, but the dashboard should not re-read the devfile on every save. |
Thoughts: a) autosave could be slowed down to only apply if the user stops typing for 5 seconds b) add a checkbox to disable autosave c) why not ALWAYS have a save button anyway, even when autosave is enabled? Sure, it'd be greyed out but it's not like there's a shortage of screen space. d) maybe it would be easier/better for extensive editing to be done in another browser (eg., in Che editor) and then have a way to upload the file easily to the dashboard e) why make this complicated? follow the UI experience of editing a file/comment/gist in Github or JIRA UI. One green button to rule them all, no autosave needed. |
To me the problem is not autosave itself but the fact that it is reformatting/changing your file and the cursor doesn't follow. Is it necessary to reformat the file ? could we reformat after 10 secs of inactivity ? could we set the cursor back to where it was after reformatting ? |
Another frustration here is if you e.g. delete a single character from one of the fields, the automatic reformat will
|
Removing triage label as we seem to agree this needs doing, and no one has objected to the 7.2 target milestone. |
Originally, similar page with workspace config editor had separate SAVE button. But back then there was the problem that people forgot to hit the button, went to another page of UD and lost all changes in editor. AFAIK reformatting and changing of devfile happens because we don't store a raw content of devfile. Each request to save changes of a devfile ends with re-rendering of editor content with serialized server side response. With this in mind I see two options:
Does anyone has other ideas how this can be done? |
@akurinnoy My main issues with the way the editor is implemented are
The first point above could maybe be fixed by increasing the autosave interval (user stops typing for 3 seconds or something). I'm not sure on the best approach for the second part, though. What I'd imagine for the devfile editor is
|
You exactly pointed main issues. But increasing the autosave interval will make them happen less often while you're typing but they will always happen on devfile save. Also, you'll have to wait longer for autosave when stop typing. That's why my first proposal above was to disable autosave and enable 'Save' button.
I'm not sure it's a good choise because currently a progress bar in Dashboard indicates that UD has already started an API request.
Users may be confused what kind of request has been started on keypress in editor and why it lasts for e.g. 3+ seconds. |
AFAIK this issue is already in progress. |
@slemeur hello, I'd like to know your thought on this issue. |
@akurinnoy You make a good point; the more I think about it the more I think disabling autosave and instead showing a save button is better UX. |
+1 to disable, but it would be nice to have hotkey, f.e. Ctrl +S to save defile. |
Describe the bug
Editing the devfile of an existing workspace from the dashboard is a nightmare.
It is not possible to edit a command and being interrupted by the auto save which is not doing it silently: while the user is typing it is saving, reformatting, scrolling and undoing what the user had typed few millisecond before.
Che version
Runtime
kubectl version
)oc version
)minikube version
andkubectl version
)minishift version
andoc version
)docker version
andkubectl version
)Screenshots
Installation method
Environment
The text was updated successfully, but these errors were encountered: