Compare commits
No commits in common. "9a277b9031397d109edeb1867a3051303361aaa4" and "1aa01ed4e8167f3d1e825a75c126846a3b7690a3" have entirely different histories.
9a277b9031
...
1aa01ed4e8
3 changed files with 5 additions and 34 deletions
20
app.py
20
app.py
|
|
@ -22,7 +22,7 @@ urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
|||
# Docker tab caches stale container IDs, so the footer is the reliable way
|
||||
# to confirm a `docker compose up -d --build` actually took effect.
|
||||
# Both are env-overridable if the deploy pipeline ever injects them.
|
||||
APP_VERSION = os.environ.get("APP_VERSION", "1.6.3")
|
||||
APP_VERSION = os.environ.get("APP_VERSION", "1.6.2")
|
||||
APP_VERSION_DATE = os.environ.get("APP_VERSION_DATE", "2026-08-27")
|
||||
|
||||
# Must point at a path that survives `docker compose up --build` — the
|
||||
|
|
@ -888,17 +888,15 @@ def get_unraid_stats():
|
|||
# HTTPS on 443 with SSL verification disabled (Unraid uses a self-signed cert)
|
||||
url = f"https://{UNRAID_HOST}:443/graphql"
|
||||
headers = {"x-api-key": UNRAID_API_KEY, "Content-Type": "application/json"}
|
||||
# Parity is fetched for its temperature only — it mirrors the array
|
||||
# rather than holding a filesystem, so the schema notes fsSize/fsFree
|
||||
# are "Not present on Parity type drive". It gets no table row; the
|
||||
# card header carries the temp so a hot parity is still visible.
|
||||
# Parity is deliberately not requested: it mirrors the array rather
|
||||
# than holding a filesystem, so it has no size or usage to report and
|
||||
# only ever rendered as a name and a temperature.
|
||||
query = """{
|
||||
vars { version }
|
||||
array {
|
||||
state
|
||||
disks { name device fsSize fsFree type temp isSpinning }
|
||||
caches { name device fsSize fsFree type temp isSpinning }
|
||||
parities { name device temp isSpinning }
|
||||
}
|
||||
}"""
|
||||
try:
|
||||
|
|
@ -942,16 +940,6 @@ def get_unraid_stats():
|
|||
"array_used_pct": used_pct,
|
||||
"disks": [disk_row(dk) for dk in data_disks],
|
||||
"caches": [disk_row(dk) for dk in arr.get("caches", [])],
|
||||
# Temperature only — no size fields exist on parity.
|
||||
"parities": [
|
||||
{
|
||||
"name": dk.get("name") or dk.get("device") or "parity",
|
||||
"device": dk.get("device", ""),
|
||||
"temp": dk.get("temp"),
|
||||
"spinning": dk.get("isSpinning"),
|
||||
}
|
||||
for dk in arr.get("parities", [])
|
||||
],
|
||||
}
|
||||
except Exception:
|
||||
pass
|
||||
|
|
|
|||
|
|
@ -135,11 +135,7 @@ header {
|
|||
border: 1px solid var(--border);
|
||||
border-radius: var(--radius-sm);
|
||||
color: var(--text-2);
|
||||
/* The button was always a full --tap target, but the cog glyph inside it
|
||||
was set at --fs-sm (13px) and read as a speck in a 44px box. The glyph
|
||||
is the affordance, so size it to the button. */
|
||||
font-size: var(--fs-xl);
|
||||
line-height: 1;
|
||||
font-size: var(--fs-sm);
|
||||
font-family: inherit;
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
|
|
@ -636,14 +632,6 @@ dd.is-accent { color: var(--accent); }
|
|||
}
|
||||
/* Still used by the disk_state() macro when a disk reports no temperature. */
|
||||
.disk-null { color: var(--text-3); }
|
||||
/* Parity temp in the Storage header — keep the label and its badge together
|
||||
so they never wrap apart from each other. */
|
||||
.meta-parity {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.35rem;
|
||||
white-space: nowrap;
|
||||
}
|
||||
@media (max-width: 720px) {
|
||||
/* Below this the six columns stop fitting; the table scrolls in its own
|
||||
container rather than squeezing the sizes into unreadable wraps. */
|
||||
|
|
|
|||
|
|
@ -181,11 +181,6 @@
|
|||
{{ unraid.array_used_pct }}% used · {{ unraid.array_free }} free of {{ unraid.array_total }}
|
||||
{%- if unraid.disk_count %} · {{ unraid.disk_count }} disk{{ 's' if unraid.disk_count != 1 }}{% endif %}
|
||||
{%- if unraid.array_state %} · {{ unraid.array_state | capitalize }}{% endif %}
|
||||
{#- Parity has no table row of its own (no filesystem to measure),
|
||||
so its temperature rides here — the one thing worth watching. -#}
|
||||
{%- if unraid.parities %} · <span class="meta-parity">Parity
|
||||
{%- for dk in unraid.parities %} {{ disk_state(dk) }}{% endfor %}</span>
|
||||
{%- endif %}
|
||||
</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue