PostHog payload adapter drops false, zero and empty-string payloads
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 70/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- nodejs, typescript
- Lĩnh vực
- backend
Hướng nghiên cứu
Bắt đầu từ packages/adapter-posthog/src/index.ts, nơi vị từ (value) => Boolean(value) được chạy trên snapshot.getFlagPayload(key) cho cả decide() và bulkDecide(). Thay thế phép kiểm tra truthy sao cho các payload false, 0 và chuỗi rỗng được giữ lại, trong khi null và undefined vẫn dùng giá trị dự phòng, sau đó thêm các trường hợp hồi quy vào bài kiểm thử của adapter. Hoàn thành khi sáu trường hợp giá trị này đều pass và toàn bộ bài kiểm thử adapter hiện có vẫn xanh.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
The PostHog adapter uses a truthiness check when reading snapshot.getFlagPayload(key). Consequently, valid payloads false, 0 and "" are treated as absent. decide() returns the fallback instead of the payload, while bulkDecide() omits the entry.
Reproduced on current main 7baf8fc46845f3c5bd5bcad750c367e8db5595a1 with posthog-node 5.45.0, Node 22.23.4. The SDK snapshot preserves these values; the adapter discards them at (value) => Boolean(value) in packages/adapter-posthog/src/index.ts.
A private prototype replaces the predicate with value !== undefined && value !== null, preserving existing null/undefined fallback behavior. Six added value cases fail on unchanged production source; all 36 adapter tests pass with the prototype. The 156 core flags tests, adapter TypeScript check and builds also pass. Biome reports the same pre-existing constructor-mock warning on baseline and patched tests.
Would you welcome a small PR with this change and regression coverage? This was found during source review and tested with constructed examples, not a production incident. AI assistance was used for investigation, the prototype and local validation.
- Ngôn ngữ chính
- TypeScript
- Star
- 629
- Fork
- 93
- Merge trung bình
- 1 ngày 15 phút
- Pull request đã merge (30 ngày)
- 25
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của vercel/flags
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
vercel/flags#541 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Feedback] Support/Docs for Next.js v16 "Cache Components"Có thể làm lại được @dferber90 đã nhận 235 ngày trước và không có pull request nào đang mở. Đang mởfeedback
vercel/flags#349 · 2 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Feedback] Interaction between precompute and `typedRoutes`Có thể làm lại được @dferber90 đã nhận 263 ngày trước và không có pull request nào đang mở. Đang mởfeedback
vercel/flags#287 · 2 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 38/100
vercel/flags#239 · 2 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
[BUG]: Duplicate preposition in heading and unformatted feedback text on Strengthen Argument pageĐang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
AOSSIE-Org/DebateAI#801 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
ci: repo has no GitHub Actions workflow, so pushes and pull requests are never built or testedĐang mởagents area: runtime automation chore cli consistency dependencies developer-experience difficulty: easy documentation enhancement good first issue help wanted hygiene json-output priority: P3 starters tests
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
Add: BOM CineĐang mởapproved check:passed streams:add
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày