You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: require explicit opt-in to republish a published post
A schedule-type save targeting a PUBLISHED post silently requeues it:
state back to QUEUE, releaseURL/releaseId nulled, workflow restarted -
and since the workflow's initial sleep is max(0, publishDate - now), a
save that carries (or leaves) a past date publishes again within
seconds. When editing an existing published post the date field holds
its old (past) date, so confirming a reschedule without touching the
date is an accidental instant republish. The existing protection
(2813ed0) is a frontend-only modal: it doesn't cover the public API or
MCP agents at all, and even in the dashboard it never states that
republishing can mean publishing right now.
- changeDate now defaults action to 'update': clients that don't send an
action can no longer requeue a post by accident
- schedule/now saves (createPost) and action 'schedule' (changeDate)
targeting a PUBLISHED post are rejected with a 400 explaining what
happened and how to proceed, unless the new optional republish flag is
sent - the error body is the confirmation dialog for automation
- the dashboard modals send republish: true on explicit confirmation and
now state the consequence (channel, date, recurring note)
- new modal strings added to the locale files via lingo.dev
No behavior change for DRAFT/QUEUE posts.
Testing: 16 service-layer assertions against a stubbed repository + local
Temporal (400 + message for schedule/now saves, rejection before any
write, republish passthrough requeues and restarts the workflow, update
stays date-only, QUEUE posts unaffected), plus a live end-to-end run in
the dashboard: modal confirm -> republish: true -> requeue -> real
publish to an Instagram channel.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: libraries/react-shared-libraries/src/translation/locales/de/translation.json
+8-1Lines changed: 8 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -730,5 +730,12 @@
730
730
"yes_cancel_coupon": "Ja, Gutschein stornieren",
731
731
"cancel_coupon_title": "Gutschein stornieren?",
732
732
"cancel_coupon_failed": "Der Gutschein konnte nicht storniert werden",
733
-
"cancel_coupon_success": "Gutschein storniert"
733
+
"cancel_coupon_success": "Gutschein storniert",
734
+
"what_do_you_want_to_do": "Was möchten Sie tun?",
735
+
"just_update_post_details": "Nur die Post-Details aktualisieren",
736
+
"reschedule_post": "Beitrag neu terminieren",
737
+
"republish_the_post": "Beitrag erneut veröffentlichen",
738
+
"post_already_published_republish_warning": "Dieser Beitrag wurde bereits veröffentlicht. Durch erneutes Veröffentlichen wird er erneut veröffentlicht auf",
739
+
"republish_at": "um",
740
+
"republish_recurring_note": "Dies ist ein wiederkehrender Beitrag: Ihre Änderungen gelten ab jetzt für alle zukünftigen Wiederholungen."
0 commit comments