If try to add a project links widget on a project dashboard, you will get a fatal error. The issue is only visible on the instances installed from the packages, dev instances running from the sources will not be able to reproduce the issue.
Issue has been introduced by
request #12590.
Trace:
2019-02-20T10:39:57+00:00 [759] [error] Caught exception: Asset /usr/share/tuleap/plugins/projectlinks/include/../../../src/www/assets/projectlinks/BurningParrot/manifest.json doesn't exist. Did you run `npm run build` ?:
#0 /usr/share/tuleap/src/common/layout/IncludeAssets.php(57): Tuleap\Layout\IncludeAssets->loadFromManifest()
#1 /usr/share/tuleap/src/common/layout/IncludeAssets.php(46): Tuleap\Layout\IncludeAssets->getHashedName('style-purple.cs...')
#2 /usr/share/tuleap/src/common/layout/CssAsset.php(39): Tuleap\Layout\IncludeAssets->getFileURL('style-purple.cs...')
#3 /usr/share/tuleap/src/www/themes/BurningParrot/HeaderPresenterBuilder.php(197): Tuleap\Layout\CssAsset->getFileURL(Object(Tuleap\Layout\ThemeVariation))
#4 /usr/share/tuleap/src/www/themes/BurningParrot/HeaderPresenterBuilder.php(114): Tuleap\Theme\BurningParrot\HeaderPresenterBuilder->getStylesheets(Object(Tuleap\Layout\ThemeVariation))
#5 /usr/share/tuleap/src/www/themes/BurningParrot/BurningParrotTheme.php(129): Tuleap\Theme\BurningParrot\HeaderPresenterBuilder->build(Object(Tuleap\Theme\BurningParrot\Navbar\PresenterBuilder), Object(HTTPRequest), Object(Tuleap\DynamicCredentials\User\DynamicUser), '/themes/Burning...', 'Dashboard - Cha...', Array, Array, Array, Object(Tuleap\Layout\SidebarPresenter), Object(Tuleap\Theme\BurningParrot\CurrentProjectNavbarInfoPresenter), Array, Object(URLRedirect), Array, Array, '', Object(Tuleap\Layout\CssAssetCollection))
#6 /usr/share/tuleap/src/www/include/html.php(530): Tuleap\Theme\BurningParrot\BurningParrotTheme->header(Array)
#7 /usr/share/tuleap/src/www/include/html.php(580): site_header(Array)
#8 /usr/share/tuleap/src/common/Dashboard/Project/ProjectDashboardController.php(157): site_project_header(Array)
#9 /usr/share/tuleap/src/common/Dashboard/Project/ProjectDashboardRouter.php(83): Tuleap\Dashboard\Project\ProjectDashboardController->display(Object(HTTPRequest))
#10 /usr/share/tuleap/src/common/project/Home.php(131): Tuleap\Dashboard\Project\ProjectDashboardRouter->route(Object(HTTPRequest))
#11 /usr/share/tuleap/src/common/Request/FrontRouter.php(222): Tuleap\Project\Home->process(Object(HTTPRequest), Object(Tuleap\Theme\BurningParrot\BurningParrotTheme), Array)
#12 /usr/share/tuleap/src/common/Request/FrontRouter.php(89): Tuleap\Request\FrontRouter->routeHandler(Object(HTTPRequest), Object(Tuleap\Project\Home), Array)
#13 /usr/share/tuleap/src/www/index.php(46): Tuleap\Request\FrontRouter->route(Object(HTTPRequest))
#14 {main}