# 변경 기록

`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)과 동결 버튼의 색상을 dsh 공식 시맨틱 토큰(`--dsw-alias-*`)으로 변경.
- 효과: 시스템 다크모드 또는 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` 추가(동결 시 dock 유지);
  - 동결 리스트를 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항목.
