Local Zotero: sub-collections always come back empty (stray quote in collectionSQL)
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
- 88/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ệ
- sqlite, typescript
Hướng nghiên cứu
Bắt đầu tại packages/editor-server/src/core/zotero/local/source.ts, trong collectionSQL() quanh dòng 594, bằng cách so sánh nhánh sub-collection với creatorsSQL() quanh dòng 553. Xóa dấu nháy thừa khỏi SQL được tạo ra và thêm một bài kiểm thử sử dụng parentKey không rỗng với một SQLite fixture của Zotero, hoặc chuẩn bị SQL để bắt lỗi cú pháp. Hoàn thành khi các sub-collection tải được các mục của chúng mà không gặp lỗi cú pháp SQLite.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Bug
collectionSQL() in packages/editor-server/src/core/zotero/local/source.ts:594 has a stray single quote in the sub-collection branch:
const where = spec.parentKey.length > 0
? `AND collections.key = :k'` // <-- trailing '
: `AND libraries.libraryID = :k`;
The ' opens an unterminated string literal, so the query fails with a SQLite syntax error whenever spec.parentKey is non-empty, i.e. for any Zotero sub-collection read from the local database.
Impact
The error is caught in the collection reader (source.ts ~line 280: console.error(error); return collection;), so a sub-collection silently comes back with zero items. Users see the sub-collection in the citation UI with nothing in it, and nothing surfaces except a console log in the LSP output.
Top-level libraries are unaffected (they take the other branch).
Fix
Drop the quote: AND collections.key = :k. The sibling creatorsSQL() (~line 553) already has the correct form.
Testing
Worth adding a test that runs collectionSQL() for a spec with a non-empty parentKey against a fixture Zotero sqlite (or at least db.prepare()s the SQL), so a syntax error like this gets caught.
Found during the dependency-upgrade research.
- Ngôn ngữ chính
- TypeScript
- Star
- 652
- Fork
- 64
- Merge trung bình
- 8 giờ 45 phút
- Pull request đã merge (30 ngày)
- 36
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 quarto-dev/quarto
-
VS Code extension: `quarto preview` fails when the file path contains parentheses (path not shell-quoted)Có thể đã có người làm @Bondrewd-K đã nhận 2 ngày trước. Đang mởbug vscode
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
quarto-dev/quarto#1194 · 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 84/100
quarto-dev/quarto#1139 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 90/100
quarto-dev/quarto#1138 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Add dependabot?Có thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
quarto-dev/quarto#1135 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
AceNodeView: programmatic setSelection() marks the cursor dirty, scrolling the document to the front matterCó thể đã có người làm @kevinushey đã nhận 51 ngày trước. Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
quarto-dev/quarto#1099 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của quarto-dev/quarto
Issue tương tự
-
`cf complete zsh >> .zshrc` fails on vanilla zshCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
cloudflare/cf#340 ·
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
-
Rename Madson cameraĐang mở
Độ khó 2/5 Dưới một giờ Mức phù hợp với người mới 75/100
StoDevX/AAO-React-Native#8785 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Broken links in the docsĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 75/100
-
bnv-manager-v2: accept_invite creates the Mailcow domain admin before the commitCó thể đã có người làm @myOmikron đã nhận hôm nay. Đang mởbug ready-for-agent
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100