cronwatch 0.12.1 → 0.12.2
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.
- checksums.yaml +4 -4
- data/lib/cronwatch/version.rb +1 -1
- data/lib/cronwatch/web/html.rb +16 -10
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3c1fe0ab990fc8d76b7d1ccc58a036b6a8e3b83ba26f583d76eacc5e900bdae5
|
|
4
|
+
data.tar.gz: f0759b8c9987110c648d3f3ae5a27a16e3133698df133b34c6f27c529b821b78
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 41b86b8cb46db24ff0bd69e64f99ef58a2fd834880c469584137f786697eef9ddcb943113f94275d7babeb63dcff28c6b7df52c9bbe33a209b5e3d0726edcda2
|
|
7
|
+
data.tar.gz: acd9537f5bbb9f7f28b2e6df63524ed88413911a2dad3587bee4b6cc81a91994414136145c3662e8ba14108c715d5b54b9ab224ff9f301ed853d258064bea150
|
data/lib/cronwatch/version.rb
CHANGED
data/lib/cronwatch/web/html.rb
CHANGED
|
@@ -41,14 +41,14 @@ module Cronwatch
|
|
|
41
41
|
.brand .crumb{font:500 15px/1.2 var(--mono);color:var(--body);overflow-wrap:anywhere}.brand .slash{color:var(--rule-2);font-weight:400}
|
|
42
42
|
.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
|
|
43
43
|
.meta{font:400 12px/1.4 var(--mono);color:var(--muted)}
|
|
44
|
-
button,
|
|
45
|
-
|
|
46
|
-
button:hover,
|
|
47
|
-
button.primary{background:var(--ink);border-color:var(--ink);color:var(--sheet)}button.primary:hover{opacity:.86}
|
|
44
|
+
button,a.button,details.confirm>summary{font:500 12.5px/1 var(--mono);color:var(--ink);background:var(--sheet);border:1px solid var(--rule-2);border-radius:3px;height:32px;padding:0 11px;cursor:pointer}
|
|
45
|
+
a.button{display:inline-flex;align-items:center;text-decoration:none}
|
|
46
|
+
button:hover,a.button:hover,details.confirm>summary:hover{border-color:var(--muted)}
|
|
47
|
+
button.primary{background:var(--ink);border-color:var(--ink);color:var(--sheet)}button.primary:hover{opacity:.86}button.danger{color:var(--bad)}button.danger:hover{border-color:var(--bad)}
|
|
48
48
|
form.inline{display:inline-flex;align-items:center;gap:6px;margin:0}
|
|
49
|
-
details.confirm{display:inline-flex;align-items:center;gap:8px;margin:0}details.confirm>summary{list-style:none;display:inline-
|
|
49
|
+
details.confirm{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0}details.confirm>summary{list-style:none;display:inline-flex;align-items:center}
|
|
50
50
|
details.confirm>summary::-webkit-details-marker{display:none}details.confirm[open]>summary{border-color:var(--muted)}
|
|
51
|
-
details.confirm form{
|
|
51
|
+
details.confirm form{flex-wrap:wrap;font-size:14px;color:var(--muted)}.delete details{margin-top:16px}
|
|
52
52
|
.sec{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px 40px;padding:30px 0;border-top:1px solid var(--rule)}
|
|
53
53
|
.top+main>.sec:first-child{border-top:0}
|
|
54
54
|
.sec>h2{margin:0;font:500 11px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:5px}
|
|
@@ -97,7 +97,7 @@ module Cronwatch
|
|
|
97
97
|
.message p{margin:14px auto 0;max-width:52ch;color:var(--muted);text-wrap:pretty}
|
|
98
98
|
.signin{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:28px auto 0;max-width:420px}
|
|
99
99
|
.signin label{font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
|
|
100
|
-
.signin input{flex:1 1 180px;min-width:0;font:400 16px/1.2 var(--mono);color:var(--ink);background:var(--sheet);border:1px solid var(--rule-2);border-radius:3px;padding:
|
|
100
|
+
.signin input{flex:1 1 180px;min-width:0;font:400 16px/1.2 var(--mono);color:var(--ink);background:var(--sheet);border:1px solid var(--rule-2);border-radius:3px;height:32px;padding:0 10px}
|
|
101
101
|
footer{display:flex;flex-wrap:wrap;gap:6px 18px;padding:20px 0 40px;border-top:1px solid var(--rule);font:400 12px/1.5 var(--mono);color:var(--muted)}
|
|
102
102
|
.timeline{margin:18px 0 0}
|
|
103
103
|
.timeline .axis,.timeline .under,.timeline .over,.timeline .lane{display:grid;grid-template-columns:var(--who) minmax(0,1fr)}
|
|
@@ -416,7 +416,7 @@ module Cronwatch
|
|
|
416
416
|
</section>
|
|
417
417
|
<section class="sec" aria-label="Jobs">
|
|
418
418
|
<h2>Jobs</h2>
|
|
419
|
-
<p class="lede">Every job in the store. Open one for its week, its runs and their output.</p>
|
|
419
|
+
<p class="lede">Every job in the store. Open one for its week, its runs, and their output.</p>
|
|
420
420
|
<div class="wide"><table class="board">
|
|
421
421
|
<thead><tr><th>Job</th><th>Health</th><th class="hide-sm">Schedule</th><th>Last run</th><th class="hide-sm">Next due</th><th class="hide-sm">Recent runs</th></tr></thead>
|
|
422
422
|
<tbody>#{rows}</tbody></table></div>
|
|
@@ -483,7 +483,7 @@ module Cronwatch
|
|
|
483
483
|
if silenced
|
|
484
484
|
%(<form class="inline" method="post" action="#{path}/unsilence"><button type="submit">Unsilence (until #{h(Duration.relative(job.silenced_until, now))})</button></form>)
|
|
485
485
|
else
|
|
486
|
-
%(<form class="inline" method="post" action="#{path}/silence"><
|
|
486
|
+
%(<details class="confirm"><summary>Silence</summary><form class="inline" method="post" action="#{path}/silence"><span>for</span> <button type="submit" name="for" value="1h">1 hour</button><button type="submit" name="for" value="4h">4 hours</button><button type="submit" name="for" value="1d">1 day</button><button type="submit" name="for" value="7d">1 week</button></form></details>)
|
|
487
487
|
end
|
|
488
488
|
stats = job.stats
|
|
489
489
|
p50 = stats.p50_ms.nil? ? "?" : h(Duration.format(stats.p50_ms))
|
|
@@ -528,7 +528,6 @@ module Cronwatch
|
|
|
528
528
|
<p class="stateline">#{health_state(job)}#{why ? %(<span class="why">#{h(why)}</span>) : ""}</p>
|
|
529
529
|
<div class="actions">
|
|
530
530
|
#{silence_form}
|
|
531
|
-
<details class="confirm"><summary>Forget</summary><form class="inline" method="post" action="#{path}/forget"><span>Remove this job and its runs from the store?</span> <button type="submit">Forget</button></form></details>
|
|
532
531
|
</div>
|
|
533
532
|
<dl class="figures">
|
|
534
533
|
<div><dt>Last run</dt><dd>#{job.last_run ? h(Duration.relative(job.last_run.started_at, now)) : "never"}</dd></div>
|
|
@@ -563,6 +562,13 @@ module Cronwatch
|
|
|
563
562
|
#{job.consecutive_failures.positive? ? %(<dt>Failures in a row</dt><dd>#{h(job.consecutive_failures)}</dd>) : ""}
|
|
564
563
|
</dl>
|
|
565
564
|
</section>
|
|
565
|
+
<section class="sec delete" aria-label="Delete">
|
|
566
|
+
<h2>Delete</h2>
|
|
567
|
+
<div>
|
|
568
|
+
<p class="lede">Removes this job and all its runs from the store, which cannot be undone. A job still in your code comes back on its next run, with no history.</p>
|
|
569
|
+
<details class="confirm"><summary>Delete history</summary><form class="inline" method="post" action="#{path}/forget"><span>Delete this job and all its runs?</span> <button class="danger" type="submit">Delete</button><a class="button" href="#{path}">Cancel</a></form></details>
|
|
570
|
+
</div>
|
|
571
|
+
</section>
|
|
566
572
|
</main>
|
|
567
573
|
<footer><span>Refreshes every minute. Times are UTC.</span><a href="#{h(base)}/api/jobs/#{encode_uri_component(job.name)}">JSON</a></footer>
|
|
568
574
|
BODY
|