Part of Phase 1 (#424) of the [data layer plan](https://github.com/sillsdev/interlinearizer-extension/blob/88a7ec73875a099e69297ad81cf5b3f6294725aa/docs/data-layer-plan/plan.md#issue-breakdown). Save and Save As in the host: the WebView sends its pending autosave and waits for it, then the host copies. **Done when:** Save sends no analysis. **Depends on:** 1b (#431). ## From the plan ### API | Call | Kind | Request | Response | Replaces today | Issue | |---|---|---|---|---|---| | `save` / `saveAs` | command | draft (1d); session (from [4a](https://github.com/sillsdev/interlinearizer-extension/issues/453)), metadata | Project metadata | `saveAnalysis` with the whole analysis | 1d, [4a](https://github.com/sillsdev/interlinearizer-extension/issues/453) | ### Risks | Risk | Effect | Mitigation | |---|---|---| | Save copies an unflushed draft before [4b](https://github.com/sillsdev/interlinearizer-extension/issues/454) | Lost edits in the saved interlinear project | In 1d the WebView sends its pending autosave and waits for it before calling `save` |
Activity
Move Save and Save As into the host (#433)
Address review of the host Save (#433)
Let a wipe release unreadable draft books (#433)
Make wiping an unreadable draft book undoable (#433)
Fail fast on unreadable draft books (#433)
Save the rest of a draft past its unreadable books (#433)
Count a settle's retry by write, not by value (#433)
Warn of unreadable draft books when the draft loads (#433)
Keep the draft unsaved after a Save As that leaves books out (#433)
Correct Save As result and settle docs for left-out books (#433)
Move Save and Save As into the host (#475)