Unsaved Changes Indicator
The problem
Blueshift’s Save button is always enabled, whether or not you have anything to save. There is no visual difference between a template with unsaved edits and one that is safely persisted.
That has two failure modes. You close a tab believing everything was saved, and lose twenty minutes of work. Or, not trusting the first mode, you re-save everything, everywhere, just to be safe. A clear dirty-state indicator is exactly the kind of small quality-of-life detail Nitro likes to add.
It is worse than it looks, because Email Studio is a single-page app where each main tab (Properties, Content, Data) tracks its own state and resets it as you move between tabs, and the Bee design canvas lives in a separate cross-origin iframe the page can’t see into at all.
How it works
Nitro keeps its own change baseline that survives tab switches, watching both edit surfaces:
-
The design canvas. The Bee editor announces every real edit
to its parent page with an
onChangemessage carrying the updated design. Nitro listens for those. Selection events don’t count as changes, and no events fire on load, so the baseline starts clean. - Forms. Subject, preheader, and the Properties and Data fields are fingerprinted against a baseline captured when the editor loads. Any drift marks that tab dirty; a save resets the baseline. Fields inside the live preview reflect rendered output rather than editable state, so they are excluded.
What you’ll see
| Indicator | Where | Meaning |
|---|---|---|
| Orange dot | On each main tab (Properties / Content / Data) | That tab has unsaved edits. |
| Status pill | Next to the Save button | “Unsaved changes” or “No changes,” at a glance. |
| 🟠 title marker | The browser tab itself | The page title becomes “🟠 Template name” while dirty, so you can scan a crowded tab strip and know exactly which templates still need a save. |
Using it
- Enable Unsaved Changes Indicator › Email Builder in the Nitro popup.
- Open a template in Email Template Studio. The status pill reads “No changes.”
- Edit anything: the affected tab gets a dot, the pill flips to “Unsaved changes,” and the browser tab gains the 🟠 marker.
- Save, and all three clear.
Good to know
- Detection is per browser tab and lives for the lifetime of the page. A hard refresh starts a fresh baseline from the current saved state.
- The page title is restored when you leave the editor, so the marker never leaks into the rest of Blueshift.
- Nitro never blocks navigation or nags you with dialogs; it only informs. Closing a dirty tab is still your call.