Comments (4)
Subscribing myself, as I think this is then also a task for clients.
- If server returns a specific error message, clients should show a correct info
- if setting is enabled via capabilities, clients can directly prohibit renaming/creating such a file
from server.
@tobiasKaminsky we need this implemented / fixed on the clients, server and WebUI are already done:
- Desktop: nextcloud/desktop#6447
- Android: nextcloud/android#12576
- iOS: nextcloud/ios#2802
Implementation: Get the capability "forbidden_filename_characters" from the files app. This is an array of forbidden characters (could be multibyte characters, so it is an array of strings). If any of the strings in the array matches the filename it is considered invalid.
from server.
Besides some characters not allowed on windows, there are more rules that need to be taken into account, e.g. a Filename is also not allowed to end with a dot or a space. There are also some reserved filenames.
See https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file#naming-conventions for details.
from server.
Yes but having the forbidden characters implemented in clients is a good first step and also allows to configure other compatibility (like with some filesystems that forbid just :
).
See https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file#naming-conventions for details.
This is also only partially true, Windows supports a lot of naming things, but the Explorer simply does not, like trailing .
is working just win32 API needs the ?
flag to disable path normalization (and of course Explorer fails to handle it).
Just like with Mac where some buggy GUI application forbid files with colon in the name, while on OS layer this is pretty fine.
But we probably should still enforce the character + the trailing space / dot rules. About the path length we can not do much, that depends on the users mount point and file type (e.g. for spreadsheets the table name counts into the path length π€¦).
from server.
Related Issues (20)
- [Bug]: files_external virtual folders may shadow similariy named user folder, causing sync clients to potentially clobber users' files
- [Bug]: occ cli throws error in VM with mounted data directory HOT 14
- [Bug]: GenerateMetadataJob hang if folder/file already missing but still in filecache
- [Bug]: Nextcloud 29 - limit downloads need one for view (e.g. pdfviewer) and one for download HOT 3
- [Bug]: After creating new album , adding new photos to album doesn't work
- [Bug]: NC29 .well-known URLs, failed on: /.well-known/caldav HOT 71
- [Bug]: Shared folders donβt show up for new users created by SAML HOT 2
- [Bug]: Events information leaked with shared calendars HOT 3
- [Bug]: Nextcloud Files background job ScanFiles eats up all RAM HOT 2
- Copying files in the same folder not possible
- [Bug]: Inconsistency in date format in placeholder
- [Bug]: The database keeps growing after upgrade to 29.0.0 HOT 4
- [Bug]: wrong directory for temporary PHP path (nc 28.0.5 and 29 / php-fpm) HOT 36
- [Bug]: Upgrade to 28.0.5 broken my nextcloud
- [Bug]: Upgrade to 29.0.0 leads to "General error: 1709 Index column size too large. The maximum column size is 767 bytes" HOT 5
- Details tab not closing / shows details for previous folder selected when browsing to another location HOT 2
- [Bug]: Exception: Database error when running migration for app dav HOT 2
- [Bug]: last job timestamp localization wrong HOT 1
- Update devcontainer PHP environment to PHP 8.3
- [Bug]: Nextcloud 28.0.5 Upgrade - Fail post Install - Unable to load Composer Autoload related file HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from server.