Problem
兩件相關的事:
- 沒有大小上限:
ZoteroStorageFile.read、store-source 與 SourceStore 都把整份檔讀進記憶體,copy-zotero-attachments 的乾跑也一樣。群組 library 的附件可能是別人放進去的。b16v verify 第 15 則。
- 不驗既有 blob 的內容:
copy-zotero-attachments 判斷「已連過」只看 blob 在不在、index 有沒有條目。被截短或換掉的 blob 看不出來,而工具手上其實有 Zotero 的原始位元組可以比對。b16v verify 第 16 則後半。
Type
enhancement
Expected
裁決三件事:
- 要不要設大小上限、上限多少;超過的檔是略過並具名,還是逐塊處理。
- 要不要逐塊算 SHA-256,免得一次整份讀進記憶體。
- 補存路徑要不要順手比對既有 blob 的內容,不一致時怎麼回報。
Actual
以上三件都沒有。
Source: b16v verify 修正輪(#606,2026-09-30)
Current Status
Phase: verified(R6:HIGH 0、MEDIUM 0)
Last updated: 2026-10-05 by idd-update
Blocking
Commits
Problem
兩件相關的事:
ZoteroStorageFile.read、store-source與SourceStore都把整份檔讀進記憶體,copy-zotero-attachments的乾跑也一樣。群組 library 的附件可能是別人放進去的。b16v verify 第 15 則。copy-zotero-attachments判斷「已連過」只看 blob 在不在、index 有沒有條目。被截短或換掉的 blob 看不出來,而工具手上其實有 Zotero 的原始位元組可以比對。b16v verify 第 16 則後半。Type
enhancement
Expected
裁決三件事:
Actual
以上三件都沒有。
Source: b16v verify 修正輪(#606,2026-09-30)
Current Status
Phase: verified(R6:HIGH 0、MEDIUM 0)
Last updated: 2026-10-05 by idd-update
Blocking
Commits
63037372feat: sources/ 存檔上限 256 MB、SHA-256 逐塊計算、補存時比對既有 blob (sources/ 存檔沒有大小上限;copy-zotero-attachments 不驗既有 blob 的內容 #703)15f89535fix: sources/ 逐塊讀取每塊釋放、新連結不連判不出來的存檔、放上位址的退路、殘留暫存檔可見 (sources/ 存檔沒有大小上限;copy-zotero-attachments 不驗既有 blob 的內容 #703)520651e2fix: sources/ 存檔放上位址不再覆寫、位址被佔住時具名拒絕、重複附件跟著最終結果、訊號清暫存檔 (sources/ 存檔沒有大小上限;copy-zotero-attachments 不驗既有 blob 的內容 #703)3cae9ae4fix: sources/ 在做不到不覆寫原子放置的磁碟區拒絕存檔,syncFile 不吞真錯誤,訊號清理以名字認暫存檔 (sources/ 存檔沒有大小上限;copy-zotero-attachments 不驗既有 blob 的內容 #703)d3d61590fix: 旗標讀不到時寫入前實際放一次、同步的不支援補三個 errno、possiblyInProgress 判不出時不刪、被推翻的第三條路劃掉 (sources/ 存檔沒有大小上限;copy-zotero-attachments 不驗既有 blob 的內容 #703)idd-703-verified(e5182cf1)