From 245054cd7d0f36639e189073faa3bf60256ef4ab Mon Sep 17 00:00:00 2001 From: Gregory Schier Date: Sun, 25 May 2025 20:39:14 -0700 Subject: [PATCH] Move react-pdf dynamic import --- .../template-function-encode/build/index.js | 20 +++++++++++++++++++ .../components/responseViewers/PdfViewer.tsx | 7 ------- src-web/main.tsx | 7 +++++++ 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src-tauri/vendored/plugins/template-function-encode/build/index.js b/src-tauri/vendored/plugins/template-function-encode/build/index.js index 28195b7c..8b1e7e56 100644 --- a/src-tauri/vendored/plugins/template-function-encode/build/index.js +++ b/src-tauri/vendored/plugins/template-function-encode/build/index.js @@ -40,6 +40,26 @@ var plugin = { async onRender(_ctx, args) { return Buffer.from(args.values.value ?? "", "base64").toString("utf-8"); } + }, + { + name: "url.encode", + description: "Encode a value for use in a URL (percent-encoding)", + args: [{ label: "Plain Text", type: "text", name: "value", multiLine: true }], + async onRender(_ctx, args) { + return encodeURIComponent(args.values.value ?? ""); + } + }, + { + name: "url.decode", + description: "Decode a percent-encoded URL value", + args: [{ label: "Encoded Value", type: "text", name: "value", multiLine: true }], + async onRender(_ctx, args) { + try { + return decodeURIComponent(args.values.value ?? ""); + } catch { + return ""; + } + } } ] }; diff --git a/src-web/components/responseViewers/PdfViewer.tsx b/src-web/components/responseViewers/PdfViewer.tsx index 5a7e1c37..0763165a 100644 --- a/src-web/components/responseViewers/PdfViewer.tsx +++ b/src-web/components/responseViewers/PdfViewer.tsx @@ -7,13 +7,6 @@ import React, { useRef, useState } from 'react'; import { Document, Page } from 'react-pdf'; import { useContainerSize } from '../../hooks/useContainerQuery'; -import('react-pdf').then(({ pdfjs }) => { - pdfjs.GlobalWorkerOptions.workerSrc = new URL( - 'pdfjs-dist/build/pdf.worker.min.mjs', - import.meta.url, - ).toString(); -}); - interface Props { bodyPath: string; } diff --git a/src-web/main.tsx b/src-web/main.tsx index 0e31061f..07f81ed6 100644 --- a/src-web/main.tsx +++ b/src-web/main.tsx @@ -9,6 +9,13 @@ import { initSync } from './init/sync'; import { jotaiStore } from './lib/jotai'; import { router } from './lib/router'; +import('react-pdf').then(({ pdfjs }) => { + pdfjs.GlobalWorkerOptions.workerSrc = new URL( + 'pdfjs-dist/build/pdf.worker.min.mjs', + import.meta.url, + ).toString(); +}); + // Hide decorations here because it doesn't work in Rust for some reason (bug?) const osType = type(); if (osType !== 'macos') {