Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Period comparison badge shows wrong percentage for decreases (100 → 50 shows ↓100%)

Đang mở Phù hợp với người mới
#526 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@sarmah-rup đang làm issue này rồi.

Từ ngày 29/9/2026.

  • #527 của @sarmah-rup — đang mở
  • #531 của @Tyagiquamar — đang mở

Đá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
85/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ệ
typescript
Lĩnh vực
analytics

Hướng nghiên cứu

Bắt đầu với packages/common/src/get-previous-metric.ts và kiểm tra getPreviousMetric, được issue xác định là nguồn gây ra phép tính mức giảm không chính xác. Hoàn thành nghĩa là các mức giảm được đo dựa trên kỳ trước: từ 100 xuống 50 hiển thị ↓50%, từ 100 xuống 25 hiển thị ↓75% và từ 100 xuống 0 hiển thị ↓100%.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

When a metric goes down compared to the previous period, the percentage badge overstates the drop. Going from 100 to 50 visitors shows ↓100%, going from 100 to 25 shows ↓300%, and going from 100 to 0 shows no percentage at all.

Steps to reproduce

  1. Open a project overview (or any chart with "compare to previous period" on) where a metric dropped, for example 100 last period and 50 this period.
  2. Look at the diff badge on the metric card or in the tooltip.

Expected: ↓50% (and ↓100% when it drops to 0).
Actual: ↓100% (↓300% for 100 → 25, and no badge for 100 → 0).

Cause: getPreviousMetric in packages/common/src/get-previous-metric.ts uses current / previous - 1 for increases but previous / current - 1 for decreases, so the size of a decrease is measured against the new value instead of the previous one. When current is 0 that divides by zero and the diff becomes null.

Ngôn ngữ chính
TypeScript
Star
7.1k
Fork
510
Merge trung bình
5 ngày 13 giờ
Pull request đã merge (30 ngày)
6

Chuẩn bị môi trường

  • Có Dockerfile hoặc tệp Docker Compose
  • Không có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của Openpanel-dev/openpanel

Tất cả issue của Openpanel-dev/openpanel

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.