Honest save state and publish gated on save #30

Closed
opened 2026-10-07 16:47:17 +00:00 by jknapp · 1 comment
Owner

Tier: Fix first · Order: 3 of 35 · Effort: M · Impact: high

What

The top bar always shows Unsaved / Saving / Saved / Published. Closing the tab with unsaved work warns you. Errors stay visible until dismissed. Publish refuses to run if the save before it failed.

Why

Audit: no dirty tracking or beforeunload; errors vanish after 3s; no resp.ok checks; publish() ignores save()'s result (useWhpApi.ts:252), so a failed save still “publishes” stale content and shows Published.

Today

Status flashes for 2-3s then disappears (TopBar.tsx:84-100).

Design notes

Dirty = Craft history changed since last successful save, or page/design context changed. One small toast component replaces five ad-hoc status flashes.

Depends on

  • #28 Autosave must not run until a load succeeded

From the 2026-10-07 site-builder research (competitor review, user sentiment, code audit, Fable prioritization). Roadmap: https://claude.ai/artifact/QpQcSCk21z6SN7LPSm8tKE · id save-state-truth

**Tier:** Fix first · **Order:** 3 of 35 · **Effort:** M · **Impact:** high ## What The top bar always shows Unsaved / Saving / Saved / Published. Closing the tab with unsaved work warns you. Errors stay visible until dismissed. Publish refuses to run if the save before it failed. ## Why Audit: no dirty tracking or beforeunload; errors vanish after 3s; no resp.ok checks; publish() ignores save()'s result (useWhpApi.ts:252), so a failed save still “publishes” stale content and shows Published. ## Today Status flashes for 2-3s then disappears (TopBar.tsx:84-100). ## Design notes Dirty = Craft history changed since last successful save, or page/design context changed. One small toast component replaces five ad-hoc status flashes. ## Depends on - #28 Autosave must not run until a load succeeded --- From the 2026-10-07 site-builder research (competitor review, user sentiment, code audit, Fable prioritization). Roadmap: https://claude.ai/artifact/QpQcSCk21z6SN7LPSm8tKE · id `save-state-truth`
jknapp added the tier: fix-firsteffort: Mimpact: high labels 2026-10-07 16:47:17 +00:00
Author
Owner

Shipped in WHP release 2026.10.3 (site-builder main bdb4789, deployed fleet-wide 2026-10-07). Implemented, reviewed and verified as part of the editor-polish batch.

Shipped in WHP release **2026.10.3** (site-builder `main` bdb4789, deployed fleet-wide 2026-10-07). Implemented, reviewed and verified as part of the editor-polish batch.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: cloud-hosting-platform/site-builder#30