chore: resolve react-hooks/exhaustive-deps warnings
Goes through the 7 exhaustive-deps warnings individually: Added the genuinely-missing dependency (safe, no extra churn): - email-viewer useMemo: add effectiveEmailContent.hasStyleTag (used for hasOwnLayout; changes in lockstep with .html, closing a latent staleness gap). - pro-compose-tab-body handleSend: add refreshCurrentMailbox (stable zustand selector) and drop the stale fetchEmails/selectedMailbox deps — which left those two selectors entirely unused, so remove them too. - use-mailbox-drop handleDrop: add sourceMailboxId (changes in lockstep with draggedEmails, already a dep). Suppressed with a justified comment where depending on the whole object would regress behavior — these are intentional fine-grained deps: - email-composer signature-swap effect (keyed to signature fields + prev*Ref guards; whole signatureIdentity would re-splice the live editor). - email-viewer auto-mark-as-read (whole email would reset the delay timer on any unrelated field update). - email-viewer effective-attachments memo (derives from email.attachments; whole email would churn the list + its layout measurement). - email-viewer auto-MDN effect (email already captured via id + sendReadReceiptNow; autoMdnRef guards double-send). tsc --noEmit clean; eslint now reports 0 problems.
This commit is contained in:
committed by
Linus Rath
parent
0b7203df0f
commit
3516d3c727
@@ -647,6 +647,11 @@ export function EmailComposer({
|
||||
if (nextHtml !== currentHtml) {
|
||||
editor.commands.setContent(nextHtml, { emitUpdate: true });
|
||||
}
|
||||
// Intentionally keyed to the signature-relevant fields plus the internal
|
||||
// prev*Ref guards above; depending on the whole `signatureIdentity` object
|
||||
// would re-run on unrelated identity-field changes and re-splice the
|
||||
// signature into the live editor.
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, [signatureIdentity?.id, signatureIdentity?.htmlSignature, signatureIdentity?.textSignature, signatureSeparatorEnabled, signaturePosition, mode, plainTextMode]);
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
Reference in New Issue
Block a user