I just tested uploading from the Nextcloud app, and it is similarly affected: no conflict dialog is shown and the existing file gets overwritten.
Viestit paikassa Nextcloud
Existing files with ”ä” in the filename are silently overwritten when a new file with the same name is uploaded
Steps to reproduce
- Have a PDF file with the name ”ä.pdf” (sic) in your Nextcloud.
- Have a different PDF file with the same name on your IOS device (Files app).
- Choose to share the file from your IOS device to Nextcloud.
- Select the folder where ”ä.pdf” already exists.
Get a dialog to choose how to deal with the filename conflict.
No dialog. The the existing file is silently overwritten by the newly shared file.
Nothing in server logs, but here’s the app log (at the default level).
Reasoning or why should it be changed/implemented?
The issue leads to data loss. I discovered this when I realized that saving bills from my banking app by sharing them to my Nextcloud had been doing this for who knows how long. (My electricity bills have the service provider name, ”Oulun Energia Sähköverkko Oy” in their filename.)
iOS version: 17.0.3
Nextcloud iOS app version: ”Nextcloud Liquid for iOS 220.127.116.11”
Server operating system:
Web server: Apache 2.4.41
Database: MySQL/MariaDB 10.3.38
PHP version: 8.2
Nextcloud version: 18.104.22.168
- This is not reproducible on Android (with my server), which is why I’m pretty sure the fault lies with the IOS app.
- Also not reproducible on IOS with filenames with ASCII-only names (FWICT); this general case was apparently fixed when first reported as Upload via Share Menu Silently Overwrites Existing Files #1737.
25.0.3 (as indicated by output from `occ –version` above).
The exit code issue is still there:
# sudo -u www-data /usr/bin/php /var/www/nextcloud/occ --version Nextcloud 25.0.3 # sudo -u www-data /usr/bin/php /var/www/nextcloud/occ files:scan -- nonexistantuser Unknown user 1 nonexistantuser +---------+-------+--------------+ | Folders | Files | Elapsed time | +---------+-------+--------------+ | 0 | 0 | 00:00:00 | +---------+-------+--------------+ # echo $? 0
Still present in Nextcloud 3.21.2. My device is a Samsung A9 running Android 10.
Hi @claucambra, I tested the appimage and the issue still reproduces.
Using a path with umlauts as
logDir causes an incorrectly encoded directory to be created and used as log directory, instead of the specified directory.
Steps to reproduce
- Quit the client.
logDir=/home/jani/Tänne(applying appropriately to your home directory)
- Start the client.
A listing of new log files residing in
Which files are affected by this bug
This question is unclear. The log files are the ones affected.
Which version of the operating system you are running.
Distro package manager
Nextcloud Server version
Nextcloud Desktop Client version
Is this bug present after an update or on a fresh install?
Updated from a minor version (ex. 3.4.2 to 3.4.4)
Are you using the Nextcloud Server Encryption module?
Encryption is Disabled
Are you using an external user-backend?
- Default internal user-backend
- LDAP/ Active Directory
- SSO – SAML
Nextcloud Server logs
This bizarre and otherwise exhaustingly long issue form is lacking a ”What happens instead of my expected outcome” question, so I’m entering it here instead: there are no logs in the specified target directory (it doesn’t even exist if you’ve not created it beforehand). Instead, like in the ye olden days, there is now a directory called
TÃ¤nne containing the logs. In
nextcloud.cfg the path has been re-encoded as
logDir=/home/jani/T\xc3\xa4nne/ which is apparently how it should be, since a similarly re-encoded value for a
...localPath with umlauts in the
[accounts] section has been working just fine for as long as I can remember using it.
Sorry for necromancing, but because Google seems to like this thread, I just thought I’d add a mention that a
check_data_directory_permissions option for
config.php has since been implemented (and backported down to NC12), and it allows the admin to turn off the automatic permissions reset (by assigning it false).
This is discouraged however, and ACLs or other means of managing access are still the better option where available.
Looks like it waits a fixed 30 minutes before letting you run it again. You can either wait it out (as you probably have by now) or, if you’re impatient (like me) and really sure it’s not running already, `SELECT * FROM ’oc_appconfig’ WHERE ’configkey’ LIKE ’lastActivity’` and delete that timestamp.
You can edit out your password salt and secret.
Just to clarify, in case someone else is about to make the stupid mistake I almost made: I’m pretty sure @JasonBayton meant @vCentre should edit their message (above) which contains the salt and secret, not that they should edit those out of their live config.php on the server, as that would cause the loss of all existing passwords.