feat(storage): support deleting backends and improve admin UI
All checks were successful
Build and Publish Docker Image / deploy (push) Successful in 1m41s

- Implement storage backend deletion, which automatically resets default storage settings and user-specific overrides when a backend is removed.
- Add unit tests covering the delete action and its cleanup side effects.
- Improve admin UI responsiveness, fixing table scrolling, flex wrapping, and text truncation for long storage backend names.
- Update security documentation to clarify trusted proxy configurations and explain how trusted proxies are protected from automatic bans.
This commit is contained in:
2026-06-01 02:24:51 +03:00
parent 4eacb4cde2
commit 73bd14572d
27 changed files with 1124 additions and 128 deletions

View File

@@ -23,6 +23,7 @@
.storage-card-header {
display: flex;
min-width: 0;
align-items: center;
justify-content: space-between;
gap: 1rem;
@@ -56,6 +57,10 @@
.storage-card-name {
display: block;
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 0.95rem;
font-weight: 650;
color: var(--foreground);
@@ -82,9 +87,15 @@
flex-wrap: wrap;
}
.storage-card-actions form {
min-width: 0;
margin: 0;
}
/* View-mode summary */
.storage-card-summary {
display: flex;
min-width: 0;
flex-wrap: wrap;
gap: 0 1.75rem;
padding: 0.65rem 1.1rem 0.9rem;
@@ -96,6 +107,7 @@
flex-direction: column;
gap: 0.15rem;
min-width: 8rem;
max-width: 100%;
}
.storage-detail > span:first-child,
@@ -137,6 +149,14 @@
align-items: end;
}
.storage-card-fields > *,
.storage-ops-grid > *,
.storage-result-row,
.storage-result-row summary > *,
.storage-result-detail > * {
min-width: 0;
}
.storage-card-fields label {
display: grid;
gap: 0.28rem;