fix(signature): coalesce null message_signature to empty string
users.message_signature is nullable, so currentUser.message_signature can arrive as null for accounts without a signature set. Vue prop defaults only kick in for undefined, so the null passed through v-model to the Editor, which called MarkdownIt.parse(null) and threw 'Input data should be a String', breaking the profile settings page.
This commit is contained in:
parent
4d155e4c01
commit
4f7683e55a
@ -42,7 +42,7 @@ const { fetchInboxSignatures, getInboxSignature, hasInboxSignature } =
|
|||||||
|
|
||||||
const selectedInboxId = ref(INBOX_OPTION_DEFAULT);
|
const selectedInboxId = ref(INBOX_OPTION_DEFAULT);
|
||||||
const selectedInbox = ref(null);
|
const selectedInbox = ref(null);
|
||||||
const signature = ref(props.messageSignature);
|
const signature = ref(props.messageSignature ?? '');
|
||||||
const signaturePosition = ref(props.signaturePosition);
|
const signaturePosition = ref(props.signaturePosition);
|
||||||
const signatureSeparator = ref(props.signatureSeparator);
|
const signatureSeparator = ref(props.signatureSeparator);
|
||||||
const isSaving = ref(false);
|
const isSaving = ref(false);
|
||||||
@ -134,7 +134,7 @@ const messagePreview = computed(() => {
|
|||||||
|
|
||||||
const loadSignatureForSelection = () => {
|
const loadSignatureForSelection = () => {
|
||||||
if (isDefaultSelected.value) {
|
if (isDefaultSelected.value) {
|
||||||
signature.value = props.messageSignature;
|
signature.value = props.messageSignature ?? '';
|
||||||
signaturePosition.value = props.signaturePosition;
|
signaturePosition.value = props.signaturePosition;
|
||||||
signatureSeparator.value = props.signatureSeparator;
|
signatureSeparator.value = props.signatureSeparator;
|
||||||
return;
|
return;
|
||||||
@ -142,12 +142,12 @@ const loadSignatureForSelection = () => {
|
|||||||
|
|
||||||
const inboxSig = getInboxSignature(selectedInboxId.value);
|
const inboxSig = getInboxSignature(selectedInboxId.value);
|
||||||
if (inboxSig) {
|
if (inboxSig) {
|
||||||
signature.value = inboxSig.message_signature;
|
signature.value = inboxSig.message_signature ?? '';
|
||||||
signaturePosition.value = inboxSig.signature_position || 'top';
|
signaturePosition.value = inboxSig.signature_position || 'top';
|
||||||
signatureSeparator.value = inboxSig.signature_separator || 'blank';
|
signatureSeparator.value = inboxSig.signature_separator || 'blank';
|
||||||
} else {
|
} else {
|
||||||
// Pre-fill with global signature for convenience
|
// Pre-fill with global signature for convenience
|
||||||
signature.value = props.messageSignature;
|
signature.value = props.messageSignature ?? '';
|
||||||
signaturePosition.value = props.signaturePosition;
|
signaturePosition.value = props.signaturePosition;
|
||||||
signatureSeparator.value = props.signatureSeparator;
|
signatureSeparator.value = props.signatureSeparator;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user