@takagaki/cortex-decisions-viewer 0.10.4 → 0.10.5

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 +27 -6
  2. package/package.json +1 -1
package/dist/render.js CHANGED
@@ -7382,20 +7382,32 @@ ${nextStateDelay.toString()}
7382
7382
  */
7383
7383
  function realtimeSyncCard() {
7384
7384
  var rt = LIVE_REALTIME;
7385
- if (!rt) return null; // 取得前・取得失敗・Backlogを使わない案件
7386
- if (rt.supported === false) {
7385
+ // **未対応(固定IP経由の同期)だけは、手順ではなく理由を出す。** ここは索引の状態ではなく
7386
+ // 経路の話で、設定しても効かないことが確定している唯一の形。黙って欠けさせない
7387
+ if (rt && rt.supported === false) {
7387
7388
  return el("p", {
7388
7389
  class: "sec-how",
7389
7390
  text: "この案件は固定IP経由でBacklogを同期しているため、リアルタイム同期(Webhook)には未対応です。反映は毎晩の同期のタイミングになります。",
7390
7391
  });
7391
7392
  }
7392
7393
  var wh = SITE.backlogWebhook;
7393
- if (!rt.ready || !wh || !wh.url || !wh.token) return null;
7394
+ // **URLが無い案件には出さない。** 貼るものが無い手順は、一番読めない形になる
7395
+ if (!wh || !wh.url || !wh.token) return null;
7396
+ // **索引に行があるか(ready)でカードごと隠さない(2026-08-24 オーナー決定)。**
7397
+ // それまでは「手順どおり設定すれば実際に効く案件だけに出す」としていたが、
7398
+ // ready の材料(ルーティング索引の行)は**設定を始める前には揃わない**ので、
7399
+ // これから設定する人ほど手順に辿り着けなかった。索引がまだ追いついていない案件も、
7400
+ // 取得前・取得失敗(rt が null)も、手順は出す——URLは案件専用で、先に貼っておいても
7401
+ // 困らない。ready のときだけ受信実績の行を足す
7402
+ var ready = !!(rt && rt.ready);
7394
7403
  var url = wh.url + (wh.url.indexOf("?") === -1 ? "?" : "&") + "t=" + encodeURIComponent(wh.token);
7395
7404
  // 接続先ごとの受信実績(#123)。**配列で受ける**——1案件=複数 Backlog プロジェクトは
7396
7405
  // 確定した将来要件(#107)で、今日は必ず1件。**時刻が読めない値は稼働中に数えない**
7397
7406
  // ——「最終受信: NaN分前」を出すくらいなら、未設定と同じ手順の画面のほうがまだ読める
7398
- var targets = (rt.targets || []).map(function (t) {
7407
+ // **ready でないうちは受信実績を読まない。** ready の材料は索引の行(=自リポ宛だと
7408
+ // 確かめられた行)で、それが無いのに lastEventAt だけ来ている応答を信じると、
7409
+ // **届いていない案件に「✓ 稼働中」を出す**——一番出してはいけない嘘になる
7410
+ var targets = (ready && rt.targets ? rt.targets : []).map(function (t) {
7399
7411
  return { projectKey: t && t.projectKey ? String(t.projectKey) : "", ago: t && t.lastEventAt ? rtAgo(t.lastEventAt) : "" };
7400
7412
  });
7401
7413
  var live = targets.some(function (t) { return t.ago; });
@@ -7488,7 +7500,9 @@ ${nextStateDelay.toString()}
7488
7500
  ]);
7489
7501
  }
7490
7502
 
7491
- return el("div", { class: "ops-card rt-card" }, [
7503
+ // まだ受け入れ体制が整っていない案件(接続先がこれから・索引が追いついていない)には、
7504
+ // **次の一手だけを1行足す。** 担当者への連絡は促さない——この画面で完結する話だから
7505
+ var head = [
7492
7506
  el("div", { class: "ops-card-head" }, [
7493
7507
  el("span", { class: "ops-card-icon", text: "⚡" }),
7494
7508
  // **稼働中の枝と同じ見出しにする**(上の ⚠ 参照。片方だけ直すと、
@@ -7496,7 +7510,14 @@ ${nextStateDelay.toString()}
7496
7510
  el("h3", { class: "ops-card-title", text: "リアルタイム同期(任意)" }),
7497
7511
  ]),
7498
7512
  el("p", { class: "ops-card-desc", text: "Backlog で課題やコメントが変わったときに、その内容をすぐ取り込みます(毎晩の同期を待たずに反映されます)。Backlog 側で一度だけ設定してください。" }),
7499
- ].concat(steps));
7513
+ ];
7514
+ if (!ready) {
7515
+ head.push(el("p", {
7516
+ class: "sec-how",
7517
+ text: "上の「接続先」を先に設定してから貼り付けてください。設定した直後は、この画面が追いつくまで少し時間がかかることがあります。",
7518
+ }));
7519
+ }
7520
+ return el("div", { class: "ops-card rt-card" }, head.concat(steps));
7500
7521
  }
7501
7522
 
7502
7523
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takagaki/cortex-decisions-viewer",
3
- "version": "0.10.4",
3
+ "version": "0.10.5",
4
4
  "description": "Cortexの意思決定記録(Decisions/*.md)を静的サイトにビルドして閲覧する。各レコードに「Edit on GitHub」リンクを付与する。",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,