# 変更履歴

`dsh-input-traffic` の主な変更とバグ修正を記録します。バージョンはセマンティックバージョニングに従います（`dsh plugin --profile web add dsh-input-traffic` でインストール）。

- [English changelog](./CHANGELOG.md)
- [日本語 changelog](./CHANGELOG.ja.md)
- [한국어 changelog](./CHANGELOG.ko.md)

## 0.5.5 — 2026-09-30

### 修正: キュー行を inbox プロジェクションから読むよう修正（実機 0.1.7-rc.2 で検証）

- 実ホストではキュー行がセッションスナップショットに存在しないため、useProjection('inbox') から読むよう修正（公式 QueueDock と同一）。従来の鏡像フィールド参照は実機で必ずクラッシュし、公式キューへフォールバックしていた。
- 損壊した「入力へ戻す」ボタンを削除（黄ティアが挿入の唯一の入口）。ティア色をリテラル値に固定（スキンのトークン再定義で黄色が不可視になる問題）。

## 0.5.4 — 2026-09-29

### 修正：0.1.7 ライン devDeps 基線の整合 + dock アイコン描画クラッシュ

- 古い devDeps 3 件を 0.1.7 ラインに引き上げ：`client-ui-primitives ^0.0.1-rc.1`（`^0.0.x` は 0.1.x に到達不能）、`client-store` / `util-workspace-path ^0.1.2-alpha.2`（プレリリース解決の滞留）→ すべて `^0.1.7-rc.1`（実装 rc.2）。
- ソース側も primitives の `*16`/`*14` アイコン export 改名（0.1.7-rc.1 から `*Medium`/`*Regular` 系のみ）に追従：8 か所を `*Medium` に変更。
- **本バージョンは公開済み 0.5.3 の壊れた tarball を置き換える**：0.5.3 の bundle は primitives 0.1.7 に存在しないアイコン export を外部参照しており、実 0.1.7 ホストで dock 描画が即クラッシュする——陳腐な devDeps ピンがビルド時の偽装グリーンに隠していた。
- テスト環境の堅牢化：ホスト専用パスのスタブ + micromark/mdast スタックの明示 devDep + `react-dom` を 18 にピン（5 スイート 59 ケースすべて実実行）。

## 0.2.8 — 2026-08-24

### 追加：日夜モード自動適応

- キュー枠（待機エリア dock）と凍結ボタンの配色を手描き `--dsw-alias-*`（dsh 公式セマンティックトークン）に変更。
- 効果：システムダークモードや dsh ダークテーマ（`body[data-ds-dark-theme]`）で自動的に**ダークグレー背景＋白文字反転**に切替。設定不要。

## 0.2.6 — 2026-08-19

### バグ修正：ドラッグ開始の互換性（一部ブラウザでドラッグ不可）

- **現象**：一部ブラウザでキュー行をドラッグできない。
- **原因**：`dragStart` に `effectAllowed='move'` のみ設定、`dataTransfer.setData()` 未呼び出し。
- **修正**：通常キュー行と凍結キュー行の `dragStart` に `setData('text/plain', index)` を追加。

## 0.2.5 — 2026-08-19

### バグ修正：凍結キューのドラッグ並べ替え不可

- **現象**：凍結時にキュー行は上へ/下へボタンのみで並べ替え可能、ドラッグ無効。
- **原因**：凍結リスト `li` に `draggable` と drag イベント未設定。
- **修正**：凍結行に `draggable` + `dragStart/dragOver/drop/dragEnd` を追加。

## 0.2.4 — 2026-08-19

### バグ修正：凍結時にキューがロックされる（順序/内容/挿入モード全て変更不可）

- **現象**：凍結状態でキューの編集・削除・上へ/下へ・赤/黄/緑全部無効。
- **原因**：凍結リストは読み取り専用レンダリング（操作ボタンなし）。
- **修正**（凍結とキューの完全疎結合）：
  - 凍結キュー各行に通常時と同等の編集/削除/上へ/下へを提供；
  - 凍結キュー各行に**赤/黄/緑挿入段階**ボタンを提供；
  - 恢復時に各条の予定段階で実行（赤段階は `cancel()` 後送信）。

## 0.2.3 — 2026-08-19

### バグ修正：凍結時に待機キューが非表示

- **現象**：凍結後、待機キューが消失し、凍結されたメッセージの閲覧・修正が不可。
- **原因**：凍結実装がキューメッセージを `remove` で store に移動、dock レンダリング条件が `return null` に。
- **修正**：
  - レンダリング条件に `!frozen` を追加；
  - 凍結リストを freeze-store の `pending` からレンダリング；
  - freeze-store に可変操作を追加。

## 0.2.2 — 2026-08-19

### 追加：清空確認の明示的キャンセルボタン

- 凍結キューの清空 2 段階確認に「キャンセル」ボタンを追加（3 秒超時で自動還元）。

## 0.2.1 — 2026-08-18

### 追加：清空 2 段階確認

- 「取り消して全消去」初回クリックで赤「確認清空？」を表示、再クリックで実行。誤触による全消去を防止。

## 0.2.0 — 2026-08-18

### 追加（dsh-queue-plus から借用）

- **ドラッグ並べ替え**：キュー行を直接ドラッグして順序調整（ネイティブ HTML5 DnD、ランタイム依存なし）。
- **並べ替え並行保護**：再構築中にメッセージがエージェントに取得済みの場合、即座に中止し再送信なし。
- **折りたたみ状態記憶**：待機エリアの収縮状態を localStorage に永続化。
- **清空 2 段階確認**（0.2.1 参照）。

### エンジニアリング

- **TDD + Lint**：ESLint flat config、`npm run tdd`（vitest watch）、`npm run verify` 一体化ゲート。
- テスト 32 → 43 項目。
