Skip to content
Snippets Groups Projects
Unverified Commit a5382011 authored by Guilherme Gazzo's avatar Guilherme Gazzo Committed by GitHub
Browse files

Regression: Fix composer restore (#27642)

parent e6b6a92f
No related merge requests found
......@@ -27,7 +27,7 @@ export const createComposerAPI = (input: HTMLTextAreaElement, storageID: string)
let _quotedMessages: IMessage[] = [];
const persist = withDebouncing({ wait: 1000 })(() => {
const persist = withDebouncing({ wait: 300 })(() => {
if (input.value) {
Meteor._localStorage.setItem(storageID, input.value);
return;
......@@ -73,8 +73,6 @@ export const createComposerAPI = (input: HTMLTextAreaElement, storageID: string)
input.value = text;
}
persist();
triggerEvent(input, 'input');
triggerEvent(input, 'change');
......@@ -160,8 +158,6 @@ export const createComposerAPI = (input: HTMLTextAreaElement, storageID: string)
setEditing(editing);
};
setText(Meteor._localStorage.getItem(storageID) ?? '');
const [formatters, stopFormatterTracker] = (() => {
let actions: FormattingButton[] = [];
......@@ -232,6 +228,8 @@ export const createComposerAPI = (input: HTMLTextAreaElement, storageID: string)
const insertNewLine = (): void => insertText('\n');
setText(Meteor._localStorage.getItem(storageID) ?? '');
return {
insertNewLine,
setCursorToEnd: () => {
......
......@@ -9,7 +9,7 @@ import {
MessageComposerActionsDivider,
MessageComposerToolbarSubmit,
} from '@rocket.chat/ui-composer';
import { useTranslation, useSetting, useUserPreference, useLayout } from '@rocket.chat/ui-contexts';
import { useTranslation, useUserPreference, useLayout } from '@rocket.chat/ui-contexts';
import { useMutation } from '@tanstack/react-query';
import type {
MouseEventHandler,
......@@ -115,20 +115,16 @@ export const MessageBox = ({
const callbackRef = useCallback(
(node: HTMLTextAreaElement) => {
const storageID = `${rid}${tmid ? `-${tmid}` : ''}`;
chat.composer?.release();
if (node === null) {
return;
}
if (!chat || chat.composer) {
return;
}
chat.setComposerAPI(createComposerAPI(node, storageID));
(textareaRef as MutableRefObject<HTMLTextAreaElement>).current = node;
},
[chat, rid, tmid],
);
const maxLength = useSetting('Message_MaxAllowedSize');
const useEmojis = useUserPreference<boolean>('useEmojis');
const handleOpenEmojiPicker: MouseEventHandler<HTMLElement> = useMutableCallback((e) => {
......@@ -318,7 +314,6 @@ export const MessageBox = ({
disabled={isRecording}
onChange={setTyping}
style={textAreaStyle}
maxLength={Number.isInteger(maxLength) ? parseInt(maxLength as string) : undefined}
placeholder={t('Message')}
className='rc-message-box__textarea js-input-message'
onKeyDown={handler}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment