Measure re-anchor reports that carry their changes

Đang mở
#593 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

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
typescript
Lĩnh vực
performance

Hướng nghiên cứu

This is a measurement task tied to re-anchor reports carrying passChanges after #589, so start by reading the code that builds and sends the report on onAnalysisChanged. Measure the largest report for a linked book the text lacks and for a Scripture edit to the most heavily linked book, recording bytes and view apply time. Done when the sizes are recorded here and either no cap is needed or a cap with a test is in place.

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

Mô tả

Follows #589. Blocks 5d (#459), which lets drafts over 100 MiB open.

Why

Since #589, a re-anchor report on onAnalysisChanged carries passChanges, the change sets the passes applied, so the view can update its copy without a whole fetch. Two cases can make a report large:

  • A pass for a book the text lacks marks every link into that book stale, so its change set carries all of that book's links.
  • A report after a Scripture edit bundles every pass the edit caused.

The report is a network event, which every subscriber receives. Until 5d, a draft that opens on the host path already fits under core's 100 MiB message cap, because getFullAnalysis sends it whole, so a report can't exceed the cap. Once 5d removes getFullAnalysis, larger drafts open, and a report over the cap closes the extension host's socket and reloads every extension.

Scope

  • At the large-loadable tier, measure the largest report for:
    • a linked book the text lacks;
    • a Scripture edit to the most heavily linked book.
  • Record its size in bytes and how long the view takes to apply it.
  • If a report is large enough to matter, cap passChanges. Above the cap the report leaves them out, and the view fetches the whole draft, as it already does for any report it hears without them.

Done when

  • The sizes are recorded here.
  • Either they're small enough to leave as they are, or a cap is in place with a test.

Drafted by Claude Opus 5.5 (Claude Code).

Ngôn ngữ chính
TypeScript
Star
2
Fork
0
Merge trung bình
1 ngày 1 giờ
Pull request đã merge (30 ngày)
105

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

  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 sillsdev/interlinearizer-extension

Tất cả issue của sillsdev/interlinearizer-extension

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.