fix(claude-login): siden opgiver ikke mens serveren starter login
Efter et tryk på Start kunne siden nå at læse den gamle hvile-status (fx "Logget ind"), før serveren havde skrevet "starter". Så sprang den tilbage til knappen og målte først igen efter 30 sekunder, og login-knappen kom aldrig frem. Nu venter siden i op til et minut på en status, serveren har skrevet efter trykket, og måler hvert 2. sekund imens. Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
This commit is contained in:
@@ -48,6 +48,9 @@
|
|||||||
};
|
};
|
||||||
var $ = function (id) { return document.getElementById(id); };
|
var $ = function (id) { return document.getElementById(id); };
|
||||||
var timer = null;
|
var timer = null;
|
||||||
|
// Efter et tryk på Start venter vi i op til et minut på en status, serveren har
|
||||||
|
// skrevet EFTER trykket; en ældre hvile-status betyder bare, at den ikke er nået dertil.
|
||||||
|
var klik = 0;
|
||||||
|
|
||||||
function dato(t) {
|
function dato(t) {
|
||||||
var d = new Date(t * 1000);
|
var d = new Date(t * 1000);
|
||||||
@@ -56,6 +59,8 @@
|
|||||||
|
|
||||||
function vis(st) {
|
function vis(st) {
|
||||||
var s = st.status || "ukendt";
|
var s = st.status || "ukendt";
|
||||||
|
var hvile = s === "ok" || s === "snart" || s === "udloebet" || s === "ukendt";
|
||||||
|
if (hvile && klik && Date.now() - klik < 60000 && (st.updated || 0) * 1000 < klik) s = "starter";
|
||||||
var linje = TEKST[s] || s;
|
var linje = TEKST[s] || s;
|
||||||
if (st.expires && (s === "ok" || s === "snart")) {
|
if (st.expires && (s === "ok" || s === "snart")) {
|
||||||
var dage = Math.floor((st.expires * 1000 - Date.now()) / 86400000);
|
var dage = Math.floor((st.expires * 1000 - Date.now()) / 86400000);
|
||||||
@@ -93,6 +98,7 @@
|
|||||||
|
|
||||||
$("cl-start-btn").addEventListener("click", function () {
|
$("cl-start-btn").addEventListener("click", function () {
|
||||||
$("cl-start-btn").disabled = true;
|
$("cl-start-btn").disabled = true;
|
||||||
|
klik = Date.now();
|
||||||
fetch("/admin/claude-login/start", { method: "POST", credentials: "same-origin" })
|
fetch("/admin/claude-login/start", { method: "POST", credentials: "same-origin" })
|
||||||
.then(function (r) { return r.json(); }).then(vis)
|
.then(function (r) { return r.json(); }).then(vis)
|
||||||
.finally(function () { $("cl-start-btn").disabled = false; });
|
.finally(function () { $("cl-start-btn").disabled = false; });
|
||||||
|
|||||||
Reference in New Issue
Block a user