Problems after updating News app to 15.1.0

Nextcloud version: 20.0.2
Operating system and version: Linux 4.15.0-126-generic x86_64
Apache or nginx version:
PHP version: 7.4.10
MySQL version: 5.7.28

The issue you are facing:
After updating the News app to 15.1.0 the following problems occur:
When running the app in a browser (tested with Firefox + Chrome on a PC running Linux Mate + Browser on an Android-Phone running /e/) it flashes the empty elements of the page for a few milliseconds (as it has been with the previous versions), empties the app area (menu bar still visible), immediately shows the loading spinner and a few seconds later an info box on the upper right telling Internal server error! Please check your data/nextcloud.log file for additional information! At the same time the info box is shown in the browser an error entry occurs in Nextcloud log.
Also the News app on Android can not update news anymore. It shows an info box telling failed to connect to [domain]/[IP address] from /[IP address] (port [port]) after 5000ms. But reloading news does not affect an entry in Nextcloud log.
All other Nextcloud apps work as usual.

Is this the first time you’ve seen this error?: Yes

Steps to replicate it:

  1. Update News app to 15.1.0
  2. Run News app in browser

The list of errors in DevTools > Console:

angular.min.js:114 GET https://[domain]/index.php/apps/news/feeds/active 500
angular.min.js:129 Possibly unhandled rejection: {"data":"<!DOCTYPE html>\n<html class=\"ng-csp\" data-placeholder-focus=\"false\" lang=\"en\" data-locale=\"de_DE\" >\n\t<head\n data-requesttoken=\"\">\n\t\t<meta charset=\"utf-8\">\n\t\t<title>\n\t\t\t\t</title>\n\t\t<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n\t\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, minimum-scale=1.0\">\n\t\t\t\t<meta name=\"apple-itunes-app\" content=\"app-id=1125420102\">\n\t\t\t\t<meta name=\"theme-color\" content=\"#0082c9\">\n\t\t<link rel=\"icon\" href=\"/index.php/apps/theming/favicon?v=10\">\n\t\t<link rel=\"apple-touch-icon\" href=\"/index.php/apps/theming/icon?v=10\">\n\t\t<link rel=\"mask-icon\" sizes=\"any\" href=\"/core/img/favicon-mask.svg\" color=\"#0082c9\">\n\t\t<link rel=\"manifest\" href=\"/index.php/apps/theming/manifest?v=10\">\n\t\t<link rel=\"stylesheet\" href=\"/apps/apporder/css/apporder.css?v=cfab4291-10\">\n<link rel=\"stylesheet\" href=\"/core/css/guest.css?v=ba025c84-10\">\n\t\t<script nonce=\"MkZFUC91MUhEdnlXN0haUFdOQnA3TFUwdk9uTktNdG9kOVNRQnJLTjQycz06bTM1NGs0QjFlcFBmb1NONGJKa3dxT1YzMVkrYVcrUU1HYnJwYjR2S2xnST0=\" defer src=\"/core/js/dist/main.js?v=ba025c84-10\"></script>\n<script nonce=\"MkZFUC91MUhEdnlXN0haUFdOQnA3TFUwdk9uTktNdG9kOVNRQnJLTjQycz06bTM1NGs0QjFlcFBmb1NONGJKa3dxT1YzMVkrYVcrUU1HYnJwYjR2S2xnST0=\" defer src=\"/core/js/dist/files_fileinfo.js?v=ba025c84-10\"></script>\n<script nonce=\"MkZFUC91MUhEdnlXN0haUFdOQnA3TFUwdk9uTktNdG9kOVNRQnJLTjQycz06bTM1NGs0QjFlcFBmb1NONGJKa3dxT1YzMVkrYVcrUU1HYnJwYjR2S2xnST0=\" defer src=\"/core/js/dist/files_client.js?v=ba025c84-10\"></script>\n<script nonce=\"MkZFUC91MUhEdnlXN0haUFdOQnA3TFUwdk9uTktNdG9kOVNRQnJLTjQycz06bTM1NGs0QjFlcFBmb1NONGJKa3dxT1YzMVkrYVcrUU1HYnJwYjR2S2xnST0=\" defer src=\"/index.php/js/core/merged-template-prepend.js?v=ba025c84-10\"></script>\n<script nonce=\"MkZFUC91MUhEdnlXN0haUFdOQnA3TFUwdk9uTktNdG9kOVNRQnJLTjQycz06bTM1NGs0QjFlcFBmb1NONGJKa3dxT1YzMVkrYVcrUU1HYnJwYjR2S2xnST0=\" defer src=\"/apps/accessibility/js/accessibilityoca.js?v=ba025c84-10\"></script>\n<script nonce=\"MkZFUC91MUhEdnlXN0haUFdOQnA3TFUwdk9uTktNdG9kOVNRQnJLTjQycz06bTM1NGs0QjFlcFBmb1NONGJKa3dxT1YzMVkrYVcrUU1HYnJwYjR2S2xnST0=\" defer src=\"/apps/apporder/js/apporder.js?v=ba025c84-10\"></script>\n<script nonce=\"MkZFUC91MUhEdnlXN0haUFdOQnA3TFUwdk9uTktNdG9kOVNRQnJLTjQycz06bTM1NGs0QjFlcFBmb1NONGJKa3dxT1YzMVkrYVcrUU1HYnJwYjR2S2xnST0=\" defer src=\"/apps/files_pdfviewer/js/files_pdfviewer-public.js?v=ba025c84-10\"></script>\n<script nonce=\"MkZFUC91MUhEdnlXN0haUFdOQnA3TFUwdk9uTktNdG9kOVNRQnJLTjQycz06bTM1NGs0QjFlcFBmb1NONGJKa3dxT1YzMVkrYVcrUU1HYnJwYjR2S2xnST0=\" defer src=\"/apps/files_sharing/js/dist/main.js?v=ba025c84-10\"></script>\n<script nonce=\"MkZFUC91MUhEdnlXN0haUFdOQnA3TFUwdk9uTktNdG9kOVNRQnJLTjQycz06bTM1NGs0QjFlcFBmb1NONGJKa3dxT1YzMVkrYVcrUU1HYnJwYjR2S2xnST0=\" defer src=\"/apps/notifications/js/notifications-main.js?v=ba025c84-10\"></script>\n\t\t\t</head>\n\t<body id=\"body-login\">\n\t\t<noscript>\n\t<div id=\"nojavascript\">\n\t\t<div>\n\t\t\tThis application requires JavaScript for correct operation. Please <a href=\"https://www.enable-javascript.com/\" target=\"_blank\" rel=\"noreferrer noopener\">enable JavaScript</a> and reload the page.\t\t</div>\n\t</div>\n</noscript>\n\t\t\t\t\t<input type=\"hidden\" id=\"initial-state-accessibility-data\" value=\"eyJ0aGVtZSI6ZmFsc2UsImhpZ2hjb250cmFzdCI6ZmFsc2V9\">\n\t\t\t\t<div class=\"wrapper\">\n\t\t\t<div class=\"v-align\">\n\t\t\t\t\t\t\t\t\t<header role=\"banner\">\n\t\t\t\t\t\t<div id=\"header\">\n\t\t\t\t\t\t\t<div class=\"logo\">\n\t\t\t\t\t\t\t\t<h1 class=\"hidden-visually\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</header>\n\t\t\t\t\t\t\t\t<main>\n\t\t\t\t\t<div class=\"error error-wide\">\n\t<h2>Internal Server Error</h2>\n\t<p>The server was unable to complete your request.</p>\n\t<p>If this happens again, please send the technical details below to the server administrator.</p>\n\t<p>More details can be found in the server log.</p>\n\n\t<h3>Technical details</h3>\n\t<ul>\n\t\t<li>Remote Address: 5.146.192.238</li>\n\t\t<li>Request ID: X9CQ08H73QQY1PzYh1ccEwAAAB8</li>\n\t\t\t</ul>\n\n\t</div>\n\t\t\t\t</main>\n\t\t\t</div>\n\t\t</div>\n\t\t<footer role=\"contentinfo\">\n\t\t\t<p class=\"info\">\n\t\t\t\t<span class=\"entity-name\"></span>\t\t\t</p>\n\t\t</footer>\n\t</body>\n</html>\n","status":500,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","url":"/index.php/apps/news/feeds/active","headers":{"Accept":"application/json, text/plain, */*","requesttoken":"XadRgFul2hNLihBIoO5+WgFsdNXzZ7kGcf1+zkVpBpo=:Hogm7TaXrnwCx0V/lKcnHlEvHbOkFJZiH5MHp3wuc/M="}},"statusText":"","xhrStatus":"complete"}
notification.js:63 Missing argument $row in OC.Notification.hide() call, caller needs to be adjusted to only dismiss its own notification

The output of your Nextcloud log in Admin > Logging:

Exception: Argument 2 passed to OCA\News\Service\Service::find() must be of the type int, null given, called in /[path]/nextcloud/apps/news/lib/Controller/FeedController.php on line 114

0.  /[path]/nextcloud/lib/private/AppFramework/App.php - line 152:
    OC\AppFramework\Http\Dispatcher->dispatch(OCA\News\Con ... {}, "active")

1.  /[path]/nextcloud/lib/private/Route/Router.php - line 308:
    OC\AppFramework\App::main("OCA\\News\\ ... r", "active", OC\AppFramew ... {}, { action: nu ... "})

2.  /[path]/nextcloud/lib/base.php - line 1008:
    OC\Route\Router->match("/apps/news/feeds/active")

3.  /[path]/nextcloud/index.php - line 37:
    OC::handleRequest()

Verursacht durchTypeError: Argument 2 passed to OCA\News\Service\Service::find() must be of the type int, null given, called in /[path]/nextcloud/apps/news/lib/Controller/FeedController.php on line 114

0.  /[path]/nextcloud/apps/news/lib/Controller/FeedController.php - line 114:
    OCA\News\Service\Service->find("[user]", null)

1.  /[path]/nextcloud/lib/private/AppFramework/Http/Dispatcher.php - line 169:
    OCA\News\Controller\FeedController->active()

2.  /[path]/nextcloud/lib/private/AppFramework/Http/Dispatcher.php - line 100:
    OC\AppFramework\Http\Dispatcher->executeController(OCA\News\Con ... {}, "active")

3.  /[path]/nextcloud/lib/private/AppFramework/App.php - line 152:
    OC\AppFramework\Http\Dispatcher->dispatch(OCA\News\Con ... {}, "active")

4.  /[path]/nextcloud/lib/private/Route/Router.php - line 308:
    OC\AppFramework\App::main("OCA\\News\\ ... r", "active", OC\AppFramew ... {}, { action: nu ... "})

5.  /[path]/nextcloud/lib/base.php - line 1008:
    OC\Route\Router->match("/apps/news/feeds/active")

6.  /[path]/nextcloud/index.php - line 37:
    OC::handleRequest()

Fixed temporarily by disabling line 112 in /[path]/nextcloud/apps/news/lib/Controller/FeedController.php

        // check if feed or folder exists
        try {
            if ($feedType === FeedType::FOLDER) {
                if ($feedId === 0) {
//                    $feedId = null;
                }
                $this->folderService->find($this->userId, $feedId);
            } elseif ($feedType === FeedType::FEED) {
                $this->feedService->find($this->userId, $feedId);

                // if its the first launch, those values will be null
            } elseif ($feedType === null) {
                throw new ServiceNotFoundException('');
            }
        } catch (ServiceNotFoundException $ex) {
            $feedId = 0;
            $feedType = FeedType::SUBSCRIPTIONS;
        }

1 Like

have you reported that to the bugtracker of github a well? i bet they would be happy…

I would have done so if I had a test environment that met the requirements stated in https://github.com/nextcloud/news/blob/master/CONTRIBUTING.md. But since it was just a “real life” problem report without deeper research or debugging, it makes no sense to create an issue that “will be closed without comment” as they say in their bug report requirements.
So I hope the developers of the News app keep an eye on the official Nextcloud community forums for “unqualified” bug reports like mine and leave a short comment whether they think it is a bug in their product or somewhere else.

Also my “solution” is just a dirty hack that does not address the reason that leads to the problem.

So as the problem also might occur on other users’ systems too, I wanted to document it and (having temporarily solved it) not just leave it open but provide a solution for the time until it is solved by the app developers.

1 Like

Hey,
you could have just posted it like that, we just don’t want people to post “news not working pls fix” no joke that happens, we want to have the freedom to just close those ticket and not teach them how to properly in lengthy discussions. News is developed in our free time and as a hobby therefore it needs to be fun.

But nobody will rip your head of if the issue report is not perfect.

This was found btw and fixed later fix FeedMapper find exception by anoymouserver · Pull Request #1002 · nextcloud/news · GitHub

The developers don’t really read the forum, nobody of us likes it much and it doesn’t fit in our workflow.
I know it’s the official forum and so on but this project lives on GitHub only. You may still discuss here though with other users.

We have the issue tracker for bugs.
And the newly added Discussions feature of GitHub for general stuff and features.

2 Likes