aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkj_sh6042026-05-31 12:58:12 -0400
committerkj_sh6042026-05-31 12:58:12 -0400
commit0695a460d680eb4a034efe83a0359ab34176b2ee (patch)
tree23d56729aa10d75dbba285d1afcea6b7c321e7f5
parent9201da1215430c1e0f989584321643b39c858866 (diff)
parent1ecd0cce62450f017cdcf8e1a17f3225e3693604 (diff)
merge: branch 'refactor/hardening' into mainrefactor/hardening
-rw-r--r--src/static/main.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/static/main.js b/src/static/main.js
index e0493aa..b35d7c0 100644
--- a/src/static/main.js
+++ b/src/static/main.js
@@ -567,6 +567,31 @@ function clearActivePdfUrl() {
}
}
+function clearPersistedPdfFilename() {
+ try {
+ localStorage.removeItem(PDF_FILENAME_KEY);
+ } catch {
+ // ignore storage write failures
+ }
+}
+
+function clearReadyPdfResult() {
+ if (!(resultContainer instanceof HTMLElement)) {
+ return;
+ }
+
+ const readyLink = resultContainer.querySelector("a[download]");
+ if (readyLink) {
+ resultContainer.innerHTML = "";
+ }
+}
+
+function prepareForPdfRegeneration() {
+ clearActivePdfUrl();
+ clearPersistedPdfFilename();
+ clearReadyPdfResult();
+}
+
function sanitizeDownloadFilename(filename) {
const epoch = Math.floor(Date.now() / 1000);
const fallback = `likha-pdf_${epoch}_${randomHex(40)}.pdf`;
@@ -673,6 +698,7 @@ async function handleConvertSubmit(event) {
}
setConvertLoadingState(true);
+ prepareForPdfRegeneration();
try {
const { resolvedMarkdown, missingIds } = await resolveLocalImageTokens(markdown);