gui: New rest endpoint to get errors when web UI is opened

Since #4340 pulls aren't happening every 10s anymore and may be delayed up to 1h.
This means that no folder error event reaches the web UI for a long time, thus no
failed items will show up for a long time. Now errors are populated when the
web UI is opened.

GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4650
LGTM: AudriusButkevicius
This commit is contained in:
Simon Frei
2018-01-14 17:01:06 +00:00
committed by Audrius Butkevicius
parent 89a021609b
commit fecb21cdb1
10 changed files with 96 additions and 57 deletions

View File

@@ -5,15 +5,15 @@
<span translate>They are retried automatically and will be synced when the error is resolved.</span>
</p>
<table class="table table-striped table-dynamic">
<tr dir-paginate="e in failedCurrent | itemsPerPage: failedPageSize" current-page="failedCurrentPage" pagination-id="failed">
<td>{{failedFolderPath}}{{e.path}}</td>
<tr dir-paginate="e in failed.errors | itemsPerPage: failed.perpage" current-page="failed.page" total-items="model[failed.folder].pullErrors" pagination-id="failed">
<td>{{e.path}}</td>
<td><abbr tooltip data-original-title="{{e.error}}">{{e.error | lastErrorComponent}}</abbr></td>
</tr>
</table>
<dir-pagination-controls on-page-change="failedPageChanged(newPageNumber)" pagination-id="failed"></dir-pagination-controls>
<dir-pagination-controls on-page-change="refreshFailed(newPageNumber, failed.perpage)" pagination-id="failed"></dir-pagination-controls>
<ul class="pagination pull-right">
<li ng-repeat="option in [10, 25, 50]" ng-class="{ active: failedPageSize == option }">
<a href="#" ng-click="failedChangePageSize(option)">{{option}}</a>
<li ng-repeat="option in [10, 25, 50]" ng-class="{ active: failed.page == option }">
<a href="#" ng-click="refreshFailed(failed.page, option)">{{option}}</a>
</li>
</ul>
<div class="clearfix"></div>