Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5303d63e4b | |||
| 05a30e1ec6 | |||
| b1a55785b5 | |||
| 24b47e9d4b | |||
| 34d19f9dbe | |||
| 95dddd7da0 | |||
| 1a949ecdc6 | |||
| 2e6f1c207c | |||
| 6aa0fa9465 | |||
| 8677df0340 | |||
| 125f6ac619 | |||
| 89ecf5c529 | |||
| fa78d6057f | |||
| cfc28be898 | |||
| c8efd4f9db | |||
| ada4e53b46 |
@@ -36,6 +36,7 @@ PREVIEW_MAX_BUFFER=
|
||||
IMPORT_LIMIT=
|
||||
PLAYWRIGHT_LAUNCH_OPTIONS_EXECUTABLE_PATH=
|
||||
MAX_WORKERS=
|
||||
DISABLE_PRESERVATION=
|
||||
|
||||
# AWS S3 Settings
|
||||
SPACES_KEY=
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
name: Check pull request source branch
|
||||
on:
|
||||
pull_request_target:
|
||||
types:
|
||||
- opened
|
||||
- reopened
|
||||
- synchronize
|
||||
- edited
|
||||
jobs:
|
||||
check-branches:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check branches
|
||||
run: |
|
||||
if [ ${{ github.head_ref }} != "dev" ] && [ ${{ github.base_ref }} == "main" ]; then
|
||||
echo "Merge requests to main branch are only allowed from dev branch. Please rebase your changes to dev branch."
|
||||
exit 1
|
||||
fi
|
||||
@@ -8,7 +8,7 @@ const InstallApp = (props: Props) => {
|
||||
const [isOpen, setIsOpen] = useState(true);
|
||||
|
||||
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">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
|
||||
@@ -21,6 +21,19 @@ type LinksAndCollectionAndOwner = Link & {
|
||||
const BROWSER_TIMEOUT = Number(process.env.BROWSER_TIMEOUT) || 5;
|
||||
|
||||
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) => {
|
||||
setTimeout(
|
||||
() =>
|
||||
@@ -44,7 +57,8 @@ export default async function archiveHandler(link: LinksAndCollectionAndOwner) {
|
||||
};
|
||||
}
|
||||
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);
|
||||
|
||||
@@ -66,6 +66,7 @@ export default async function importFromLinkwarden(
|
||||
url: link.url?.trim().slice(0, 254),
|
||||
name: link.name?.trim().slice(0, 254),
|
||||
description: link.description?.trim().slice(0, 254),
|
||||
importDate: new Date(link.importDate || link.createdAt),
|
||||
collection: {
|
||||
connect: {
|
||||
id: newCollection.id,
|
||||
|
||||
@@ -37,7 +37,7 @@ export const PostUserSchema = () => {
|
||||
password: z.string().min(8).max(2048).optional(),
|
||||
email: emailEnabled
|
||||
? z.string().trim().email().toLowerCase()
|
||||
: z.string().optional(),
|
||||
: z.string().nullish(),
|
||||
username: emailEnabled
|
||||
? z.string().optional()
|
||||
: z
|
||||
@@ -59,7 +59,7 @@ export const UpdateUserSchema = () => {
|
||||
name: z.string().trim().min(1).max(50).optional(),
|
||||
email: emailEnabled
|
||||
? z.string().trim().email().toLowerCase()
|
||||
: z.string().optional(),
|
||||
: z.string().nullish(),
|
||||
username: z
|
||||
.string()
|
||||
.trim()
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "linkwarden",
|
||||
"version": "v2.8.1",
|
||||
"version": "v2.8.3",
|
||||
"main": "index.js",
|
||||
"repository": "https://github.com/linkwarden/linkwarden.git",
|
||||
"author": "Daniel31X13 <daniel31x13@gmail.com>",
|
||||
|
||||
@@ -87,7 +87,7 @@ export default function Account() {
|
||||
|
||||
const emailSchema = z.string().trim().email().toLowerCase();
|
||||
const emailValidation = emailSchema.safeParse(user.email || "");
|
||||
if (!emailValidation.success) {
|
||||
if (emailEnabled && !emailValidation.success) {
|
||||
return toast.error(t("email_invalid"));
|
||||
}
|
||||
|
||||
|
||||
@@ -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>",
|
||||
"full_content": "Vollständiger Inhalt",
|
||||
"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...",
|
||||
"upload_file": "Datei hochladen",
|
||||
"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.",
|
||||
"deleting_collection": "Lösche...",
|
||||
"collection_deleted": "Sammlung gelöscht.",
|
||||
"confirm_deletion_prompt": "Zur Bestätigung tippe „{{Name}}“ in das Feld unten:",
|
||||
"type_name_placeholder": "Tippe „{{Name}}“ hier.",
|
||||
"confirm_deletion_prompt": "Zur Bestätigung tippe „{{name}}“ in das Feld unten:",
|
||||
"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.",
|
||||
"leave_prompt": "Klicke auf die Schaltfläche unten, um die aktuelle Sammlung zu verlassen.",
|
||||
"leave": "Verlassen",
|
||||
|
||||
Reference in New Issue
Block a user