fix mulitple bugs

This commit is contained in:
tdurieux
2026-05-05 12:34:03 +03:00
parent 7384638993
commit 27d6b56da7
13 changed files with 242 additions and 29 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
+52 -2
View File
@@ -2079,7 +2079,7 @@ code {
}
/* Progress bars on dashboard */
.progress {
.progress:not(.quota-progress) {
min-width: 120px !important;
}
@@ -3830,6 +3830,8 @@ textarea::selection {
border: 1px solid var(--border-color);
border-radius: 999px;
margin-bottom: 0;
width: 100%;
min-width: 0;
}
.paper-page .quota-progress .progress-bar {
background: var(--color);
@@ -4010,6 +4012,21 @@ textarea::selection {
background: var(--hover-bg-color);
}
.paper-table .paper-table-row.repo-inactive { opacity: 0.55; }
.paper-table .paper-table-row.repo-error {
background: rgba(180, 35, 24, 0.04);
border-left: 2px solid #B42318;
padding-left: 6px;
}
.paper-table .paper-table-row.repo-error:hover { background: rgba(180, 35, 24, 0.08); }
.dark-mode .paper-table .paper-table-row.repo-error { background: rgba(240, 138, 130, 0.05); border-left-color: #F08A82; }
.dark-mode .paper-table .paper-table-row.repo-error:hover { background: rgba(240, 138, 130, 0.1); }
.paper-table .cell-status .status-sub-error,
.cell-status .status-sub.status-sub-error {
color: #B42318;
font-family: var(--font-mono);
}
.dark-mode .paper-table .cell-status .status-sub-error,
.dark-mode .cell-status .status-sub.status-sub-error { color: #F08A82; }
.paper-table .cell-anon {
display: flex;
align-items: center;
@@ -4450,10 +4467,43 @@ textarea::selection {
}
@media (max-width: 768px) {
.paper-page .quota-row { grid-template-columns: 1fr; gap: 14px; padding: 16px; }
.paper-page .paper-page-title { font-size: clamp(1.4rem, 6vw, 1.9rem); margin: 4px 0 2px; }
.paper-page .paper-page-lede { font-size: 13px; line-height: 1.4; margin-bottom: 0; }
.paper-page .btn-ink { padding: 6px 12px; font-size: 13px; }
.paper-page .quota-row {
grid-template-columns: repeat(3, 1fr);
gap: 10px 12px;
padding: 0;
margin: 12px 0 0;
}
.paper-page .dashboard-filter-row {
padding: 8px 0;
margin-top: 10px;
}
.paper-page .quota-header {
flex-direction: column;
align-items: flex-start;
gap: 2px;
}
.paper-page .quota-label { font-size: 10px; letter-spacing: 0.1em; }
.paper-page .quota-value { font-size: 11px; }
.paper-page .dashboard-filter-row { gap: 8px; }
}
@media (max-width: 480px) {
.paper-page .paper-page-lede {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.paper-page .quota-row { gap: 8px; }
.paper-page .quota-label { font-size: 9px; letter-spacing: 0.06em; }
.paper-page .quota-value { font-size: 10px; white-space: nowrap; }
}
/* Empty state */
.empty-state {
text-align: center;
+3
View File
@@ -17,6 +17,7 @@
"repository_not_accessible": "This repository is currently not accessible.",
"repo_is_updating": "Anonymous GitHub is still processing the repository, it can take several minutes.",
"invalid_repo": "The provided repository is not valid.",
"invalid_source_repository": "The repository source name is invalid; expected the form 'owner/name'.",
"repoId_not_defined": "A repository ID must be provided.",
"repoUrl_not_defined": "The repository URL needs to be defined.",
"repoId_already_used": "The repository ID is already used.",
@@ -25,6 +26,8 @@
"branch_not_specified": "The branch is not specified.",
"branch_not_found": "The branch of the repository cannot be found.",
"commit_not_specified": "A commit must be specified.",
"commit_not_found": "The configured commit no longer exists in the source repository. It may have been force-pushed, rebased, or removed.",
"repo_renamed": "The source repository appears to have been renamed or moved on GitHub. Please refresh and try again — the cached name has been updated.",
"invalid_commit_format": "The commit hash format is invalid. It must be a hexadecimal string.",
"pull_request_not_found": "The requested pull request could not be found.",
"pull_request_expired": "This pull request has expired and is no longer available.",
+1 -1
View File
@@ -81,7 +81,7 @@
<div
class="paper-table-row"
role="row"
ng-class="{'repo-inactive': repo.status == 'expired' || repo.status == 'removed', 'row-selected': selected[repo.repoId]}"
ng-class="{'repo-inactive': repo.status == 'expired' || repo.status == 'removed', 'repo-error': repo.status == 'error', 'row-selected': selected[repo.repoId]}"
ng-repeat="repo in repositories | filter:repoFiler | orderBy:orderBy as filteredRepositories"
>
<div role="cell" style="width: 28px;">
+6 -3
View File
@@ -177,7 +177,7 @@
<div
class="paper-table-row"
role="row"
ng-class="{'repo-inactive': repo.status == 'expired' || repo.status == 'removed'}"
ng-class="{'repo-inactive': repo.status == 'expired' || repo.status == 'removed', 'repo-error': repo.status == 'error'}"
ng-repeat="repo in repositories | filter:repoFiler | orderBy:orderBy as filteredRepositories"
>
<div class="cell-anon" role="cell">
@@ -190,8 +190,11 @@
</div>
</div>
<div class="cell-status" role="cell">
<span class="status-dot" ng-class="{'status-removed': repo.status == 'removed' || repo.status == 'expired', 'status-ready': repo.status == 'ready', 'status-error': repo.status == 'error'}"></span>
<span ng-bind="repo.status | title"></span>
<span class="status-line">
<span class="status-dot" ng-class="{'status-removed': repo.status == 'removed' || repo.status == 'expired', 'status-ready': repo.status == 'ready', 'status-error': repo.status == 'error'}"></span>
<span ng-bind="repo.status | title"></span>
</span>
<span class="status-sub status-sub-error" ng-if="repo.status == 'error' && repo.statusMessage" title="{{repo.statusMessage}}" ng-bind="repo.statusMessage"></span>
</div>
<div class="cell-views num" role="cell" ng-bind="::repo.pageView | number"></div>
<div class="cell-expires" role="cell" ng-bind="repo.anonymizeDate | humanTime"></div>
+3 -2
View File
@@ -179,7 +179,7 @@
<div
class="paper-table-row"
role="row"
ng-class="{'repo-inactive': item.status == 'expired' || item.status == 'removed' || item.status == 'error'}"
ng-class="{'repo-inactive': item.status == 'expired' || item.status == 'removed', 'repo-error': item.status == 'error'}"
ng-repeat="item in items | filter:itemFilter | orderBy:orderBy as filteredItems"
>
<div class="cell-anon" role="cell">
@@ -206,7 +206,8 @@
></span>
<span ng-bind="item.status | title"></span>
</div>
<div class="status-sub" ng-if="item.anonymizeDate" title="Last anonymized {{item.anonymizeDate | humanTime}}" ng-bind="item.anonymizeDate | humanTime"></div>
<div class="status-sub status-sub-error" ng-if="item.status == 'error' && item.statusMessage" title="{{item.statusMessage}}" ng-bind="item.statusMessage"></div>
<div class="status-sub" ng-if="item.status != 'error' && item.anonymizeDate" title="Last anonymized {{item.anonymizeDate | humanTime}}" ng-bind="item.anonymizeDate | humanTime"></div>
</div>
<div class="cell-views num" role="cell" ng-bind="item.pageView | number"></div>
<div class="cell-expires" role="cell">
+20 -1
View File
@@ -1374,7 +1374,18 @@ angular
if (res.data.options.expirationDate) {
$scope.options.expirationDate = new Date(res.data.options.expirationDate);
}
$scope.details = (await $http.get(`/api/pr/${res.data.source.repositoryFullName}/${res.data.source.pullRequestId}`)).data;
try {
$scope.details = (await $http.get(`/api/pr/${res.data.source.repositoryFullName}/${res.data.source.pullRequestId}`)).data;
} catch (error) {
const code = error && error.data && error.data.error;
if (code) {
$translate("ERRORS." + code).then((translation) => {
$scope.addToast({ title: "Error", date: new Date(), body: translation });
$scope.error = translation;
}, console.error);
displayErrorMessage(code);
}
}
$scope.$apply();
},
() => { $location.url("/404"); }
@@ -2867,3 +2878,11 @@ angular
getConference();
},
]);
$(document).on("click", "#navbarSupportedContent .nav-link", function (e) {
if ($(this).attr("data-toggle") === "dropdown") return;
var $collapse = $("#navbarSupportedContent");
if ($collapse.hasClass("show")) {
$collapse.collapse("hide");
}
});
+1 -1
View File
File diff suppressed because one or more lines are too long