nextcloud / server

☁️ Nextcloud server, a safe home for all your data
https://nextcloud.com
GNU Affero General Public License v3.0
27.42k stars 4.07k forks source link

Folder icons disappeared #6891

Closed dm-m closed 7 years ago

dm-m commented 7 years ago
### Steps to reproduce 1. Install Nextcloud 2. Enable Theming 3. Observe empty places instead of folder icons ### Expected behaviour Folder icons should be visible. ### Actual behaviour Folder icons suddenly disappeared. ### Server configuration **Operating system**: Ubuntu 16.04.2 LTS **Web server:** nginx/1.13.3 **Database:** MySQL **PHP version:** 7.0 **Nextcloud version:** 12.0.3 **Updated from an older Nextcloud/ownCloud or fresh install:** updated from 11 **Where did you install Nextcloud from:** built-in Updater **Signing status:**
Signing status No errors have been found.
**List of activated apps:**
App list Enabled: - activity: 2.5.2 - admin_audit: 1.2.0 - apporder: 0.4.0 - audioplayer: 2.1.0 - bookmarks: 0.10.1 - bruteforcesettings: 1.0.2 - calendar: 1.5.6 - comments: 1.2.0 - dav: 1.3.0 - deck: 0.2.4 - drawio: 0.8.8 - federatedfilesharing: 1.2.0 - federation: 1.2.0 - files: 1.7.2 - files_pdfviewer: 1.1.1 - files_reader: 1.0.4 - files_sharing: 1.4.0 - files_texteditor: 2.4.1 - files_trashbin: 1.2.0 - files_versions: 1.5.0 - files_videoplayer: 1.1.0 - firstrunwizard: 2.1 - gallery: 17.0.0 - issuetemplate: 0.2.2 - keeweb: 0.4.0 - logreader: 2.0.0 - lookup_server_connector: 1.0.0 - metadata: 0.5.0 - nextcloud_announcements: 1.1 - notifications: 2.0.0 - oauth2: 1.0.5 - password_policy: 1.2.2 - phonetrack: 0.0.5 - provisioning_api: 1.2.0 - richdocuments: 1.12.35 - serverinfo: 1.2.0 - sharebymail: 1.2.0 - spreed: 2.0.1 - spreedme: 0.3.11 - systemtags: 1.2.0 - tasks: 0.9.5 - theming: 1.3.0 - twofactor_backupcodes: 1.1.1 - twofactor_totp: 1.3.1 - updatenotification: 1.2.0 - weather: 1.5.0 - workflowengine: 1.2.0
**Nextcloud configuration:**
Config report "system": { "instanceid": "octpyzdw2x0d", "passwordsalt": "***REMOVED SENSITIVE VALUE***", "secret": "***REMOVED SENSITIVE VALUE***", "trusted_domains": [ "***REMOVED SENSITIVE VALUE***" ], "datadirectory": "\/var\/www\/nextcloud\/data", "overwrite.cli.url": "https:\/\/***REMOVED SENSITIVE VALUE***", "dbtype": "mysql", "version": "12.0.3.3", "dbname": "nextcloud", "dbhost": "localhost", "dbport": "", "dbtableprefix": "oc_", "dbuser": "***REMOVED SENSITIVE VALUE***", "dbpassword": "***REMOVED SENSITIVE VALUE***", "logtimezone": "UTC", "installed": true, "memcache.local": "\\OC\\Memcache\\APCu", "maintenance": false, "singleuser": false, "token_auth_enforced": false, "auth.bruteforce.protection.enabled": true, "knowledgebaseenabled": true, "enable_avatars": true, "allow_user_to_change_display_name": true, "theme": "", "loglevel": 2, "updater.release.channel": "stable" }
**Are you using external storage, if yes which one:** no **Are you using encryption:** no **Are you using an external user-backend, if yes which one:** no ### Client configuration **Browser:** Google Chrome Version 60.0.3112.113 (Official Build) (64-bit) Google Chrome Version 62.0.3202.62 (Official Build) (64-bit) **Operating system:** Windows 10, Linux Mint 18.2 Sonya There is no anything specific to the issue in the logs of nginx/nextcloud. Chrome Elements Console is showing that the icon path is specified as /apps/theming/img/core/filetypes/folder.svg?v=8 , however there is no 'core' directory in the Nextcloud installation folder. ![issue](https://user-images.githubusercontent.com/15848442/31850567-076b80ba-b65d-11e7-94ba-9d5880f86789.png) All was working good, however icons disappeared suddenly. Perhaps some plugin update broke normal visibility but I didn't notice it right after the update. Disabling "Theming" plugin fixes the issue, as advised on Nextcloud forums, however that would be a temporary fix for me as I am actively using that plugin. Thanks for your attention to this matter.
blizzz commented 7 years ago

however there is no 'core' directory in the Nextcloud installation folder.

I doubt that ;)

The folder icons are also being themed. Is there anything in the logs? Did you try to clear browser cache?

dm-m commented 7 years ago

Well, I meant there is no "core" in the directory nextcloud/apps/theming/img :)

There are app-dark.svg and app.svg in that folder only.

As I've said previously, there is nothing special in the logs, at least at a glance. Nginx log complaints about failed SSL handshake - too low version of TLS for some unauthorized client (I had configured TLS 1.2 only) and someone tried to access /.ssh/.id_rsa :)

Also Nextcloud log has one record for yesterday:

Level | App | Message Error | appstoreFetcher | GuzzleHttp\Exception\ConnectException: cURL error 28: Connection timed out after 10001 milliseconds

  1. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/RequestFsm.php - line 103: GuzzleHttp\Exception\RequestException wrapException(Object(GuzzleHttp\Message\Request), Object(GuzzleHttp\Ring\Exception\ConnectException))

  2. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/RequestFsm.php - line 132: GuzzleHttp\RequestFsm->__invoke(Object(GuzzleHttp\Transaction))

  3. /var/www/nextcloud/3rdparty/react/promise/src/FulfilledPromise.php - line 25: GuzzleHttp\RequestFsm->GuzzleHttp{closure}(Array)

  4. /var/www/nextcloud/3rdparty/guzzlehttp/ringphp/src/Future/CompletedFutureValue.php - line 55: React\Promise\FulfilledPromise->then(Object(Closure), NULL, NULL)

  5. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Message/FutureResponse.php - line 43:GuzzleHttp\Ring\Future\CompletedFutureValue->then(Object(Closure), NULL, NULL)

  6. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/RequestFsm.php - line 134: GuzzleHttp\Message\FutureResponse proxy(Object(GuzzleHttp\Ring\Future\CompletedFutureArray), Object(Closure))

  7. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php - line 165: GuzzleHttp\RequestFsm->__invoke(Object(GuzzleHttp\Transaction))

  8. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php - line 125: GuzzleHttp\Client->send(Object(GuzzleHttp\Message\Request))

  9. /var/www/nextcloud/lib/private/Http/Client/Client.php - line 138: GuzzleHttp\Client->get('https //apps.ne...', Array)

  10. /var/www/nextcloud/lib/private/App/AppStore/Fetcher/Fetcher.php - line 99: OC\Http\Client\Client->get('https //apps.ne...', Array)

  11. /var/www/nextcloud/lib/private/App/AppStore/Fetcher/AppFetcher.php - line 66: OC\App\AppStore\Fetcher\Fetcher->fetch('"2017-10-22 00 ...', '[{"id" "contact...')

  12. /var/www/nextcloud/lib/private/App/AppStore/Fetcher/Fetcher.php - line 162: OC\App\AppStore\Fetcher\AppFetcher->fetch('"2017-10-22 00 ...', '[{"id" "contact...')

  13. /var/www/nextcloud/lib/private/Installer.php - line 394: OC\App\AppStore\Fetcher\Fetcher->get()

  14. /var/www/nextcloud/apps/updatenotification/lib/Notification/BackgroundJob.php - line 258: OC\Installer isUpdateAvailable('gallery', Object(OC\App\AppStore\Fetcher\AppFetcher))

  15. /var/www/nextcloud/apps/updatenotification/lib/Notification/BackgroundJob.php - line 155:OCA\UpdateNotification\Notification\BackgroundJob->isUpdateAvailable('gallery')

  16. /var/www/nextcloud/apps/updatenotification/lib/Notification/BackgroundJob.php - line 79:OCA\UpdateNotification\Notification\BackgroundJob->checkAppUpdates()

  17. /var/www/nextcloud/lib/private/BackgroundJob/Job.php - line 59: OCA\UpdateNotification\Notification\BackgroundJob->run(NULL)

  18. /var/www/nextcloud/lib/private/BackgroundJob/TimedJob.php - line 54: OC\BackgroundJob\Job->execute(Object(OC\BackgroundJob\JobList), Object(OC\Log))

  19. /var/www/nextcloud/cron.php - line 124: OC\BackgroundJob\TimedJob->execute(Object(OC\BackgroundJob\JobList), Object(OC\Log))

  20. {main}

One record on October 22:

Level | App | Message Error | notifications | GuzzleHttp\Exception\ClientException: Client error response [url] https://push-notifications.nextcloud.com/notifications [status code] 400 [reason phrase] Bad Request

  1. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Subscriber/HttpError.php - line 32: GuzzleHttp\Exception\RequestException create(Object(GuzzleHttp\Message\Request), Object(GuzzleHttp\Message\Response))

  2. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Event/Emitter.php - line 108: GuzzleHttp\Subscriber\HttpError->onComplete(Object(GuzzleHttp\Event\CompleteEvent), 'complete')

  3. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/RequestFsm.php - line 91: GuzzleHttp\Event\Emitter->emit('complete', Object(GuzzleHttp\Event\CompleteEvent))

  4. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/RequestFsm.php - line 132: GuzzleHttp\RequestFsm->__invoke(Object(GuzzleHttp\Transaction))

  5. /var/www/nextcloud/3rdparty/react/promise/src/FulfilledPromise.php - line 25: GuzzleHttp\RequestFsm->GuzzleHttp{closure}(Array)

  6. /var/www/nextcloud/3rdparty/guzzlehttp/ringphp/src/Future/CompletedFutureValue.php - line 55: React\Promise\FulfilledPromise->then(Object(Closure), NULL, NULL)

  7. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Message/FutureResponse.php - line 43: GuzzleHttp\Ring\Future\CompletedFutureValue->then(Object(Closure), NULL, NULL)

  8. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/RequestFsm.php - line 134: GuzzleHttp\Message\FutureResponse proxy(Object(GuzzleHttp\Ring\Future\CompletedFutureArray), Object(Closure))

  9. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php - line 165: GuzzleHttp\RequestFsm->__invoke(Object(GuzzleHttp\Transaction))

  10. /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php - line 150: GuzzleHttp\Client->send(Object(GuzzleHttp\Message\Request))

  11. /var/www/nextcloud/lib/private/Http/Client/Client.php - line 204: GuzzleHttp\Client->post('https //push-no...', Array)

  12. /var/www/nextcloud/apps/notifications/lib/Push.php - line 120: OC\Http\Client\Client->post('https //push-no...', Array)

  13. /var/www/nextcloud/apps/notifications/lib/App.php - line 48: OCA\Notifications\Push->pushToDevice(Object(OC\Notification\Notification))

  14. /var/www/nextcloud/lib/private/Notification/Manager.php - line 187: OCA\Notifications\App->notify(Object(OC\Notification\Notification))

  15. /var/www/nextcloud/apps/updatenotification/lib/Notification/BackgroundJob.php - line 193: OC\Notification\Manager->notify(Object(OC\Notification\Notification))

  16. /var/www/nextcloud/apps/updatenotification/lib/Notification/BackgroundJob.php - line 157: OCA\UpdateNotification\Notification\BackgroundJob->createNotifications('metadata', '0.6.0')

  17. /var/www/nextcloud/apps/updatenotification/lib/Notification/BackgroundJob.php - line 79: OCA\UpdateNotification\Notification\BackgroundJob->checkAppUpdates()

  18. /var/www/nextcloud/lib/private/BackgroundJob/Job.php - line 59: OCA\UpdateNotification\Notification\BackgroundJob->run(NULL)

  19. /var/www/nextcloud/lib/private/BackgroundJob/TimedJob.php - line 54: OC\BackgroundJob\Job->execute(Object(OC\BackgroundJob\JobList), Object(OC\Log))

  20. /var/www/nextcloud/cron.php - line 124: OC\BackgroundJob\TimedJob->execute(Object(OC\BackgroundJob\JobList), Object(OC\Log))

  21. {main}

dm-m commented 7 years ago

Clearing browser cache didn't help either.

blizzz commented 7 years ago

the logged exceptions seem to result that some server (appstore perhaps) was not available, and are unrelated.

for the other, original part @juliushaertl do you have an idea?

juliusknorr commented 7 years ago

Chrome Elements Console is showing that the icon path is specified as /apps/theming/img/core/filetypes/folder.svg?v=8 , however there is no 'core' directory in the Nextcloud installation folder.

That is correct. It fetches the icon from a dynamic route /index.php/apps/theming/img/core/filetypes/folder.svg which is rewritten in your setup without the index.php.

I think this might be caused by some misconfiguration in your webserver config. Can you check if the icon is available when you open http://yoururl/index.php/apps/theming/img/core/filetypes/folder.svg

dm-m commented 7 years ago

@juliushaertl Very interesting, didn't know about a dynamic route. Yes, the icon is showed on the direct link.

Actually, you were correct: there was some misconfiguration. I checked a webserver config and found out that the root cause was in ngx_pagespeed setup. I played with its settings a bit, then recompiled nginx adding the module as dynamic rather than static and disabled it for the website.

Thank you for your assistance! Feel free to close the issue.

blizzz commented 7 years ago

thanks for updating us @dm-m!