@takagaki/cortex-decisions-viewer 0.9.0 → 0.9.1
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/dist/render.js +23 -3
- package/package.json +1 -1
package/dist/render.js
CHANGED
|
@@ -6081,7 +6081,7 @@ ${nextStateDelay.toString()}
|
|
|
6081
6081
|
// 返ってきて**足りない行として一覧に出る**——さらに「まとめ表がまだ答えていない行」が
|
|
6082
6082
|
// できるので、まとめ表が追いつくまで取り直しが続く。
|
|
6083
6083
|
// 取得中なら何もしない(応答後に catchUpOpenCaps が拾う)
|
|
6084
|
-
if (j.changed !== false) loadLiveFleet();
|
|
6084
|
+
if (j.changed !== false) loadLiveFleet(true);
|
|
6085
6085
|
// **何も変わっていないなら「追加した」と見せない。** 既に同じものが入っていた場合
|
|
6086
6086
|
// サーバは 200 + changed:false を返す。ここを res.ok だけで判定すると
|
|
6087
6087
|
// 「変更はありません」と言いながら追加した行が出る
|
|
@@ -6805,7 +6805,19 @@ ${nextStateDelay.toString()}
|
|
|
6805
6805
|
* (しかも次の取り直しは未確定の行が無いので張られない=二度と追いつかない)。
|
|
6806
6806
|
*/
|
|
6807
6807
|
var liveFleetSentCaps = [];
|
|
6808
|
-
|
|
6808
|
+
/**
|
|
6809
|
+
* 次の取得で据え置きを迂回するか(保存が効いた直後の1回だけ)。
|
|
6810
|
+
*
|
|
6811
|
+
* 🔴 **通常のポーリングには付けない。** サーバの60秒の据え置きは、GitHub の枠を
|
|
6812
|
+
* 守るために効かせたままにする(枠は組織で共有していて、枯渇すると設定変更・
|
|
6813
|
+
* Amplifyビルド・Backlog同期が同時に止まる)。
|
|
6814
|
+
*
|
|
6815
|
+
* **取得中に保存が終わった分を取りこぼさない。** 取得中の loadLiveFleet は何もせずに
|
|
6816
|
+
* 戻るので、旗として残し、応答後にもう一度取りに行く
|
|
6817
|
+
*/
|
|
6818
|
+
var freshWanted = false;
|
|
6819
|
+
function loadLiveFleet(fresh) {
|
|
6820
|
+
if (fresh) freshWanted = true;
|
|
6809
6821
|
if (liveFleetRequested) return;
|
|
6810
6822
|
var intake = SITE.intake;
|
|
6811
6823
|
if (!intake) return;
|
|
@@ -6814,13 +6826,17 @@ ${nextStateDelay.toString()}
|
|
|
6814
6826
|
if (typeof fetch !== "function") return;
|
|
6815
6827
|
liveFleetRequested = true;
|
|
6816
6828
|
liveFleetSentCaps = OPEN_CAPS.slice();
|
|
6829
|
+
var useFresh = freshWanted;
|
|
6830
|
+
freshWanted = false;
|
|
6817
6831
|
var pfx = intake.url + (intake.url.indexOf("?") === -1 ? "?" : "&");
|
|
6818
6832
|
fetch(pfx + "op=state&t=" + encodeURIComponent(intake.token), {
|
|
6819
6833
|
method: "POST",
|
|
6820
6834
|
headers: { "content-type": "application/json" },
|
|
6821
6835
|
// **開いている能力を伝える。** 知らない値は Lambda 側が黙って捨てる(断らない)ので、
|
|
6822
6836
|
// 画面と Lambda の版が食い違っても接続状況の表示は消えない
|
|
6823
|
-
|
|
6837
|
+
// **保存直後だけ据え置きを迂回させる。** これが無いと、サーバが保存前の答えを返し、
|
|
6838
|
+
// 足りない行が0件になって取り直しも張られない=手で再読み込みするまで追いつかない
|
|
6839
|
+
body: JSON.stringify(useFresh ? { caps: OPEN_CAPS, fresh: true } : { caps: OPEN_CAPS }),
|
|
6824
6840
|
})
|
|
6825
6841
|
// **非2xxも失敗として扱う。** ビューアとLambdaの版は独立に進むので、
|
|
6826
6842
|
// op=state 未対応のLambdaは 400 を返す。通信エラーだけを見ていると空表示になる。
|
|
@@ -6847,6 +6863,8 @@ ${nextStateDelay.toString()}
|
|
|
6847
6863
|
repaintOpenLists();
|
|
6848
6864
|
// まだ足りない行があるなら取り直しを続ける(無くなったら止める)
|
|
6849
6865
|
refreshStateTimer();
|
|
6866
|
+
// 取得中に保存が効いていたら、迂回付きでもう一度取りに行く
|
|
6867
|
+
if (freshWanted) loadLiveFleet();
|
|
6850
6868
|
catchUpOpenCaps();
|
|
6851
6869
|
})
|
|
6852
6870
|
.catch(function () {
|
|
@@ -6861,6 +6879,8 @@ ${nextStateDelay.toString()}
|
|
|
6861
6879
|
// **失敗しても取り直しは続ける**(期限が来れば止まる)。ここで止めると、
|
|
6862
6880
|
// 一時的な失敗のあと画面が二度と追いつかない
|
|
6863
6881
|
refreshStateTimer();
|
|
6882
|
+
// 取得中に保存が効いていたら、迂回付きでもう一度取りに行く
|
|
6883
|
+
if (freshWanted) loadLiveFleet();
|
|
6864
6884
|
catchUpOpenCaps();
|
|
6865
6885
|
});
|
|
6866
6886
|
}
|