issue-sticker 0.4.0 → 0.6.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/CHANGELOG.md +40 -0
- package/dist/{createLucideIcon-C0Ldhp96.js → createLucideIcon-BzRMP02h.js} +12 -12
- package/dist/{externalUserPayload-BVNl_35M.js → externalUserPayload-B7zThnol.js} +444 -184
- package/dist/issue-sticker-headless-react.js +2 -2
- package/dist/issue-sticker-headless.js +124 -15
- package/dist/issue-sticker-react.js +1712 -889
- package/dist/{tooltip-CEc_RGfI.js → tooltip-B6UPO-U8.js} +1 -1
- package/headless.d.ts +35 -2
- package/package.json +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,46 @@
|
|
|
2
2
|
|
|
3
3
|
npm 패키지 `issue-sticker`의 변경 이력입니다. 설치·업그레이드에 영향을 주는 변경만 기록합니다.
|
|
4
4
|
|
|
5
|
+
## 0.6.0 - 2026-09-04
|
|
6
|
+
|
|
7
|
+
### 추가
|
|
8
|
+
|
|
9
|
+
- headless 공개 타입에 스티커 design 정보를 추가했습니다. **백엔드 1.5.0 이상이 필요합니다.**
|
|
10
|
+
|
|
11
|
+
### 수정
|
|
12
|
+
|
|
13
|
+
- 관리자 콘솔에서 제목 패턴을 저장한 뒤 탭으로 돌아오면 `패턴 추출하기` 버튼이 바로 사라집니다. 이전에는 새로고침해야 사라졌습니다.
|
|
14
|
+
- 이슈에 첨부하는 네트워크 로그에서 폰트 요청을 제외합니다. 페이지를 처음 열 때 쏟아지는 폰트 요청이 실제 앱 요청을 밀어내지 않습니다.
|
|
15
|
+
|
|
16
|
+
## 0.5.0 - 2026-09-01
|
|
17
|
+
|
|
18
|
+
### 추가
|
|
19
|
+
|
|
20
|
+
- AI 작성 모드를 추가했습니다. 이슈를 만들 때 기대한 동작 한 줄만 적으면 제목과 설명을 대신 작성합니다. 직접 작성으로 언제든 바꿀 수 있고, 한도를 다 썼거나 작성이 되지 않으면 그 자리에서 알려줍니다. **백엔드 1.3.0 이상이 필요합니다.**
|
|
21
|
+
- headless 클라이언트에 `createIssue()`를 추가했습니다. 사용자가 요소를 고르는 캡처 단계를 거치지 않고, 앱 코드가 조건을 판단해 이슈를 생성합니다. 화면이 렌더 도중 죽거나 특정 사용자 환경에서만 요청이 실패하는 것처럼, 사용자가 신고까지 오지 않는 상황을 기록할 때 씁니다.
|
|
22
|
+
- `createIssue()`는 실패해도 예외를 던지지 않고 `null`을 돌려주며, 사유는 콘솔 경고로 남깁니다. 이미 오류를 처리하는 자리에서 부르는 메서드라 `try/catch`를 한 겹 더 쓰지 않아도 됩니다.
|
|
23
|
+
- 호출 조건이 잘못 잡히면 이슈가 무한히 쌓이므로 `createIssue()`는 60초에 5건으로 제한합니다. 넘어선 호출은 서버로 나가지 않습니다.
|
|
24
|
+
- 프로젝트에 저장된 제목 패턴이 없으면 툴바에 `패턴 추출하기` 버튼이 나타납니다. 워크스페이스 관리자에게만 보이고, 누르면 프로젝트 설정이 새 탭으로 열립니다.
|
|
25
|
+
|
|
26
|
+
### 개인정보 보호
|
|
27
|
+
|
|
28
|
+
- 스크린샷에 담긴 카드번호, 주민등록번호, 사업자등록번호, 휴대폰번호, 이메일, 인증 토큰을 저장 전에 자동으로 가립니다. 위젯이 임베드된 사이트의 최종 이용자 정보가 이슈에 그대로 남지 않습니다.
|
|
29
|
+
- 이름이나 프로필 사진처럼 형태로 판단할 수 없는 정보는 `rr-mask`(글자 가림), `rr-block`(영역 감춤) 클래스로 지정합니다. 가려진 영역도 자리는 그대로 남아 화면 구조가 유지됩니다.
|
|
30
|
+
- 마스킹한 영역은 글자를 보이지 않게 덮습니다. 글자 수나 길이가 남지 않습니다.
|
|
31
|
+
- `rr-unmask`를 추가했습니다. 넓은 영역에 `rr-mask`를 걸어 두고 안쪽 일부만 예외로 뺄 수 있습니다. `rr-block` 영역은 예외를 만들 수 없습니다.
|
|
32
|
+
- 입력창의 `autocomplete` 값을 함께 봅니다. `cc-number`, `cc-name`, `street-address`처럼 민감한 값이 들어오는 필드로 적어 두었다면 클래스를 붙이지 않아도 가려집니다. 이름과 주소처럼 형태만으로는 판단할 수 없는 정보가 여기서 걸립니다.
|
|
33
|
+
- 인식하는 타사 마스킹 표식을 FullStory, Sentry, Hotjar, PostHog에 더해 LogRocket, Microsoft Clarity, OpenReplay, Highlight, ContentSquare, Heap, Amplitude, Matomo까지 넓혔습니다. 이미 붙여 둔 표식이 있으면 추가 작업이 필요하지 않습니다.
|
|
34
|
+
- 가려진 영역에 `가려짐` 표식을 표시합니다. 스크린샷의 회색 면이 화면 오류가 아니라 의도한 마스킹이라는 것을 바로 알 수 있습니다. 표식이 들어가지 않는 좁은 영역은 회색 면만 남습니다.
|
|
35
|
+
|
|
36
|
+
### 개선
|
|
37
|
+
|
|
38
|
+
- 세션 리플레이는 첨부 여부를 고르지 않고 한도가 남아 있는 동안 자동으로 함께 저장합니다.
|
|
39
|
+
|
|
40
|
+
### 수정
|
|
41
|
+
|
|
42
|
+
- 전체 화면과 요소 스크린샷을 동시에 찍는 동안 두 캡처가 서로의 내부 표식을 건드리던 문제를 고쳤습니다. 고정된 헤더가 어긋난 위치로 찍히거나, 캡처가 끝난 뒤에도 페이지 요소에 이슈스티커 속성이 남는 일이 없어집니다.
|
|
43
|
+
- `rr-block` 영역이 직접 가지고 있던 텍스트가 스크린샷에 그대로 찍히던 문제를 고쳤습니다.
|
|
44
|
+
|
|
5
45
|
## 0.4.0 - 2026-08-27
|
|
6
46
|
|
|
7
47
|
### 추가
|
|
@@ -27387,7 +27387,7 @@ export {
|
|
|
27387
27387
|
Content as C,
|
|
27388
27388
|
DismissableLayer as D,
|
|
27389
27389
|
OVERLAY_LAYER as O,
|
|
27390
|
-
|
|
27390
|
+
Presence as P,
|
|
27391
27391
|
Replayer as R,
|
|
27392
27392
|
Slot as S,
|
|
27393
27393
|
VISUALLY_HIDDEN_STYLES as V,
|
|
@@ -27395,17 +27395,17 @@ export {
|
|
|
27395
27395
|
usePortalContainer as b,
|
|
27396
27396
|
createLucideIcon as c,
|
|
27397
27397
|
OVERLAY_LAYER_INDEX as d,
|
|
27398
|
-
|
|
27399
|
-
|
|
27400
|
-
|
|
27401
|
-
|
|
27402
|
-
|
|
27403
|
-
|
|
27404
|
-
|
|
27405
|
-
|
|
27406
|
-
|
|
27407
|
-
|
|
27408
|
-
|
|
27398
|
+
Primitive as e,
|
|
27399
|
+
composeEventHandlers as f,
|
|
27400
|
+
useDismissableLayerSurface as g,
|
|
27401
|
+
useComposedRefs as h,
|
|
27402
|
+
Portal as i,
|
|
27403
|
+
createContextScope as j,
|
|
27404
|
+
createSlot as k,
|
|
27405
|
+
useControllableState as l,
|
|
27406
|
+
useId as m,
|
|
27407
|
+
useLayoutEffect2 as n,
|
|
27408
|
+
useCallbackRef as o,
|
|
27409
27409
|
PortalContainerProvider as p,
|
|
27410
27410
|
gzip_1 as q,
|
|
27411
27411
|
record as r,
|