Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5303d63e4b | |||
| 05a30e1ec6 | |||
| b1a55785b5 | |||
| 24b47e9d4b | |||
| 34d19f9dbe | |||
| 95dddd7da0 | |||
| 1a949ecdc6 | |||
| 2e6f1c207c | |||
| 6aa0fa9465 | |||
| 8677df0340 |
@@ -36,6 +36,7 @@ PREVIEW_MAX_BUFFER=
|
|||||||
IMPORT_LIMIT=
|
IMPORT_LIMIT=
|
||||||
PLAYWRIGHT_LAUNCH_OPTIONS_EXECUTABLE_PATH=
|
PLAYWRIGHT_LAUNCH_OPTIONS_EXECUTABLE_PATH=
|
||||||
MAX_WORKERS=
|
MAX_WORKERS=
|
||||||
|
DISABLE_PRESERVATION=
|
||||||
|
|
||||||
# AWS S3 Settings
|
# AWS S3 Settings
|
||||||
SPACES_KEY=
|
SPACES_KEY=
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ const InstallApp = (props: Props) => {
|
|||||||
const [isOpen, setIsOpen] = useState(true);
|
const [isOpen, setIsOpen] = useState(true);
|
||||||
|
|
||||||
return isOpen && !isPWA() ? (
|
return isOpen && !isPWA() ? (
|
||||||
<div className="fixed left-0 right-0 bottom-10 w-full">
|
<div className="fixed left-0 right-0 bottom-10 w-full px-5">
|
||||||
<div className="mx-auto w-fit p-2 flex justify-between gap-2 items-center border border-neutral-content rounded-xl bg-base-300 backdrop-blur-md bg-opacity-80 max-w-md">
|
<div className="mx-auto w-fit p-2 flex justify-between gap-2 items-center border border-neutral-content rounded-xl bg-base-300 backdrop-blur-md bg-opacity-80 max-w-md">
|
||||||
<svg
|
<svg
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
|||||||
@@ -21,6 +21,19 @@ type LinksAndCollectionAndOwner = Link & {
|
|||||||
const BROWSER_TIMEOUT = Number(process.env.BROWSER_TIMEOUT) || 5;
|
const BROWSER_TIMEOUT = Number(process.env.BROWSER_TIMEOUT) || 5;
|
||||||
|
|
||||||
export default async function archiveHandler(link: LinksAndCollectionAndOwner) {
|
export default async function archiveHandler(link: LinksAndCollectionAndOwner) {
|
||||||
|
if (process.env.DISABLE_PRESERVATION === "true")
|
||||||
|
return await prisma.link.update({
|
||||||
|
where: { id: link.id },
|
||||||
|
data: {
|
||||||
|
lastPreserved: new Date().toISOString(),
|
||||||
|
readable: "unavailable",
|
||||||
|
image: "unavailable",
|
||||||
|
monolith: "unavailable",
|
||||||
|
pdf: "unavailable",
|
||||||
|
preview: "unavailable",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
const timeoutPromise = new Promise((_, reject) => {
|
const timeoutPromise = new Promise((_, reject) => {
|
||||||
setTimeout(
|
setTimeout(
|
||||||
() =>
|
() =>
|
||||||
@@ -44,7 +57,8 @@ export default async function archiveHandler(link: LinksAndCollectionAndOwner) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
if (process.env.PLAYWRIGHT_LAUNCH_OPTIONS_EXECUTABLE_PATH) {
|
if (process.env.PLAYWRIGHT_LAUNCH_OPTIONS_EXECUTABLE_PATH) {
|
||||||
browserOptions.executablePath = process.env.PLAYWRIGHT_LAUNCH_OPTIONS_EXECUTABLE_PATH;
|
browserOptions.executablePath =
|
||||||
|
process.env.PLAYWRIGHT_LAUNCH_OPTIONS_EXECUTABLE_PATH;
|
||||||
}
|
}
|
||||||
|
|
||||||
const browser = await chromium.launch(browserOptions);
|
const browser = await chromium.launch(browserOptions);
|
||||||
|
|||||||
@@ -66,6 +66,7 @@ export default async function importFromLinkwarden(
|
|||||||
url: link.url?.trim().slice(0, 254),
|
url: link.url?.trim().slice(0, 254),
|
||||||
name: link.name?.trim().slice(0, 254),
|
name: link.name?.trim().slice(0, 254),
|
||||||
description: link.description?.trim().slice(0, 254),
|
description: link.description?.trim().slice(0, 254),
|
||||||
|
importDate: new Date(link.importDate || link.createdAt),
|
||||||
collection: {
|
collection: {
|
||||||
connect: {
|
connect: {
|
||||||
id: newCollection.id,
|
id: newCollection.id,
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ export const PostUserSchema = () => {
|
|||||||
password: z.string().min(8).max(2048).optional(),
|
password: z.string().min(8).max(2048).optional(),
|
||||||
email: emailEnabled
|
email: emailEnabled
|
||||||
? z.string().trim().email().toLowerCase()
|
? z.string().trim().email().toLowerCase()
|
||||||
: z.string().optional(),
|
: z.string().nullish(),
|
||||||
username: emailEnabled
|
username: emailEnabled
|
||||||
? z.string().optional()
|
? z.string().optional()
|
||||||
: z
|
: z
|
||||||
@@ -59,7 +59,7 @@ export const UpdateUserSchema = () => {
|
|||||||
name: z.string().trim().min(1).max(50).optional(),
|
name: z.string().trim().min(1).max(50).optional(),
|
||||||
email: emailEnabled
|
email: emailEnabled
|
||||||
? z.string().trim().email().toLowerCase()
|
? z.string().trim().email().toLowerCase()
|
||||||
: z.string().optional(),
|
: z.string().nullish(),
|
||||||
username: z
|
username: z
|
||||||
.string()
|
.string()
|
||||||
.trim()
|
.trim()
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "linkwarden",
|
"name": "linkwarden",
|
||||||
"version": "v2.8.2",
|
"version": "v2.8.3",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"repository": "https://github.com/linkwarden/linkwarden.git",
|
"repository": "https://github.com/linkwarden/linkwarden.git",
|
||||||
"author": "Daniel31X13 <daniel31x13@gmail.com>",
|
"author": "Daniel31X13 <daniel31x13@gmail.com>",
|
||||||
|
|||||||
@@ -236,7 +236,7 @@
|
|||||||
"pwa_install_prompt": "Installiere Linkwarden auf deinem Startbildschirm für einen schnelleren Zugriff und ein besseres Erlebnis. <0>Mehr erfahren</0>",
|
"pwa_install_prompt": "Installiere Linkwarden auf deinem Startbildschirm für einen schnelleren Zugriff und ein besseres Erlebnis. <0>Mehr erfahren</0>",
|
||||||
"full_content": "Vollständiger Inhalt",
|
"full_content": "Vollständiger Inhalt",
|
||||||
"slower": "Langsamer",
|
"slower": "Langsamer",
|
||||||
"new_version_announcement": "Schau, was neu ist in <0>Linkwarden {{Version}}!</0>",
|
"new_version_announcement": "Schau, was neu ist in <0>Linkwarden {{version}}!</0>",
|
||||||
"creating": "Erstellen...",
|
"creating": "Erstellen...",
|
||||||
"upload_file": "Datei hochladen",
|
"upload_file": "Datei hochladen",
|
||||||
"file": "Datei",
|
"file": "Datei",
|
||||||
@@ -343,8 +343,8 @@
|
|||||||
"shift_key_tip": "Halte die Umschalttaste gedrückt, während du auf „Löschen“ klickst, um diese Bestätigung in Zukunft zu umgehen.",
|
"shift_key_tip": "Halte die Umschalttaste gedrückt, während du auf „Löschen“ klickst, um diese Bestätigung in Zukunft zu umgehen.",
|
||||||
"deleting_collection": "Lösche...",
|
"deleting_collection": "Lösche...",
|
||||||
"collection_deleted": "Sammlung gelöscht.",
|
"collection_deleted": "Sammlung gelöscht.",
|
||||||
"confirm_deletion_prompt": "Zur Bestätigung tippe „{{Name}}“ in das Feld unten:",
|
"confirm_deletion_prompt": "Zur Bestätigung tippe „{{name}}“ in das Feld unten:",
|
||||||
"type_name_placeholder": "Tippe „{{Name}}“ hier.",
|
"type_name_placeholder": "Tippe „{{name}}“ hier.",
|
||||||
"deletion_warning": "Wenn Du diese Sammlung löschst, wird ihr gesamter Inhalt unwiderruflich gelöscht und sie wird für jeden unzugänglich, auch für Mitglieder mit vorherigem Zugriff.",
|
"deletion_warning": "Wenn Du diese Sammlung löschst, wird ihr gesamter Inhalt unwiderruflich gelöscht und sie wird für jeden unzugänglich, auch für Mitglieder mit vorherigem Zugriff.",
|
||||||
"leave_prompt": "Klicke auf die Schaltfläche unten, um die aktuelle Sammlung zu verlassen.",
|
"leave_prompt": "Klicke auf die Schaltfläche unten, um die aktuelle Sammlung zu verlassen.",
|
||||||
"leave": "Verlassen",
|
"leave": "Verlassen",
|
||||||
|
|||||||
Reference in New Issue
Block a user