mirror of
https://github.com/multica-ai/multica.git
synced 2026-06-16 19:29:26 +02:00
navigator.clipboard is only exposed in a secure context (https or localhost). On self-hosted instances served over plain http:// it is undefined, so every copy / "copy all" / export button silently failed and left the clipboard empty (GitHub #3781). Add a shared copyText(text): Promise<boolean> helper in @multica/ui/lib/clipboard that prefers the async Clipboard API and falls back to a hidden <textarea> + document.execCommand('copy') for non-secure contexts. Migrate all direct navigator.clipboard.writeText call sites (code blocks, agent transcript copy-all, token / webhook / issue-link copy, etc.) to it, gating success side-effects on the returned boolean, and remove the now-redundant copyMarkdown wrapper. Secure-context users keep the native path unchanged. MUL-3068 Co-authored-by: J <j@multica.ai> Co-authored-by: multica-agent <github@multica.ai>
26 lines
925 B
TypeScript
26 lines
925 B
TypeScript
export {
|
|
ContentEditor,
|
|
type ContentEditorProps,
|
|
type ContentEditorRef,
|
|
} from "./content-editor";
|
|
export {
|
|
TitleEditor,
|
|
type TitleEditorProps,
|
|
type TitleEditorRef,
|
|
} from "./title-editor";
|
|
export { ReadonlyContent } from "./readonly-content";
|
|
export { useFileDropZone } from "./use-file-drop-zone";
|
|
export { FileDropOverlay } from "./file-drop-overlay";
|
|
export { useDownloadAttachment } from "./use-download-attachment";
|
|
export { AttachmentDownloadProvider } from "./attachment-download-context";
|
|
export {
|
|
AttachmentPreviewModal,
|
|
useAttachmentPreview,
|
|
isPreviewable,
|
|
} from "./attachment-preview-modal";
|
|
export type { AttachmentPreviewHandle } from "./attachment-preview-modal";
|
|
export { AttachmentCard } from "./attachment-card";
|
|
export type { AttachmentCardProps } from "./attachment-card";
|
|
export { Attachment } from "./attachment";
|
|
export type { AttachmentInput, AttachmentProps } from "./attachment";
|