File and folder rename won't allow to change case

Hi! I created an issue in the github repo about this, but maybe those issues aren’t being checked, so I’m posting it around here…

Issue

When I attempt to rename a file or folder by changing only the letter case of one or more characters (for example, trying to rename a folder from ‘test-Alvaro’ to ‘test-alvaro’), the Cells doesn’t allow the change. It treats the original name and the new name as if they were identical, even though they differ in capitalization.:

From what I’ve seen, this is due to one of the React prompt validators switching everything to lower case before comparing the strings:

Lines 29 to 35 in cells/frontend/front-srv/assets/gui.ajax/res/js/ui/ReactUI/modal/PromptValidators.js

 MustDifferFrom: (original) => { 
     return (value) => { 
         if(value && value.toLowerCase() === original.toLowerCase()) { 
             throw new Error('rename.newvalue.error.similar') 
         } 
     } 
 }, 

This (same file name, different case) shouldn’t be a problem as we’re:

  • Using a case sensitive storage (so file names shouldn’t collide)
  • Using flat storage (so file names won’t collide anyway as they’re all unique)

This looks like just a frontend check that maybe has a technical reason, or maybe not. Does it?

Versions

  • Debian 12
  • ext4 fs
  • Pydio Cells Home Edition 4.4.3
  • Flat storage
  • local MySQL DB

Temporary Workaround

Meanwhile I’m changing the file name to an intermediate one (e.g. test-Alvaro --> test-something --> test-alvaro) and that works, but it’s a bit of a hassle, so I’d like to know…

Solution ?

Maybe it’s interesting either:

  • …removing the lower case comparison from that test…
  • …or having a configuration option to disable it?

Hi @tecleandor and welcome to the forum.

I answered in the Github issue but to sum-up:

  • many thanks for the detailed feedback
  • there may be an opportunity to address this in the v5 but we cannot promise anything yet.

Thanks!

I added some details just in case it’s useful for the future.

Hello,
Thanks for the solution, this is very helpful for me.