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

Clamped system TextScaler asserts for zero font size with no upper limit

Đang mở Phù hợp với người mới
#193,757 2 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

@kaluli123123 đang làm issue này rồi.

Từ ngày 4/10/2026.

  • #193794 của @kaluli123123 — đ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
86/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ệ
dart, flutter
Lĩnh vực
mobile-dev

Hướng nghiên cứu

Bắt đầu tại _ClampedTextScaler.scale và tái hiện trường hợp này bằng flutter_test, sử dụng một TextScaler của hệ thống được giới hạn với minScaleFactor: 1.0 và kích thước phông chữ bằng không. Công việc hoàn tất khi việc scale số không trả về số không mà không gây ra assertion và bài kiểm thử hồi quy tập trung vượt qua.

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

Mô tả

a: tests a: typography framework has reproducible steps team-framework
Steps to reproduce

On flutter/flutter master c035b6f25c9dc7692b581539db9e6bccc3f67b72, clamp a system TextScaler with a minimum scale factor, leave the maximum at its default infinity, and scale a zero font size.

Expected results

A valid zero font size scales to zero without an assertion.

Actual results

_ClampedTextScaler.scale calculates maxScale * fontSize as infinity * 0, yielding NaN. clampDouble rejects this bound in debug mode.

Code sample
testWidgets('zero font size with an unbounded clamped scaler', (tester) async {
  final scaler = MediaQueryData.fromView(tester.view).textScaler
      .clamp(minScaleFactor: 1.0);
  expect(scaler.scale(0.0), 0.0);
});
Logs

The regression fails with an assertion in dart:ui/math.dart clampDouble, called by _ClampedTextScaler.scale. This uses the system scaler rather than TextScaler.linear, which has a specialized clamp implementation. A focused fix and regression test will follow in a draft PR.

Environment

macOS arm64; Flutter 3.49.0-1.0.pre-302; framework c035b6f25c9; engine content hash 41de58d04229db1294f191f7965e6009fb1bd7a2; Dart 3.14.0-294.0.dev. Reproduced with flutter_test.

Ngôn ngữ chính
Dart
Star
180k
Fork
33.9k
Merge trung bình
2 ngày 7 giờ
Pull request đã merge (30 ngày)
323

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

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 flutter/flutter

Tất cả issue của flutter/flutter

Issue tương tự

Thêm issue về Dart

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.