docs(spec): promote F2 tag click
Marks F2 in dogfood-feedback as 🚀 promoted and adds the standalone spec at docs/superpowers/specs/2026-04-26-f2-tag-click.md capturing the mini-brainstorm decisions, scope, and follow-ups (multi-tag filter, rename/merge, source preservation on undo). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit was merged in pull request #6.
This commit is contained in:
@@ -103,7 +103,9 @@ H1 이 미달이면 본 항목 ❌ rejected.
|
||||
|
||||
---
|
||||
|
||||
## F2. 태그 클릭 = 즉시 삭제 + undo 부재 (🌱 raw)
|
||||
## F2. 태그 클릭 = 즉시 삭제 + undo 부재 (🚀 promoted)
|
||||
|
||||
**진행 상태:** 🚀 promoted → `docs/superpowers/specs/2026-04-26-f2-tag-click.md`
|
||||
|
||||
**발견:** 2026-04-25 dogfood 중. 슬라이스 v0.4 동작.
|
||||
|
||||
|
||||
31
docs/superpowers/specs/2026-04-26-f2-tag-click.md
Normal file
31
docs/superpowers/specs/2026-04-26-f2-tag-click.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# F2 태그 클릭 Spec (Promoted)
|
||||
|
||||
**Extracted from:** `2026-04-25-dogfood-feedback.md` F2
|
||||
**Plan:** (inline in this PR description)
|
||||
**Status:** 🚀 promoted — implemented 2026-04-26
|
||||
|
||||
## 결정 (mini-brainstorm 결과)
|
||||
|
||||
| 결정 | 값 |
|
||||
|------|-----|
|
||||
| 짧은 클릭 | 필터 (Inbox 가 동일 태그만 표시) |
|
||||
| 칩의 × | 즉시 태그 제거 + 5초 undo 토스트 |
|
||||
| AI/user 태그 | 동일 동작 (시각만 다름) |
|
||||
| undo 정책 | 5초 자동 사라짐, 토스트 클릭 시 즉시 복원 |
|
||||
| Continuity / Pending 카운트 | 전체 기준 (필터 무시) |
|
||||
|
||||
## 범위 (PR 안에 포함됨)
|
||||
|
||||
- `src/renderer/inbox/store.ts` 수정 (`tagFilter` + `setTagFilter`, `selectFilteredNotes` re-export)
|
||||
- `src/renderer/inbox/selectFilteredNotes.ts` 신규 — 순수 셀렉터 (`api.ts` 의 `window.inkling` 부수효과 회피로 vitest `node` 환경 호환)
|
||||
- `src/renderer/inbox/App.tsx` 수정 (필터 배너 + 해제 버튼 + `<TagUndoToast />` 마운트)
|
||||
- `src/renderer/inbox/components/NoteCard.tsx` 수정 (칩 분리: 클릭 = 필터 / × = 제거 + undo)
|
||||
- `src/renderer/inbox/components/TagUndoToast.tsx` (신규 — 모듈 단위 pub/sub 토스트)
|
||||
- `tests/unit/store.tagFilter.test.ts` (신규 — 4 케이스)
|
||||
|
||||
## 후속
|
||||
|
||||
- 다중 태그 필터 (AND/OR)
|
||||
- 태그 rename / merge / 자동완성
|
||||
- 태그 단위 일괄 작업
|
||||
- undo 시 원래 source(`ai`/`user`) 보존 (현재는 `updateAiFields(tags: string[])` API 가 source 정보 미수용 — backend 가 user 로 처리)
|
||||
Reference in New Issue
Block a user