目前可見狀態
持久化儲存未獲准。本機資料仍可能遭系統清除;在繼續依賴此 PWA 前,必須定期匯出完整備份。
實機環境與儲存
Standalone:;Build:risk-v1;App schema:1
確定性容量 fixture
預設正好產生 400 張、500 MiB 圖片資料。產生期間若失敗,舊 generation 維持可見。
CRUD、搜尋與比較
尚未執行
Photos 匯入副本
選取圖片後,harness 會以 Canvas 產生最長邊 1600 px、JPEG 0.82 的應用程式自有 Blob,再寫入 IndexedDB;不保存原始 File 參照。
iCloud-only 且離線的項目必須另做人工測試;只有成功取得並轉換 Blob 後才會開始寫入。
完整備份與全量取代還原
隱私警告:備份未做應用層密碼加密,包含所有私人圖片。只儲存在你信任的位置。
失敗與 migration
中斷測試會在同一 transaction 寫入紀錄與第一張圖片後主動 abort;migration 只在完整複製、驗證後切換 active generation。
證據
啟動中…
引導式 walkthrough
先用網路載入一次、建立小型資料,接著在飛航模式強制關閉並重開。觀察 CRUD、搜尋、圖片與比較是否仍可用。
- 產生 fixture(測試時可先改小)
- 深度驗證
- 開啟飛航模式並強制關閉
- 重開後新增、更新、搜尋、建立比較並計算
匯出會把結構資料與所有 Blob 放入單一自我描述檔;還原前先逐張驗證 SHA-256,驗證失敗時完全不碰 active generation。
- 產生完整 500 MiB fixture
- 準備備份後再點「分享到 iOS Files」
- 記錄檔案大小與時間
- 清空網站資料後重開並從檔案還原
驗證原子邊界:abort 的 transaction 不得留下半筆紀錄;migration 或 restore 只有完成才切換 active generation。
- 記下目前 counts
- 執行 transaction 中斷
- 重新整理狀態,counts 必須不變
- 執行 migration,schema 僅能一次由舊版切到新版