@01.works/visual-review 0.11.0 → 0.12.0

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.
package/README.md CHANGED
@@ -34,6 +34,38 @@ credential을 browser 설정으로 전달하지 않습니다.
34
34
  npm install @01.works/visual-review
35
35
  ```
36
36
 
37
+ ## CLI
38
+
39
+ 같은 공개 패키지가 프로젝트 범위 리뷰 피드백 CLI를 제공합니다. scope 없는
40
+ `npx visual-review`은 동명의 다른 npm 패키지를 해석할 수 있으므로 사용하지 않습니다.
41
+
42
+ ```bash
43
+ npm exec --package=@01.works/visual-review -- visual-review configure --email <owner-email> --list
44
+ npm exec --package=@01.works/visual-review -- visual-review configure --email <owner-email> --project <project-id>
45
+ npm exec --package=@01.works/visual-review -- visual-review list
46
+ npm exec --package=@01.works/visual-review -- visual-review get <comment-id>
47
+ ```
48
+
49
+ 프로젝트에 이미 설치되어 있으면 package script 별칭도 사용할 수 있습니다.
50
+
51
+ ```json
52
+ { "scripts": { "review": "visual-review" } }
53
+ ```
54
+
55
+ ```bash
56
+ npm run review -- list
57
+ npm run review -- logout
58
+ ```
59
+
60
+ `configure`는 이메일 코드를 터미널의 숨김 입력으로 확인한 뒤, 프로젝트 하나에
61
+ 고정된 30일 credential만 `.visual-review.json`에 POSIX mode 0600으로 저장합니다. owner
62
+ JWT와 인증 코드는 출력하거나 저장하지 않습니다. 성공 결과는 JSON stdout, 진단은
63
+ stderr로 나갑니다. 만료되면 자동 재인증하지 않으며 `configure`를 다시 실행합니다.
64
+ `logout`은 서버에서 session을 폐기한 다음 로컬 설정을 제거합니다.
65
+ Windows에서는 ACL 검증을 아직 제공하지 않으므로 저장형 `configure`를 거부합니다.
66
+ 그 환경에서는 사전 발급한 `VISUAL_REVIEW_TOKEN`, `VISUAL_REVIEW_PROJECT_ID`,
67
+ `VISUAL_REVIEW_SERVICE_URL` 환경변수를 사용해야 합니다.
68
+
37
69
  ### React / Vite
38
70
 
39
71
  Vite config에 build identity plugin을 한 번 추가하면 CI deployment metadata 또는
@@ -66,9 +98,7 @@ capture에는 파일 위치가 남지 않습니다.
66
98
  import { VisualReview } from '@01.works/visual-review/react';
67
99
 
68
100
  export function App() {
69
- return (
70
- <VisualReview developerTools={{ codeContextCopy: import.meta.env.DEV }} />
71
- );
101
+ return <VisualReview />;
72
102
  }
73
103
  ```
74
104
 
@@ -183,20 +213,23 @@ npm run preview
183
213
  `enabled={false}`는 integrator가 쓸 수 있는 긴급 kill switch일 뿐 정상 설치 계약이
184
214
  아닙니다. Origin 연결 해제는 이미 열린 reviewer permission까지 닫는 운영 kill switch입니다.
185
215
 
186
- ## 실시간 협업
216
+ ## Optional cursor chat
187
217
 
188
- `collaboration`의 기능은 기본적으로 꺼져 있습니다.
218
+ Authoritative Convex runtime에서는 reviewer cursor와 ephemeral cursor chat을 하나의 optional
219
+ module로 켤 수 있습니다.
189
220
 
190
221
  ```tsx
191
- <VisualReview collaboration={{ cursors: true, chat: true }} />
222
+ <VisualReview cursorChat />
192
223
  ```
193
224
 
194
- `cursors`와 `chat`은 저장하지 않는 presence를 사용합니다. `chat`을 켜면 일반 입력
195
- 요소 밖에서 `/`를 눌러 현재 cursor room의 ephemeral 채팅을 수 있습니다.
196
- 따라서 저장되는 page chat은 없고, legacy `reviewMessages`는 read-only 호환 data로만
197
- 남습니다. 모두 유효한
198
- invitation과 같은 deny-by-default project 권한을 전제로 하며 browser flag 자체는
199
- 권한을 부여하지 않습니다.
225
+ 기본값은 `false`입니다. 꺼져 있으면 cursor-chat UI와 repository는 각각 lazy chunk 뒤에
226
+ 남아 DOM, pointer listener, subscription과 mutation을 만들지 않습니다. 켜면 같은 page의
227
+ reviewer끼리 cursor와 최대 280자의 말풍선을 공유하고, editable element 밖에서 `/`를 눌러
228
+ 입력창을 엽니다. 메시지는 comment로 저장되지 않고 25초 TTL의 Convex presence로만
229
+ 오갑니다. 연결 오류는 optional module만 중단하며 pin/thread/reply 기능은 계속됩니다.
230
+
231
+ Self-hosted custom runtime은 `cursorChatRepository`와 `cursorChatRoomId`를 제공해야 합니다.
232
+ Instant runtime과 `/v1/collaboration/room` 호환 경로는 제공하지 않습니다.
200
233
 
201
234
  ## 위젯 위치
202
235
 
@@ -44,10 +44,6 @@ The bundled selection engine uses `react-grab/primitives`, and the widget UI
44
44
  adapts interface elements from the initial UI snapshot below. The bundled
45
45
  dock adapts drag thresholds, edge-snap geometry, velocity projection, and
46
46
  orientation from the newer dock snapshot below.
47
- An explicitly enabled developer tool also uses React Grab's context and
48
- clipboard primitives on first use for code context copying without initializing
49
- another toolbar, shortcut, or telemetry surface.
50
-
51
47
  - Repository: https://github.com/aidenybai/react-grab
52
48
  - Version first integrated: `0.1.50`
53
49
  - Initial UI snapshot commit: `2a39bc29e5f8bdbd69095cf1d33d91634576cd20`