gh-glance 0.19.2 → 0.19.3
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/CHANGELOG.md +10 -1
- package/index.mjs +8 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.19.3] - 2026-11-12
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- A single contradictory rate-limit reading no longer pauses all panes until
|
|
15
|
+
the hourly reset. Rejected budget readings now show a failed budget check
|
|
16
|
+
that retries automatically instead of corrupt coordination state.
|
|
17
|
+
|
|
10
18
|
## [0.19.2] - 2026-11-06
|
|
11
19
|
|
|
12
20
|
### Changed
|
|
@@ -1443,7 +1451,8 @@ engineering, security, QA and UX. What follows is what changed as a result.
|
|
|
1443
1451
|
- The `main` field from `package.json`. It advertised the file as importable,
|
|
1444
1452
|
but importing it took over the terminal or exited the host process.
|
|
1445
1453
|
|
|
1446
|
-
[Unreleased]: https://github.com/juan294/gh-glance/compare/v0.19.
|
|
1454
|
+
[Unreleased]: https://github.com/juan294/gh-glance/compare/v0.19.3...HEAD
|
|
1455
|
+
[0.19.3]: https://github.com/juan294/gh-glance/compare/v0.19.2...v0.19.3
|
|
1447
1456
|
[0.19.2]: https://github.com/juan294/gh-glance/compare/v0.19.1...v0.19.2
|
|
1448
1457
|
[0.19.1]: https://github.com/juan294/gh-glance/compare/v0.19.0...v0.19.1
|
|
1449
1458
|
[0.19.0]: https://github.com/juan294/gh-glance/compare/v0.18.1...v0.19.0
|
package/index.mjs
CHANGED
|
@@ -6163,13 +6163,14 @@ function budgetFromObservation(raw, previous, nowMs, {
|
|
|
6163
6163
|
) return { status: "invalid" };
|
|
6164
6164
|
const epoch = `${normalized.limit}:${normalized.resetMs}`;
|
|
6165
6165
|
// Endpoint responses can carry cached or endpoint-specific rate headers.
|
|
6166
|
-
//
|
|
6167
|
-
//
|
|
6166
|
+
// Only the claimed observer may move the epoch in either direction. A
|
|
6167
|
+
// backwards move must be newer than the stored evidence to replace it.
|
|
6168
6168
|
if (!allowEpochChange && (!previous || previous.epoch !== epoch)) {
|
|
6169
6169
|
return { status: "ignored", epoch };
|
|
6170
6170
|
}
|
|
6171
6171
|
if (previous) {
|
|
6172
|
-
if (normalized.resetMs < previous.resetMs
|
|
6172
|
+
if (normalized.resetMs < previous.resetMs &&
|
|
6173
|
+
(!allowEpochChange || receivedAt <= previous.observedAt)) return { status: "ignored" };
|
|
6173
6174
|
if (budgetEpoch(previous) === epoch && normalized.used < previous.used) {
|
|
6174
6175
|
if (!allowEpochChange) return { status: "ignored" };
|
|
6175
6176
|
// The claimed observer can lag a newer endpoint response within the
|
|
@@ -6272,7 +6273,7 @@ function publishProbe(scope, leaseId, nonce, budgets, nowMs, resource) {
|
|
|
6272
6273
|
clearProvenBlock: true,
|
|
6273
6274
|
allowEpochChange: true,
|
|
6274
6275
|
});
|
|
6275
|
-
if (observed.status === "invalid") return { ok: false, reason: "
|
|
6276
|
+
if (observed.status === "invalid") return { ok: false, reason: "probe-failed" };
|
|
6276
6277
|
if (observed.status !== "ignored") {
|
|
6277
6278
|
// The observer's own cost is local spend. Left out, the external-factor
|
|
6278
6279
|
// reconciliation below attributes it to other clients, and the governor
|
|
@@ -6288,7 +6289,7 @@ function publishProbe(scope, leaseId, nonce, budgets, nowMs, resource) {
|
|
|
6288
6289
|
if (observed.epochChanged && state.epochs[resource] !== null) resetResources.push(resource);
|
|
6289
6290
|
}
|
|
6290
6291
|
}
|
|
6291
|
-
if (changedResources.length === 0) return { ok: false, reason: "
|
|
6292
|
+
if (changedResources.length === 0) return { ok: false, reason: "probe-failed" };
|
|
6292
6293
|
if (!retireClaimedQuiescentDebt(state, resource, claim)) {
|
|
6293
6294
|
return ACCOUNTING_OVERFLOW;
|
|
6294
6295
|
}
|
|
@@ -23670,6 +23671,7 @@ export {
|
|
|
23670
23671
|
inspectGovernor,
|
|
23671
23672
|
governorHealth,
|
|
23672
23673
|
refreshSharedBudget,
|
|
23674
|
+
refreshResourceBudget,
|
|
23673
23675
|
readCoreBudget,
|
|
23674
23676
|
readSharedBudgetSources,
|
|
23675
23677
|
safe,
|
|
@@ -23883,6 +23885,7 @@ export {
|
|
|
23883
23885
|
cleanupQueueForResource,
|
|
23884
23886
|
presentRecovery,
|
|
23885
23887
|
RECOVERY_COPY,
|
|
23888
|
+
HARD_STORAGE_REASONS,
|
|
23886
23889
|
NOTICE_LEVELS,
|
|
23887
23890
|
NOTIFICATION_LOG_MAX,
|
|
23888
23891
|
noticeLevel,
|
package/package.json
CHANGED