Bug
The affiliate dashboard copy buttons call navigator.clipboard.writeText() directly. In browsers or embedded contexts where the Clipboard API is unavailable or blocked by permissions, copying affiliate tracking links and seller share links fails.
The UI also flips to the copied state immediately without waiting for the copy operation to succeed.
Expected
Affiliate tracking/share links should still be copyable when navigator.clipboard is unavailable or rejected, using the existing textarea + document.execCommand("copy") fallback pattern used elsewhere in the app.
Proposed fix
Add a small resilient copy helper to the affiliate dashboard client, await the copy result, use the fallback path when needed, and only show the copied state after a successful copy.
Bug
The affiliate dashboard copy buttons call
navigator.clipboard.writeText()directly. In browsers or embedded contexts where the Clipboard API is unavailable or blocked by permissions, copying affiliate tracking links and seller share links fails.The UI also flips to the copied state immediately without waiting for the copy operation to succeed.
Expected
Affiliate tracking/share links should still be copyable when
navigator.clipboardis unavailable or rejected, using the existing textarea +document.execCommand("copy")fallback pattern used elsewhere in the app.Proposed fix
Add a small resilient copy helper to the affiliate dashboard client, await the copy result, use the fallback path when needed, and only show the copied state after a successful copy.