diff --git a/components/publish/PublishWidget.vue b/components/publish/PublishWidget.vue
index c0964cc0..75e3f4e6 100644
--- a/components/publish/PublishWidget.vue
+++ b/components/publish/PublishWidget.vue
@@ -196,6 +196,9 @@ async function toggleSensitive() {
 }
 
 async function publish() {
+  if (isPublishDisabled.value || isExceedingCharacterLimit.value)
+    return
+
   const publishResult = await (threadIsActive.value ? publishThread() : publishDraft())
   if (publishResult) {
     if (Array.isArray(publishResult))