diff --git a/package.json b/package.json index 15b2213..27f8117 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "kener", - "version": "3.2.2", + "version": "3.2.3", "private": false, "license": "MIT", "description": "Kener: An open-source Node.js status page application for real-time service monitoring, incident management, and customizable reporting. Simplify service outage tracking, enhance incident communication, and ensure a seamless user experience.", diff --git a/src/lib/server/notification/webhook.js b/src/lib/server/notification/webhook.js index c747de7..74b3ab3 100644 --- a/src/lib/server/notification/webhook.js +++ b/src/lib/server/notification/webhook.js @@ -13,7 +13,7 @@ class Webhook { constructor(trigger_meta, method, siteData, monitorData) { const kenerHeader = { "Content-Type": "application/json", - "User-Agent": "Kener/3.2.2", + "User-Agent": "Kener/3.2.3", }; let headers = trigger_meta.headers; this.trigger_meta = trigger_meta; diff --git a/src/lib/server/startup.js b/src/lib/server/startup.js index 0f53758..f7cd592 100644 --- a/src/lib/server/startup.js +++ b/src/lib/server/startup.js @@ -1,19 +1,32 @@ // @ts-nocheck import figlet from "figlet"; - import { Cron } from "croner"; - import { Minuter } from "./cron-minute.js"; import db from "./db/db.js"; import { GetAllSiteData, GetMonitorsParsed, HashString } from "./controllers/controller.js"; import { fileURLToPath } from "url"; -import { dirname } from "path"; +import { dirname, resolve } from "path"; +import fs from "fs"; const jobs = []; process.env.TZ = "UTC"; let isStartUP = true; +// Get the version from package.json +const getVersion = () => { + try { + const __filename = fileURLToPath(import.meta.url); + const __dirname = dirname(__filename); + const packagePath = resolve(__dirname, "../../../package.json"); + const packageJson = JSON.parse(fs.readFileSync(packagePath, "utf8")); + return packageJson.version; + } catch (error) { + console.error("Error reading version:", error); + return "unknown"; + } +}; + const scheduleCronJobs = async () => { // Fetch and map all active monitors, creating a unique hash for each const activeMonitors = (await GetMonitorsParsed({ status: "ACTIVE" })).map((monitor) => ({ @@ -72,12 +85,15 @@ async function Startup() { mainJob.trigger(); - figlet("Kener is UP!", function (err, data) { + const version = getVersion(); + + figlet("Kener v" + version, function (err, data) { if (err) { console.log("Something went wrong..."); return; } console.log(data); + console.log(`Kener version ${version} is running!`); }); } diff --git a/src/routes/(docs)/+layout.svelte b/src/routes/(docs)/+layout.svelte index 37e55f2..cc014c9 100644 --- a/src/routes/(docs)/+layout.svelte +++ b/src/routes/(docs)/+layout.svelte @@ -110,7 +110,7 @@ Kener Documentation - 3.2.2 + 3.2.3