mirror of
https://github.com/System-End/Vencord.git
synced 2026-04-19 20:55:13 +00:00
VoiceMessages: fix crash when uploading invalid audio files
This commit is contained in:
parent
c9ebece84d
commit
00ae603884
2 changed files with 16 additions and 7 deletions
|
|
@ -21,6 +21,7 @@ import "./styles.css";
|
|||
import { NavContextMenuPatchCallback } from "@api/ContextMenu";
|
||||
import { Microphone } from "@components/Icons";
|
||||
import { Link } from "@components/Link";
|
||||
import { Paragraph } from "@components/Paragraph";
|
||||
import { Devs } from "@utils/constants";
|
||||
import { Margins } from "@utils/margins";
|
||||
import { ModalContent, ModalFooter, ModalHeader, ModalProps, ModalRoot, openModal } from "@utils/modal";
|
||||
|
|
@ -144,7 +145,7 @@ function Modal({ modalProps }: { modalProps: ModalProps; }) {
|
|||
URL.revokeObjectURL(blobUrl);
|
||||
}, [blobUrl]);
|
||||
|
||||
const [meta] = useAwaiter(async () => {
|
||||
const [meta, metaError] = useAwaiter(async () => {
|
||||
if (!blob) return EMPTY_META;
|
||||
|
||||
const audioContext = new AudioContext();
|
||||
|
|
@ -214,11 +215,15 @@ function Modal({ modalProps }: { modalProps: ModalProps; }) {
|
|||
</div>
|
||||
|
||||
<Forms.FormTitle>Preview</Forms.FormTitle>
|
||||
<VoicePreview
|
||||
src={blobUrl}
|
||||
waveform={meta.waveform}
|
||||
recording={isRecording}
|
||||
/>
|
||||
{metaError
|
||||
? <Paragraph className={cl("error")}>Failed to parse selected audio file: {metaError.message}</Paragraph>
|
||||
: (
|
||||
<VoicePreview
|
||||
src={blobUrl}
|
||||
waveform={meta.waveform}
|
||||
recording={isRecording}
|
||||
/>
|
||||
)}
|
||||
|
||||
{isUnsupportedFormat && (
|
||||
<Card className={`vc-warning-card ${Margins.top16}`}>
|
||||
|
|
@ -236,7 +241,7 @@ function Modal({ modalProps }: { modalProps: ModalProps; }) {
|
|||
<Button
|
||||
disabled={!blob}
|
||||
onClick={() => {
|
||||
sendAudio(blob!, meta);
|
||||
sendAudio(blob!, meta ?? EMPTY_META);
|
||||
modalProps.onClose();
|
||||
showToast("Now sending voice message... Please be patient", Toasts.Type.MESSAGE);
|
||||
}}
|
||||
|
|
|
|||
|
|
@ -48,3 +48,7 @@
|
|||
flex: 1;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.vc-vmsg-error {
|
||||
color: var(--text-danger);
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue