fix(ui): avoid issue detail ref update loops

This commit is contained in:
dotta
2026-04-08 06:11:34 -05:00
parent 185195201a
commit f5a87ab14e
2 changed files with 13 additions and 17 deletions
+1 -11
View File
@@ -379,16 +379,6 @@ export const MarkdownEditor = forwardRef<MarkdownEditorRef, MarkdownEditorProps>
return mentions.filter((m) => m.name.toLowerCase().includes(q)).slice(0, 8);
}, [mentionState, mentions, slashCommands]);
const setEditorRef = useCallback((instance: MDXEditorMethods | null) => {
ref.current = instance;
if (instance) {
const v = valueRef.current;
echoIgnoreMarkdownRef.current = v;
instance.setMarkdown(v);
latestValueRef.current = v;
}
}, []);
useImperativeHandle(forwardedRef, () => ({
focus: () => {
ref.current?.focus(undefined, { defaultSelection: "rootEnd" });
@@ -808,7 +798,7 @@ export const MarkdownEditor = forwardRef<MarkdownEditorRef, MarkdownEditorProps>
onPasteCapture={handlePasteCapture}
>
<MDXEditor
ref={setEditorRef}
ref={ref}
markdown={value}
placeholder={placeholder}
onChange={(next) => {
+12 -6
View File
@@ -38,20 +38,24 @@ const buttonVariants = cva(
}
)
function Button({
const Button = React.forwardRef<
HTMLButtonElement,
React.ComponentProps<"button"> &
VariantProps<typeof buttonVariants> & {
asChild?: boolean
}
>(function Button({
className,
variant = "default",
size = "default",
asChild = false,
...props
}: React.ComponentProps<"button"> &
VariantProps<typeof buttonVariants> & {
asChild?: boolean
}) {
}, ref) {
const Comp = asChild ? Slot.Root : "button"
return (
<Comp
ref={ref}
data-slot="button"
data-variant={variant}
data-size={size}
@@ -59,6 +63,8 @@ function Button({
{...props}
/>
)
}
})
Button.displayName = "Button"
export { Button, buttonVariants }