@iasiv5/dsh-quota-watch 0.1.22 → 0.1.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/client.js +2 -0
- package/package.json +1 -1
- package/src/client.mjs +6 -0
- package/src/host.mjs +6 -2
package/lib/client.js
CHANGED
|
@@ -300,6 +300,7 @@ var FLOAT_STYLE_TEXT = `
|
|
|
300
300
|
.dqw-capsule-glm.warn, .dqw-capsule-copilot.warn { color: var(--dsw-alias-label-warning, #d29922); }
|
|
301
301
|
.dqw-capsule-glm.danger, .dqw-capsule-copilot.danger { color: var(--dsw-alias-label-danger, #c93c3c); }
|
|
302
302
|
.dqw-capsule[hidden] { display: none; }
|
|
303
|
+
.dqw-capsule [hidden] { display: none; }
|
|
303
304
|
.dqw-capsule--dragging { cursor: grabbing; -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--dsw-alias-bg-elevated, var(--dsw-alias-bg-base, #1f1f1f)); box-shadow: 0 8px 24px rgba(0,0,0,.35); transform: scale(1.04); transition: none; }
|
|
304
305
|
@media (prefers-reduced-motion: no-preference) {
|
|
305
306
|
.dqw-capsule[data-alert] { animation: dqw-pulse 1.6s ease-in-out infinite; }
|
|
@@ -999,6 +1000,7 @@ function mountQuotaCard({
|
|
|
999
1000
|
if (floatHost.hidden) return;
|
|
1000
1001
|
const paint = (span, model) => {
|
|
1001
1002
|
const visible = model !== null && typeof model.percent === "number" && Number.isFinite(model.percent);
|
|
1003
|
+
span.hidden = !visible;
|
|
1002
1004
|
span.textContent = visible ? `${model.label} ${formatPercent(model.percent, locale)}` : "";
|
|
1003
1005
|
span.classList.toggle("warn", visible && model.percent > 80 && model.percent <= 95);
|
|
1004
1006
|
span.classList.toggle("danger", visible && model.percent > 95);
|
package/package.json
CHANGED
package/src/client.mjs
CHANGED
|
@@ -142,6 +142,7 @@ const FLOAT_STYLE_TEXT = `
|
|
|
142
142
|
.dqw-capsule-glm.warn, .dqw-capsule-copilot.warn { color: var(--dsw-alias-label-warning, #d29922); }
|
|
143
143
|
.dqw-capsule-glm.danger, .dqw-capsule-copilot.danger { color: var(--dsw-alias-label-danger, #c93c3c); }
|
|
144
144
|
.dqw-capsule[hidden] { display: none; }
|
|
145
|
+
.dqw-capsule [hidden] { display: none; }
|
|
145
146
|
.dqw-capsule--dragging { cursor: grabbing; -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--dsw-alias-bg-elevated, var(--dsw-alias-bg-base, #1f1f1f)); box-shadow: 0 8px 24px rgba(0,0,0,.35); transform: scale(1.04); transition: none; }
|
|
146
147
|
@media (prefers-reduced-motion: no-preference) {
|
|
147
148
|
.dqw-capsule[data-alert] { animation: dqw-pulse 1.6s ease-in-out infinite; }
|
|
@@ -988,6 +989,11 @@ export function mountQuotaCard({
|
|
|
988
989
|
if (floatHost.hidden) return
|
|
989
990
|
const paint = (span, model) => {
|
|
990
991
|
const visible = model !== null && typeof model.percent === 'number' && Number.isFinite(model.percent)
|
|
992
|
+
// 0.1.24: an emptied span stayed mounted as a zero-width flex item, so the
|
|
993
|
+
// 6px capsule gap next to it survived and the asymmetric padding pushed
|
|
994
|
+
// single-provider text off center (the two-provider layout was fine).
|
|
995
|
+
// Hide the span outright: display:none flex items make no box, hence no gap.
|
|
996
|
+
span.hidden = !visible
|
|
991
997
|
span.textContent = visible ? `${model.label} ${formatPercent(model.percent, locale)}` : ''
|
|
992
998
|
span.classList.toggle('warn', visible && model.percent > 80 && model.percent <= 95)
|
|
993
999
|
span.classList.toggle('danger', visible && model.percent > 95)
|
package/src/host.mjs
CHANGED
|
@@ -147,12 +147,16 @@ export function createQuotaService(ctx, options = {}) {
|
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
149
|
|
|
150
|
-
/** Log one real state transition; degradations warn, recoveries and missing-credentials inform.
|
|
150
|
+
/** Log one real state transition; degradations warn, recoveries and missing-credentials inform.
|
|
151
|
+
* Dual-channel: ctx.logger (cordis, ring-buffer only — the host registers no journal
|
|
152
|
+
* exporter) mirrored to console so service stdout lands in journald. */
|
|
151
153
|
function logTransition(key, from, to, detail) {
|
|
152
154
|
if (from === to) return
|
|
153
155
|
const line = `quota-watch: ${key} ${from}→${to}${detail ? ` (${detail})` : ''}`
|
|
154
|
-
|
|
156
|
+
const level = to === 'error' || to === 'stale' ? 'warn' : 'info'
|
|
157
|
+
if (level === 'warn') ctx.logger?.warn?.(line)
|
|
155
158
|
else ctx.logger?.info?.(line)
|
|
159
|
+
;(options.logMirror ?? console)[level]?.(line)
|
|
156
160
|
}
|
|
157
161
|
|
|
158
162
|
function markMissing(key, displayName) {
|