Discard unreadable books when the host starts a draft over

Đã đóng
#573 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ó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
55/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
backend

Hướng nghiên cứu

Start by reading the host New and Open paths introduced by prerequisite issue #453, then inspect DraftRepository and its tests. Confirm that New and Open clear unreadableShards before writing, while opening a session remains load-only; add flag-on tests showing that no book remains unreadable and edits to it apply.

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

Mô tả

Part of Phase 4 (#427). Needs 4a (#453). Blocks 4b (#454).

Background

A draft book whose stored analysis can't be read (a torn write, or outside damage) is kept as stored and never written over (#475).

On the WebView write path:

  • An edit that reaches the book stays on screen, but writes leave that book out.
  • Save to an existing project is refused. Save As leaves the book out.
  • New and Open discard the book. This is how the user recovers.

That discard lives in whole-draft saveDraft, through replaceAll's discardUnreadable option. 4c deletes both.

On the host path:

  • apply refuses any edit that reaches such a book (#486).
  • A discard keeps the book's stored analysis and shows the book empty (#524).
  • Opening a session only loads; it never discards. This matches main, which discards only on saves that start the draft over.
  • 4a brings New and Open to the host, but doesn't cover this case.

So on the host path nothing gets the user out yet.

Scope

  • Host New and Open discard each unreadable book, so later writes treat it like any other book.
    • In DraftRepository today, this is clearing unreadableShards before the write.
  • Do it in whatever path 4a gives New and Open, not through replaceAll.
  • Opening a session stays load-only.

Why it blocks 4b

4b ships the host path by default. Without this issue, a user with an unreadable book has no way out on the default path, short of the rollback release.

Done when

  • With the flag on, New or Open on a draft with an unreadable book leaves no book unreadable, and edits that reach the book apply.
  • Tests cover this on the flag-on path.

Then

  • Remove "Books whose stored analysis can't be read" from 4c's body.
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.