Index: src/routes/admin-audio.js
===================================================================
--- src/routes/admin-audio.js	(revision f2eacca5e0a92d8ef8516530c0a23ecd2b0a78ed)
+++ src/routes/admin-audio.js	(revision 084d1c01710677dc82d3a088187a7e04686895a8)
@@ -494,4 +494,7 @@
     fields.push('downloadable = ?'); values.push(body.downloadable ? 1 : 0);
   }
+  if (Object.prototype.hasOwnProperty.call(body, 'fedi_open')) {
+    fields.push('fedi_open = ?'); values.push(body.fedi_open ? 1 : 0);
+  }
   if (Object.prototype.hasOwnProperty.call(body, 'credit')) {
     fields.push('credit = ?'); values.push(String(body.credit || '').trim() || null);
Index: src/views/pages/admin-audio.ejs
===================================================================
--- src/views/pages/admin-audio.ejs	(revision f2eacca5e0a92d8ef8516530c0a23ecd2b0a78ed)
+++ src/views/pages/admin-audio.ejs	(revision 084d1c01710677dc82d3a088187a7e04686895a8)
@@ -123,9 +123,7 @@
                         style="<%= t.downloadable ? 'color:var(--accent,#6b8f71)' : 'opacity:.5' %>">⬇</button>
               <% } %>
-              <form action="/admin/audio/<%= t.id %>/fedi-open" method="post" class="ax-track-fedi" style="display:inline">
-                <button type="submit" class="ax-icon-btn"
-                        aria-label="<%= t.fedi_open ? _aaudFediOn : _aaudFediOff %>" title="<%= t.fedi_open ? _aaudFediOn : _aaudFediOff %>"
-                        style="<%= t.fedi_open ? 'color:var(--accent,#6b8f71)' : 'opacity:.5' %>">🌐</button>
-              </form>
+              <button type="button" class="ax-icon-btn" data-track-fedi data-id="<%= t.id %>" data-on="<%= t.fedi_open ? '1' : '0' %>"
+                      aria-label="<%= t.fedi_open ? _aaudFediOn : _aaudFediOff %>" title="<%= t.fedi_open ? _aaudFediOn : _aaudFediOff %>"
+                      style="<%= t.fedi_open ? 'color:var(--accent,#6b8f71)' : 'opacity:.5' %>">🌐</button>
               <form action="/admin/audio/<%= t.id %>/delete" method="post" data-confirm="<%= _aaudDelConfirm %>" class="ax-track-delete">
                 <button type="submit" class="ax-icon-btn ax-icon-btn-danger" aria-label="<%= _aaudDelete %>" title="<%= _aaudDelete %>">🗑</button>
@@ -1011,4 +1009,29 @@
     });
   });
+
+  // Fediverse-share (fedi_open) toggle — AJAX, no page reload (mirrors the download toggle).
+  document.querySelectorAll('[data-track-fedi]').forEach(btn => {
+    btn.addEventListener('click', async () => {
+      if (btn.disabled) return;
+      const want = btn.dataset.on === '1' ? 0 : 1;
+      btn.disabled = true;
+      try {
+        const res = await fetch('/admin/audio/api/' + btn.dataset.id, {
+          method: 'POST',
+          headers: { 'Content-Type': 'application/json' },
+          body: JSON.stringify({ fedi_open: !!want }),
+        });
+        if (!res.ok) throw new Error('HTTP ' + res.status);
+        btn.dataset.on = String(want);
+        btn.style.color = want ? 'var(--accent,#6b8f71)' : '';
+        btn.style.opacity = want ? '1' : '.5';
+        btn.title = want ? '<%= t('aaud.fedi_on') %>' : '<%= t('aaud.fedi_off') %>';
+      } catch (e) {
+        alert('<%= t('aaud.change_failed') %>: ' + (e.message || e));
+      } finally {
+        btn.disabled = false;
+      }
+    });
+  });
 })();
 </script>
