Repository navigation
Conversation
The dialog guessed whether the selected block was already saved by comparing its attributes minus long-hand paddings, so two white sections were enough for it to open on updating another saved block. It now always starts as a new block, and "Update existing block" lists only saved blocks of the same type, newest first, without sorting the prop in place. The toolbar awaits the save: it closes once the block is saved, keeps the dialog open with what was typed when saving fails, cannot be dismissed while a save is pending, and no longer shows its own success message next to the drawer's. The drawer's handler rejects when the API call fails, and a failed workspace refresh after a successful save shows a warning instead of an error. The unused delete branch goes with the typed handler. Version 43.1, web analytics SDK synced.
Each Enter in the pending-save test is pressed and released, since the input ignores a second keydown until keyup. The dismissal test also presses Escape and clicks the mask. The e2e failure case saves a second time instead of reading a dialog that may only be closing. The dialog uses mask.closable, and the update select shows its placeholder.
# Conflicts: # CHANGELOG.md # console/src/i18n/locales/ca.po # console/src/i18n/locales/de.po # console/src/i18n/locales/en.po # console/src/i18n/locales/es.po # console/src/i18n/locales/fr.po # console/src/i18n/locales/it.po # console/src/i18n/locales/ja.po # console/src/i18n/locales/pt-BR.po
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dev #505 +/- ##
=======================================
Coverage 88.82% 88.82%
=======================================
Files 368 368
Lines 71862 71862
=======================================
+ Hits 63828 63831 +3
+ Misses 5395 5392 -3
Partials 2639 2639
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
…hovering Before the fix a second Enter saved the block twice; the reset name did not stop it. The dismissal test now opens the dialog with a plain click, so the save button's tooltip cannot take the dialog off the Escape stack and leave the Escape check without effect. The plan follows the code (mask.closable, the Escape and mask checks, no Go or SDK change to verify).
pierre-b
marked this pull request as ready for review
November 10, 2026 20:56
# Conflicts: # console/src/i18n/locales/ca.po # console/src/i18n/locales/de.po # console/src/i18n/locales/en.po # console/src/i18n/locales/es.po # console/src/i18n/locales/fr.po # console/src/i18n/locales/it.po # console/src/i18n/locales/ja.po # console/src/i18n/locales/pt-BR.po
# Conflicts: # CHANGELOG.md
The changes merged since 43.0 and the open ones ship together in 44.0: the 43.1 and 43.2 changelog sections become one 44.0 section, and the code and web analytics SDK versions move to 44.0.
This reverts commit 4e0660e.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Fixes the "Save Block" dialog of the email editor (floppy icon of the block toolbar).
SaveBlockHandler(returnsPromise<void>) replaces the inline signature at the six places that pass the handler down. The unuseddeletebranch of the drawer's handler goes, sinceSaveOperationis'create' | 'update'.Plan:
plans/fix-save-block-modal-plan.md.Tests
BlockToolbar.test.tsx(new, 9 tests): new mode with a look-alike saved section, same-type update list, disabled update, prop not reordered, close after resolve with no toolbar toast, stays open on failure, cannot be dismissed while pending (Cancel, Escape, mask), update call, Enter during a pending save.CreateTemplateDrawer.test.tsx(+4): create with one success message, API failure rejects, missing block rejects without calling the API, refresh failure resolves with a warning.e2e/features/saved-blocks.spec.ts(new, Playwright, API mocked): look-alike section saved as new, update lists sections only, failed save keeps the dialog open. Run locally (CI does not run Playwright).tsc -b,eslint,npm run build;make test-unit.Changelog
Entry added to the unreleased 43.2 section.
Known, not handled
features/admins-api-keys.mdx,empty.json); blocks are inserted as copies. Separate docs PR.de.poshows literal backslashes inVorlagenblock \"{nameOrId}\" erfolgreich gespeichert(predates this PR).web_analytics_sdk/package-lock.jsonroot version still says 42.3.0 (predates this PR).invalidateQueries({ queryKey: ['workspace', id] })matches no query in the console.section Block, rawmj-sectiontype, no preview, no rename or delete in the editor: saved-blocks library work that follows.