Ahh, not enough.
If I logout (or the user not logged yet) there is still an 'Internal error' message.
From the log file:
2013-05-31 14:53:39 RequestCycle [ERROR] Unable to find component with id 'pushes' in
[MarkupContainer [Component id = _extend12]]. This means that you declared wicket:id=pushes in your
markup, but that you either did not add the component to your page at all, or that the hierarchy
does not match.
[markup =
jar:file:/data/apps/gitblit/2013-05-31/gitblit.jar!/com/gitblit/wicket/pages/DashboardPage.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" ng-app="">
<!-- Head -->
<head><wicket:head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title wicket:id="title">[page title]</title>
<link rel="icon" href="gitblt-favicon.png" type="image/png"/>
<link rel="stylesheet" href="bootstrap/css/bootstrap.css"/>
<link rel="stylesheet" href="bootstrap/css/iconic.css"/>
<link rel="stylesheet" type="text/css" href="gitblit.css"/>
</wicket:head></head>
<body>
<!-- page content -->
<wicket:child><wicket:extend>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" wicket:id="rootLink">
<img src="gitblt_25_white.png" width="79" height="25" alt="gitblit" class="logo"/>
</a>
<div class="nav-collapse" wicket:id="navPanel"></div>
<ul class="nav pull-right">
<span wicket:id="userPanel"></span>
</ul>
</div>
</div>
</div>
<!-- subclass content -->
<div class="container">
<div style="text-align:center" wicket:id="feedback">[Feedback Panel]</div>
</div>
<wicket:child><wicket:extend>
<div class="container">
<div class="markdown" style="padding-bottom:5px;" wicket:id="repositoriesMessage">[repositories
message]</div>
<div class="row">
<div class="span7">
<div class="hidden-phone hidden-tablet" style="text-align:center;">
<table>
<tr>
<td><div id="chartRepositories" style="display:inline-block;width: 175px;
height:175px"></div></td>
<td><div id="chartAuthors" style="display:inline-block;width: 175px; height: 175px;"></div></td>
</tr>
</table>
</div>
<div wicket:id="pushes"></div>
</div>
<div class="span5">
<div wicket:id="active">[active]</div>
<div wicket:id="starred">[starred]</div>
<div wicket:id="owned">[owned]</div>
</div>
</div>
</div>
<wicket:fragment wicket:id="starredListFragment">
<div ng-controller="starredCtrl" style="border: 1px solid #ddd;border-radius: 4px;margin-bottom:
20px;">
<div class="header" style="padding: 5px;border: none;"><i class="icon-star"></i> <wicket:message
key="gb.starredRepositories"></wicket:message> ({{starred.length}})
<div class="pull-right">
<a class="btn btn-mini">more</a>
</div>
<div style="padding: 5px 0px 0px;">
<input type="text" ng-model="query.r" class="input-large" wicket:message="placeholder:gb.filter"
style="border-radius: 14px; padding: 3px 14px;margin: 0px;"></input>
</div>
</div>
<div ng-repeat="item in starred | limitTo: 20 | filter:query" style="padding: 3px;border-top: 1px
solid #ddd;">
<b><span class="repositorySwatch" style="background-color:{{item.c}};"><span
ng-show="item.wc">!</span><span ng-show="!item.wc"> </span></span></b>
<a href="summary/?r={{item.r}}">{{item.p}}<b>{{item.n}}</b></a>
<span class="link hidden-tablet hidden-phone" style="color: #bbb;"
title="{{item.d}}">{{item.t}}</span>
<span ng-show="item.s" class="pull-right">
<span style="padding: 0px 5px;color: #888;font-weight:bold;vertical-align:middle;">{{item.s |
number}} <i class="iconic-star"></i></span>
</span>
</div>
</div>
</wicket:fragment>
<wicket:fragment wicket:id="ownedListFragment">
<div ng-controller="ownedCtrl" style="border: 1px solid #ddd;border-radius: 4px;">
<div class="header" style="padding: 5px;border: none;"><i class="icon-user"></i> <wicket:message
key="gb.myRepositories"></wicket:message> ({{owned.length}})
<div class="pull-right">
<span wicket:id="create"></span>
</div>
<div style="padding: 5px 0px 0px;">
<input type="text" ng-model="query.r" class="input-large" wicket:message="placeholder:gb.filter"
style="border-radius: 14px; padding: 3px 14px;margin: 0px;"></input>
</div>
</div>
<div ng-repeat="item in owned | filter:query" style="padding: 3px;border-top: 1px solid #ddd;">
<b><span class="repositorySwatch" style="background-color:{{item.c}};"><span
ng-show="item.wc">!</span><span ng-show="!item.wc"> </span></span></b>
<a href="summary/?r={{item.r}}">{{item.p}}<b>{{item.n}}</b></a>
<span class="link hidden-tablet hidden-phone" style="color: #bbb;"
title="{{item.d}}">{{item.t}}</span>
<span ng-show="item.s" class="pull-right">
<span style="padding: 0px 5px;color: #888;font-weight:bold;vertical-align:middle;">{{item.s |
number}} <i class="iconic-star"></i></span>
</span>
</div>
</div>
</wicket:fragment>
<wicket:fragment wicket:id="activeListFragment">
<div ng-controller="activeCtrl" style="border: 1px solid #ddd;border-radius: 4px;">
<div class="header" style="padding: 5px;border: none;"><i class="icon-user"></i> <wicket:message
key="gb.activeRepositories"></wicket:message> ({{active.length}})
<div style="padding: 5px 0px 0px;">
<input type="text" ng-model="query.r" class="input-large" wicket:message="placeholder:gb.filter"
style="border-radius: 14px; padding: 3px 14px;margin: 0px;"></input>
</div>
</div>
<div ng-repeat="item in active | filter:query" style="padding: 3px;border-top: 1px solid #ddd;">
<b><span class="repositorySwatch" style="background-color:{{item.c}};"><span
ng-show="item.wc">!</span><span ng-show="!item.wc"> </span></span></b>
<a href="summary/?r={{item.r}}">{{item.p}}<b>{{item.n}}</b></a>
<span class="link hidden-tablet hidden-phone" style="color: #bbb;"
title="{{item.d}}">{{item.t}}</span>
<span ng-show="item.s" class="pull-right">
<span style="padding: 0px 5px;color: #888;font-weight:bold;vertical-align:middle;">{{item.s |
number}} <i class="iconic-star"></i></span>
</span>
</div>
</div>
</wicket:fragment>
</wicket:extend></wicket:child>
<wicket:fragment wicket:id="loginFormFragment">
<li>
<form class="pull-right" wicket:id="loginForm">
<span class="form-search">
<input wicket:id="username" class="input-small" type="text"/>
<input wicket:id="password" class="input-small" type="password"/>
<button class="btn btn-primary" type="submit"><wicket:message
key="gb.login"></wicket:message></button>
</span>
</form>
</li>
</wicket:fragment>
<!-- user fragment -->
<wicket:fragment wicket:id="userMenuFragment">
<li class="dropdown">
<a data-toggle="dropdown" class="dropdown-toggle" style="text-decoration: none;" href="#"><span
wicket:id="username"></span> <b class="caret"></b></a>
<ul class="dropdown-menu">
<li style="color:#ccc;padding-left:15px;font-weight:bold;"><span
wicket:id="displayName"></span></li>
<li class="divider"></li>
<li><a wicket:id="myProfile"><wicket:message key="gb.myProfile"></wicket:message></a></li>
<li><a wicket:id="changePassword"><wicket:message
key="gb.changePassword"></wicket:message></a></li>
<li class="divider"></li>
<li><a wicket:id="logout"><wicket:message key="gb.logout"></wicket:message></a></li>
</ul>
</li>
</wicket:fragment>
</wicket:extend></wicket:child>
<!-- page footer -->
<div class="container">
<footer class="footer">
<p class="pull-right">
<a title="gitblit homepage" href="
http://gitblit.com/">
<span wicket:id="gbVersion"></span>
</a>
</p>
</footer>
</div>
<!-- Override Bootstrap's responsive menu background highlighting -->
<style>
@media (max-width: 979px) {
.nav-collapse .nav > li > a:hover, .nav-collapse .dropdown-menu a:hover {
background-color: #002060;
}
.navbar div > ul .dropdown-menu li a {
color: #ccc;
}
}
</style>
<!-- Include scripts at end for faster page loading -->
<script type="text/javascript" src="bootstrap/js/jquery.js"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
</body>
</html>, index = 47, current = '<div wicket:id="pushes">' (line 22, column 4)]
org.apache.wicket.markup.MarkupException: Unable to find component with id 'pushes' in
[MarkupContainer [Component id = _extend12]]. This means that you declared wicket:id=pushes in your
markup, but that you either did not add the component to your page at all, or that the hierarchy
does not match.
[markup =
jar:file:/data/apps/gitblit/2013-05-31/gitblit.jar!/com/gitblit/wicket/pages/DashboardPage.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" ng-app="">
<!-- Head -->
<head><wicket:head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title wicket:id="title">[page title]</title>
<link rel="icon" href="gitblt-favicon.png" type="image/png"/>
<link rel="stylesheet" href="bootstrap/css/bootstrap.css"/>
<link rel="stylesheet" href="bootstrap/css/iconic.css"/>
<link rel="stylesheet" type="text/css" href="gitblit.css"/>
</wicket:head></head>
<body>
<!-- page content -->
<wicket:child><wicket:extend>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" wicket:id="rootLink">
<img src="gitblt_25_white.png" width="79" height="25" alt="gitblit" class="logo"/>
</a>
<div class="nav-collapse" wicket:id="navPanel"></div>
<ul class="nav pull-right">
<span wicket:id="userPanel"></span>
</ul>
</div>
</div>
</div>
<!-- subclass content -->
<div class="container">
<div style="text-align:center" wicket:id="feedback">[Feedback Panel]</div>
</div>
<wicket:child><wicket:extend>
<div class="container">
<div class="markdown" style="padding-bottom:5px;" wicket:id="repositoriesMessage">[repositories
message]</div>
<div class="row">
<div class="span7">
<div class="hidden-phone hidden-tablet" style="text-align:center;">
<table>
<tr>
<td><div id="chartRepositories" style="display:inline-block;width: 175px;
height:175px"></div></td>
<td><div id="chartAuthors" style="display:inline-block;width: 175px; height: 175px;"></div></td>
</tr>
</table>
</div>
<div wicket:id="pushes"></div>
</div>
<div class="span5">
<div wicket:id="active">[active]</div>
<div wicket:id="starred">[starred]</div>
<div wicket:id="owned">[owned]</div>
</div>
</div>
</div>
<wicket:fragment wicket:id="starredListFragment">
<div ng-controller="starredCtrl" style="border: 1px solid #ddd;border-radius: 4px;margin-bottom:
20px;">
<div class="header" style="padding: 5px;border: none;"><i class="icon-star"></i> <wicket:message
key="gb.starredRepositories"></wicket:message> ({{starred.length}})
<div class="pull-right">
<a class="btn btn-mini">more</a>
</div>
<div style="padding: 5px 0px 0px;">
<input type="text" ng-model="query.r" class="input-large" wicket:message="placeholder:gb.filter"
style="border-radius: 14px; padding: 3px 14px;margin: 0px;"></input>
</div>
</div>
<div ng-repeat="item in starred | limitTo: 20 | filter:query" style="padding: 3px;border-top: 1px
solid #ddd;">
<b><span class="repositorySwatch" style="background-color:{{item.c}};"><span
ng-show="item.wc">!</span><span ng-show="!item.wc"> </span></span></b>
<a href="summary/?r={{item.r}}">{{item.p}}<b>{{item.n}}</b></a>
<span class="link hidden-tablet hidden-phone" style="color: #bbb;"
title="{{item.d}}">{{item.t}}</span>
<span ng-show="item.s" class="pull-right">
<span style="padding: 0px 5px;color: #888;font-weight:bold;vertical-align:middle;">{{item.s |
number}} <i class="iconic-star"></i></span>
</span>
</div>
</div>
</wicket:fragment>
<wicket:fragment wicket:id="ownedListFragment">
<div ng-controller="ownedCtrl" style="border: 1px solid #ddd;border-radius: 4px;">
<div class="header" style="padding: 5px;border: none;"><i class="icon-user"></i> <wicket:message
key="gb.myRepositories"></wicket:message> ({{owned.length}})
<div class="pull-right">
<span wicket:id="create"></span>
</div>
<div style="padding: 5px 0px 0px;">
<input type="text" ng-model="query.r" class="input-large" wicket:message="placeholder:gb.filter"
style="border-radius: 14px; padding: 3px 14px;margin: 0px;"></input>
</div>
</div>
<div ng-repeat="item in owned | filter:query" style="padding: 3px;border-top: 1px solid #ddd;">
<b><span class="repositorySwatch" style="background-color:{{item.c}};"><span
ng-show="item.wc">!</span><span ng-show="!item.wc"> </span></span></b>
<a href="summary/?r={{item.r}}">{{item.p}}<b>{{item.n}}</b></a>
<span class="link hidden-tablet hidden-phone" style="color: #bbb;"
title="{{item.d}}">{{item.t}}</span>
<span ng-show="item.s" class="pull-right">
<span style="padding: 0px 5px;color: #888;font-weight:bold;vertical-align:middle;">{{item.s |
number}} <i class="iconic-star"></i></span>
</span>
</div>
</div>
</wicket:fragment>
<wicket:fragment wicket:id="activeListFragment">
<div ng-controller="activeCtrl" style="border: 1px solid #ddd;border-radius: 4px;">
<div class="header" style="padding: 5px;border: none;"><i class="icon-user"></i> <wicket:message
key="gb.activeRepositories"></wicket:message> ({{active.length}})
<div style="padding: 5px 0px 0px;">
<input type="text" ng-model="query.r" class="input-large" wicket:message="placeholder:gb.filter"
style="border-radius: 14px; padding: 3px 14px;margin: 0px;"></input>
</div>
</div>
<div ng-repeat="item in active | filter:query" style="padding: 3px;border-top: 1px solid #ddd;">
<b><span class="repositorySwatch" style="background-color:{{item.c}};"><span
ng-show="item.wc">!</span><span ng-show="!item.wc"> </span></span></b>
<a href="summary/?r={{item.r}}">{{item.p}}<b>{{item.n}}</b></a>
<span class="link hidden-tablet hidden-phone" style="color: #bbb;"
title="{{item.d}}">{{item.t}}</span>
<span ng-show="item.s" class="pull-right">
<span style="padding: 0px 5px;color: #888;font-weight:bold;vertical-align:middle;">{{item.s |
number}} <i class="iconic-star"></i></span>
</span>
</div>
</div>
</wicket:fragment>
</wicket:extend></wicket:child>
<wicket:fragment wicket:id="loginFormFragment">
<li>
<form class="pull-right" wicket:id="loginForm">
<span class="form-search">
<input wicket:id="username" class="input-small" type="text"/>
<input wicket:id="password" class="input-small" type="password"/>
<button class="btn btn-primary" type="submit"><wicket:message
key="gb.login"></wicket:message></button>
</span>
</form>
</li>
</wicket:fragment>
<!-- user fragment -->
<wicket:fragment wicket:id="userMenuFragment">
<li class="dropdown">
<a data-toggle="dropdown" class="dropdown-toggle" style="text-decoration: none;" href="#"><span
wicket:id="username"></span> <b class="caret"></b></a>
<ul class="dropdown-menu">
<li style="color:#ccc;padding-left:15px;font-weight:bold;"><span
wicket:id="displayName"></span></li>
<li class="divider"></li>
<li><a wicket:id="myProfile"><wicket:message key="gb.myProfile"></wicket:message></a></li>
<li><a wicket:id="changePassword"><wicket:message
key="gb.changePassword"></wicket:message></a></li>
<li class="divider"></li>
<li><a wicket:id="logout"><wicket:message key="gb.logout"></wicket:message></a></li>
</ul>
</li>
</wicket:fragment>
</wicket:extend></wicket:child>
<!-- page footer -->
<div class="container">
<footer class="footer">
<p class="pull-right">
<a title="gitblit homepage" href="
http://gitblit.com/">
<span wicket:id="gbVersion"></span>
</a>
</p>
</footer>
</div>
<!-- Override Bootstrap's responsive menu background highlighting -->
<style>
@media (max-width: 979px) {
.nav-collapse .nav > li > a:hover, .nav-collapse .dropdown-menu a:hover {
background-color: #002060;
}
.navbar div > ul .dropdown-menu li a {
color: #ccc;
}
}
</style>
<!-- Include scripts at end for faster page loading -->
<script type="text/javascript" src="bootstrap/js/jquery.js"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
</body>
</html>, index = 47, current = '<div wicket:id="pushes">' (line 22, column 4)]
at org.apache.wicket.markup.MarkupStream.throwMarkupException(MarkupStream.java:474)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1489)
at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1624)
at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1548)
at org.apache.wicket.Component.renderComponent(Component.java:2725)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1559)
at org.apache.wicket.Component.render(Component.java:2525)
at org.apache.wicket.MarkupContainer.autoAdd(MarkupContainer.java:229)
at
org.apache.wicket.markup.resolver.MarkupInheritanceResolver.resolve(MarkupInheritanceResolver.java:66)
at org.apache.wicket.markup.resolver.ComponentResolvers.resolve(ComponentResolvers.java:81)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1465)
at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1624)
at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1548)
at org.apache.wicket.Component.renderComponent(Component.java:2725)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1559)
at org.apache.wicket.Component.render(Component.java:2525)
at org.apache.wicket.MarkupContainer.autoAdd(MarkupContainer.java:229)
at
org.apache.wicket.markup.resolver.MarkupInheritanceResolver.resolve(MarkupInheritanceResolver.java:73)
at org.apache.wicket.markup.resolver.ComponentResolvers.resolve(ComponentResolvers.java:81)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1465)
at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1624)
at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1548)
at org.apache.wicket.Component.renderComponent(Component.java:2725)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1559)
at org.apache.wicket.Component.render(Component.java:2525)
at org.apache.wicket.MarkupContainer.autoAdd(MarkupContainer.java:229)
at
org.apache.wicket.markup.resolver.MarkupInheritanceResolver.resolve(MarkupInheritanceResolver.java:66)
at org.apache.wicket.markup.resolver.ComponentResolvers.resolve(ComponentResolvers.java:81)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1465)
at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1624)
at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1548)
at org.apache.wicket.Component.renderComponent(Component.java:2725)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1559)
at org.apache.wicket.Component.render(Component.java:2525)
at org.apache.wicket.MarkupContainer.autoAdd(MarkupContainer.java:229)
at
org.apache.wicket.markup.resolver.MarkupInheritanceResolver.resolve(MarkupInheritanceResolver.java:73)
at org.apache.wicket.markup.resolver.ComponentResolvers.resolve(ComponentResolvers.java:81)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1465)
at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1575)
at org.apache.wicket.Page.onRender(Page.java:1599)
at org.apache.wicket.Component.render(Component.java:2525)
at org.apache.wicket.Page.renderPage(Page.java:933)
at
org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond(BookmarkablePageRequestTarget.java:261)
at
org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105)
at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1287)
tamas