{"action":"created","issue":{"url":"https://api.github.com/repos/nextcloud/server/issues/9533","repository_url":"https://api.github.com/repos/nextcloud/server","labels_url":"https://api.github.com/repos/nextcloud/server/issues/9533/labels{/name}","comments_url":"https://api.github.com/repos/nextcloud/server/issues/9533/comments","events_url":"https://api.github.com/repos/nextcloud/server/issues/9533/events","html_url":"https://github.com/nextcloud/server/issues/9533","id":324742633,"number":9533,"title":"Web upload should probably ignore OSX pointer files","user":{"login":"RNCTX","id":13775820,"avatar_url":"https://avatars2.githubusercontent.com/u/13775820?v=4","gravatar_id":"","url":"https://api.github.com/users/RNCTX","html_url":"https://github.com/RNCTX","followers_url":"https://api.github.com/users/RNCTX/followers","following_url":"https://api.github.com/users/RNCTX/following{/other_user}","gists_url":"https://api.github.com/users/RNCTX/gists{/gist_id}","starred_url":"https://api.github.com/users/RNCTX/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RNCTX/subscriptions","organizations_url":"https://api.github.com/users/RNCTX/orgs","repos_url":"https://api.github.com/users/RNCTX/repos","events_url":"https://api.github.com/users/RNCTX/events{/privacy}","received_events_url":"https://api.github.com/users/RNCTX/received_events","type":"User","site_admin":false},"labels":[{"id":386379233,"url":"https://api.github.com/repos/nextcloud/server/labels/enhancement","name":"enhancement","color":"0e8a16","default":true},{"id":395506289,"url":"https://api.github.com/repos/nextcloud/server/labels/feature:%20files","name":"feature: files","color":"c2e0c6","default":false},{"id":418774775,"url":"https://api.github.com/repos/nextcloud/server/labels/papercut","name":"papercut","color":"d93f0b","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-05-20T21:05:39Z","updated_at":"2018-05-23T15:02:08Z","closed_at":null,"author_association":"NONE","body":"### Steps to reproduce\r\n1. Drag and drop a folder from an OSX client\r\n2. cd /path/to/www/nextcloud/data/user/folder\r\n3. find . '*.ext'\r\n\r\n### Expected behaviour\r\nNextcloud should probably ignore hidden metadata files that OSX puts all over its file system.\r\n\r\n### Actual behaviour\r\nFor every file uploaded in this manner from an OSX client, there will be a hidden metadata file beginning in ._\r\n\r\n(ex myfile.pdf will have another named ._myfile.pdf)\r\n\r\n### Server configuration\r\n\r\n**Operating system**:\r\nFreeBSD 11.1-STABLE\r\n**Web server:**\r\nNginx 1.12\r\n**Database:**\r\npostgres 9.5\r\n**PHP version:**\r\n7.1\r\n**Nextcloud version:** (see Nextcloud admin page)\r\n13.0.2\r\n**Updated from an older Nextcloud/ownCloud or fresh install:**\r\nfresh install\r\n**Where did you install Nextcloud from:**\r\nofficial site zip file\r\n### Client configuration\r\n**Browser:**\r\nChrome v66.0.3359.181\r\n**Operating system:**\r\nOSX\r\n\r\n\r\nI can't find the document on an Apple domain, but here's an edu user still hosting the Apple document from way back when, explaining OSX's file metadata behavior (from 2001).  I can confirm that as of the current version of OSX this has not changed...\r\n\r\nhttp://barbie.uta.edu/~jli/Resources/Resource%20Provisoning&Performance%20Evaluation/81.pdf\r\n\r\nOn page 182, in \"The Finder and File Operations\":\r\n\r\n> When the Finder copies or moves a file, it uses the richest model available, given the\r\n> formats of the source and destination volumes. The formats that are most significant\r\n> in these kinds of operations are HFS+ (or HFS) and UFS. These operations\r\n> particularly affect the representation of the HFS and HFS+ resource fork and the\r\n> Finder attributes, especially the type and creator codes.\r\n> \r\n> As one might expect, the Finder preserves the resource fork and Finder attributes of\r\n> an HFS+ file “as is” when it copies the file to an HFS+ (or HFS) volume. The more\r\n> interesting case, however, is when it copies an HFS+ file to a UFS volume. When this\r\n> happens, the Finder splits out the information that is not in the data fork\r\n> (particularly the type and creator codes) and writes this information to a hidden file\r\n> in the same directory location as the copied file. This hidden file has the same name\r\n> as the UFS file, except that it has a “dot-underscore” prefix. Thus, if you have an\r\n> HFS+ file named MyMug.jpeg, when you copy it to a UFS volume, there will be a file\r\n> named ._MyMug.jpeg in the same location.\r\n> \r\n> When the Finder copies a UFS file to an HFS or HFS+ volume, it looks for the hidden\r\n> “dot-underscore” file. If one exists, it creates an HFS+ (or HFS) file reintegrating the\r\n> information in the hidden file into the file’s resource fork and Finder attributes. If\r\n> the hidden file does not exist, the copied file has no resource fork.\r\n\r\nI get that this is a really stupid design on Apple's part to litter users' file systems with gazillions of hidden files, and it's not the fault of Nextcloud, but it would be nice for batch processing apps/functions if Nextcloud could ignore, or have the option to ignore, these OSX metadata files (.DS_Store being another notorious one, that everyone knows about) from batch uploads such as folder drag/drop operations.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/nextcloud/server/issues/comments/391380519","html_url":"https://github.com/nextcloud/server/issues/9533#issuecomment-391380519","issue_url":"https://api.github.com/repos/nextcloud/server/issues/9533","id":391380519,"user":{"login":"MorrisJobke","id":245432,"avatar_url":"https://avatars3.githubusercontent.com/u/245432?v=4","gravatar_id":"","url":"https://api.github.com/users/MorrisJobke","html_url":"https://github.com/MorrisJobke","followers_url":"https://api.github.com/users/MorrisJobke/followers","following_url":"https://api.github.com/users/MorrisJobke/following{/other_user}","gists_url":"https://api.github.com/users/MorrisJobke/gists{/gist_id}","starred_url":"https://api.github.com/users/MorrisJobke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MorrisJobke/subscriptions","organizations_url":"https://api.github.com/users/MorrisJobke/orgs","repos_url":"https://api.github.com/users/MorrisJobke/repos","events_url":"https://api.github.com/users/MorrisJobke/events{/privacy}","received_events_url":"https://api.github.com/users/MorrisJobke/received_events","type":"User","site_admin":false},"created_at":"2018-05-23T15:02:08Z","updated_at":"2018-05-23T15:02:08Z","author_association":"MEMBER","body":"cc @nextcloud/javascript \r\n\r\nIMO this makes a lot of sense"}}
{"actor":{"display_login":"MorrisJobke"}}