diff --git a/apps/remix/app/components/general/refresh-on-focus.tsx b/apps/remix/app/components/general/refresh-on-focus.tsx
index 775b722f3..a86bc65b6 100644
--- a/apps/remix/app/components/general/refresh-on-focus.tsx
+++ b/apps/remix/app/components/general/refresh-on-focus.tsx
@@ -3,10 +3,12 @@ import { useCallback, useEffect } from 'react';
import { useRevalidator } from 'react-router';
export const RefreshOnFocus = () => {
- const { revalidate } = useRevalidator();
+ const { revalidate, state } = useRevalidator();
const onFocus = useCallback(() => {
- void revalidate();
+ if (state === 'idle') {
+ void revalidate();
+ }
}, [revalidate]);
useEffect(() => {
diff --git a/apps/remix/app/entry.client.tsx b/apps/remix/app/entry.client.tsx
index 42996b5ec..6878e9984 100644
--- a/apps/remix/app/entry.client.tsx
+++ b/apps/remix/app/entry.client.tsx
@@ -1,21 +1,30 @@
-import { StrictMode, startTransition } from 'react';
+import { StrictMode, startTransition, useEffect } from 'react';
import { i18n } from '@lingui/core';
import { detect, fromHtmlTag } from '@lingui/detect-locale';
import { I18nProvider } from '@lingui/react';
+import posthog from 'posthog-js';
import { hydrateRoot } from 'react-dom/client';
import { HydratedRouter } from 'react-router/dom';
-import { Theme, ThemeProvider } from 'remix-themes';
-import { match } from 'ts-pattern';
+import { extractPostHogConfig } from '@documenso/lib/constants/feature-flags';
import { dynamicActivate } from '@documenso/lib/utils/i18n';
-async function main() {
- const theme = match(document.documentElement.getAttribute('data-theme'))
- .with('dark', () => Theme.DARK)
- .with('light', () => Theme.LIGHT)
- .otherwise(() => null);
+function PosthogInit() {
+ const postHogConfig = extractPostHogConfig();
+ useEffect(() => {
+ if (postHogConfig) {
+ posthog.init(postHogConfig.key, {
+ api_host: postHogConfig.host,
+ });
+ }
+ }, []);
+
+ return null;
+}
+
+async function main() {
const locale = detect(fromHtmlTag('lang')) || 'en';
await dynamicActivate(locale);
@@ -25,10 +34,10 @@ async function main() {
document,
-
-
-
+
+
+
,
);
});
diff --git a/apps/remix/app/entry.server.tsx b/apps/remix/app/entry.server.tsx
index 6250bff85..6caeba746 100644
--- a/apps/remix/app/entry.server.tsx
+++ b/apps/remix/app/entry.server.tsx
@@ -7,13 +7,11 @@ import type { RenderToPipeableStreamOptions } from 'react-dom/server';
import { renderToPipeableStream } from 'react-dom/server';
import type { AppLoadContext, EntryContext } from 'react-router';
import { ServerRouter } from 'react-router';
-import { ThemeProvider } from 'remix-themes';
import { APP_I18N_OPTIONS } from '@documenso/lib/constants/i18n';
import { dynamicActivate, extractLocaleData } from '@documenso/lib/utils/i18n';
import { langCookie } from './storage/lang-cookie.server';
-import { themeSessionResolver } from './storage/theme-session.server';
export const streamTimeout = 5_000;
@@ -32,10 +30,6 @@ export default async function handleRequest(
await dynamicActivate(language);
- const { getTheme } = await themeSessionResolver(request);
-
- const theme = getTheme();
-
return new Promise((resolve, reject) => {
let shellRendered = false;
const userAgent = request.headers.get('user-agent');
@@ -47,9 +41,7 @@ export default async function handleRequest(
const { pipe, abort } = renderToPipeableStream(
-
-
-
+
,
{
[readyOption]() {
diff --git a/apps/remix/app/providers/posthog.tsx b/apps/remix/app/providers/posthog.tsx
deleted file mode 100644
index 1da9dbf57..000000000
--- a/apps/remix/app/providers/posthog.tsx
+++ /dev/null
@@ -1,47 +0,0 @@
-import { useEffect } from 'react';
-
-import posthog from 'posthog-js';
-import { useLocation, useSearchParams } from 'react-router';
-
-import { extractPostHogConfig } from '@documenso/lib/constants/feature-flags';
-
-export function PostHogPageview() {
- const postHogConfig = extractPostHogConfig();
-
- const { pathname } = useLocation();
- const [searchParams] = useSearchParams();
-
- // const { sessionData } = useOptionalSession();
- // const user = sessionData?.user;
-
- if (typeof window !== 'undefined' && postHogConfig) {
- posthog.init(postHogConfig.key, {
- api_host: postHogConfig.host,
- disable_session_recording: true,
- // loaded: () => {
- // if (user) {
- // posthog.identify(user.email ?? user.id.toString());
- // } else {
- // posthog.reset();
- // }
- // },
- custom_campaign_params: ['src'],
- });
- }
-
- useEffect(() => {
- if (!postHogConfig || !pathname) {
- return;
- }
-
- let url = window.origin + pathname;
- if (searchParams && searchParams.toString()) {
- url = url + `?${searchParams.toString()}`;
- }
- posthog.capture('$pageview', {
- $current_url: url,
- });
- }, [pathname, searchParams, postHogConfig]);
-
- return null;
-}
diff --git a/apps/remix/app/root.tsx b/apps/remix/app/root.tsx
index fc7f13ffb..8e72dee2d 100644
--- a/apps/remix/app/root.tsx
+++ b/apps/remix/app/root.tsx
@@ -1,4 +1,4 @@
-import { Suspense, useEffect } from 'react';
+import { useEffect } from 'react';
import Plausible from 'plausible-tracker';
import {
@@ -12,7 +12,7 @@ import {
useLoaderData,
useLocation,
} from 'react-router';
-import { PreventFlashOnWrongTheme, useTheme } from 'remix-themes';
+import { PreventFlashOnWrongTheme, ThemeProvider, useTheme } from 'remix-themes';
import { getOptionalSession } from '@documenso/auth/server/lib/utils/get-session';
import { SessionProvider } from '@documenso/lib/client-only/providers/session';
@@ -28,7 +28,6 @@ import type { Route } from './+types/root';
import stylesheet from './app.css?url';
import { GenericErrorLayout } from './components/general/generic-error-layout';
import { RefreshOnFocus } from './components/general/refresh-on-focus';
-import { PostHogPageview } from './providers/posthog';
import { langCookie } from './storage/lang-cookie.server';
import { themeSessionResolver } from './storage/theme-session.server';
import { appMetaTags } from './utils/meta';
@@ -106,9 +105,7 @@ export async function loader({ request }: Route.LoaderArgs) {
}
export function Layout({ children }: { children: React.ReactNode }) {
- const { publicEnv, lang, session, ...data } = useLoaderData() || {};
-
- const [theme] = useTheme();
+ const { theme } = useLoaderData() || {};
const location = useLocation();
@@ -118,6 +115,18 @@ export function Layout({ children }: { children: React.ReactNode }) {
}
}, [location.pathname]);
+ return (
+
+ {children}
+
+ );
+}
+
+export function LayoutContent({ children }: { children: React.ReactNode }) {
+ const { publicEnv, session, lang, ...data } = useLoaderData() || {};
+
+ const [theme] = useTheme();
+
return (
@@ -133,10 +142,6 @@ export function Layout({ children }: { children: React.ReactNode }) {
-
-
-
-
{/* Fix: https://stackoverflow.com/questions/21147149/flash-of-unstyled-content-fouc-in-firefox-only-is-ff-slow-renderer */}
diff --git a/apps/remix/app/routes/_redirects+/ingest.$.tsx b/apps/remix/app/routes/_redirects+/ingest.$.tsx
index bb5da6284..67784a5e4 100644
--- a/apps/remix/app/routes/_redirects+/ingest.$.tsx
+++ b/apps/remix/app/routes/_redirects+/ingest.$.tsx
@@ -23,6 +23,8 @@ const posthogProxy = async (request: Request) => {
method: request.method,
headers,
body: request.body,
+ // @ts-expect-error - Not really sure about this
+ duplex: 'half',
});
return new Response(response.body, {
diff --git a/apps/remix/package.json b/apps/remix/package.json
index 4ab4ed4cc..91afa32de 100644
--- a/apps/remix/package.json
+++ b/apps/remix/package.json
@@ -48,8 +48,8 @@
"luxon": "^3.4.0",
"papaparse": "^5.4.1",
"plausible-tracker": "^0.3.9",
- "posthog-js": "^1.75.3",
- "posthog-node": "^3.1.1",
+ "posthog-js": "^1.223.3",
+ "posthog-node": "^4.7.0",
"react": "^18",
"react-call": "^1.3.0",
"react-dom": "^18",
@@ -99,4 +99,4 @@
"vite-plugin-babel-macros": "^1.0.6",
"vite-tsconfig-paths": "^5.1.4"
}
-}
\ No newline at end of file
+}
diff --git a/package-lock.json b/package-lock.json
index 4096e51d1..fd07c72b7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -131,8 +131,8 @@
"luxon": "^3.4.0",
"papaparse": "^5.4.1",
"plausible-tracker": "^0.3.9",
- "posthog-js": "^1.75.3",
- "posthog-node": "^3.1.1",
+ "posthog-js": "^1.223.3",
+ "posthog-node": "^4.7.0",
"react": "^18",
"react-call": "^1.3.0",
"react-dom": "^18",
@@ -849,6 +849,17 @@
"win32"
]
},
+ "apps/remix/node_modules/axios": {
+ "version": "1.7.9",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz",
+ "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==",
+ "license": "MIT",
+ "dependencies": {
+ "follow-redirects": "^1.15.6",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
"apps/remix/node_modules/esbuild": {
"version": "0.24.2",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz",
@@ -890,6 +901,18 @@
"@esbuild/win32-x64": "0.24.2"
}
},
+ "apps/remix/node_modules/posthog-node": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/posthog-node/-/posthog-node-4.7.0.tgz",
+ "integrity": "sha512-RgdUKSW8MfMOkjUa8cYVqWndNjPePNuuxlGbrZC6z1WRBsVc6TdGl8caidmC10RW8mu/BOfmrGbP4cRTo2jARg==",
+ "license": "MIT",
+ "dependencies": {
+ "axios": "^1.7.4"
+ },
+ "engines": {
+ "node": ">=15.0.0"
+ }
+ },
"apps/remix/node_modules/rollup": {
"version": "4.34.5",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.5.tgz",
@@ -9751,6 +9774,16 @@
"win32"
]
},
+ "node_modules/@rrweb/types": {
+ "version": "2.0.0-alpha.17",
+ "resolved": "https://registry.npmjs.org/@rrweb/types/-/types-2.0.0-alpha.17.tgz",
+ "integrity": "sha512-AfDTVUuCyCaIG0lTSqYtrZqJX39ZEYzs4fYKnexhQ+id+kbZIpIJtaut5cto6dWZbB3SEe4fW0o90Po3LvTmfg==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "rrweb-snapshot": "^2.0.0-alpha.17"
+ }
+ },
"node_modules/@rtsao/scc": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz",
@@ -31027,21 +31060,24 @@
"license": "MIT"
},
"node_modules/posthog-js": {
- "version": "1.215.3",
- "resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.215.3.tgz",
- "integrity": "sha512-vTk8/gyjbKP7EbDxWzo/GBCK7Ok7M6RTqEWOzRgIxCPf/KA5faFi5z1T4cRR1oPgcDqLeB1ZGa04Za/cPEHxgA==",
+ "version": "1.223.3",
+ "resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.223.3.tgz",
+ "integrity": "sha512-ZQTc17M21IzkQmECJa2Xjont4tZrvIn252uGT3sTfmahTqZoW4j+kBj4eOJt9SNR6hOheFNkg7MSiI/rA6FaDA==",
"license": "MIT",
"dependencies": {
"core-js": "^3.38.1",
"fflate": "^0.4.8",
"preact": "^10.19.3",
"web-vitals": "^4.2.0"
+ },
+ "peerDependencies": {
+ "@rrweb/types": "2.0.0-alpha.17"
}
},
"node_modules/posthog-js/node_modules/preact": {
- "version": "10.25.4",
- "resolved": "https://registry.npmjs.org/preact/-/preact-10.25.4.tgz",
- "integrity": "sha512-jLdZDb+Q+odkHJ+MpW/9U5cODzqnB+fy2EiHSZES7ldV5LK7yjlVzTp7R8Xy6W6y75kfK8iWYtFVH7lvjwrCMA==",
+ "version": "10.26.2",
+ "resolved": "https://registry.npmjs.org/preact/-/preact-10.26.2.tgz",
+ "integrity": "sha512-0gNmv4qpS9HaN3+40CLBAnKe0ZfyE4ZWo5xKlC1rVrr0ckkEvJvAQqKaHANdFKsGstoxrY4AItZ7kZSGVoVjgg==",
"license": "MIT",
"funding": {
"type": "opencollective",
@@ -31052,6 +31088,7 @@
"version": "3.6.3",
"resolved": "https://registry.npmjs.org/posthog-node/-/posthog-node-3.6.3.tgz",
"integrity": "sha512-JB+ei0LkwE+rKHyW5z79Nd1jUaGxU6TvkfjFqY9vQaHxU5aU8dRl0UUaEmZdZbHwjp3WmXCBQQRNyimwbNQfCw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"axios": "^1.6.2",
@@ -31065,6 +31102,7 @@
"version": "1.7.9",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz",
"integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"follow-redirects": "^1.15.6",
@@ -33884,6 +33922,16 @@
"fsevents": "~2.3.2"
}
},
+ "node_modules/rrweb-snapshot": {
+ "version": "2.0.0-alpha.18",
+ "resolved": "https://registry.npmjs.org/rrweb-snapshot/-/rrweb-snapshot-2.0.0-alpha.18.tgz",
+ "integrity": "sha512-hBHZL/NfgQX6wO1D9mpwqFu1NJPpim+moIcKhFEjVTZVRUfCln+LOugRc4teVTCISYHN8Cw5e2iNTWCSm+SkoA==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "postcss": "^8.4.38"
+ }
+ },
"node_modules/run-async": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
@@ -33921,6 +33969,7 @@
"version": "0.8.14",
"resolved": "https://registry.npmjs.org/rusha/-/rusha-0.8.14.tgz",
"integrity": "sha512-cLgakCUf6PedEu15t8kbsjnwIFFR2D4RfL+W3iWFJ4iac7z4B0ZI8fxy4R3J956kAI68HclCFGL8MPoUVC3qVA==",
+ "dev": true,
"license": "MIT"
},
"node_modules/rw": {
diff --git a/packages/lib/client-only/hooks/use-analytics.ts b/packages/lib/client-only/hooks/use-analytics.ts
index e6516a075..92a92c40c 100644
--- a/packages/lib/client-only/hooks/use-analytics.ts
+++ b/packages/lib/client-only/hooks/use-analytics.ts
@@ -20,6 +20,20 @@ export function useAnalytics() {
posthog.capture(event, properties);
};
+ /**
+ * Capture an analytic event.
+ *
+ * @param error The error to capture.
+ * @param properties Properties to attach to the event.
+ */
+ const captureException = (error: Error, properties?: Record) => {
+ if (!isPostHogEnabled) {
+ return;
+ }
+
+ posthog.captureException(error, properties);
+ };
+
/**
* Start the session recording.
*
@@ -53,6 +67,7 @@ export function useAnalytics() {
return {
capture,
+ captureException,
startSessionRecording,
stopSessionRecording,
};
diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po
index bb95df68b..84e7f44eb 100644
--- a/packages/lib/translations/de/web.po
+++ b/packages/lib/translations/de/web.po
@@ -998,7 +998,7 @@ msgstr "Ein Fehler ist aufgetreten, während der Benutzer aktiviert wurde."
msgid "An error occurred while loading team members. Please try again later."
msgstr "Ein Fehler ist aufgetreten, während die Teammitglieder geladen wurden. Bitte versuchen Sie es später erneut."
-#: packages/ui/primitives/pdf-viewer.tsx:169
+#: packages/ui/primitives/pdf-viewer.tsx:167
msgid "An error occurred while loading the document."
msgstr "Ein Fehler ist beim Laden des Dokuments aufgetreten."
@@ -1410,7 +1410,7 @@ msgstr ""
#: apps/remix/app/components/forms/2fa/view-recovery-codes-dialog.tsx:172
#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx:263
#: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx:156
-#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx:235
+#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx:234
#: apps/remix/app/components/dialogs/token-delete-dialog.tsx:167
#: apps/remix/app/components/dialogs/template-move-dialog.tsx:145
#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx:71
@@ -2734,7 +2734,7 @@ msgstr "Geben Sie hier Ihren Text ein"
#: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx:59
#: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx:62
#: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx:62
-#: packages/ui/primitives/pdf-viewer.tsx:168
+#: packages/ui/primitives/pdf-viewer.tsx:166
#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:222
msgid "Error"
msgstr "Fehler"
@@ -3268,7 +3268,7 @@ msgid "Load older activity"
msgstr "Ältere Aktivitäten laden"
#: apps/remix/app/components/general/skeletons/document-edit-skeleton.tsx:29
-#: packages/ui/primitives/pdf-viewer.tsx:46
+#: packages/ui/primitives/pdf-viewer.tsx:44
#: packages/ui/primitives/lazy-pdf-viewer.tsx:12
msgid "Loading document..."
msgstr "Lade Dokument..."
@@ -3740,7 +3740,7 @@ msgid "Page {0} of {1}"
msgstr "Seite {0} von {1}"
#. placeholder {0}: i + 1
-#: packages/ui/primitives/pdf-viewer.tsx:261
+#: packages/ui/primitives/pdf-viewer.tsx:259
msgid "Page {0} of {numPages}"
msgstr "Seite {0} von {numPages}"
@@ -4009,8 +4009,8 @@ msgstr "Bitte versuchen Sie es erneut und stellen Sie sicher, dass Sie die korre
msgid "Please try again later."
msgstr "Bitte versuchen Sie es später noch einmal."
-#: packages/ui/primitives/pdf-viewer.tsx:225
-#: packages/ui/primitives/pdf-viewer.tsx:240
+#: packages/ui/primitives/pdf-viewer.tsx:223
+#: packages/ui/primitives/pdf-viewer.tsx:238
msgid "Please try again or contact our support."
msgstr "Bitte versuchen Sie es erneut oder kontaktieren Sie unseren Support."
@@ -4906,8 +4906,8 @@ msgstr "Etwas ist schiefgelaufen beim Versuch, das Eigentum des Teams <0>{0}0>
msgid "Something went wrong while attempting to verify your email address for <0>{0}0>. Please try again later."
msgstr "Etwas ist schiefgelaufen beim Versuch, Ihre E-Mail-Adresse für <0>{0}0> zu bestätigen. Bitte versuchen Sie es später erneut."
-#: packages/ui/primitives/pdf-viewer.tsx:222
-#: packages/ui/primitives/pdf-viewer.tsx:237
+#: packages/ui/primitives/pdf-viewer.tsx:220
+#: packages/ui/primitives/pdf-viewer.tsx:235
msgid "Something went wrong while loading the document."
msgstr "Beim Laden des Dokuments ist ein Fehler aufgetreten."
diff --git a/packages/lib/translations/en/web.po b/packages/lib/translations/en/web.po
index 0fdb1ad16..241c641be 100644
--- a/packages/lib/translations/en/web.po
+++ b/packages/lib/translations/en/web.po
@@ -993,7 +993,7 @@ msgstr "An error occurred while enabling the user."
msgid "An error occurred while loading team members. Please try again later."
msgstr "An error occurred while loading team members. Please try again later."
-#: packages/ui/primitives/pdf-viewer.tsx:169
+#: packages/ui/primitives/pdf-viewer.tsx:167
msgid "An error occurred while loading the document."
msgstr "An error occurred while loading the document."
@@ -1405,7 +1405,7 @@ msgstr "Can prepare"
#: apps/remix/app/components/forms/2fa/view-recovery-codes-dialog.tsx:172
#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx:263
#: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx:156
-#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx:235
+#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx:234
#: apps/remix/app/components/dialogs/token-delete-dialog.tsx:167
#: apps/remix/app/components/dialogs/template-move-dialog.tsx:145
#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx:71
@@ -2729,7 +2729,7 @@ msgstr "Enter your text here"
#: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx:59
#: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx:62
#: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx:62
-#: packages/ui/primitives/pdf-viewer.tsx:168
+#: packages/ui/primitives/pdf-viewer.tsx:166
#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:222
msgid "Error"
msgstr "Error"
@@ -3263,7 +3263,7 @@ msgid "Load older activity"
msgstr "Load older activity"
#: apps/remix/app/components/general/skeletons/document-edit-skeleton.tsx:29
-#: packages/ui/primitives/pdf-viewer.tsx:46
+#: packages/ui/primitives/pdf-viewer.tsx:44
#: packages/ui/primitives/lazy-pdf-viewer.tsx:12
msgid "Loading document..."
msgstr "Loading document..."
@@ -3735,7 +3735,7 @@ msgid "Page {0} of {1}"
msgstr "Page {0} of {1}"
#. placeholder {0}: i + 1
-#: packages/ui/primitives/pdf-viewer.tsx:261
+#: packages/ui/primitives/pdf-viewer.tsx:259
msgid "Page {0} of {numPages}"
msgstr "Page {0} of {numPages}"
@@ -4004,8 +4004,8 @@ msgstr "Please try again and make sure you enter the correct email address."
msgid "Please try again later."
msgstr "Please try again later."
-#: packages/ui/primitives/pdf-viewer.tsx:225
-#: packages/ui/primitives/pdf-viewer.tsx:240
+#: packages/ui/primitives/pdf-viewer.tsx:223
+#: packages/ui/primitives/pdf-viewer.tsx:238
msgid "Please try again or contact our support."
msgstr "Please try again or contact our support."
@@ -4901,8 +4901,8 @@ msgstr "Something went wrong while attempting to transfer the ownership of team
msgid "Something went wrong while attempting to verify your email address for <0>{0}0>. Please try again later."
msgstr "Something went wrong while attempting to verify your email address for <0>{0}0>. Please try again later."
-#: packages/ui/primitives/pdf-viewer.tsx:222
-#: packages/ui/primitives/pdf-viewer.tsx:237
+#: packages/ui/primitives/pdf-viewer.tsx:220
+#: packages/ui/primitives/pdf-viewer.tsx:235
msgid "Something went wrong while loading the document."
msgstr "Something went wrong while loading the document."
diff --git a/packages/lib/translations/es/web.po b/packages/lib/translations/es/web.po
index d2d054f59..37833e474 100644
--- a/packages/lib/translations/es/web.po
+++ b/packages/lib/translations/es/web.po
@@ -998,7 +998,7 @@ msgstr "Se produjo un error al habilitar al usuario."
msgid "An error occurred while loading team members. Please try again later."
msgstr "Ocurrió un error al cargar los miembros del equipo. Por favor intenta de nuevo más tarde."
-#: packages/ui/primitives/pdf-viewer.tsx:169
+#: packages/ui/primitives/pdf-viewer.tsx:167
msgid "An error occurred while loading the document."
msgstr "Se produjo un error al cargar el documento."
@@ -1410,7 +1410,7 @@ msgstr ""
#: apps/remix/app/components/forms/2fa/view-recovery-codes-dialog.tsx:172
#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx:263
#: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx:156
-#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx:235
+#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx:234
#: apps/remix/app/components/dialogs/token-delete-dialog.tsx:167
#: apps/remix/app/components/dialogs/template-move-dialog.tsx:145
#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx:71
@@ -2734,7 +2734,7 @@ msgstr "Ingresa tu texto aquí"
#: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx:59
#: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx:62
#: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx:62
-#: packages/ui/primitives/pdf-viewer.tsx:168
+#: packages/ui/primitives/pdf-viewer.tsx:166
#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:222
msgid "Error"
msgstr "Error"
@@ -3268,7 +3268,7 @@ msgid "Load older activity"
msgstr "Cargar actividad anterior"
#: apps/remix/app/components/general/skeletons/document-edit-skeleton.tsx:29
-#: packages/ui/primitives/pdf-viewer.tsx:46
+#: packages/ui/primitives/pdf-viewer.tsx:44
#: packages/ui/primitives/lazy-pdf-viewer.tsx:12
msgid "Loading document..."
msgstr "Cargando documento..."
@@ -3740,7 +3740,7 @@ msgid "Page {0} of {1}"
msgstr "Página {0} de {1}"
#. placeholder {0}: i + 1
-#: packages/ui/primitives/pdf-viewer.tsx:261
+#: packages/ui/primitives/pdf-viewer.tsx:259
msgid "Page {0} of {numPages}"
msgstr "Página {0} de {numPages}"
@@ -4009,8 +4009,8 @@ msgstr "Por favor, intenta de nuevo y asegúrate de ingresar la dirección de co
msgid "Please try again later."
msgstr "Por favor, intenta de nuevo más tarde."
-#: packages/ui/primitives/pdf-viewer.tsx:225
-#: packages/ui/primitives/pdf-viewer.tsx:240
+#: packages/ui/primitives/pdf-viewer.tsx:223
+#: packages/ui/primitives/pdf-viewer.tsx:238
msgid "Please try again or contact our support."
msgstr "Por favor, inténtalo de nuevo o contacta a nuestro soporte."
@@ -4906,8 +4906,8 @@ msgstr "Algo salió mal al intentar transferir la propiedad del equipo <0>{0}0
msgid "Something went wrong while attempting to verify your email address for <0>{0}0>. Please try again later."
msgstr "Algo salió mal al intentar verificar tu dirección de correo electrónico para <0>{0}0>. Por favor, intenta de nuevo más tarde."
-#: packages/ui/primitives/pdf-viewer.tsx:222
-#: packages/ui/primitives/pdf-viewer.tsx:237
+#: packages/ui/primitives/pdf-viewer.tsx:220
+#: packages/ui/primitives/pdf-viewer.tsx:235
msgid "Something went wrong while loading the document."
msgstr "Algo salió mal al cargar el documento."
diff --git a/packages/lib/translations/fr/web.po b/packages/lib/translations/fr/web.po
index b859b088c..e699278c6 100644
--- a/packages/lib/translations/fr/web.po
+++ b/packages/lib/translations/fr/web.po
@@ -998,7 +998,7 @@ msgstr "Une erreur est survenue lors de l'activation de l'utilisateur."
msgid "An error occurred while loading team members. Please try again later."
msgstr "Une erreur est survenue lors du chargement des membres de l'équipe. Veuillez réessayer plus tard."
-#: packages/ui/primitives/pdf-viewer.tsx:169
+#: packages/ui/primitives/pdf-viewer.tsx:167
msgid "An error occurred while loading the document."
msgstr "Une erreur est survenue lors du chargement du document."
@@ -1410,7 +1410,7 @@ msgstr ""
#: apps/remix/app/components/forms/2fa/view-recovery-codes-dialog.tsx:172
#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx:263
#: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx:156
-#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx:235
+#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx:234
#: apps/remix/app/components/dialogs/token-delete-dialog.tsx:167
#: apps/remix/app/components/dialogs/template-move-dialog.tsx:145
#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx:71
@@ -2734,7 +2734,7 @@ msgstr "Entrez votre texte ici"
#: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx:59
#: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx:62
#: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx:62
-#: packages/ui/primitives/pdf-viewer.tsx:168
+#: packages/ui/primitives/pdf-viewer.tsx:166
#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:222
msgid "Error"
msgstr "Erreur"
@@ -3268,7 +3268,7 @@ msgid "Load older activity"
msgstr "Charger l'activité plus ancienne"
#: apps/remix/app/components/general/skeletons/document-edit-skeleton.tsx:29
-#: packages/ui/primitives/pdf-viewer.tsx:46
+#: packages/ui/primitives/pdf-viewer.tsx:44
#: packages/ui/primitives/lazy-pdf-viewer.tsx:12
msgid "Loading document..."
msgstr "Chargement du document..."
@@ -3740,7 +3740,7 @@ msgid "Page {0} of {1}"
msgstr "Page {0} sur {1}"
#. placeholder {0}: i + 1
-#: packages/ui/primitives/pdf-viewer.tsx:261
+#: packages/ui/primitives/pdf-viewer.tsx:259
msgid "Page {0} of {numPages}"
msgstr "Page {0} sur {numPages}"
@@ -4009,8 +4009,8 @@ msgstr "Veuillez réessayer et assurez-vous d'entrer la bonne adresse email."
msgid "Please try again later."
msgstr "Veuillez réessayer plus tard."
-#: packages/ui/primitives/pdf-viewer.tsx:225
-#: packages/ui/primitives/pdf-viewer.tsx:240
+#: packages/ui/primitives/pdf-viewer.tsx:223
+#: packages/ui/primitives/pdf-viewer.tsx:238
msgid "Please try again or contact our support."
msgstr "Veuillez réessayer ou contacter notre support."
@@ -4906,8 +4906,8 @@ msgstr "Quelque chose a mal tourné lors de la tentative de transfert de la prop
msgid "Something went wrong while attempting to verify your email address for <0>{0}0>. Please try again later."
msgstr "Quelque chose a mal tourné lors de la tentative de vérification de votre adresse e-mail pour <0>{0}0>. Veuillez réessayer plus tard."
-#: packages/ui/primitives/pdf-viewer.tsx:222
-#: packages/ui/primitives/pdf-viewer.tsx:237
+#: packages/ui/primitives/pdf-viewer.tsx:220
+#: packages/ui/primitives/pdf-viewer.tsx:235
msgid "Something went wrong while loading the document."
msgstr "Une erreur s'est produite lors du chargement du document."
diff --git a/packages/lib/translations/it/web.po b/packages/lib/translations/it/web.po
index ddc0e58c1..589f66339 100644
--- a/packages/lib/translations/it/web.po
+++ b/packages/lib/translations/it/web.po
@@ -998,7 +998,7 @@ msgstr "Si è verificato un errore durante l'abilitazione dell'utente."
msgid "An error occurred while loading team members. Please try again later."
msgstr "Si è verificato un errore durante il caricamento dei membri del team. Per favore riprova più tardi."
-#: packages/ui/primitives/pdf-viewer.tsx:169
+#: packages/ui/primitives/pdf-viewer.tsx:167
msgid "An error occurred while loading the document."
msgstr "Si è verificato un errore durante il caricamento del documento."
@@ -1410,7 +1410,7 @@ msgstr ""
#: apps/remix/app/components/forms/2fa/view-recovery-codes-dialog.tsx:172
#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx:263
#: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx:156
-#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx:235
+#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx:234
#: apps/remix/app/components/dialogs/token-delete-dialog.tsx:167
#: apps/remix/app/components/dialogs/template-move-dialog.tsx:145
#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx:71
@@ -2734,7 +2734,7 @@ msgstr "Inserisci il tuo testo qui"
#: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx:59
#: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx:62
#: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx:62
-#: packages/ui/primitives/pdf-viewer.tsx:168
+#: packages/ui/primitives/pdf-viewer.tsx:166
#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:222
msgid "Error"
msgstr "Errore"
@@ -3268,7 +3268,7 @@ msgid "Load older activity"
msgstr "Carica attività precedente"
#: apps/remix/app/components/general/skeletons/document-edit-skeleton.tsx:29
-#: packages/ui/primitives/pdf-viewer.tsx:46
+#: packages/ui/primitives/pdf-viewer.tsx:44
#: packages/ui/primitives/lazy-pdf-viewer.tsx:12
msgid "Loading document..."
msgstr "Caricamento del documento..."
@@ -3740,7 +3740,7 @@ msgid "Page {0} of {1}"
msgstr "Pagina {0} di {1}"
#. placeholder {0}: i + 1
-#: packages/ui/primitives/pdf-viewer.tsx:261
+#: packages/ui/primitives/pdf-viewer.tsx:259
msgid "Page {0} of {numPages}"
msgstr "Pagina {0} di {numPages}"
@@ -4009,8 +4009,8 @@ msgstr "Si prega di riprovare assicurandosi di inserire l'indirizzo email corret
msgid "Please try again later."
msgstr "Si prega di riprovare più tardi."
-#: packages/ui/primitives/pdf-viewer.tsx:225
-#: packages/ui/primitives/pdf-viewer.tsx:240
+#: packages/ui/primitives/pdf-viewer.tsx:223
+#: packages/ui/primitives/pdf-viewer.tsx:238
msgid "Please try again or contact our support."
msgstr "Per favore, riprova o contatta il nostro supporto."
@@ -4906,8 +4906,8 @@ msgstr "Qualcosa è andato storto durante il tentativo di trasferimento della pr
msgid "Something went wrong while attempting to verify your email address for <0>{0}0>. Please try again later."
msgstr "Qualcosa è andato storto durante il tentativo di verifica del tuo indirizzo e-mail per <0>{0}0>. Riprova più tardi."
-#: packages/ui/primitives/pdf-viewer.tsx:222
-#: packages/ui/primitives/pdf-viewer.tsx:237
+#: packages/ui/primitives/pdf-viewer.tsx:220
+#: packages/ui/primitives/pdf-viewer.tsx:235
msgid "Something went wrong while loading the document."
msgstr "Qualcosa è andato storto durante il caricamento del documento."
diff --git a/packages/lib/translations/pl/web.po b/packages/lib/translations/pl/web.po
index 1f5fbac15..a161f1ddf 100644
--- a/packages/lib/translations/pl/web.po
+++ b/packages/lib/translations/pl/web.po
@@ -998,7 +998,7 @@ msgstr "Wystąpił błąd podczas włączania użytkownika."
msgid "An error occurred while loading team members. Please try again later."
msgstr "Wystąpił błąd podczas ładowania członków zespołu. Proszę spróbować ponownie później."
-#: packages/ui/primitives/pdf-viewer.tsx:169
+#: packages/ui/primitives/pdf-viewer.tsx:167
msgid "An error occurred while loading the document."
msgstr "Wystąpił błąd podczas ładowania dokumentu."
@@ -1410,7 +1410,7 @@ msgstr ""
#: apps/remix/app/components/forms/2fa/view-recovery-codes-dialog.tsx:172
#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx:263
#: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx:156
-#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx:235
+#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx:234
#: apps/remix/app/components/dialogs/token-delete-dialog.tsx:167
#: apps/remix/app/components/dialogs/template-move-dialog.tsx:145
#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx:71
@@ -2734,7 +2734,7 @@ msgstr "Wprowadź swój tekst tutaj"
#: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx:59
#: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx:62
#: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx:62
-#: packages/ui/primitives/pdf-viewer.tsx:168
+#: packages/ui/primitives/pdf-viewer.tsx:166
#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:222
msgid "Error"
msgstr "Błąd"
@@ -3268,7 +3268,7 @@ msgid "Load older activity"
msgstr "Załaduj starszą aktywność"
#: apps/remix/app/components/general/skeletons/document-edit-skeleton.tsx:29
-#: packages/ui/primitives/pdf-viewer.tsx:46
+#: packages/ui/primitives/pdf-viewer.tsx:44
#: packages/ui/primitives/lazy-pdf-viewer.tsx:12
msgid "Loading document..."
msgstr "Ładowanie dokumentu..."
@@ -3740,7 +3740,7 @@ msgid "Page {0} of {1}"
msgstr "Strona {0} z {1}"
#. placeholder {0}: i + 1
-#: packages/ui/primitives/pdf-viewer.tsx:261
+#: packages/ui/primitives/pdf-viewer.tsx:259
msgid "Page {0} of {numPages}"
msgstr "Strona {0} z {numPages}"
@@ -4009,8 +4009,8 @@ msgstr "Spróbuj ponownie i upewnij się, że wprowadzasz poprawny adres email."
msgid "Please try again later."
msgstr "Proszę spróbować ponownie później."
-#: packages/ui/primitives/pdf-viewer.tsx:225
-#: packages/ui/primitives/pdf-viewer.tsx:240
+#: packages/ui/primitives/pdf-viewer.tsx:223
+#: packages/ui/primitives/pdf-viewer.tsx:238
msgid "Please try again or contact our support."
msgstr "Spróbuj ponownie lub skontaktuj się z naszym wsparciem."
@@ -4906,8 +4906,8 @@ msgstr "Coś poszło nie tak podczas próby przeniesienia własności zespołu <
msgid "Something went wrong while attempting to verify your email address for <0>{0}0>. Please try again later."
msgstr "Coś poszło nie tak podczas próby weryfikacji adresu e-mail dla <0>{0}0>. Proszę spróbować ponownie później."
-#: packages/ui/primitives/pdf-viewer.tsx:222
-#: packages/ui/primitives/pdf-viewer.tsx:237
+#: packages/ui/primitives/pdf-viewer.tsx:220
+#: packages/ui/primitives/pdf-viewer.tsx:235
msgid "Something went wrong while loading the document."
msgstr "Coś poszło nie tak podczas ładowania dokumentu."
diff --git a/packages/lib/universal/upload/get-file.server.ts b/packages/lib/universal/upload/get-file.server.ts
index 7ae8be3bc..56319754c 100644
--- a/packages/lib/universal/upload/get-file.server.ts
+++ b/packages/lib/universal/upload/get-file.server.ts
@@ -2,6 +2,8 @@ import { DocumentDataType } from '@prisma/client';
import { base64 } from '@scure/base';
import { match } from 'ts-pattern';
+import { getPresignGetUrl } from './server-actions';
+
export type GetFileOptions = {
type: DocumentDataType;
data: string;
@@ -30,8 +32,6 @@ const getFileFromBytes64 = (data: string) => {
};
const getFileFromS3 = async (key: string) => {
- const { getPresignGetUrl } = await import('./server-actions');
-
const { url } = await getPresignGetUrl(key);
const response = await fetch(url, {
diff --git a/packages/lib/universal/upload/update-file.ts b/packages/lib/universal/upload/update-file.ts
index 5cdce449e..d9a9bac3c 100644
--- a/packages/lib/universal/upload/update-file.ts
+++ b/packages/lib/universal/upload/update-file.ts
@@ -2,6 +2,8 @@ import { DocumentDataType } from '@prisma/client';
import { base64 } from '@scure/base';
import { match } from 'ts-pattern';
+import { getAbsolutePresignPostUrl } from './server-actions';
+
export type UpdateFileOptions = {
type: DocumentDataType;
oldData: string;
@@ -37,8 +39,6 @@ const updateFileWithBytes64 = (data: string) => {
};
const updateFileWithS3 = async (key: string, data: string) => {
- const { getAbsolutePresignPostUrl } = await import('./server-actions');
-
const { url } = await getAbsolutePresignPostUrl(key);
const response = await fetch(url, {