gh-glance 0.16.1 → 0.17.0
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 +53 -1
- package/README.md +64 -12
- package/index.mjs +617 -177
- package/package.json +8 -4
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,56 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.17.0] - 2026-10-25
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Contextual, paginated help with the selected GitHub host and repository,
|
|
15
|
+
complete diagnostics and recovery actions, including in narrow terminals.
|
|
16
|
+
- Optional Actions setup checks with `s` in standalone mode: one read-only
|
|
17
|
+
request lists up to 100 workflows, reports incomplete coverage and keeps a
|
|
18
|
+
separate result for five minutes. Press `g` to open the repository's Actions
|
|
19
|
+
page, including from collector and SSH views.
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- Empty tabs explain what was checked, what the result means and what to do
|
|
24
|
+
next. Saved views, waiting, overdue data and failed refreshes retain their
|
|
25
|
+
actual source-check context.
|
|
26
|
+
- README: the provenance note now says the published package is the exact
|
|
27
|
+
tarball tested for the release pull request.
|
|
28
|
+
- Development CI monitoring uses Sutura v0.3.9 with a repository-scoped App token.
|
|
29
|
+
|
|
30
|
+
### Fixed
|
|
31
|
+
|
|
32
|
+
- Preserve actionable login and local-storage remedies in short terminal panes.
|
|
33
|
+
- Distinguish partial or disabled Security coverage from an all-clear result,
|
|
34
|
+
and disclose uncertain check times without inventing freshness.
|
|
35
|
+
- Keep setup and browser failures separate from workflow-run results, with
|
|
36
|
+
bounded retries, shared rate-limit accounting and account-change fencing.
|
|
37
|
+
|
|
38
|
+
## [0.16.2] - 2026-10-03
|
|
39
|
+
|
|
40
|
+
No change to the dashboard itself: `index.mjs` is identical to 0.16.1. This
|
|
41
|
+
release changes how gh-glance is tested and published.
|
|
42
|
+
|
|
43
|
+
### Changed
|
|
44
|
+
|
|
45
|
+
- The published npm package is now the exact tarball the release pull request
|
|
46
|
+
tested: CI packs it once, the package and terminal smoke checks run those
|
|
47
|
+
bytes, and the release workflow verifies the tested tree, run, archive digest and
|
|
48
|
+
tarball digests before publishing it with lifecycle scripts disabled and
|
|
49
|
+
pinned Node 22.22.2 / npm 11.21.0. A version collision or an unclear
|
|
50
|
+
registry answer stops publication instead of skipping it.
|
|
51
|
+
- Release delivery is checked automatically: registry integrity, npm
|
|
52
|
+
provenance bound to this release workflow, tag and merge commit, and a fresh
|
|
53
|
+
install run on Node 22 and 24.
|
|
54
|
+
- CI runs the full suites once, on the release pull request; pushes to
|
|
55
|
+
`develop` and `main` run quick checks or a promotion identity check, and
|
|
56
|
+
coverage runs on a schedule instead of on every push.
|
|
57
|
+
- README: the live freshness monitor section explains how to observe the
|
|
58
|
+
default on-demand mode (continuously active Actions only).
|
|
59
|
+
|
|
10
60
|
## [0.16.1] - 2026-10-02
|
|
11
61
|
|
|
12
62
|
### Fixed
|
|
@@ -1232,7 +1282,9 @@ engineering, security, QA and UX. What follows is what changed as a result.
|
|
|
1232
1282
|
- The `main` field from `package.json`. It advertised the file as importable,
|
|
1233
1283
|
but importing it took over the terminal or exited the host process.
|
|
1234
1284
|
|
|
1235
|
-
[Unreleased]: https://github.com/juan294/gh-glance/compare/v0.
|
|
1285
|
+
[Unreleased]: https://github.com/juan294/gh-glance/compare/v0.17.0...HEAD
|
|
1286
|
+
[0.17.0]: https://github.com/juan294/gh-glance/compare/v0.16.2...v0.17.0
|
|
1287
|
+
[0.16.2]: https://github.com/juan294/gh-glance/compare/v0.16.1...v0.16.2
|
|
1236
1288
|
[0.16.1]: https://github.com/juan294/gh-glance/compare/v0.16.0...v0.16.1
|
|
1237
1289
|
[0.16.0]: https://github.com/juan294/gh-glance/compare/v0.15.2...v0.16.0
|
|
1238
1290
|
[0.15.2]: https://github.com/juan294/gh-glance/compare/v0.15.1...v0.15.2
|
package/README.md
CHANGED
|
@@ -25,14 +25,14 @@ without switching to the browser.
|
|
|
25
25
|
╭─ Actions · owner/repo ──────────────────────────────────────────────────╮
|
|
26
26
|
│ TITLE │WORKFLOW │BRANCH │TIME │UPDATED │
|
|
27
27
|
│ ─────────────────────────────────────────────────────────────────────── │
|
|
28
|
-
│ >+ ci: pin actions to com… #443 CI develop 1m20s
|
|
29
|
-
│ x fix: restore the prima… #442 Code… develop 1m28s
|
|
30
|
-
│ + chore: bump dependenci… #441 CI dependa…int-10 30s
|
|
31
|
-
│ - docs: update the readme #440 CI develop 15s
|
|
28
|
+
│ >+ ci: pin actions to com… #443 CI develop 1m20s 85d ago │
|
|
29
|
+
│ x fix: restore the prima… #442 Code… develop 1m28s 85d ago │
|
|
30
|
+
│ + chore: bump dependenci… #441 CI dependa…int-10 30s 85d ago │
|
|
31
|
+
│ - docs: update the readme #440 CI develop 15s 86d ago │
|
|
32
32
|
│ │
|
|
33
33
|
│ │
|
|
34
34
|
╰──────────────────────────────────────────────────────────────── 4 of 4 ─╯
|
|
35
|
-
· Watching Refresh: r Quit: q Move: ↑↓ Open: Ent
|
|
35
|
+
· Watching Refresh: r Quit: q Help: ? Move: ↑↓ Open: Ent w
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
> Generated from this candidate's real binary under the repository PTY harness
|
|
@@ -134,15 +134,20 @@ The installed package is a CLI, not a JavaScript library. The `gh-glance`
|
|
|
134
134
|
executable is supported; package-root and deep imports are intentionally
|
|
135
135
|
blocked so an internal test seam cannot become an accidental public API.
|
|
136
136
|
|
|
137
|
-
Every published version is
|
|
138
|
-
|
|
137
|
+
Every published version is the exact tarball GitHub Actions packed and tested
|
|
138
|
+
for the release pull request, published by GitHub Actions from a tagged commit
|
|
139
|
+
on `main`, never from a maintainer's laptop, and carries [npm
|
|
139
140
|
provenance](https://docs.npmjs.com/generating-provenance-statements) linking
|
|
140
|
-
the tarball back to the workflow run and commit that
|
|
141
|
+
the tarball back to the workflow run and commit that published it. The
|
|
141
142
|
"Provenance" section on the [package
|
|
142
143
|
page](https://www.npmjs.com/package/gh-glance) shows the exact source.
|
|
143
144
|
|
|
144
145
|
### First run
|
|
145
146
|
|
|
147
|
+
The footer keeps `?` available for contextual help, even in a narrow pane.
|
|
148
|
+
Help explains the selected repository and host, the current observation, and
|
|
149
|
+
what to do next; its pages keep long targets and recovery details reachable.
|
|
150
|
+
|
|
146
151
|
The default standalone dashboard uses the credentials and active account
|
|
147
152
|
already selected by your local `gh` CLI. It does not persist or display the
|
|
148
153
|
token. Check that account before starting the dashboard:
|
|
@@ -176,6 +181,33 @@ the core gh-glance minimum remains unchanged. To keep simultaneous panes on
|
|
|
176
181
|
different accounts, use separate `GH_CONFIG_DIR` values as described under
|
|
177
182
|
[No account pinning](#limitations).
|
|
178
183
|
|
|
184
|
+
A successful empty result is different from a check that has not succeeded.
|
|
185
|
+
Actions says “No workflow runs found” and explains that runs come from workflows
|
|
186
|
+
with matching triggers. Issues and Pull requests report open items. Security
|
|
187
|
+
reports only the sources it could check and keeps unavailable-source notes visible.
|
|
188
|
+
An empty result is not a repository-wide health or security clearance.
|
|
189
|
+
|
|
190
|
+
On Actions, press `s` for an optional read-only setup check or `g` to open the
|
|
191
|
+
selected repository's Actions page. The setup check lists at most 100 workflows
|
|
192
|
+
in one request. It reports partial coverage and unfamiliar states explicitly;
|
|
193
|
+
zero workflows or an access error does not prove that Actions is disabled.
|
|
194
|
+
Setup results have their own check time and do not change the run list or its
|
|
195
|
+
freshness. A successful or partial result is reused for five minutes. Failures
|
|
196
|
+
keep the prior dated result and require `s` to retry after at least 30 seconds
|
|
197
|
+
and any shared API hold. There is no automatic setup retry. Setup checks are
|
|
198
|
+
available only in standalone mode; connected collector and SSH views offer `g`
|
|
199
|
+
instead. Neither key creates, enables, edits, or dispatches a workflow.
|
|
200
|
+
|
|
201
|
+
“Checking” and “Waiting to check” mean no successful result is available yet.
|
|
202
|
+
A failed load shows the actual recovery action. A failed refresh keeps the prior
|
|
203
|
+
result and its original check time. “Needs an update” describes overdue data;
|
|
204
|
+
it does not by itself mean a network request failed. Unknown or future source
|
|
205
|
+
clocks show “Last-check time unavailable”.
|
|
206
|
+
|
|
207
|
+
With the default on-demand policy, Issues, Pull requests and Security show a
|
|
208
|
+
saved view between checks. Press `r` to check again; opening the tab also follows
|
|
209
|
+
the normal refresh policy. These tabs do not promise continuous polling.
|
|
210
|
+
|
|
179
211
|
### From a clone
|
|
180
212
|
|
|
181
213
|
For hacking on it, or to run an unreleased revision:
|
|
@@ -251,8 +283,10 @@ stdout isn't a terminal rather than streaming redraw frames into a pipe.
|
|
|
251
283
|
| `Enter` | Open the selected item, or accept an onboarding prompt |
|
|
252
284
|
| `r` | Request a current-tab refresh. It sends the cached validators, so an unchanged tab answers `304` and spends nothing. A safe grant is still required. |
|
|
253
285
|
| `R` | Resynchronize the current tab: one generation without validators, and the only key that clears a negative capability backoff. Still subject to the budget and the secondary cooldown. |
|
|
286
|
+
| `s` | On Actions, request or reuse a read-only setup check (standalone only) |
|
|
287
|
+
| `g` | On Actions, open the selected repository’s Actions page |
|
|
254
288
|
| `w` | Adjust table column widths |
|
|
255
|
-
| `?` |
|
|
289
|
+
| `?` | Open or close contextual help; `n` / `p` moves through its pages |
|
|
256
290
|
| `q` / `Esc` / `Ctrl+C` | Quit (`Esc` leaves width mode) |
|
|
257
291
|
|
|
258
292
|
### Adjusting column widths
|
|
@@ -304,9 +338,16 @@ switch `gh` into non-interactive mode and require choosing a visibility in
|
|
|
304
338
|
advance. Press `q` or `Esc` to decline. To watch an existing repository without
|
|
305
339
|
attaching this folder, restart with `gh-glance --repo owner/name`.
|
|
306
340
|
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
341
|
+
The panel names the selected repository, including targets inferred from Git
|
|
342
|
+
remotes: `╭─ Actions · acme/widget ─`. Non-default hosts are included in the
|
|
343
|
+
target. Selection does not prove that the active account can access it. When
|
|
344
|
+
the pane is too narrow for the target, press `?` to read its complete name and
|
|
345
|
+
host, the current check state, source time, recovery action, and key reference.
|
|
346
|
+
|
|
347
|
+
Help wraps long text and uses `n` / `p` for next / previous page. `?` closes it;
|
|
348
|
+
any other ordinary key closes help without performing that key's usual action.
|
|
349
|
+
`q`, `Esc`, and `Ctrl+C` still quit. Width mode keeps its own keys: leave it
|
|
350
|
+
before opening help.
|
|
310
351
|
|
|
311
352
|
If `gh-glance` is started without an interactive stdin (for example with stdin
|
|
312
353
|
redirected), the key handlers cannot run and the status bar shows only `Quit: ^C`
|
|
@@ -946,6 +987,17 @@ SIGINT, or a sample gap over 15 seconds makes the report nonqualifying. A sleep
|
|
|
946
987
|
gap requires a new uninterrupted window. A schema 1 manifest supports a
|
|
947
988
|
diagnostic `--once` read only; it cannot qualify a run.
|
|
948
989
|
|
|
990
|
+
Under the default `--background on-demand`, only the active Actions tab is
|
|
991
|
+
watched continuously; Issues, Pull Requests and Security are fetched when
|
|
992
|
+
opened or on `r`. Declare only those continuously active Actions panes in a
|
|
993
|
+
monitored window, and check secondary views with separate one-shot assertions:
|
|
994
|
+
a perpetual cadence oracle over an intentionally idle tab would report a false
|
|
995
|
+
stall. A bounded release canary (one already running Actions pane, at most five
|
|
996
|
+
minutes and 20 extra admissions per resource above the quota floor) is planned
|
|
997
|
+
offline by `planCanary` in `scripts/release-policy.mjs`, which emits exactly
|
|
998
|
+
such a schema 2 manifest and the stop rule; it cannot qualify the 24-hour
|
|
999
|
+
windows.
|
|
1000
|
+
|
|
949
1001
|
Provider-limit exclusions require `--external-evidence` pointing to an
|
|
950
1002
|
append-only JSON trace with `schema: 1` and an `events` array. Each `raw-http`
|
|
951
1003
|
event records the independently captured issue and finish timestamps, host,
|