# 変更履歴

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

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

## 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 項目。
