Skip to content
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

Renaming and only changing case fails #3587

Closed
lukash opened this issue Oct 22, 2022 · 4 comments · Fixed by #3593
Closed

Renaming and only changing case fails #3587

lukash opened this issue Oct 22, 2022 · 4 comments · Fixed by #3593
Labels
Area-FileOperations Related to file operations (e.g. moving, copying, renaming). Area-UIUX Related to user interface/experience (e.g. dialogs, notifications). Bounty Issue-Severe (high) Showstopper issues that require immediate attention
Milestone

Comments

@lukash
Copy link

lukash commented Oct 22, 2022

Describe the bug
When renaming a file, if only changing case of a letter, the operation fails with an "already exists" error.

To Reproduce

  1. Go to rename a file
  2. Only change a case of a letter
  3. Attempt to save

Expected behavior
Rename happens.

Smartphone (please complete the following information):

  • Device: Auss Zenfone 9
  • OS: Android 12
  • Rooted: No
  • Version: 3.8.2

This now has a bounty, here.

Please claim after a PR fixing this issue is accepted.
Remember that you can also back the issue adding to the bounty!

@VishnuSanal
Copy link
Member

@lukash thanks for reaching out to us, but I'm afraid there's not much we can do about it since FAT filesystem is case insensitive. @TranceLove do you have anything to add?

@VishnuSanal VishnuSanal added the Issue-WontFix Issues considered but won't be fixed. label Oct 22, 2022
@TranceLove
Copy link
Collaborator

@lukash thanks for reaching out to us, but I'm afraid there's not much we can do about it since FAT filesystem is case insensitive. @TranceLove do you have anything to add?

Yes that's true - FAT filesystems are case-insensitive, and we can do nothing about it.

@lukash
Copy link
Author

lukash commented Oct 23, 2022

Well, I can rename "a" to "b" and then rename again to "A".

On that premise:

  • as a user that doesn't want to deal with nonsense: A quality app shouldn't give me silly errors, it should handle this for me instead.

  • as a developer: Come on, guys.
    Also, to elaborate, if the error is being raised from the FS layer, it either:

    • stores the name case-insensitive and there's a hard collision there, but then it has to store the original case somewhere else (seems inefficient). In that case there could be an API to just change the cased value?
    • or it stores case-sensitive value and for some reason just does an extra case-insensitive check. Worst case scenario, you have to do the double move I described. Yes, it's not atomic anymore. I still feel it's much better than the error.

@VishnuSanal VishnuSanal reopened this Oct 23, 2022
@VishnuSanal VishnuSanal added Area-UIUX Related to user interface/experience (e.g. dialogs, notifications). Area-FileOperations Related to file operations (e.g. moving, copying, renaming). and removed Issue-WontFix Issues considered but won't be fixed. labels Oct 23, 2022
@VishnuSanal VishnuSanal self-assigned this Oct 23, 2022
@EmmanuelMess EmmanuelMess added the Issue-Severe (high) Showstopper issues that require immediate attention label Oct 25, 2022
@EmmanuelMess
Copy link
Member

This now has a bounty, here.

Please claim after a PR fixing this issue is accepted.
Remember that you can also back the issue adding to the bounty!

@VishnuSanal VishnuSanal removed their assignment Oct 30, 2022
@VishalNehra VishalNehra added this to the v3.8.3 milestone Nov 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-FileOperations Related to file operations (e.g. moving, copying, renaming). Area-UIUX Related to user interface/experience (e.g. dialogs, notifications). Bounty Issue-Severe (high) Showstopper issues that require immediate attention
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants