Skip to content

WIP: Resolve "Renaming in the Web IDE causes file changes to be lost"

Denys Mishunov requested to merge 66293-webide-renaming into master

What does this MR do?

Ideally, this MR:

  1. Fixes re-naming of entries in WebIDE
  2. When files get both renamed & changed. we should not loose any of these operations
  3. Minor UX improvements to the presentation of the renamed entries

In reality, the following major issues still occur:

Re-naming entries & folders with 1-level-deep structure work, but

  • when nesting folder, the folder structure gets broken after re-naming.
Before renaming After renaming and clicking the subfolder
Screenshot_2019-08-23_at_18.06.30 Screenshot_2019-08-23_at_18.06.53

Changes to the renamed file do get preserved, but only in case one makes changes before renaming. So the following scenarios are buggy:

  • renaming a file before making the changes. This produces only one change (re-name itself) being detected as a change without content of the file being update to the latest version Screenshot_2019-08-23_at_18.04.44
  • when renaming a file without opening it (clicking on its name in the tree), and opening it after renaming (without comit) throws an error ion the interface and HTML page as plain text rendered instead Screenshot_2019-08-23_at_18.03.33

The MR is also missing some important tests the functionality is not yet settled. Ideally we should write a couple of integration tests in RSpec here in addition to the JS unit tests.

Screenshots

Does this MR meet the acceptance criteria?

Conformity

Performance and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Closes #66293 (moved)

Edited by Denys Mishunov

Merge request reports