@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.
Files changed (2) hide show
  1. package/dist/render.js +23 -3
  2. 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
- function loadLiveFleet() {
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
- body: JSON.stringify({ caps: OPEN_CAPS }),
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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takagaki/cortex-decisions-viewer",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "description": "Cortexの意思決定記録(Decisions/*.md)を静的サイトにビルドして閲覧する。各レコードに「Edit on GitHub」リンクを付与する。",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,