{"action":"closed","issue":{"url":"https://api.github.com/repos/nextcloud/bookmarks/issues/556","repository_url":"https://api.github.com/repos/nextcloud/bookmarks","labels_url":"https://api.github.com/repos/nextcloud/bookmarks/issues/556/labels{/name}","comments_url":"https://api.github.com/repos/nextcloud/bookmarks/issues/556/comments","events_url":"https://api.github.com/repos/nextcloud/bookmarks/issues/556/events","html_url":"https://github.com/nextcloud/bookmarks/issues/556","id":355267522,"node_id":"MDU6SXNzdWUzNTUyNjc1MjI=","number":556,"title":"Log file is flooded because of Bookmarks without favicon","user":{"login":"dartcafe","id":26707476,"node_id":"MDQ6VXNlcjI2NzA3NDc2","avatar_url":"https://avatars3.githubusercontent.com/u/26707476?v=4","gravatar_id":"","url":"https://api.github.com/users/dartcafe","html_url":"https://github.com/dartcafe","followers_url":"https://api.github.com/users/dartcafe/followers","following_url":"https://api.github.com/users/dartcafe/following{/other_user}","gists_url":"https://api.github.com/users/dartcafe/gists{/gist_id}","starred_url":"https://api.github.com/users/dartcafe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dartcafe/subscriptions","organizations_url":"https://api.github.com/users/dartcafe/orgs","repos_url":"https://api.github.com/users/dartcafe/repos","events_url":"https://api.github.com/users/dartcafe/events{/privacy}","received_events_url":"https://api.github.com/users/dartcafe/received_events","type":"User","site_admin":false},"labels":[{"id":35264526,"node_id":"MDU6TGFiZWwzNTI2NDUyNg==","url":"https://api.github.com/repos/nextcloud/bookmarks/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-08-29T17:51:28Z","updated_at":"2018-09-04T19:42:09Z","closed_at":"2018-09-04T19:42:09Z","author_association":"NONE","body":"The log file is flooded when websites have no favicon. \r\n\r\n### Steps to reproduce\r\nAdd a website without bookmark to the list of bookmarks\r\n\r\n### Expected behaviour\r\nIgnore missing favicons without warning entry in the logfile\r\n\r\n### Actual behaviour\r\nOne log file entry for each missing favicon.\r\n\r\n### Server configuration\r\n\r\n**PHP version:**\r\n7.1\r\n**Nextcloud version:** (see Nextcloud admin page)\r\n13\r\n**Bookmarks version:** (see Nextcloud apps page)\r\n0.12.1\r\n\r\n#### Nextcloud log (data/nextcloud.log)\r\n```\r\n`\r\n{\"reqId\":\"W4bZ9FUNihUAADtk-SYAAAAF\",\"level\":2,\"time\":\"2018-08-29T17:37:57+00:00\",\"remoteAddr\":\"37.201.195.52\",\"user\":\"dartcafe\",\"app\":\"bookmarks\",\"method\":\"GET\",\"url\":\"\\/index.php\\/apps\\/bookmarks\\/bookmark\\/233\\/favicon\",\"message\":\"GuzzleHttp\\\\Exception\\\\ClientException: Client error response [url] https:\\/\\/www.heise.de\\/security\\/dienste\\/Der-Scan-869077.html [status code] 404 [reason phrase] Not Found in \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/vendor\\/guzzlehttp\\/guzzle\\/src\\/Exception\\/RequestException.php:89\\nStack trace:\\n\r\n#0 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/vendor\\/guzzlehttp\\/guzzle\\/src\\/Subscriber\\/HttpError.php(32): GuzzleHttp\\\\Exception\\\\RequestException::create(Object(GuzzleHttp\\\\Message\\\\Request), Object(GuzzleHttp\\\\Message\\\\Response))\\n\r\n#1 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/vendor\\/guzzlehttp\\/guzzle\\/src\\/Event\\/Emitter.php(108): GuzzleHttp\\\\Subscriber\\\\HttpError->onComplete(Object(GuzzleHttp\\\\Event\\\\CompleteEvent), 'complete')\\n\r\n#2 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/vendor\\/guzzlehttp\\/guzzle\\/src\\/RequestFsm.php(91): GuzzleHttp\\\\Event\\\\Emitter->emit('complete', Object(GuzzleHttp\\\\Event\\\\CompleteEvent))\\n\r\n#3 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/vendor\\/guzzlehttp\\/guzzle\\/src\\/RequestFsm.php(132): GuzzleHttp\\\\RequestFsm->__invoke(Object(GuzzleHttp\\\\Transaction))\\n\r\n#4 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/vendor\\/react\\/promise\\/src\\/FulfilledPromise.php(25): GuzzleHttp\\\\RequestFsm->GuzzleHttp\\\\{closure}(Array)\\n\r\n#5 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/vendor\\/guzzlehttp\\/ringphp\\/src\\/Future\\/CompletedFutureValue.php(55): React\\\\Promise\\\\FulfilledPromise->then(Object(Closure), NULL, NULL)\\n\r\n#6 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/vendor\\/guzzlehttp\\/guzzle\\/src\\/Message\\/FutureResponse.php(43): GuzzleHttp\\\\Ring\\\\Future\\\\CompletedFutureValue->then(Object(Closure), NULL, NULL)\\n\r\n#7 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/vendor\\/guzzlehttp\\/guzzle\\/src\\/RequestFsm.php(134): GuzzleHttp\\\\Message\\\\FutureResponse::proxy(Object(GuzzleHttp\\\\Ring\\\\Future\\\\CompletedFutureArray), Object(Closure))\\n\r\n#8 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/vendor\\/guzzlehttp\\/guzzle\\/src\\/RequestFsm.php(132): GuzzleHttp\\\\RequestFsm->__invoke(Object(GuzzleHttp\\\\Transaction))\\n\r\n#9 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/vendor\\/react\\/promise\\/src\\/FulfilledPromise.php(25): GuzzleHttp\\\\RequestFsm->GuzzleHttp\\\\{closure}(Array)\\n\r\n#10 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/vendor\\/guzzlehttp\\/ringphp\\/src\\/Future\\/CompletedFutureValue.php(55): React\\\\Promise\\\\FulfilledPromise->then(Object(Closure), NULL, NULL)\\n\r\n#11 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/vendor\\/guzzlehttp\\/guzzle\\/src\\/Message\\/FutureResponse.php(43): GuzzleHttp\\\\Ring\\\\Future\\\\CompletedFutureValue->then(Object(Closure), NULL, NULL)\\n\r\n#12 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/vendor\\/guzzlehttp\\/guzzle\\/src\\/RequestFsm.php(134): GuzzleHttp\\\\Message\\\\FutureResponse::proxy(Object(GuzzleHttp\\\\Ring\\\\Future\\\\CompletedFutureArray), Object(Closure))\\n\r\n#13 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/vendor\\/guzzlehttp\\/guzzle\\/src\\/Client.php(165): GuzzleHttp\\\\RequestFsm->__invoke(Object(GuzzleHttp\\\\Transaction))\\n\r\n#14 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/vendor\\/guzzlehttp\\/guzzle\\/src\\/Client.php(125): GuzzleHttp\\\\Client->send(Object(GuzzleHttp\\\\Message\\\\Request))\\n\r\n#15 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/vendor\\/marcelklehr\\/link-preview\\/src\\/Readers\\/HttpReader.php(95): GuzzleHttp\\\\Client->get('http:\\/\\/www.heis...', Array)\\n\r\n#16 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/vendor\\/marcelklehr\\/link-preview\\/src\\/Parsers\\/BaseParser.php(65): Marcelklehr\\\\LinkPreview\\\\Readers\\\\HttpReader->readLink(Object(Marcelklehr\\\\LinkPreview\\\\Models\\\\Link))\\n\r\n#17 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/vendor\\/marcelklehr\\/link-preview\\/src\\/Parsers\\/HtmlParser.php(111): Marcelklehr\\\\LinkPreview\\\\Parsers\\\\BaseParser->readLink(Object(Marcelklehr\\\\LinkPreview\\\\Models\\\\Link))\\n\r\n#18 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/vendor\\/marcelklehr\\/link-preview\\/src\\/Client.php(62): Marcelklehr\\\\LinkPreview\\\\Parsers\\\\HtmlParser->parseLink(Object(Marcelklehr\\\\LinkPreview\\\\Models\\\\Link))\\n\r\n#19 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/controller\\/lib\\/linkexplorer.php(23): Marcelklehr\\\\LinkPreview\\\\Client->getPreview('general')\\n\r\n#20 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/controller\\/lib\\/previews\\/defaultpreviewservice.php(73): OCA\\\\Bookmarks\\\\Controller\\\\Lib\\\\LinkExplorer->get('http:\\/\\/www.heis...')\\n\r\n#21 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/controller\\/lib\\/previews\\/faviconpreviewservice.php(45): OCA\\\\Bookmarks\\\\Controller\\\\Lib\\\\Previews\\\\DefaultPreviewService->scrapeUrl('http:\\/\\/www.heis...')\\n\r\n#22 \\/www\\/htdocs\\/nextcloud\\/apps\\/bookmarks\\/controller\\/rest\\/internalbookmarkcontroller.php(243): OCA\\\\Bookmarks\\\\Controller\\\\Lib\\\\Previews\\\\FaviconPreviewService->getImage(Array)\\n\r\n#23 [internal function]: OCA\\\\Bookmarks\\\\Controller\\\\Rest\\\\InternalBookmarkController->getBookmarkFavicon(233)\\n\r\n#24 \\/www\\/htdocs\\/nextcloud\\/lib\\/private\\/AppFramework\\/Http\\/Dispatcher.php(161): call_user_func_array(Array, Array)\\n\r\n#25 \\/www\\/htdocs\\/nextcloud\\/lib\\/private\\/AppFramework\\/Http\\/Dispatcher.php(91): OC\\\\AppFramework\\\\Http\\\\Dispatcher->executeController(Object(OCA\\\\Bookmarks\\\\Controller\\\\Rest\\\\InternalBookmarkController), 'getBookmarkFavi...')\\n\r\n#26 \\/www\\/htdocs\\/nextcloud\\/lib\\/private\\/AppFramework\\/App.php(115): OC\\\\AppFramework\\\\Http\\\\Dispatcher->dispatch(Object(OCA\\\\Bookmarks\\\\Controller\\\\Rest\\\\InternalBookmarkController), 'getBookmarkFavi...')\\n\r\n#27 \\/www\\/htdocs\\/nextcloud\\/lib\\/private\\/AppFramework\\/Routing\\/RouteActionHandler.php(47): OC\\\\AppFramework\\\\App::main('InternalBookmar...', 'getBookmarkFavi...', Object(OC\\\\AppFramework\\\\DependencyInjection\\\\DIContainer), Array)\\n\r\n#28 [internal function]: OC\\\\AppFramework\\\\Routing\\\\RouteActionHandler->__invoke(Array)\\n\r\n#29 \\/www\\/htdocs\\/nextcloud\\/lib\\/private\\/Route\\/Router.php(297): call_user_func(Object(OC\\\\AppFramework\\\\Routing\\\\RouteActionHandler), Array)\\n\r\n#30 \\/www\\/htdocs\\/nextcloud\\/lib\\/base.php(999): OC\\\\Route\\\\Router->match('\\/apps\\/bookmarks...')\\n\r\n#31 \\/www\\/htdocs\\/nextcloud\\/index.php(42): OC::handleRequest()\\n\r\n#32 {main}\",\"userAgent\":\"Mozilla\\/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko\\/20100101 Firefox\\/61.0\",\"version\":\"13.0.5.2\"}`\r\n\r\n\r\n\r\n\r\n<bountysource-plugin>\r\n\r\n---\r\nWant to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/62768188-log-file-is-flooded-because-of-bookmarks-without-favicon?utm_campaign=plugin&utm_content=tracker%2F216513&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F216513&utm_medium=issues&utm_source=github).\r\n</bountysource-plugin>"}}
{"actor":{"display_login":"marcelklehr"}}