Clear the composer preview after sending a message. (#34116)
* Clear the composer preview after sending a message. * fixup
This commit is contained in:
@@ -36,10 +36,14 @@ test.describe("Composer URL preview", () => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
await page.goto(`#/room/${room.roomId}`);
|
await page.goto(`#/room/${room.roomId}`);
|
||||||
const composer = page.getByRole("textbox", { name: "Send an unencrypted message…" });
|
const composerRegion = page.getByRole("region", { name: "Message composer" });
|
||||||
|
const composer = composerRegion.getByRole("textbox", { name: "Send an unencrypted message…" });
|
||||||
await composer.pressSequentially("https://example.org/");
|
await composer.pressSequentially("https://example.org/");
|
||||||
|
const preview = composerRegion.getByRole("link", { name: "Example Site" });
|
||||||
await expect(page.getByRole("link", { name: "Example Site" })).toBeVisible();
|
await expect(preview).toBeVisible();
|
||||||
|
await composer.press("Enter");
|
||||||
|
await expect(composer).toBeEmpty();
|
||||||
|
await expect(preview).toBeHidden();
|
||||||
});
|
});
|
||||||
|
|
||||||
test("does not show a preview when the server returns a 404", async ({ page, app, room }) => {
|
test("does not show a preview when the server returns a 404", async ({ page, app, room }) => {
|
||||||
|
|||||||
@@ -395,6 +395,7 @@ export class MessageComposer extends React.Component<IProps, IState> {
|
|||||||
};
|
};
|
||||||
|
|
||||||
private sendMessage = async (): Promise<void> => {
|
private sendMessage = async (): Promise<void> => {
|
||||||
|
this.setState({ urlPreviewComposerContent: "" });
|
||||||
if (this.state.haveRecording && this.voiceRecordingButton.current) {
|
if (this.state.haveRecording && this.voiceRecordingButton.current) {
|
||||||
// There shouldn't be any text message to send when a voice recording is active, so
|
// There shouldn't be any text message to send when a voice recording is active, so
|
||||||
// just send out the voice recording.
|
// just send out the voice recording.
|
||||||
|
|||||||
@@ -34,7 +34,8 @@ export function MessageComposerUrlPreviewWrapper({ content }: { content: string
|
|||||||
void vm.updateWithText(content);
|
void vm.updateWithText(content);
|
||||||
},
|
},
|
||||||
[vm, content],
|
[vm, content],
|
||||||
DEBOUNCE_REQUEST_TIMEOUT_MS,
|
// Update instantly if content is empty (e.g. sent message or cleared input)
|
||||||
|
content ? DEBOUNCE_REQUEST_TIMEOUT_MS : 0,
|
||||||
);
|
);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user