From 6501f71bd6108b1135d9878c8a9126cc98dbe590 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Mon, 26 Sep 2022 13:24:02 +0200 Subject: [PATCH 1/5] chore: version++ --- apps/api/src/lib/common.ts | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/api/src/lib/common.ts b/apps/api/src/lib/common.ts index db283d5a7..e9f7989f3 100644 --- a/apps/api/src/lib/common.ts +++ b/apps/api/src/lib/common.ts @@ -21,7 +21,7 @@ import { scheduler } from './scheduler'; import { supportedServiceTypesAndVersions } from './services/supportedVersions'; import { includeServices } from './services/common'; -export const version = '3.10.5'; +export const version = '3.10.6'; export const isDev = process.env.NODE_ENV === 'development'; const algorithm = 'aes-256-ctr'; diff --git a/package.json b/package.json index d88a30bc7..11101167e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "coolify", "description": "An open-source & self-hostable Heroku / Netlify alternative.", - "version": "3.10.5", + "version": "3.10.6", "license": "Apache-2.0", "repository": "github:coollabsio/coolify", "scripts": { From 360f4f8c272f73978bd13a43d66ad42b5c80a473 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Mon, 26 Sep 2022 13:36:15 +0200 Subject: [PATCH 2/5] fix: seed new preview secret types --- apps/api/prisma/seed.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/apps/api/prisma/seed.js b/apps/api/prisma/seed.js index eeb41b253..c56bb6742 100644 --- a/apps/api/prisma/seed.js +++ b/apps/api/prisma/seed.js @@ -94,6 +94,16 @@ async function main() { } }); } + // Set new preview secrets + const secrets = await prisma.secret.findMany({ where: { isPRMRSecret: false } }) + if (secrets.length > 0) { + for (const secret of secrets) { + const previewSecrets = await prisma.secret.findMany({ where: { id: secret.id, isPRMRSecret: true } }) + if (previewSecrets.length === 0) { + await prisma.secret.create({ data: { ...secret, id: undefined, isPRMRSecret: true } }) + } + } + } } main() .catch((e) => { From 9ca125ac55059fc2a1d00da21e1affcc6b951edd Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Mon, 26 Sep 2022 13:36:47 +0200 Subject: [PATCH 3/5] fix: error notification --- apps/ui/src/lib/common.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/ui/src/lib/common.ts b/apps/ui/src/lib/common.ts index 340fa37d1..c67a88929 100644 --- a/apps/ui/src/lib/common.ts +++ b/apps/ui/src/lib/common.ts @@ -3,7 +3,7 @@ import { addToast } from '$lib/store'; export const asyncSleep = (delay: number) => new Promise((resolve) => setTimeout(resolve, delay)); -export function errorNotification(error: any): void { +export function errorNotification(error: any | { message: string }): void { if (error.message) { if (error.message === 'Cannot read properties of undefined (reading \'postMessage\')') { return addToast({ From 5f51011ce17317d6b2ed8f36b73082fe80043117 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Mon, 26 Sep 2022 13:36:54 +0200 Subject: [PATCH 4/5] fix: empty preview value --- apps/api/src/routes/api/v1/applications/handlers.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/api/src/routes/api/v1/applications/handlers.ts b/apps/api/src/routes/api/v1/applications/handlers.ts index 0a2414a12..70c593728 100644 --- a/apps/api/src/routes/api/v1/applications/handlers.ts +++ b/apps/api/src/routes/api/v1/applications/handlers.ts @@ -15,7 +15,6 @@ import { checkContainer, formatLabelsOnDocker, isContainerExited, removeContaine import type { FastifyRequest } from 'fastify'; import type { GetImages, CancelDeployment, CheckDNS, CheckRepository, DeleteApplication, DeleteSecret, DeleteStorage, GetApplicationLogs, GetBuildIdLogs, SaveApplication, SaveApplicationSettings, SaveApplicationSource, SaveDeployKey, SaveDestination, SaveSecret, SaveStorage, DeployApplication, CheckDomain, StopPreviewApplication, RestartPreviewApplication, GetBuilds } from './types'; import { OnlyId } from '../../../../types'; -import path from 'node:path'; function filterObject(obj, callback) { return Object.fromEntries(Object.entries(obj). @@ -326,7 +325,7 @@ export async function saveApplicationSettings(request: FastifyRequest) { export async function updatePreviewSecret(request: FastifyRequest, reply: FastifyReply) { try { const { id } = request.params - const { name, value } = request.body + let { name, value } = request.body + if (value) { + value = encrypt(value.trim()) + } else { + value = '' + } await prisma.secret.updateMany({ where: { applicationId: id, name, isPRMRSecret: true }, - data: { value: encrypt(value.trim()) } + data: { value } }); return reply.code(201).send() } catch ({ status, message }) { From d0cb3506878522a56d02b4e3dd2e52384d8f0ab7 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Mon, 26 Sep 2022 13:37:06 +0200 Subject: [PATCH 5/5] fix: error notification --- apps/ui/src/routes/applications/[id]/_Secret.svelte | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ui/src/routes/applications/[id]/_Secret.svelte b/apps/ui/src/routes/applications/[id]/_Secret.svelte index a16158587..d746d6f89 100644 --- a/apps/ui/src/routes/applications/[id]/_Secret.svelte +++ b/apps/ui/src/routes/applications/[id]/_Secret.svelte @@ -39,8 +39,8 @@ async function addNewSecret() { try { - if (!name) return errorNotification(`${t.get('forms.name')} ${t.get('forms.is_required')}`); - if (!value) return errorNotification(`${t.get('forms.value')} ${t.get('forms.is_required')}`); + if (!name) return errorNotification({ message: 'Name is required.' }); + if (!value) return errorNotification({ message: 'Value is required.' }); await post(`/applications/${id}/secrets`, { name, value, @@ -61,7 +61,7 @@ changeIsBuildSecret = false }: { changeIsBuildSecret?: boolean } = {}) { if (changeIsBuildSecret) isBuildSecret = !isBuildSecret; - if (isNewSecret) return + if (isNewSecret) return; try { await put(`/applications/${id}/secrets`, { name,